永久删除 apache2

永久删除 apache2

似乎简单的操作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

  1. 如果 apache2 服务正在运行,请首先停止它:sudo service apache2 stop
  2. 现在使用以下命令删除并清理所有 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
    
  3. 最后,运行sudo apt-get autoremove以防万一需要进行其他清理

您可以执行以下两个测试来确认 apache 已被删除:

  1. which apache2- 应该返回一个空白行
  2. sudo service apache2 start- 应该返回apache2: unrecognized service

答案3

对我来说,一个非常简单直接的方法如下:

  1. 停止apache2

    sudo service apache2 stop
    
  2. 卸载 Apache2 及其依赖包。

    sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common
    
  3. 使用autoremove选项来摆脱其他依赖关系。

    sudo apt-get autoremove
    
  4. 检查是否还有未被删除的配置文件。

    whereis apache2
    
  5. 如果您收到如下响应,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

相关内容