chkconfig – это утилита командной строки, используемая в Unix-подобных операционных системах для управления сервисами, которые автоматически запускаются при загрузке системы.
Инструмент chkconfig широко использовался в старых дистрибутивах Linux, таких как CentOS 6 и более ранние версии. chkconfig позволял администраторам легко включать и отключать службы на разных уровнях выполнения.
- Почему chkconfig был важен?
- Основные команды chkconfig
- Список всех служб
- Проверка состояния конкретной службы
- Как запустить определенную службу на уровнях выполнения
- Как проверить, какие службы включены или выключены
- Как остановить определенную службу на уровне выполнения
- Как включить или отключить службу
- Переход на команду systemctl
- Зачем нужен systemctl?
- Основные команды systemctl
- Как перечислить активные службы
- Как включить или отключить службу
- Как запускать, останавливать и перезапускать службы
- Как проверить статус службы
- Заключение
Почему chkconfig был важен?
Прежде чем перейти к рассмотрению современной замены, давайте разберемся, почему chkconfig был полезен:
- Управление службами: Он предоставлял простой способ управления службами запуска без необходимости вручную создавать или удалять символические ссылки в каталогах /etc/rc.d/.
- Контроль уровня запуска: Он позволял администраторам указывать, какие службы должны запускаться на разных уровнях выполнения. Уровни выполнения – это различные режимы работы Unix-подобных систем, такие как однопользовательский режим, многопользовательский режим и т. д.
- Удобство: Упрощало управление службами с помощью простых команд для перечисления, добавления или удаления служб из автоматического запуска.
Основные команды chkconfig
Мы рассмотрим, как эффективно использовать команду chkconfig с ее доступными параметрами.
Командный инструмент chkconfig позволяет нам настраивать сервисы на автоматический запуск и остановку в скриптах /etc/rc.d/init.d через командную строку.
Рассмотрим некоторые распространенные команды, используемые в chkconfig:
Список всех служб
Использование параметра ‘–list’ отобразит все службы и их текущее состояние запуска в каждой конфигурации уровня выполнения.
Проверка состояния конкретной службы
Команда ниже отображает начальную конфигурацию для определенной службы HTTP, которая отключена на всех уровнях выполнения.
Как запустить определенную службу на уровнях выполнения
Следующие команды `chkconfig` демонстрируют, как настроить запуск служб HTTP только на уровнях выполнения 3 и 5 с помощью параметра `–level`.
Первая команда запускает службы `httpd` на уровнях выполнения 3 и 5, а вторая команда проверяет состояние служб `httpd`, запущенных на этих уровнях выполнения.
Пример вывода:
httpd 0:off 1:off 2:off 3:on 4:off 5:on 6:off
Как проверить, какие службы включены или выключены
Следующая команда отобразит все службы, которые включены и выключены на определенном уровне выполнения 5.
Пример вывода:
NetworkManager 0:off 1:off 2:on 3:on 4:on 5:on 6:off abrt-ccpp 0:off 1:off 2:off 3:on 4:off 5:on 6:off abrt-oops 0:off 1:off 2:off 3:on 4:off 5:on 6:off abrtd 0:off 1:off 2:off 3:on 4:off 5:on 6:off acpid 0:off 1:off 2:on 3:on 4:on 5:on 6:off ...
Пример вывода:
dnsmasq 0:off 1:off 2:off 3:off 4:off 5:off 6:off dovecot 0:off 1:off 2:off 3:off 4:off 5:off 6:off firstboot 0:off 1:off 2:off 3:off 4:off 5:off 6:off kdump 0:off 1:off 2:off 3:off 4:off 5:off 6:off mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off ...
Как остановить определенную службу на уровне выполнения
Следующая команда отключит службу postfix только на одном уровне выполнения.
Аналогичным образом мы можем отключить определенную службу на нескольких уровнях выполнения за один раз, как показано ниже.
Как включить или отключить службу
Чтобы включить автоматический запуск службы при загрузке.
Чтобы запретить службе автоматически запускаться при загрузке.
Переход на команду systemctl
По мере развития Linux-систем система init (используемая командой chkconfig) была заменена systemd, которая является современным менеджером систем и сервисов для операционных систем Linux.
Он предлагает больше возможностей и более высокую производительность.
С этим изменением chkconfig стал устаревшим, а его место занял systemctl.
Зачем нужен systemctl?
systemctl – это инструмент командной строки, используемый для управления системой systemd и менеджером сервисов.
Он предлагает более мощный и гибкий способ управления службами.
Вот некоторые ключевые преимущества:
- Унифицированный интерфейс: Он предоставляет единую команду для управления как системными службами, так и уровнями выполнения (теперь в systemd они называются целями).
- Повышенная производительность: systemd запускает службы параллельно, улучшая время загрузки.
- Больше возможностей: Поддерживаются такие современные функции, как зависимость служб, запуск служб по требованию и другие.
Основные команды systemctl
Давайте рассмотрим, как выполнить с помощью systemctl задачи, аналогичные тем, которые вы могли бы выполнить с помощью chkconfig:
Как перечислить активные службы
Эта команда перечисляет все активные службы, управляемые systemd в системе, предоставляя дополнительную информацию о статусе и свойствах каждой службы.

Как включить или отключить службу
Чтобы включить автоматический запуск службы при загрузке:
Чтобы запретить службе автоматически запускаться при загрузке:
Как запускать, останавливать и перезапускать службы
Чтобы запустить службу немедленно:
Чтобы немедленно остановить службу:
Чтобы немедленно перезапустить службу:
Как проверить статус службы
Чтобы проверить статус услуги:
Заключение
Хотя chkconfig был ценным инструментом для управления службами в старых дистрибутивах Linux, переход к systemd и команде systemctl принес множество улучшений в плане функциональности и производительности.
Понимание того, как использовать systemctl, необходимо для современного администрирования Linux.
Команды могут быть другими, но они предлагают больше контроля и лучшую интеграцию с системой в целом.
см. также: