如何在不安装 Apache 2 的情况下卸载 php7.2-fpm(在 LEMP 机器上)

这可能听起来很愚蠢,但我奇怪的配置似乎在尝试卸载时强制安装Apache2 !(我使用并且我最不想在我的服务器上看到的就是 Apache 安装......)php7.2-fpmnginx

场景如下:我被困在 Ubuntu 16.04.6 LTS 安装中(抱歉,我无法控制它,我只能维护它,用于安装我apt想要的任何东西,但不能将Ubuntu 升级到现代版本。

多年来,正如预期的那样,Ubuntu 16.04 被许多软件包维护者放弃,尤其是来自官方 Ubuntu 存储库的维护者;因此,我别无选择,只能添加很多替代存储库。

另外,随着时间的推移,我一直在升级 PHP。第一件事是几年前下降了 5.6。然后是 7.0 退役的时候了,最终 7.1 也退役了。与此同时,我安装了 7.2、7.3 和 7.4 版本,因为该服务器上托管的每个站点(顺便说一句,数量并不多)都经过严格测试,以确保它继续在最新版本的 PHP 上运行。

目前,我的所有网站都在 PHP 7.4 上运行,除了两个网站,它们仍然需要 PHP 7.3,直到底层应用程序软件与 7.4 兼容(我确信这将在几周或几个月内发生) 。我可以安全地删除 PHP 7.2,因为它不再被使用。

唉,它似乎并没有被完全删除——尽管它没有启动时启动,也没有从任何东西中调用它。但是,如果我尝试删除它,我会得到以下信息:

# apt remove php7.2-fpm

Reading package lists... Done

Building dependency tree       

Reading state information... Done

The following additional packages will be installed:

  apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.2 libapr1

  libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.1-0

Suggested packages:

  apache2-doc apache2-suexec-pristine | apache2-suexec-custom

The following packages will be REMOVED

  php7.2-fpm

The following NEW packages will be installed

  apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.2 libapr1

  libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.1-0

0 to upgrade, 10 to newly install, 1 to remove and 16 not to upgrade.

1 not fully installed or removed.

Need to get 2,879 kB of archives.

After this operation, 6,192 kB of additional disk space will be used.

Do you want to continue? [Y/n]

显然,我最不想做的就是再次安装 Apache 2。另外,我相信这是我第一次看到当我请求它删除软件包时apt希望安装某些东西!

请注意,Apache 2 尚未安装,尽管我相信它已经安装过一次(几年前)——我从未使用/配置过它,但也许它是预先安装的,我不知道,我只是在这里推测)——尽管apt说它不再安装,但在删除软件包时可能会有一些旧文件“混淆” ......apt

不过,我找不到这个非常奇怪的依赖项,也找不到如何修复它(我尝试过很多选项......)

没有尝试允许apt继续安装 Apache 2,并立即delete/purge对 package 发出请求apache2。也许这会修复存储库依赖关系......

和往常一样,我提前感谢您对我的初学者问题的耐心解答apt


慕森卡
浏览 159回答 2
2回答

慕容708150

虽然这与我自己的问题没有直接关系php7.2-fpm,但我注意到一件非常重要的事情:末尾的星号!所以我基本上做了:apt-get remove php7.2*而且,为了更好地衡量,apt-get purge php7.2*(令人惊讶的是,还有一些额外的软件包没有被删除......)而且,因为它不会伤害......apt-get autoremove(它返回没有什么可以删除的)另外,令我惊讶的是,我仍然发现了一些php7.1可用的旧包!(我以同样的方式删除了它们)。而且,遗憾的是,因为我有一个如此旧的基础 Ubuntu 系统,我需要一些文件才能php7.0获得一个工作的Roundcube(对于我的服务器的整体操作至关重要),但我的下一个清理任务将是弄清楚如何获得摆脱它而不打扰Roundcube...

繁花如伊

如果直接安装php 7.2,则安装了Apache。请尝试这个apt-get purge apache2apt-get autoremoveapt-get install php7.2-cli php7.2-fpm
打开App,查看更多内容
随时随地看视频慕课网APP