Как управлять системными службами с chkconfig и systemctl
Управление системными службами – это то, с чем сталкивается каждый администратор Linux, будь то новичок или ветеран, который помнит ещё те времена, когда в ходу были дискетки и терминал Unix. Сегодня мы поговорим о двух важных утилитах: chkconfig и systemctl. Если вы думали, что запускать и останавливать службы – это просто, вы, вероятно, никогда не пытались заставить «mail.transport» работать под дебильным местным часом!
chkconfig — это старший, но очень заботливый дядя из семьи управления службами Linux. Его функция заключается в управлении службами, которые загружаются на различных уровнях работы системы. Чтобы увидеть, какие службы у нас есть, просто выполните команду:
chkconfig --list
Вы получите длинный список всех системных служб, которые ютились на вашем сервере. Подобно родословной кошки, но намного менее пушисто. Если увидите, что какая-то служба не включена на нужном уровне, вы можете её активировать с помощью:
chkconfig имя_службы on
Не забудьте заменить имя_службы на фактическое имя вашей службы! На всякий случай — никакого зоопарка из имён, пожалуйста.
Теперь перейдём к systemctl, современному и мощному инструменту управления системными службами. Он пришёл на смену chkconfig в некоторых дистрибутивах, таких как CentOS 7 и Ubuntu 16.04. Если chkconfig — это дедушка в кресле-качалке, то systemctl — это его гиперактивный внук на скейтборде, который, возможно, уже успел настучать пару голов.
С помощью systemctl можно выполнять большую партию команд. Например, чтобы увидеть статус службы, используйте:
systemctl status имя_службы
Это даст вам полную картину: работает ли служба, когда она была запущена и (возможно) сколько раз её перезапускали, пока вы пили свой утренний кофе.
Если же служба ведёт себя неподобающе, вы можете её остановить:
systemctl stop имя_службы
Или запустить, если вы понимаете, что ваш сервер не любит долгих перерывов:
systemctl start имя_службы
Для того чтобы служба автоматически запускалась при загрузке системы, выполните следующую команду:
systemctl enable имя_службы
Обратите внимание, что это как ставить галочку «Запускать с самого начала» в настройках программы — просто убедитесь, что служба не взорвётся при этом (хотя кто не мечтал об этом?).
В конце концов, управление системными службами через chkconfig и systemctl — это задача, с которой может справиться абсолютно каждый администратор, даже если в тихом свете библиотеки вы предпочитаете читать статьи о приматах.
Запомните: если ваш сервер что-то не так работает, это не всегда значит, что это он виноват. Обратите внимание на systemctl и chkconfig — возможно, ваши служебные ключи потерялись где-то в папке «невозвращённые».
Вот и всё, теперь вы вооружены основами управления службами в Linux. Какой бы инструментарий вы ни выбрали — старый добрый chkconfig или модный systemctl, будьте бдительны, и пусть ваши серверы всегда будут на связи!