永久删除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.

8运行 apt-get purge apache2 命令。它将删除所有配置文件。 - Manula Waidyanatha
1我接着执行了apt-get autoremove,然后是sudo rm -rf /etc/apache2 - Matthew Hegarty
10个回答

apache2 是一个元包,它只选择其他软件包。如果您通过安装该软件包来安装 Apache,您只需要运行以下命令来清理自动选择的软件包:

sudo apt autoremove

如果这样不起作用,你可能手动安装了其中一个依赖项。你可以一次性删除所有的apache2-包:
sudo apt remove apache2.*

以后参考,要找出一个二进制文件来自哪个软件包,你可以运行以下命令:
dpkg -S `which apache2`

我预计会返回 apache2.2-bin(写作时的版本)。

14如果你想连同配置文件一起删除,可以使用 --purge 参数:apt-get --purge remove apache2 - xyious
2最后的命令输出为 apache2-mpm-prefork: /usr/sbin/apache2 - Jürgen Paul
1@Severus 好吧,我只是猜测,但这很有道理。是的,我会使用通配符,但要注意它将删除什么。apache2-common被一些不是apache2 httpd的工具使用,所以你可能需要在之后重新安装一些东西。 - Oli
@Oli 使用正则表达式'regex'删除东西是危险的,很多东西最终会被删除。 - jhbsk
2@jasdeepkhalsa 不是“危险的”。apt-get(与apt-cache不同)仅限于搜索名称,因此它的范围并不那么广泛。它捕获的所有内容都是Apache或依赖于Apache的。你可以用apt-get -s remove apache2*自己检查一下。 - Oli
应该使用sudo apt-get remove apache2.*。 - Li-chih Wu
运行sudo apt-get autoremove太危险了。 - Khaled AbuShqear
@Shqear 不是真的。如果你所需的软件包只是为了满足其他软件包的依赖关系而安装的,那就是你的问题。将它们标记为手动安装,autoremove 就不会删除它们。如果你担心可能发生什么不好的事情,在执行真正的操作之前,可以使用“-s”标志进行模拟运行。 - Oli
Apache在服务器重新启动后存在,但在'sudo apt remove apache2.'时出现'E: 无法找到软件包apache2.'... 只有在UBUNTU 20 LTS上'sudo apt-get purge apache2 apache2-utils apache2-bin apache2.2-common'才起作用。 - Peter Krauss
这只是移除了dokku。幸运的是,不是在生产环境中,但要小心,自动删除绝对是危险的。如果这是在生产环境中,我现在会完全崩溃。 - Neil

按照以下步骤使用终端来移除apache2服务:
  1. 首先,如果正在运行,请停止apache2服务: sudo service apache2 stop
  2. 现在,使用以下命令删除和清理所有的apache2软件包:

    sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common
    //或者
    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

11sudo apt-get purge apache2 apache2-utils apache2-bin apache2.2-common - john-jones
对我来说很完美。 - Nechtan
1当我运行 which apache2 时,它报告 /usr/sbin/apache2。在重新安装之前,是否应该将其删除? - DonP
卸载apache2-bin应该会删除/usr/sbin/apache2。 - siliconrockstar

一个非常简单直接的方法,对我来说很有效,如下所示:
  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 by Dan Nanni


3对我来说,这是这样的:sudo apt-get purge apache2 apache2-utils apache2-bin apache2.2-common - john-jones

从Ubuntu中删除apache2

enter image description here

从你的本地主机上完全删除
首先使用以下命令检查当前状态:
service apache2 status

如果它处于活动状态(运行中), 接下来写作吧。
sudo apt remove apache2*

使用y来表示同意。

对于基于Debian的操作系统,比如Ubuntu,请使用以下命令:
sudo apt remove --purge apache2
sudo apt autoremove -y

首先检查您是否使用了正确的软件包名称,我认为正确的软件包名称是:apache2.x-common

如果您想完全删除该软件包,包括配置文件,请尝试:

    dpkg --purge apache2.2-common

请花点时间检查一下,看看你是否在Ubuntu 16.04中使用了不同的软件包apache2.2-bin,最新版本是apache2.4-binsudo apt-get purge apache2 apache2-utils apache2.4-bin apache2.4-common

我尝试了其他的答案,但这是我找到的最完整的解决方案,对我起作用:
$ sudo service apache2 stop
$ sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common
$ sudo apt-get autoremove

下面命令的输出将为您提供有关已安装软件包的信息,包括版本、架构和简要描述。grep命令用于查找apache软件包。
$ sudo dpkg --get-selections | grep apache | cut -f 1
$ sudo apt-get remove --purge <package name from the previous command output>
$ sudo whereis apache
$ sudo rm -rf <directory/file path from the previous command output>

查看这里

运行sudo dpkg --purge apache2将删除安装及其依赖项,并重新加载防火墙。

这些命令将完全删除Apache2,包括其所有配置、日志和www文件。
警告:sudo rm -rf /var/www/html将删除您的/var/www/html目录中的所有文件,请确保您没有重要文件!!!
sudo service apache2 stop
sudo apt purge apache2
sudo apt purge apache2-utils
sudo apt autoremove
sudo rm -rf /etc/apache2
sudo rm -rf /var/lib/apache2
sudo rm -rf /var/log/apache2
sudo rm -rf /var/www/html

  • 相关问题