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

psv*_*svm 8 aptitude apt dpkg

每次我安装一个包时:

sudo apt-get install <pkg>
Run Code Online (Sandbox Code Playgroud)

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

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

list = []
for package in installed_packages:
    list.append(package.name)
print list
Run Code Online (Sandbox Code Playgroud)

Tia*_*ago 11

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

aptitude search '?reverse-suggests(~i)!(~i)'
Run Code Online (Sandbox Code Playgroud)

同样,对于推荐:

aptitude search '?reverse-recommends(~i)!(~i)'
Run Code Online (Sandbox Code Playgroud)

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


ger*_*ijk 6

显示单行中安装的所有软件包的建议

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

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