aptitude:列出所有以前推荐的软件包

aptitude:列出所有以前推荐的软件包

有时安装某个软件包时,aptitude 会推荐其他几个软件包。

有没有办法显示所有已安装软件包中所有之前推荐的软件包?

编辑:

感谢大家到目前为止的回复。我已经尝试过:

aptitude show ~i | grep '^Recommends' | cut -d ' ' -f 2-

基本上没什么问题。但它也会返回以下内容:

 console-setup | console-data (>= 2002.12.04dbs-1)

我想要一种简单的方法来安装所有缺少的推荐软件包。

所以

 aptitude install console-setup | console-data (>= 2002.12.04dbs-1)

不起作用;-)

有没有一种方法可以做到这一点,而无需手动检查所有条目?

答案1

Synaptic -> 自定义过滤器 -> 缺失推荐

或者

能力搜索‘~RBrecommends:~i’

(谢谢http://blog.isonoe.net/post/2011/07/18/Debian-Tips-1%3A-Find-missing-recommended-packages

答案2

也许有更优雅的方法,但这对我来说有效,

for package in $(dpkg --get-selections | grep -v deinstall | awk '{print $1}')
  do
    echo $package
    dpkg-query -s $package | grep Recommends
  done

答案3

另一个建议:

awk '/(^Package|^Recomm)/' /var/lib/dpkg/status | grep -B1 ^Recommends

@EightBitTony:awk 在搜索方面也很好,试试这个:

dpkg --get-selections | awk ' !/deinstall$/{print $1}'

答案4

获取缺少推荐包的已安装包列表:

aptitude search '?installed?broken-recommends'

获取已安装软件包推荐的未安装、缺失软件包列表 - “缺失推荐”:

aptitude search '?broken-reverse-recommends(?installed)'

获取哪个包正在推荐特定的“缺失推荐”:

aptitude search '?installed?broken-recommends(MISSING_PKG_NAME)'

一句话:对于所有“缺少的推荐”,获取推荐的软件包:

for p in $(aptitude search -F%p '?broken-reverse-recommends(?installed)'); do echo $p; aptitude search "?installed?broken-recommends($p)"; done

您可以在 Synaptic 软件包管理器中找到“缺少的推荐”。 (据我所知,Synaptic 还显示缺少的建议软件包。)

您可以使用一个命令安装所有“缺少的推荐”,但我不推荐这样做!首先,在安装之前查看软件包列表。(例如,新安装的 debian buster 显示缺少“default-mta”,这是一个虚拟软件包。)

apt install $(aptitude search -F%p '?broken-reverse-recommends(?installed)')

(这是从几个类似问题中总结出来的。希望它能对其他人有所帮助。)

相关内容