为什么我没有安装某个程序但却安装了它?

为什么我没有安装某个程序但却安装了它?

一个名为python-netifaces (0.8-3build1, automatic)“已安装”的程序,但不是我自己安装的。

我试图gufw在最新的、新安装的 Ubuntu 14.04 上使用标准帐户进行安装。

有人知道这是否不正常或者只是应该存在,即使我没有明确安装它?

答案1

软件包(程序)通常需要安装其他程序才能运行。这些其他软件包称为依赖项,因为第一个程序依赖于它们的安装。

当您安装软件包时,依赖项也会被安装。使用软件中心时,此过程对您是隐藏的。

如果您想了解将要安装的依赖项,您可以使用命令行。

例如:

sudo apt-get install gufw
The following extra packages will be installed:
python-netifaces
The following NEW packages will be installed:
gufw python-netifaces
Need to get 482 kB of archives.
After this operation, 2,607 kB of additional disk space will be used.
Do you want to continue? [Y/n] 

如果由于某种原因您不想安装依赖项,则可以选择取消安装。

查看依赖关系的其他方法包括:

apt-cache show gufw
Depends: python:any (>= 2.7.1-0ubuntu2), ufw (>= 0.31.1), gir1.2-gtk-3.0, policykit-1, gnome-icon-theme-symbolic, python-netifaces, gir1.2-webkit-3.0

注意,apt-cache显示所有依赖项,而apt-get仅显示尚未安装的依赖项。

您还可以使用Ubuntu 软件包数据库. 请参阅gufw 的搜索结果页面

答案2

您安装了海湾战争,它具有python-netifaces依赖性。

正如其名称所示,“依赖”是指其他软件包需要依赖才能运行。您会注意到,如果您尝试删除python-netifaces海湾战争将同时自行卸载。

来自Linux词典:

定义:依赖关系:一个包的正常功能可能依赖于另一个包的存在,这意味着存在依赖关系[...]

来自维基百科。 :

当您安装程序时,必须同时安装其依赖项。通常,大多数必需的依赖项都已安装,但可能还需要一些额外的依赖项。因此,当您安装软件包时,如果还安装了其他几个软件包,请不要感到惊讶 - 这些只是您选择的软件包正常运行所需的依赖项。

Linux 的工作原理就是这样的。

相关内容