![列出当前安装的软件包的所有建议软件包](https://linux22.com/image/1113666/%E5%88%97%E5%87%BA%E5%BD%93%E5%89%8D%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E7%9A%84%E6%89%80%E6%9C%89%E5%BB%BA%E8%AE%AE%E8%BD%AF%E4%BB%B6%E5%8C%85.png)
每次我安装一个包时:
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 数据库,以自定义输出格式列出所有标记为非“无”的本地已知包(也列出未安装的包),然后过滤真正安装的包并过滤没有建议的包。