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

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

每次我安装一个包时:

sudo apt-get install <pkg>

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

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

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

答案1

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

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

同样,建议:

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

所有aptitude搜索选项均可在用户手册

答案2

显示建议对于所有安装在一行中的软件包:

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

它查询 dpkg 数据库,以自定义输出格式列出所有标记为非“无”的本地已知包(也列出未安装的包),然后过滤真正安装的包并过滤没有建议的包。

答案3

我发现这非常有用,我创建了这个脚本供个人使用,虽然并不完美或写得不好,但在阅读完这个帖子后,我在 5 分钟内就完成了。

如果有人发现它有用,我会将它粘贴在这里。

脚本

相关内容