題 如何刪除未安裝的程序的配置文件?


我基本上是在尋找一個 apt-get purge 對於已卸載的程序。

(我正在運行Debian擠壓和使用 aptitude 用於包裹管理。)


4
2017-07-13 17:29


起源




答案:


以下序列將列出已卸載的軟件包,

dpkg --get-selections | grep deinstall

你可以切換到 purge 用一個 sed 更換。
這是你在找什麼?

你可以運行它 purge 通過列表 dpkg --set-selections 和
dpkg --purge --pending 在標記的包裹上......

或者,像,

for pkg in $(dpkg --get-selections | grep deinstall | awk '{print $1}'); 
do 
  dpkg -L $pkg; 
done

將列出這些文件 deinstall'ed包。


4
2017-07-13 18:38



實際上,似乎你 apt-get remove 一個包含配置文件的包,稍後可以使用它刪除它們 apt-get purge $package。 IIRC,我試過了,它沒有用,通過給我一個未安裝包的錯誤...... - Blacklight Shining
嗯。你試過了嗎 dpkg -L 在這些包裹上?它是否顯示任何文件? - nik
剛試過這個。做了一個 dpkg --get-selections | grep deinstall,然後從該輸出中選擇一個包。 dpkg -L $package 列出了包創建的幾個配置文件。 apt-get remove $package 返回了一個未安裝的未刪除警告,但是 apt-get purge $package 問我是否想繼續拆除包裹,然後這樣做了。在那之後,它沒有出現 dpkg --get-selections | grep deinstall。 - Blacklight Shining
嗯,那不是我的經歷。當我運行purge時,它說“Package $ package沒有安裝,所以沒有刪除”,然後它仍然顯示在列表中。 - Trejkaz


在aptitude中,您只過濾了已卸載但仍保留配置文件的軟件包(狀態為“c”)。

  1. 大號

  2. 過濾器 ~c

  3. 按下清除所有列出的包 _


3
2017-10-22 18:16





我發現 這個答案 最簡單的。


以下應該做你想要的:

aptitude purge \~c

這清除所有包裝 c (包已刪除,配置文件仍然存在)狀態標誌。標誌文檔在這裡。


1