删除一个包后,会删除更多包

删除一个包后,会删除更多包

我在 shell 中输入以下内容:

sudo apt-get --purge remove openssl

我删除的不仅仅是 openssl 包,为什么?

以下是部分输出:

(Reading database ... 400426 files and directories currently installed.)
Removing nautilus-share (0.7.3-1ubuntu5) ...
Removing apturl (0.5.2ubuntu4) ...
Removing bluez-cups (4.101-0ubuntu13.1) ...
Removing google-chrome-stable (43.0.2357.124-1) ...

答案1

因为它们依赖于您刚才说要删除的东西 -openssl就是有问题的依赖项。没有它,这些程序都无法运行。

例如,当我安装某些东西时,看一下输出:

The following extra packages will be installed:
  chkrootkit john john-data procmail sendmail sendmail-base sendmail-bin
  sendmail-cf sensible-mda tripwire

这是因为我想要安装的包(tiger)需要这些 - 它们是依赖项。

嗯,这里也发生了同样的事情。nautilus-share,,apturlbluez-cupsgoogle-chrome-stable需要openssl运行——所以它们同时被卸载。

下次你删除某些东西时,你可能会看到类似这样的内容:

The following packages will be REMOVED
  akregator amarok amarok-utils anoise anoise-media apport-kde
  apt-xapian-index apturl-kde ark audiocd-kio bluedevil blueproximity

如果您看到了想要的东西,请不要删除主包。在上述情况下,我打算删除python- 但那会删除很多东西(231)。

答案2

看一下依赖关系aptitude why

$ aptitude why openssl
i   ca-certificates Depends openssl (>= 1.0.0)
$ aptitude why ca-certificates
i   software-properties-common Depends ca-certificates
$ aptitude why software-properties-common 
i   software-properties-gtk Depends software-properties-common
$ aptitude why software-properties-gtk 
i   ubuntu-desktop Depends software-properties-gtk

$ aptitude why apturl
i   nautilus-share Depends apturl
$ aptitude why nautilus-share
i   ubuntu-desktop Recommends nautilus-share

因此,这表明openssl已安装,因为它是 的依赖项ca-certificatesca-certificates是 的依赖项,software-properties-common而 又是 的依赖项software-properties-gtksoftware-properties-gtk最后是 的依赖项ubuntu-desktop。 因此,如果删除 ,所有这些都将被删除openssl。 它们递归依赖于openssl

由于ubuntu-desktop被删除并且nautilus-share被推荐ubuntu-desktop(并且很可能没有其他安装理由),它也将被删除。同样apturl

相关内容