【问题标题】:Why does uninstalling Apache2 try to install PHP5-CGI?为什么卸载 Apache2 会尝试安装 PHP5-CGI?
【发布时间】:2016-01-16 12:34:22
【问题描述】:

正如您从下面的屏幕截图中看到的(我突出显示了相关部分),当我尝试从我的 Ubuntu 服务器上卸载 Apache 时,它​​想要安装 PHP5-CGI。为什么会这样?我需要使用不同的命令来卸载它吗?

【问题讨论】:

  • php5-cgi 之前可能已经选择安装。
  • 顺便说一句,这实际上是一个 apt 问题,而不是 apache 或 bash 问题。

标签: linux bash apache uninstallation


【解决方案1】:

我的猜测是因为另一个包有 php 作为依赖项。

但是 libapache2-mod-php5 满足了这个依赖,但是当你删除 apache 时,libapache2-mod-php5 有 apache 作为依赖,所以它不能保持安装。因此,apt 选择满足 php 依赖关系的下一行,它似乎是 php5-cgi

但是,您可以通过运行确定:

apt-cache rdepends --installed php5-cgi

现在也运行:

apt-cache rdepends --installed libapache2-mod-php5

这应该立即向您显示依赖于该软件包的内容。

我猜可能是 wordpress 或类似的东西。

apt-cache show wordpress
Depends: apache2 | httpd, libapache2-mod-php5 | php5, ca-certificates, mysql-client | mariadb-client, php5-gd, php5-mysql | php5-mysqlnd, libjs-cropper (>= 1.2.2), libjs-mediaelement (>= 2.15.1+dfsg), libphp-phpmailer (>= 5.2.10+dfsg), php-getid3 (>= 1.9.9+dfsg)

然后我假设 php5 本身,第二个选项,是一个元包,所以我检查它的依赖关系:

apt-cache show php5
Depends: libapache2-mod-php5 (>= 5.6.14+dfsg-1~) | libapache2-mod-php5filter (>= 5.6.14+dfsg-1~) | php5-cgi (>= 5.6.14+dfsg-1~) | php5-fpm (>= 5.6.14+dfsg-1~), php5-common (>= 5.6.14+dfsg-1~)
## or if you prefer
apt-cache depends php5
php5
 |Depends: libapache2-mod-php5
 |Depends: libapache2-mod-php5filter
 |Depends: php5-cgi
  Depends: php5-fpm

我发现 apt-cache show 输出更易于阅读,因为更容易查看每个依赖项的一组选项。

如你所见,如果我们以wordpress为例,它有libapache2-mod-php5 OR php5的依赖,而php5又具有libapache2-mod-php5 OR libapache2-mod-php5filter OR php5的依赖-cgi OR php5-fpm,所以看起来所有 apt 正在做的事情都在列表中,并且由于您要删除第一个依赖项,它会转到 php5,检查,然后再次删除第一个选项,第二个,libapache2-mod-php5filter,也有apache作为依赖,但是你在这个操作中删除了apache2,所以它转到不依赖apache的php5-cgi,你有它。

或者类似的东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    • 2017-04-16
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    相关资源
    最近更新 更多