列出当前安装的软件包的所有建议软件包

每次我安装一个包:

sudo apt-get install  

apt-get显示建议的包列表。 到目前为止,我只是忽略了这些,但其中一些建议实际上是好的(有些则不是)。 我想将所有这些列表恢复到一个大的列表中(以便我可以查看它并确定是否有一些我想要安装的软件包),但我在/var/log/apt/history.log中看不到它们。

也就是说,我正在寻找类似的东西

 list = [] for package in installed_packages: list.append(package.name) print list 

显示一行中安装的所有包的建议

 dpkg-query -W -f='${Package} (status: ${Status}) suggests: ${Suggests}\n' \ | grep 'status: install ok installed' | grep -v 'suggests: $' 

它查询dpkg数据库,以自定义输出格式列出标记为“无”(也列出已卸载)的所有本地已知软件包,然后对真正安装的软件包进行过滤,并在没有建议的情况下对软件包进行过滤。

仅使用aptitude ,您可以使用搜索模式:

 aptitude search '?reverse-suggests(~i)!(~i)' 

同样,对于建议:

 aptitude search '?reverse-recommends(~i)!(~i)' 

用户手册中提供了所有aptitude搜索选项。

我发现这非常有用,我创建这个脚本供个人使用,不完美或写得很好,我现在在5分钟内完成。 看完这个post后。

我把它贴在这里,如果some1可以发现它有用。

脚本