哪些套餐推荐’缺少推荐’?

Synaptic Package Manager有一个自定义filter“Missing Recommendmends”。 有没有办法找出我的系统上安装的软件包推荐此filter中列出的软件包?

能力可以执行一些相当花哨的搜索

这将显示具有不满足的推荐的所有包:

aptitude search '?installed?broken-recommends' 

要将其限制为特定的推荐包:

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

据我所知,没有简单的方法可以找出哪个包推荐特定的其他包。

这是一个粗略的脚本,用于构建包推荐或建议其他包的列表:

 dpkg --get-selections | cut -f 1 | while read pkgname do apt-cache depends "$pkgname" | \ grep -E "Recommends|Suggests" | \ cut -b 3- | \ while read recommends do echo "$pkgname" "$recommends" done done | sort -k 3 -k 2 | column -t 

注意:脚本需要运行一些。 输出也很长,所以你很可能想要在文件中捕获输出:

 $ whatrecommends.sh > whatrecommends.txt 

输出样本:

 ... ubuntu-desktop Recommends: avahi-autoipd avahi-daemon Suggests: avahi-autoipd dhcp3-client Suggests: avahi-autoipd libnss-mdns Suggests: avahi-autoipd hplip Recommends: avahi-daemon rhythmbox Recommends: avahi-daemon ubuntu-desktop Recommends: avahi-daemon libsane Suggests: avahi-daemon pulseaudio-utils Suggests: avahi-daemon sane-utils Suggests: avahi-daemon system-config-printer-common Recommends: avahi-utils bash Recommends: bash-completion ubuntu-standard Recommends: bash-completion ack-grep Suggests: bash-completion bash Suggests: bash-doc ... 

通过更改脚本末尾的sort参数,您可以更改输出的排序顺序。

根据风滚草的回答,我制作了一个脚本,使用aptitude搜索来提出推荐丢失包的软件包。

然而,它没有提供与突触相同的完整列表。 不知道为什么。

剧本

 #!/usr/bin/php  

样本输出

 ecryptfs-utils: Recommended by: adduser firefox: Recommended by: xubuntu-desktop Recommended by: xul-ext-ubufox firefox-gnome-support: Recommended by: xubuntu-desktop libatm1: Recommended by: iproute 

在这里,我的方式 – 报告缺少建议:)

 apt-cache --no-pre-depends --no-depends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances depends `dpkg --get-selections | grep '\sinstall$' | cut -f1` | grep -vf <(dpkg --get-selections | grep '\sinstall$' | cut -f1 | sed -e 's/^/ /' -e 's/\(:.*\|\)$/$/') | grep -B1 '^ '