似乎简单的操作apt-get remove apache2
无法完全删除,apache2
因为运行时我仍然可以在其中一个进程中看到它top
。如何apache2
在 ubuntu 服务器上完全删除?
它确实没有被删除:
~# which apache2
/usr/sbin/apache2
~# whereis apache2
apache2: /usr/sbin/apache2 /etc/apache2 /usr/lib/apache2 /usr/share/apache2 /usr/share/man/man8/apache2.8.gz
但当我apt-get remove apache2
再次这样做时:
# apt-get remove apache2
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package apache2 is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
答案1
apache2
是一个只选择其他包的元包。如果你通过安装该包安装了 apache,你只需要运行这个来清理自动选择的包:
sudo apt autoremove
如果这不起作用,您可能手动安装了其中一个依赖项。您可以apache2-
从 space 中定位所有软件包,然后删除它们:
sudo apt remove apache2*
为了将来参考,要找出二进制文件来自哪个包,您可以运行以下命令:
dpkg -S `which apache2`
我希望它能回来apache2.2-bin
(在撰写本文时)。
答案2
请按照以下步骤删除该apache2
服务Terminal
:
- 如果 apache2 服务正在运行,请首先停止它:
sudo service apache2 stop
现在使用以下命令删除并清理所有 apache2 包:
sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common //or sudo apt-get purge apache2 apache2-utils apache2-bin apache2.2-common
最后,运行
sudo apt-get autoremove
以防万一需要进行其他清理
您可以执行以下两个测试来确认 apache 已被删除:
which apache2
- 应该返回一个空白行sudo service apache2 start
- 应该返回apache2: unrecognized service
答案3
对我来说,一个非常简单直接的方法如下:
停止
apache2
。sudo service apache2 stop
卸载 Apache2 及其依赖包。
sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common
使用
autoremove
选项来摆脱其他依赖关系。sudo apt-get autoremove
检查是否还有未被删除的配置文件。
whereis apache2
如果您收到如下响应,
apache2: /etc/apache2
请删除目录和现有配置文件。sudo rm -rf /etc/apache2
来源:如何在 Ubuntu 或 Debian 上卸载和删除 Apache2作者:Dan Nanni
答案4
对于基于 Debian 的操作系统(例如 Ubuntu),使用:
sudo apt remove --purge apache2
sudo apt autoremove -y