如何确定安装了哪些软件包,因为我请求了安装以及哪些软件包自动安装以便满足依赖性?
在aptitude中,此信息显示为“A”:
i A fam ...
i grub ...
i A grub-common ...
这表明我请求了包grub,并且因此安装了grub-common。但是,aptitude是一个交互式程序,我无法自动提取此信息以使用脚本处理它。
使用debian软件包管理工具'dpkg -l'或'dpkg --get-selections',我可以获得已安装软件包的列表以及其他信息。 E.g。
> dpkg -l
...
ii grub 0.97-47lenny2 GRand Unified Bootloader (Legacy version)
ii grub-common 1.96+20080724-16 GRand Unified Bootloader, version 2 (common files)
ii gs-common 8.62.dfsg.1-3.2lenny1 Dummy package depending on ghostscript
...
此列表可以使用脚本轻松处理,但它只显示已安装的软件包 - 无论是通过请求还是依赖项。
答案 0 :(得分:2)
但它包含属于原始发行版的包,因此它没有完全整理出来。在我的情况下,它仍然是1500个包,我可以处理的一套。
它可能通过搜索组合来实现,我没有挖掘,这是我的命令:
aptitude search ~i|grep -v '^i A'|
grep -v丢弃依赖包
答案 1 :(得分:1)
Aptitude也是一个仅限命令行,无gui程序。尝试:
aptitude search grub
信息将在那里。
答案 2 :(得分:0)
Apt支持'auto'标志,它正好描述了这一点。
如果需要,请查看http://man.he.net/man8/apt-mark并深入挖掘。