我正在尝试获取已安装软件包的权威列表,以便找到已完成的显式安装的软件包这里。
这个命令给了我一个列表
aptitude search '~i !~M' -F '%p' --disable-columns | sort -u
这给了我另一个
apt --installed list | cut -d'/' -f1 | tail -n +2 | sort -u
第二个命令列出了更多包,其中一些我可以从命令行运行。我更喜欢使用 apt,因为它是默认包。哪个榜单最权威?
答案1
您的aptitude
命令正在搜索已安装的软件包,但不包括自动安装的软件包!~M
。当然它给出的列表与 不同apt -installed
。这两个命令将返回相同的列表:
aptitude search '~i' -F '%p'
apt --installed list
答案2
由于您想要拥有权威列表,因此您应该使用实际处理包的工具,而不是其前端之一。那个工具是dpkg
.
如果你跑
dpkg -l
dpkg
然后你会得到所有知道的包的列表;这包括已删除但未清除的软件包以及当前安装的软件包。它不一定包含根本未安装的软件包,尽管可能如此。要弄清楚哪个是哪个,请检查顶部的图例以及输出的前三个字符。
例如,要仅打印已安装的软件包,请使用:
dpkg -l | grep ^ii
答案3
我运行了 dpkg -l > pl.txt。然后将列出的软件包与 Synaptic 软件包管理器所说的已安装软件包进行比较。两者之间存在完整的一对一映射。我现在定期将 pl.txt 文件保存到我的 Google 云端硬盘中。如果我每次都必须重新安装系统,我将使用存储的文本文件列表来重新安装我一直在使用的那些软件包。