Управление поведением служб при загрузке системы: включение и отключение
На этом этапе вы научитесь настраивать, должны ли службы запускаться автоматически при загрузке системы. Это важно для того, чтобы необходимые службы были доступны без ручного вмешательства после перезапуска системы.
Понимание настройки запуска служб
Службы могут быть настроены на автоматический запуск при загрузке системы (включены) или на запуск вручную (отключены). Эта настройка отдельна от текущего состояния работы службы.
Проверка, включена ли служба для запуска при загрузке
-
Чтобы проверить, настроена ли служба SSH на запуск при загрузке:
systemctl is-enabled sshd
Вывод будет либо "enabled" (запускается при загрузке), либо "disabled" (не запускается при загрузке).
Отключение службы
При отключении службы вы настраиваете ее на то, чтобы она не запускалась автоматически при загрузке системы:
-
Отключите службу SSH:
sudo systemctl disable sshd
Вы должны увидеть сообщение о том, что символическая ссылка была удалена:
Removed /etc/systemd/system/multi - user.target.wants/ssh.service.
-
Проверьте, что служба теперь отключена:
systemctl is - enabled sshd
Вывод должен быть "disabled".
-
Обратите внимание, что отключение службы не останавливает ее, если она в данный момент запущена. Проверьте текущий статус:
systemctl status sshd
Несмотря на то, что служба теперь отключена для следующей загрузки, она может по-прежнему быть активной.
Включение службы
При включении службы вы настраиваете ее на автоматический запуск при загрузке системы:
-
Включите снова службу SSH:
sudo systemctl enable sshd
Вы должны увидеть сообщение о том, что символическая ссылка была создана:
Created symlink /etc/systemd/system/multi - user.target.wants/ssh.service → /lib/systemd/system/ssh.service.
-
Проверьте, что служба теперь включена:
systemctl is - enabled sshd
Вывод должен быть "enabled".
Комбинированные команды
Вы также можете комбинировать включение/отключение со стартом/остановкой в одной команде:
-
Чтобы отключить и остановить службу одной командой:
sudo systemctl disable --now sshd
-
Чтобы включить и запустить службу одной командой:
sudo systemctl enable --now sshd
Создание файла справки по настройке запуска служб
Создадим файл справки с командами, которые вы узнали:
-
Создайте файл с именем service_boot.txt
в вашем проекте:
echo "Service Boot Configuration Commands:" > ~/project/service_boot.txt
echo "Check if a service is enabled: systemctl is - enabled <service_name>" >> ~/project/service_boot.txt
echo "Enable a service to start at boot: sudo systemctl enable <service_name>" >> ~/project/service_boot.txt
echo "Disable a service from starting at boot: sudo systemctl disable <service_name>" >> ~/project/service_boot.txt
echo "Enable and immediately start a service: sudo systemctl enable --now <service_name>" >> ~/project/service_boot.txt
echo "Disable and immediately stop a service: sudo systemctl disable --now <service_name>" >> ~/project/service_boot.txt
-
Проверьте содержимое файла:
cat ~/project/service_boot.txt
На этом этапе вы научились управлять поведением служб при загрузке системы, включая и отключая их. Это очень важно для настройки того, какие службы будут запускаться автоматически при загрузке системы, чтобы необходимые службы были доступны, а ненужные не использовали ресурсы.