首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我能看看为什么要安装一个软件包吗?

我能看看为什么要安装一个软件包吗?
EN

Ask Ubuntu用户
提问于 2010-10-10 14:08:34
回答 3查看 43.3K关注 0票数 168

对于一个特定的软件包,我能找出为什么要安装它吗?

所以,我可以看到或它是手动安装的,或者它是作为另一个包的依赖项安装的吗?或者它是作为发行版的一部分安装的?

EN

回答 3

Ask Ubuntu用户

发布于 2010-09-21 14:02:03

通过在终端(Applications -> Accessories -> Terminal)中键入以下命令,可以找到安装某个包的原因的快速和简短的推理:

代码语言:javascript
运行
复制
aptitude why <package-name>

用您感兴趣的包的名称替换。例如,输入aptitude why libgoo-canvas-perl输出以下内容:

代码语言:javascript
运行
复制
i   shutter Suggests libgoo-canvas-perl

这基本上意味着,在本例中,包shutter建议安装libgoo-canvas-perl。在输入aptitude why shutter之前,我可以沿着依赖链向上走。

然而,有一个警告。我经常注意到,对于可能不是实际情况的情况,才能找到最合理的解释,但还是会给你提供进一步研究的线索。

在我的例子中,shutter建议libgoo-canvas-perl -但是,建议的包在默认情况下不会自动安装。尽管如此,它还是让我想起了无法用shutter编辑屏幕截图的“体验”,这导致我手动安装了ligbgoo-canvas-perl

最后,您可以通过运行以下命令来了解包是否是自动安装的(这意味着包管理系统通过查看您要求它安装的其他包的依赖项和建议而确定为强制性的)。

代码语言:javascript
运行
复制
aptitude show <package-name>

这将输出一行如下(输出的第3行):

代码语言:javascript
运行
复制
Automatically installed: no

有关更多信息,请运行info aptitude (在终端中)或访问智能wiki页面

要了解何时安装了特定的软件包,有两个选项:

  1. Synaptic管理器维护所有活动的历史记录。若要查看历史日志文件,请从“文件”菜单中选择“历史记录”。您可以搜索Install (注意情况),列出有关安装的所有条目。但是,这将只显示使用Synaptic安装的包。
  2. 在终端中运行以下命令。这将在dpkg日志中搜索安装历史条目。但是,保留这些日志的数量是有最大限度的,所以如果您要查找的包是很久以前安装的,您可能找不到它。更多详细信息这里 zcat -f /var/log/dpkg.log*区grep "\ install\ \“区grep -i
票数 32
EN

Ask Ubuntu用户

发布于 2010-10-10 14:27:41

这里有一个简单的方法,它不依赖于aptitude,在默认情况下,10.10不再提供。

图形化

打开Synaptic并尝试移除它。

如果弹出一个对话框要求您删除其他包,则这些包(递归地)依赖于这些包。

来自

终端

代码语言:javascript
运行
复制
apt-get remove package_name_goes_here -s

同样,结果将被删除的包都是(递归地)依赖它的包。( -s参数告诉apt-get不要实际删除包。)

票数 12
EN

Ask Ubuntu用户

发布于 2010-10-10 14:14:36

是的,你可以,事实上,这是一个很明显的命令。假设您已安装了智能,则可以打开终端窗口广告类型:

代码语言:javascript
运行
复制
aptitude why package

它应该给出依赖于该特定包的包列表。如果它是手动安装的包,它会说“不可能找到安装软件包的理由”。

票数 11
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/5636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档