当前位置: 首页>>技术教程>>正文


永久删除apache2

, ,

问题描述

看起来很简单apt-get remove apache2并没有完全删除apache2,因为在运行top时,我仍然可以在其中一个进程上看到它。如何在他的ubuntu服务器上完全删除apache2

它确实没有被删除:

~# 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.

最佳解决办法

apache2是一个只包含其他软件包的元包。如果您通过安装该软件包来安装apache,则只需运行以清理自动选择的软件包即可:

sudo apt-get autoremove

如果这不起作用,您可能已经手动安装了其中一个依赖项。你可以从空间中瞄准所有的apache2-包并且杀死很多人:

sudo apt-get remove apache2*

为了将来的参考,要找出二进制文件来自哪个软件包,可以运行以下命令:

dpkg -S `which apache2`

我希望能回到apache2.2-bin

次佳解决办法

按照以下步骤使用Terminal删除apache2服务:

  1. 首先停止apache2服务,如果它正在运行:sudo service apache2 stop

  2. 现在使用以下命令移除并清除所有apache2软件包:

    sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common
    
  3. 最后,运行sudo apt-get autoremove以防万一需要进行其他清理

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

  1. which apache2 – 应该返回一个空行

  2. sudo service apache2 start – 应返回apache2: unrecognized service

第三种解决办法

为我工作的一种非常简单直接的方式如下:

  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  
    

来源:Dan Nanni的How to uninstall and remove Apache2 on Ubuntu or Debian

第四种办法

首先检查您是否使用正确的包名,IMO正确的包名是:apache2.x-common

如果你想完全删除包含配置文件的包,请尝试:

    dpkg --purge apache2.2-common

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/770.html,未经允许,请勿转载。