有没有办法获取 Debian 中通过 aptitude 安装的所有“主要”软件包?“主要”是指通过 install 命令提供给 aptitude 的软件包名称。相当于 Gentoo 的“world”文件。
据我所知,您只能获得所有已安装软件包的列表,包括依赖项(从某种角度来看,我并不真正关心这些)。我能想到的唯一其他方法是解析 bash_history 文件中的 aptitude install 命令。
答案1
aptitude
认为由于依赖关系而安装的软件包是“自动地“安装。有了这些知识,您可以快速构建一个能力搜索模式列出所有已安装但未自动安装的软件包:
aptitude search "?and(?installed, ?not(?automatic))"
或者,使用搜索词的缩写形式:
aptitude search '~i !~M'
(请注意,!
在某些 shell 中是一个特殊字符。在上面,我使用'...'
引号字符来制作猛击快乐的。)
最后,基本系统安装所安装的软件包也将列在上面。如果这是个问题,您可以通过添加过滤器来排除系统认为必不可少的软件包!~E
。或者,您可以在您认为是基本安装的软件包之后立即创建一个软件包列表,并diff
以此为基础。
(通过 bash 历史记录查找当然也是一个快速而简单的选择,如果您主要想卸载一些最近安装的软件包,它会很有效。但是,由于 bash 历史记录的大小有限,您将很难找到一年前安装的软件包。)