Systemd служба мешает? Легко отключаем и маскируем ненужные сервисы в Linux
Эта служба постоянно запускается сама, хотя вам она не нужна. Она отнимает ресурсы, мешает работе других программ или просто раздражает своим присутствием. Знакомая ситуация? В мире Linux, где Systemd правит бал, такие проблемы решаются парой грамотных команд.
Вы узнаете не просто как удалить службу, а как сделать это правильно и безопасно. Потому что простое удаление файла — это путь в никуда. При следующем обновлении системы он вернется на свое место, и все начнется заново.
Мы покажем вам два рабочих метода. Первый — радикальный, когда служба вам больше не нужна никогда. Вы навсегда удалите ее вместе с пакетом, к которому она привязана. Мы научим вас находить этот самый пакет, чтобы действовать наверняка.
Но что, если удалять пакет нельзя? Он критически важен для системы, или вы просто хотите временно отключить службу? Тогда ваш выбор — элегантное маскирование. Это как поставить службу в угол без права выхода. Она физически есть в системе, но не может запуститься ни автоматически, ни вручную. Система просто не увидит ее.
Вы освоите команды `mask` и `unmask`, которые дают вам полный контроль. Хотите — заблокируете службу. Захотите — вернете ее к жизни за секунду. Это мощный инструмент для тонкой настройки вашего Linux.
Готовы навести порядок в своих службах и стать настоящим хозяином системы? Переходите к статье — внутри вас ждут четкие инструкции и примеры команд для мгновенного результата.
Иногда возникает необходимость удалить службу Systemd или хотя бы сделать её недоступной для использования. Сам юнит файл службы удалять нет смысла, потому что при следующем обновлении пакета он восстановится.
Самый простой способ избавиться от службы - это удалить пакет вместе с котором она поставляется. Сначала надо найти путь к файлу юнита службы. Это можно сделать с помощью команды status:
sudo systemctl status nginx

Далее, если вы используете Ubuntu, то можно узнать с помощью dpkg какому пакету он принадлежит. Например:
dpkg -S /lib/systemd/system/nginx.service

А этот пакет уже можно удалить:
sudo apt remove nginx
Если вы не хотите удалять пакет со службой или не можете его удалить, потому что он системный и это может что-то сломать, то вы можете замаскировать службу. Замаскированные службы не запускаются при старте системы даже если они добавлены в автозагрузку и их нельзя запустить вручную. Для маскировки используется команда mask. Например:
sudo systemctl mask nginx
После этого, если вы посмотрите состояние службы, там будет написано что она замаскирована:
sudo systemctl status nginx

А если попытаетесь запустить, то получите ошибку:
sudo systemctl start nginx

Для того чтобы убрать маскировку используйте команду unmask:
sudo systemctl unmask nginx
Теперь вы знаете как скрыть службу Systemd в Linux, как видите это довольно просто. Подробнее про управление службами читайте в этой статье.