为什么 apt 在清除期间安装软件包?

为什么 apt 在清除期间安装软件包?

我正在从 Apache2 切换到 nginx。所以我发出了这个命令:

sudo apt-get purge apache2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  389-ds-base 389-ds-base-libs ldap-utils libadminutil-data libadminutil0
  libapache2-mod-nss libds-admin-serv0 libmozilla-ldap-perl libnetaddr-ip-perl
  libnss3-tools libsocket-getaddrinfo-perl libsvrcore0
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  php5-cgi
Suggested packages:
  php-pear
The following packages will be REMOVED:
  389-admin* apache2* libapache2-mod-php5*
The following NEW packages will be installed:
  php5-cgi
0 upgraded, 1 newly installed, 3 to remove and 0 not upgraded.
Need to get 4277 kB of archives.
After this operation, 6360 kB of additional disk space will be used.
Do you want to continue? [Y/n]

为什么 apt 尝试安装php-cgi?我正在尝试清除,并将很快apache2清除,以安装.我很困惑为什么清除操作会尝试安装软件包。phppph-fpmnginxapt

Debian 8,内核 3.16。

答案1

请注意,该内容libapache2-mod-php5已被您的清除删除。这是因为它是一个 Apache 模块/插件,没有 Apache 本身就无法安装。

但是您的系统上可能安装了一些其他依赖于 PHP 的软件包。从您提供的信息中并未显示这一点。如果libapache2-mod-php5简单地删除该包(或那些包),就会陷入困境。 apt 正在通过安装来解决问题pgp5-cgi。依赖于 PHP 的软件包与php5-cgi以前一样满意libapache2-mod-php5,您删除 Apache 的请求现在可以得到满足。

相关内容