systemctl — это инструмент для управления службами и процессами в современных системах Linux на базе systemd. Он позволяет запускать, останавливать, перезагружать службы, а также контролировать их автозапуск и состояние.
Systemctl работает с сервисами, таймерами, сокетами и прочими объектами systemd. Основные операции включают:
• Запуск и остановка сервисов:
sudo systemctl start имя_сервиса и sudo systemctl stop имя_сервиса позволяют соответственно включать и выключать сервисы без перезагрузки системы.• Перезагрузка сервиса:
sudo systemctl restart имя_сервиса — удобный способ применить изменения или исправить сбои.• Проверка статуса:
systemctl status имя_сервиса выводит подробную информацию о состоянии сервиса, логи ошибок и время запуска.• Включение и отключение автозапуска:
sudo systemctl enable имя_сервиса активирует автоматический запуск сервиса при загрузке ОС, disable — отключает.• Маскирование сервиса:
sudo systemctl mask имя_сервиса блокирует возможность запуска сервиса. Пример: для временного запрета.• Просмотр и управление журналами: systemd использует journalctl для просмотра логов сервисов, команда
journalctl -u имя_сервиса покажет логи конкретного сервиса.Пример:
sudo systemctl start nginx # Запустить сервис nginx
sudo systemctl enable nginx # Включить автозапуск nginx
sudo systemctl status nginx # Проверить статус nginx
sudo systemctl restart nginx # Перезагрузить nginx
sudo systemctl stop nginx # Остановить nginx
Кроме стандартных сервисов, systemctl работает с различными типами юнитов — не только сервисами, но и устройствами, монтированиями, точками монтирования и т.д. Команда
systemctl list-units выводит все активные единицы, что позволяет контролировать состояние системы.🐸 Библиотека devops'a
#арсенал_инженера