Вопрос или проблема
Кажется, простая команда 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.
apache2
— это метапакет, который просто выбирает другие пакеты. Если вы установили apache, установив этот пакет, вам просто нужно запустить это, чтобы очистить автоматически выбранные пакеты:
sudo apt autoremove
Если это не сработает, возможно, вы установили один из зависимых пакетов вручную. Вы можете нацелиться на все пакеты с apache2-
из пространства и удалить все:
sudo apt remove apache2*
На будущее, чтобы узнать, из какого пакета происходит бинарный файл, вы можете выполнить это:
dpkg -S `which apache2`
Ожидается, что в ответ будет apache2.2-bin
(на момент написания).
Следуйте этим шагам, чтобы удалить службу apache2
с помощью Terminal
:
-
Сначала остановите службу apache2, если она работает, используя:
sudo service apache2 stop
-
Теперь удалите и очистите все пакеты 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
-
Наконец, выполните
sudo apt-get autoremove
на случай, если нуждается в другой очистке
Вы можете выполнить два следующих теста, чтобы подтвердить удаление apache:
which apache2
– должна вернуть пустую строкуsudo service apache2 start
– должна вернутьapache2: unrecognized service
Очень простой и прямой способ, который сработал для меня, выглядит следующим образом:
-
Остановите
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
Источник: Как удалить и удалить Apache2 на Ubuntu или Debian от Dan Nanni
Удаление apache2 из Ubuntu
Чтобы полностью удалить вплоть до localhost
Сначала проверьте текущий статус с использованием
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
Потратьте время, чтобы проверить, используете ли вы другой пакет apache2.2-bin
для Ubuntu 16.04, последняя версия apache2.4-bin
sudo 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 <имя пакета из предыдущего вывода команды>
$ sudo whereis apache
$ sudo rm -rf <путь к каталогу/файлу из предыдущего вывода команды>
см. http://www.xavierdilipkumar.com/post/how-to-uninstall-php-apache-and-mysql-on-ubuntu
Используйте это, чтобы удалить установку и ее зависимости. Это также перезагрузит брандмауэр
sudo dpkg --purge apache2
Эти команды полностью удалят Apache2, все его конфигурации, логи и файлы www.
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
А если вы хотите удалить все файлы www,
sudo rm -rf /var/www/html
ВНИМАНИЕ: sudo rm -rf /var/www/html
удалит все файлы в вашем каталоге /var/www/html
, убедитесь, что там нет ничего важного!!!
.
Ответ или решение
Удаление Apache2 с сервера Ubuntu может оказаться сложнее, чем просто выполнение команды apt-get remove apache2
. Если вы всё ещё видите процессы Apache2 после удаления, как, например, в выводе команды top
, это говорит о том, что Apache2 и связанные с ним пакеты все еще установлены на вашем сервере. Для полного удаления Apache2 выполните следующие шаги.
Остановка сервиса Apache2
Перед удалением пакетов убедитесь, что сервис Apache2 остановлен:
sudo service apache2 stop
Удаление пакетов Apache2
Чтобы удалить все связанные пакеты и конфигурационные файлы Apache2, используйте команду purge
:
sudo apt-get purge apache2 apache2-utils apache2-bin apache2-common
Имейте в виду, что названия пакетов могут меняться в зависимости от версии и конфигурации системы. Для более актуального списка используйте dpkg
:
dpkg -S $(which apache2)
Автоматическое удаление зависимостей
После удаления основных пакетов полезно выполнить команду autoremove
, чтобы убрать все ненужные зависимости:
sudo apt-get autoremove
Проверка и удаление остатков
Проверьте, остались ли какие-либо файлы и директории, связанные с Apache2:
whereis apache2
Если после выполнения команды вы видите, например, /etc/apache2
, удалите эти директории:
sudo rm -rf /etc/apache2 /var/lib/apache2 /var/log/apache2
Проверка успешности удаления
Для проверки того, что Apache2 был полностью удален, выполните следующие команды:
which apache2
Эта команда должна вернуть пустую строку.
sudo service apache2 start
Вы должны увидеть сообщение apache2: unrecognized service
, что указывает на то, что сервис больше не существует.
Заключение
Таким образом, выполнив вышеприведенные шаги, вы сможете полностью удалить Apache2 с вашего Ubuntu сервера. Это не только очистит систему от ненужных файлов, но и освободит ресурсы, которые могли использоваться для работы Apache2.