如何列出当前未安装的软件包?

如何列出当前未安装的软件包?

我想仅使用 shell 命令输出所有当前未安装软件包的列表(例如,它们在 Synaptic 中可见)。我该怎么做?

谢谢!

答案1

应该是这样的:

aptitude -F %p search '!~i'

这将列出所有当前未安装的软件包(包括虚拟软件包和仅安装了配置文件的软件包)。如果您不想要虚拟软件包(Synaptic 显示为未安装),将搜索模式扩展为:

aptitude -F %p search '!~i!~v'

您可能需要安装aptitude,因为从 Ubuntu 10.10 开始它不再是默认安装的一部分。

答案2

这并不快,但它可以工作:

apt-cache pkgnames | xargs -i1 dpkg-query -f '${Package}\n' --show '1' 2>&1 | perl -lne 'if(/matching (.*)$/){ print $1 }'

警告:这将打印所有包,甚至元包和虚拟包。

相关内容