对于一个特定的软件包,我能找出为什么要安装它吗?
所以,我可以看到或它是手动安装的,或者它是作为另一个包的依赖项安装的吗?或者它是作为发行版的一部分安装的?
发布于 2010-09-21 14:02:03
通过在终端(Applications -> Accessories -> Terminal)中键入以下命令,可以找到安装某个包的原因的快速和简短的推理:
aptitude why <package-name>用您感兴趣的包的名称替换。例如,输入aptitude why libgoo-canvas-perl输出以下内容:
i shutter Suggests libgoo-canvas-perl这基本上意味着,在本例中,包shutter建议安装libgoo-canvas-perl。在输入aptitude why shutter之前,我可以沿着依赖链向上走。
然而,有一个警告。我经常注意到,对于可能不是实际情况的情况,才能找到最合理的解释,但还是会给你提供进一步研究的线索。
在我的例子中,shutter建议libgoo-canvas-perl -但是,建议的包在默认情况下不会自动安装。尽管如此,它还是让我想起了无法用shutter编辑屏幕截图的“体验”,这导致我手动安装了ligbgoo-canvas-perl。
最后,您可以通过运行以下命令来了解包是否是自动安装的(这意味着包管理系统通过查看您要求它安装的其他包的依赖项和建议而确定为强制性的)。
aptitude show <package-name>这将输出一行如下(输出的第3行):
Automatically installed: no有关更多信息,请运行info aptitude (在终端中)或访问智能wiki页面
要了解何时安装了特定的软件包,有两个选项:
Install (注意情况),列出有关安装的所有条目。但是,这将只显示使用Synaptic安装的包。发布于 2010-10-10 14:27:41
这里有一个简单的方法,它不依赖于aptitude,在默认情况下,10.10不再提供。
打开Synaptic并尝试移除它。
如果弹出一个对话框要求您删除其他包,则这些包(递归地)依赖于这些包。
终端
apt-get remove package_name_goes_here -s同样,结果将被删除的包都是(递归地)依赖它的包。( -s参数告诉apt-get不要实际删除包。)
发布于 2010-10-10 14:14:36
是的,你可以,事实上,这是一个很明显的命令。假设您已安装了智能,则可以打开终端窗口广告类型:
aptitude why package它应该给出依赖于该特定包的包列表。如果它是手动安装的包,它会说“不可能找到安装软件包的理由”。
https://askubuntu.com/questions/5636
复制相似问题