- chkconfig(8) — Linux man page
- Description
- Options
- Runlevel Files
- Override Files
- Команда Chkconfig с полезными примерами
- Синтаксис и параметры команды Chkconfig
- Просмотр состояния службы на уровнях выполнения
- Отображение конкретной службы с помощью команды Chkconfig
- Включение (запуск) службы на уровнях запуска
- Отключение (остановка) службы на уровнях выполнения
- Как добавить службу
- Как удалить службу
- Заключение
chkconfig(8) — Linux man page
chkconfig [—list] [—type type][name]
chkconfig —add name
chkconfig —del name
chkconfig —override name
chkconfig [—level levels] [—type type] name on|off|reset|resetpriorities>
chkconfig [—level levels] [—type type] name
Description
chkconfig provides a simple command-line tool for maintaining the /etc/rc3.d directory hierarchy by relieving system administrators of the task of directly manipulating the numerous symbolic links in those directories.
This implementation of chkconfig was inspired by the chkconfig command present in the IRIX operating system. Rather than maintaining configuration information outside of the /etc/rc6.d hierarchy, however, this version directly manages the symlinks in /etc/rc5.d. This leaves all of the configuration information regarding what services init starts in a single location.
chkconfig has five distinct functions: adding new services for management, removing services from management, listing the current startup information for services, changing the startup information for services, and checking the startup state of a particular service.
When chkconfig is run with only a service name, it checks to see if the service is configured to be started in the current runlevel. If it is, chkconfig returns true; otherwise it returns false. The —level option may be used to have chkconfig query an alternative runlevel rather than the current one.
When chkconfig is run with the —list argument, or no arguments at all, a listing is displayed of all services and their current configuration.
If one of on, off, reset, or resetpriorities is specified after the service name, chkconfig changes the startup information for the specified service. The on and off flags cause the service to be started or stopped, respectively, in the runlevels being changed. The reset flag resets the on/off state for all runlevels for the service to whatever is specified in the init script in question, while the resetpriorities flag resets the start/stop priorities for the service to whatever is specifed in the init script.
By default, the on and off options affect only runlevels 2, 3, 4, and 5, while reset and resetpriorities affects all of the runlevels. The —level option may be used to specify which runlevels are affected.
Note that for every service, each runlevel has either a start script or a stop script. When switching runlevels, init will not re-start an already-started service, and will not re-stop a service that is not running.
chkconfig also can manage xinetd scripts via the means of xinetd.d configuration files. Note that only the on, off, and —list commands are supported for xinetd.d services.
chkconfig supports a —type argument to limit actions to only a specific type of services, in the case where services of either type may share a name. Possible values for type are sysv and xinetd.
Options
—level levels Specifies the run levels an operation should pertain to. It is given as a string of numbers from 0 to 6. For example, —level 35 specifies runlevels 3 and 5. —add name This option adds a new service for management by chkconfig. When a new service is added, chkconfig ensures that the service has either a start or a kill entry in every runlevel. If any runlevel is missing such an entry, chkconfig creates the appropriate entry as specified by the default values in the init script. Note that default entries in LSB-delimited ‘INIT INFO’ sections take precedence over the default runlevels in the initscript; if any Required-Start or Required-Stop entries are present, the start and stop priorities of the script will be adjusted to account for these dependencies. —del name The service is removed from chkconfig management, and any symbolic links in /etc/rc3.d which pertain to it are removed.
Note that future package installs for this service may run chkconfig —add, which will re-add such links. To disable a service, run chkconfig name off. —override name If service name is configured exactly as it would be if the —add option had been specified with no override file in /etc/chkconfig.d/name, and if /etc/chkconfig.d/name now exists and is specified differently from the base initscript, change the configuration for service name to follow the overrides instead of the base configuration. —list name This option lists all of the services which chkconfig knows about, and whether they are stopped or started in each runlevel. If name is specified, information in only display about service name.
Runlevel Files
Each service which should be manageable by chkconfig needs two or more commented lines added to its init.d script. The first line tells chkconfig what runlevels the service should be started in by default, as well as the start and stop priority levels. If the service should not, by default, be started in any runlevels, a — should be used in place of the runlevels list. The second line contains a description for the service, and may be extended across multiple lines with backslash continuation.
For example, random.init has these three lines:
# chkconfig: 2345 20 80 # description: Saves and restores system entropy pool for \ # higher quality random number generation.
This says that the random script should be started in levels 2, 3, 4, and 5, that its start priority should be 20, and that its stop priority should be 80. You should be able to figure out what the description says; the \ causes the line to be continued. The extra space in front of the line is ignored.
chkconfig also supports LSB-style init stanzas, and will apply them in preference to «chkconfig:» lines where available. A LSB stanza looks like:
### BEGIN INIT INFO # Provides: foo # Required-Start: bar # Defalt-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: Foo init script ### END INIT INFO
In this case, the start priority of «foo» would be changed such that it is higher than the «bar» start priority, if «bar» is enabled. Care must be taken when adding dependencies, as they can cause vast shifts in the start and stop priorities of many scripts.
Override Files
File in /etc/chkconfig.d/servicename are parsed using the same comments that chkconfig notices in init service scripts, and override values in the init service scripts themselves.
Команда Chkconfig с полезными примерами
Chkconfig — это простая утилита командной строки для управления службами на уровне запуска. С помощью команды chkconfig вы можете посмотреть состояние всех служб (включено или выключено) для каждого уровня запуска. Так же можете настроить запуск и остановку службы, указанной в каталоге «/etc/rd.d/init.d«.
Помимо просмотра служб команда chkconfig используется для добавления и удаления служб с определенных уровней запуска. Команда chkconfig также может управлять файлами конфигурации xinetd.d.
В этой статье мы расскажем о команде chkconfig и покажем несколько практических примеров.
Синтаксис и параметры команды Chkconfig
В строке ниже показан синтаксис chkconfig и его доступные параметры:
chkconfig —list [name]
chkconfig —add name
chkconfig —del name
chkconfig [—level levels] name
chkconfig [—level levels] name
Просмотр состояния службы на уровнях выполнения
Опция chkconfig —list используется для отображения текущего состояния всех служб, отображающих запуск или остановку на соответствующих уровнях запуска.
# chkconfig —list
auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
blk-availability 0:off 1:on 2:on 3:on 4:on 5:on 6:off
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ip6tables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
iscsi 0:off 1:off 2:off 3:on 4:on 5:on 6:off
iscsid 0:off 1:off 2:off 3:on 4:on 5:on 6:off
lvm2-monitor 0:off 1:on 2:on 3:on 4:on 5:on 6:off
mdmonitor 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Отображение конкретной службы с помощью команды Chkconfig
Вы можете добавить дополнительную команду к chkconfig в список определенных служб.
Возможно вам будет интересно: Как создать мультизагрузочную флешку в Linux с помощью программы Ventoy
В следующем примере я использую команду grep для отображения службы «sshd«:
# chkconfig —list | grep sshd
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Чтобы просмотреть список всех служб, запущенных на уровне запуска 3, используйте следующую команду:
Включение (запуск) службы на уровнях запуска
Давайте проверим, как запустить конкретную службу на определенных уровнях запуска.
Следующая команда показывает, как запустить службу «nfs» на уровне запуска 5, а вторая команда отображает состояние уровня запуска службы «nfs«:
# chkconfig —level 5 nfs on
# chkconfig —list | grep nfs
nfs 0:off 1:off 2:off 3:off 4:off 5:on 6:off
Давайте проверим, как запустить службу на нескольких уровнях с помощью одной команды.
В этой команде мы запускаем службу «nfs» на уровне 3 и 5:
# chkconfig —level 35 nfs on
# chkconfig —list | grep nfs
nfs 0:off 1:off 2:off 3:on 4:off 5:on 6:off
Отключение (остановка) службы на уровнях выполнения
Следующие команды показывают, как остановить службу «nfs» на уровне выполнения 5:
Вы можете остановить службу на уровне mutiple run, используя следующую команду:
Как добавить службу
Параметр —add добавляет службу в управление chkconfig. Chkconfig создает соответствующую запись (запуск или остановка), как указано значениями по умолчанию в сценарии инициализации.
Следующие команды добавляют службы iptables и они автоматически запустятся на уровнях 2, 3, 4 и 5:
# chkconfig —add iptables
# chkconfig –list | grep iptables
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Команда добавит только ту службу, которая присутствует в системе. Если служба отсутствует, вам следует сначала установить пакет, а затем добавить его в список автозагрузки системы.
Как удалить службу
Параметр —del полностью удаляет службу из системы chkconfig. Следующая команда удалит службу «iptables» из списка chkconfig.
Заключение
Из стати вы узнали что параметр —add выполненный в chkconfig, создает файл символической ссылки, чтобы службы можно было запускать и останавливать в соответствующем каталоге rc (/etc/rc1.d). А параметр —del выполненный chkconfig, удаляет ту же символическую ссылку из каталога.
По мере того как современные дистрибутивы Linux перемещаются из SysV в systemd, команда chkconfig заменяется командами systemctl. Я надеюсь, вам понравилась статья.