Debian

如何獲取 Debian 上所有根 / 主安裝包的列表

  • June 4, 2017

有沒有辦法在 Debian 中獲取通過 aptitude 安裝的所有“主要”軟體包?“main”是指通過 install 命令賦予 aptitude 的軟體包名稱。相當於一個Gentoo“世界”文件。

據我所知,您只能獲得所有已安裝軟體包的列表,包括依賴項(從某個角度來看,我並不真正關心)。我能想到的唯一其他方法是解析 bash_history 文件以獲取 aptitude install 命令。

aptitude認為由於依賴關係而安裝的軟體包是“自動”安裝的。有了這些知識,您可以快速建構一個aptitude 搜尋模式來列出所有未自動安裝的已安裝包:

aptitude search "?and(?installed, ?not(?automatic))"

或者,使用搜尋詞的縮寫形式:

aptitude search '~i !~M'

(請注意,!在某些 shell 中這是一個特殊字元。在上面,我使用'...'引號字元來讓Bash開心。)

最後,上面還會列出通過基本系統安裝安裝的軟體包。!~E如果這是一個問題,您可以通過添加過濾器來排除系統認為必不可少的包。或者,您可以在您認為是基本安裝之後立即創建一個軟體包列表,並與之diff相對。

(通過 bash 歷史記錄當然也是一個快速而簡單的選擇,如果您主要對解除安裝一些最近安裝的軟體包感興趣,它會很好用。但是,由於 bash 歷史記錄的大小有限,您將很難找到例如,一年前安裝的軟體包。)

引用自:https://serverfault.com/questions/161412