我想仅使用 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 }'
警告:这将打印所有包,甚至元包和虚拟包。