Список UNIX/LINUX демонов/служб и их автозагрузка

archive view archive save

Список UNIX/LINUX демонов/служб и их автозагрузка Список распространенных UNIX/LINUX демонов, в ОС Windows называются службами, которые могут использоваться в разных UNIX/LINUX модификациях. Имена UNIX/LINUX демонов в окончании часто содержат букву d как сокращение от англ. daemon. Проверить запущен ли процесс/демон можно командой top или ps aux.

Ниже представлен список имён самых распространенных демонов и их краткое описание. Приведённый ниже список UNIX/LINUX демонов не является полным/исчерпывающим и в вашей UNIX/LINUX системе один, все или несколько из них могут быть в наличии или же отсутствовать в зависимости от версии/типа/модификации/конфигурации вашей UNIX/LINUX системы и установленного на ней ПО.

Процесс/ДемонОписание процесса/демона
auditdauditd - это компонент аудита Linux систем. Ведёт протокол аудита на диске, который можно просмотреть с помощью комманд ausearch и aureport. Команда auditctl даёт возможность настроить правила для аудита. Более того, при старте загружаются правила содержащиеся в файле /etc/audit.rules. Некоторые же параметры самого демона можно настроить в файле auditd.conf.
acpidacpid (ACPI event daemon) - демон для реакции на ACPI события, например, реакция на нажатие кнопки питания или закрытия крышки ноутбука. Управление питанием и взаимодействие Linux с BIOS через ACPI (Advanced Configuration and Power Interface) и APM. Режимы "засыпания" ACPI: S1 - все спит, CPU в режиме минимальной активности; S3 - "Suspend to RAM" - все засыпает, CPU отключается; S4 - "Suspend to Disk" дамп состояния сохраняется на диск, система отключается, после включения работа системы восстанавливается с прежнего места; S5 - программное выключение питания. http://acpid.sourceforge.net/
atdвыполняет очередь заданий at(1)
autofsФормат таблицы автомонтирования. Таблицами (map-файлами) автомонтирования могут являться файлы, либо таблицы NIS, на которые ссылается основная (master) таблица автомонтирования (см. auto.master(5)). В таблицах описывается расположение файловых систем, которые автоматически подмонтируются к базовым точкам монтирования (задаваемых в файле auto.master). Здесь описывается формат таблицы sun, для другого формата (например, hesiod) этот документ не применим.

Таблицы можно редактировать `на лету' -- эти изменения будут учтены при следующей операции с данной таблицей. Однако это не относится к основной таблице auto.master!
biodРаботает совместно с удаленным nfsd для разрешения клиентских запросов NFS.
certmongerДемон certmonger отслеживает и проверяет сертификаты на истечение срока их действия, и опционально может обновить сертификаты с помощью CA. Он может управлять всем процессом регистрации от генерации ключа до регистрации и обновления.
cgconfigЭтот скрипт запускает утилиту cgconfigparser, которая анализирует и настраивает the control group filesystem (cgroup). Для анализа используется конфигурационный файл /etc/cgconfig.conf и определённые в нём параметры.
cgredДемон управляющий правилами cgroup :)
cpufreqСкрипт подгружаюет модули ядра для управления частотой процессора.
cpuspeedИзменяет частоту ЦПУ с целью экономии энергии. Многие современные ноутбуки и настольные ПК поддерживают эту технологию. Его могут использовать пользователи с процессорами Pentium-M, Centrino, AMD PowerNow, Transmetta, Intel SpeedStep, Athlon-64, Athlon-X2, Intel Core 2. Пользователям ноутбуков этот демон рекомендуется оставить включенным. Выключите этот демон, если нужно чтобы CPU использовал фиксированную величину частот.
crond 
cupsdСервер работы с печатью. Как доступ к удаленным принтерам, доступ к локальным, доступ извне к локальным.
dbusСистема межпроцессного взаимодействия (Более широкий аналог CORBA и DCOP)
dbus-daemonДемон для работы с шиной данных
dhcpdДемон динамического определения конфигурации TCP/IP для клиентов.
dnsmasqДемон, кэширующий DNS имена и предоставляющий DHCP-сервер.
earlysyslogЗапуск демона syslog, обеспечивает ведение логов.
earlyxdmЗапуск X-сервера
esoundДемон звука, с поддержкой удаленного доступа к звуковой карте
esdЗвуковой сервер для оконного менеджера Enlightenment и среды GNOME. ESD смешивает звуковые потоки нескольких одновременно выполняемых программ и выводит получающийся поток на звуковую плату. Принадлежит пакету esound.
famFAM (File Alteration Monitor) - монитор изменения файлов. Демон FAM используется окружениями рабочего стола, такими как GNOME, Xfce и KDE для отслеживания и отображения изменений, вносимых в файловую систему. Входит в состав пакета fam. Имеет описание на wiki.archlinux.org.
fancontrolКонтроль скорости вращения кулера CPU. Входит в состав lm_sensors.
fbsetСкрипт, необходимый для работы фреймбуфера. Настраивает его работу, в том числе подгружает модули ядра.
festivalДемон, дающий возможность работать программам по чтению текстов.
fingerdОбеспечивает сетевой интерфейс для протокола finger, для использования команды finger.
firstbootСервис специфичный только для Fedora. Запускается только один раз после установки для после инсталяционной настройки (задание пароля root, добавление пользователей и прочее). Может быть выключен после установки системы.
ftpdСлужба для передачи файлов по FTP протоколу.
functionsОдин из системных скриптов инициализации Arch Linux. В нём описаны функции переопределяющие значения используемые при загрузке в runlevel 3. Скрипт используется только, если пользователь использует runlevel 5. Входит в состав initscripts.
gpmCервер мыши для консоли и xterm. Содержится в одноимённом пакете.
gpsdИнтерфейс для связи с GPS оборудованием. Большая часть пользователей может выключить его.
haldaemon, halHAL расшифровывается как Hardware Abstraction Layer. Критичный сервис для сбора информации об оборудовании из разных источников. Рекомендуется оставить его включенным.
haltСкрипт выключения и перезагрузки.
halt.localСкрипт, команды которого должны быть выполнены до начала выключения или перезагрузки.
healthdНастраивает рабочий диапазон температур материнской платы/процессора, частот вращения кулеров. Является одним из компонентов lm_sensors.
heimdal-kdcЦентр распределения ключей. Входит в пакет heimdal.
httpdДемон Веб-сервера Apache.
initUnix программа, которая порождает все остальные процессы.

По умолчанию в демоне init определенно 7 уровней выполнения, на каждом из этих уровней выполняется заранее определенный набор системных служб.

Уровни запуска:
0 - Выключение системы
1 - Однопользовательский режим работы
2-5 - Многопользовательские режимы работы системы
6 - Перезагрузка системы

Более подробно про уровни запуска: less /etc/inittab
inetdПрослеживает сетевые запросы. При допустимом запросе запускает фоновый процесс для обслуживания запроса. В некоторых системах используется расширенная версия — xinetd
iptablesСтандартный брандмауэр в Linux. Особо рекомендуется при непосредственном подключении к сети Интернет (по кабелю, DSL, T1). Не рекомендуется если дополнительно используется аппаратный фаервол (Netgear, Linksys, D-Link и пр.).
ip6tablesСервис iptables работающий по IPv6 протоколу. Если вы выключили поддержку IPv6, то этот сервис должен быть отключен. В ином случае рекомендуется оставить его включенным.
irdaIrDA нужна для поддержки устройств, которые работают через инфракрасный порт (ноутбуки, PDA, мобильные телефоны, калькуляторы (прим. переводчика: калькуляторы? о_О), и т.д. Большинство пользователей может выключить его.
irexecdДемон для инфракрасника. Поставляется с lirc-utils.
irqbalance, irq_balancerВ многопроцессорных системах служит для распределения прерываний между процессорами. Пользователи не имеющие многопроцессорных компьютеров/ноутбуков, могут отключить данный демон/сервис. Включение этого сервиса на одно процессорном компьютере не даст никакого эффекта. На новых компьютерах с более чем одним процессором (Intel Core 2 Duo, AMD X2) этот сервис должен быть включен.
ivmanДемон отвечающий за автомонтировании устройств в системе(CD-дисков, USB-дисков и т.д.)
jackd, jack-audio-connection-kit Аудио сервер
jexecОбеспечивает поддержку для запуска и работы приложений на java - JAR. Будет доступен, если вы установите Java от Sun. Является необязательным и может быть отключен.
joystickСкрипт подгружающий модули ядра для работы джойстика.
kadmindДемон для определения учётных записей, имеющих доступ к базе данных Kerberos и их уровень доступа. Является одним из компонентов пакета heimdal.
kdumpkdump - display kernel trace data. The command displays the kernel trace files produced with ktrace(1) in human readable format. By default, the file ktrace.out in the current directory is displayed.
kbdНастройка клавиатуры в виртуальном терминале.
kdm KDM (KDE Display Manager) — одна из программ пакета kdebase (входящего в состав KDE), которая предоставляет возможность входа в систему посредством графического интерфейса.
kpasswdДемон для смены пароля в Kerberos. Является одним из компонентов пакета heimdal.
ksysguarddДемон KDE для мониторинга системы.
libvirtdДемон для управления гостевыми машинами и сетями QEMU.
libvirt-guestsСкрипт отправляющий в спящий режим гостевые операционные системы при выключении и пробуждающий их при загрузке.
lircdДемон LIRC расшифровывающий сигналы поступающие с ИК-порта. Поставляется с lirc-utils.
lircmdДемон LIRC транслирующий сигналы мыши. Поставляется с lirc-utils.
lvm2-monitorДемон для мониторинга LVM (Logical Volume Management). Рекомендуется если вы используете LVM, иначе оставьте его выключенным.
lpd«Line Printer Daemon» - протокол служит для управления спулом печати.
mdadmДемон ведущий наблюдение за MD устройствами (программным RAID в Linux).
mdmonitor и mdmpdЭти два демона используются в системах хранения данных с RAID-массивами (redundant array of inexpensive/independent disks). Mdmonitor запускает, останавливает и перезапускает mdadm (multipath device monitoring and management) - программную службу мониторинга и управления RAID. Запускать эту службу нужно только в том случае, если в вашей системе имеются RAID-устройства.
messagebusСервис межпроцессного взаимодействия для Linux. Критичный компонент поскольку связан с D-BUS. Крайне рекомендуется оставить его включенным.
microcode_ctl, microcode.ctlСервис позволяющий обновлять прошивку процессора Intel (Pentium Pro, PII, Celeron, PIII, Xeon, Pentium 4 и так далее). Обновления записываются каждый раз при загрузке. Должен быть включен только если у вас процессор Intel.
mcelog, mcelogdДля мониторинга аппаратных проблем в 64-разрядных сборках Linux удобно использовать пакет mcelog, анализирующий MCE (Machine Check Exception) состояние в CPU AMD и Intel, которое может указать на проблемы с памятью и с кэшем CPU, ошибки обмена данными между CPU и чипсетом материнской платы.
mpd Music Player Daemon — музыкальный проигрыватель имеющий клиент-серверную архитектуру, который воспроизводит музыку из указанного каталога.
multipathdИспользуется для мониторинга за Multi-Path устройствами, то есть накопителями, доступ к которым может осуществляться более чем одним контроллером или методом.
mysqld, mysqlДемон базы данных MySQL
nfsdПроцесс NFS операторских запросов для клиентских систем. Исторически каждый nfsd демоном поддерживает один запрос за раз, по этому запускается несколько копий.
netconsoleПозволяет экспортировать консоль на другую машину по сети. По умолчанию может быть выключенным.
netfsВо время загрузки автоматически монтирует файловые системы доступные по сети (NFS, Samba и прочих). Большая часть пользователей настольных ПК и/или ноутбуков могут выключить его.
networkДемон, отвечающий за создание и настройку локальных сетевых интерфейсов(LAN)
network-remotefsТо же самое, что и предыдущий, но дополнительно поднимает wireless-интерфейсы
nfs, nfslockСервисы обеспечивают работу стандартной сетевой файловой системы для ОС Unix/Linux и BSD. Если нужно открыть доступ по NFS, оставьте его включенным, иначе можно выключить.
nginx nginx - веб-сервер и почтовый прокси-сервер, работающий на Unix-подобных операционных системах.
nmbdИспользуется Samba. Смотрите Samba ниже.
nscdДемон сервера кеширующего имена и пароли используемые сервисами типа NIS, NIS+, LDAP, hesiod. Может быть выключен.
nslcdlocal LDAP name service daemon.
ntpdNTP демон, который управляет синхронизацией времени по сети. xntpd снабжён 3-й версией стандарта NTP.
ntpdate 
oddjobdThe oddjobd daemon provides the com.redhat.oddjob service on the system-wide message bus. Each facility which oddjobd provides is provided as a separate D-Bus method.
openntpdСервер и клиент для синхронизации времени.
openvpnОбеспечивает безопасный метод создания VPN. Для дополнительной информации смотрите OpenVPN. Может быть отключен, если его не использует NetworkManager.
pcmciaПредоставляет поддержку карт расширения стандарта pcmcia. Обычно используется только в ноутбуках.
pcscdПредоставляет поддержку для кардридеров и смарт карт. Если нет кардридера или смарт-карт, то можно выключить этот сервис. Часто имеются в наличии на ноутбуках.
portreserveПредотвращает доступ к реальным портам для различных RPC служб и предоставляет приоритет зарезервированным приложениям. Более детальную информацию можно найти на странице руководства man portreserve. Рекомендуется оставить включенным.
powerfailЭтот скрипт запускается при обнаружении сообщений от UPS
postfixПрограмма управления почтовой системой Postfix
pppdДемон протокола точка-точка (Point-to-Point Protocol Daemon)
pppСкрипт для работы с демоном pppd.
psacctУправляет процессами ядра Linux. Занимается мониторингом.
purge-kernelsСкрипт для автоматического удаления старых ядер (настраивается в /etc/zypp.conf)
quota_nldquota netlink message daemon
rawСкрипт подгружает модули raw-устройств.
rdiscДемон поиска сетевого шлюза, rdisc выступает клиентом протокола поиска шлюза по ICMP. rdisc вызывается при загрузке для получения таблиц маршрутизации сети с шлюзами по умолчанию.
rdateслужба нужна для синхронизации компьютера с сервером времени при загрузке операционной системы. Можно отключить.
restorecondИспользуется для восстановления контекста и наблюдения за политикой SELinux относящейся к файлам. Сервис не обязателен, но рекомендован при использовании SELinux.
rngdrngd - Check and feed random data from hardware device to kernel random device. Дословно можно перевести как демон проверяющий и получающий случайные данные от аппаратных устройств для ядра случайных устройств - лихо как закручено:), random number generator daemon, по русски демон генерации случайных чисел.
rpcbindДемон для управления RPC, которые используются другими сервисами (как NFS или NIS). Работает подобно portmap. Может быть отключен, если нет других сервисов, зависящих от этого.
rpcgssd, rpcidmapd, rpcsvcgssdИспользуются NFS v4 (Network File System). Выключите, если вам не нужен NFS v4. http://ru.wikipedia.org/wiki/Network_File_System
rsyslogrsyslog служит для удобного сбора и обработки системных логов и позиционирует себя как расширенный модуль syslogd для систем Unix и Linux, акцентированный на безопасности и надежности, а также обладает продвинутой многопоточностью. Rsyslog предлагает широкий круг возможностей, с которым можно ознакомится перейдя по ссылке – RSyslog features. http://www.rsyslog.com/module-Static_Docs-view-f-features.html.phtml
rsyncrsync (Remote Synchronization) — программа для UNIX-подобных операционных систем, выполняющая синхронизацию каталогов и файлов в нескольких местах с минимизацией трафика, используя кодирование данных при необходимости. rsync была создана как замена для rcp и scp. Подробнее...
saslauthdДемон сервера аутентификации SASL. SASL (Simple Authentication and Security Layer) предоставляет возможность аутентификации в протоколах, основанных на удаленных соединениях.
samba, smbdДемон сервера samba.
sendmailОбеспечивает поддержку локального IMAP или POP3 сервиса, оставьте его включенным. Сервис может оказаться полезным для оповещения про активность различных демонов/сервисов, которые можно обеспечить посредством cron или отправки почты из РНР скриптов.
sensordДемон из состава lm_sensors, собирает информацию от различных датчиков.
sensorsСкрипт который по необходимости подгружает нужные модули ядра для работы с lm_sensors.
shorewallСкрипт для управления фаерволлом shorewall.
slimLogin manager для иксов.
smartdДемон SMART наблюдающий за дисками. Используется для предсказания отказов работы и мониторинга дисков или проблем с жёстким диском. Обычно пользователи не нуждаются в этом демоне но, всё таки рекомендуется (особенно для серверов) оставить его включенным.
smbДемон SAMBA требуется для открытия общего сетевого доступа к файлам на Linux для Windows пользователей. Должен быть включён если вы имеете в сети машины на Windows, которым требуется предоставить доступ к файлам.
smoltДемон, который ежемесячно отправляет информацию с целью сбора статистики, для того чтобы помочь разработчикам. Статистика доступна всем. Пользователи, который желают помочь разработчикам должны включить этот сервис включенным.
snmpd, snmptrapdОбеспечивают поддержку SNMP (Simple Network Management Protocol), который может использоваться для управления и настройки устройств таких как сетевые хабы, серверы, принтеры, и т.д. и т.п. Может быть отключен, однако может потребоваться для запуска сервисов печати HP (hplip).
squidДемон прокси-сервера Squid.
sshdПрослушивает запросы secure shell от клиентов. SSH позволяет другим пользователям войти в систему по сети с другого компьютера и запустить приложения на вашем компьютере, обычно используется для удалённого администрирования. Это может быть потенциальной угрозой для безопасности. На рабочих станциях не требующих удалённого доступа желательно выключить его.
sssdSSSD (System Security Services Daemon) позволяет обращаться к удаленным механизмам аутентификации. Таким образом стирается грань меж сетевой и локальной аутентификацией и разрешает использование различных механизмов. Информацию о пользователях передаёт база данных, которая называется доменом и может быть источником данных для удаленной аутентификации. Разрешается использование нескольких механизмов, что позволяет нескольким серверам реализовывать различные пространства имен. Полученная информация предоставляется внешним приложениям при помощи стандартных интерфейсов NSS и PAM.

SSSD выполняется как набор служб, которые независят от приложений их вызывающих, а поэтому приложениям необязательно инициировать к удаленным доменам собственные подключения, а также не требуется знать о том, какой именно демон/служба используется в этот момент. Локальное кэширование информации о группах и данных идентификации позволяет независимо от источника данных (LDAP, NIS, IPA, DB, Samba и т.п.) продолжать работу в автономном режиме, что в целом повышает производительность. SSSD может допускать использование нескольких поставщиков одного типа (например, LDAP).
svnserveДемон сервера svn.
sysstatПакет Sysstat содержит утилиты для мониторинга быстродействия системы и используемых ресурсов.
swapperКопирует местный процесс в пространство swap для исправления физической страницы памяти для ядра. Также называется sched.
syslogdСистемный процесс записи различных системных сообщений.
syncdПериодически синхронизирует с системной памятью установленные системные файлы.
syslog-ngДемон ведущий системные журналы.
udev-postСистемный менеджер устройств, который используется udev. По умолчанию udev поддерживает многочисленное число правил, поведений и прав для устройств. С помощью этого сервиса можно безопасно управлять правилами. Рекомендуется оставить его включенным.
vhandОсвобождает страницы памяти для использования другими процессами. Также известен как «page stealing daemon».
vsftpdvsftpd (Very Secure FTP Daemon - Очень Безопасный FTP Демон) — FTP-сервер поддерживающий IPv6 и SSL.

По умолчанию vsftpd используется во многих UNIX-подобных операционных системах, также обслуживает официальные репозитории ftp.openbsd.org, ftp.freebsd.org, ftp.debian.org, ftp.redhat.com и используется на официальном FTP-сервере ядра Linux.
webminСервис управления системой через браузер (web-интерфейс).
winbindСервис помогающий различать в сети имёна компьютеров под управлением Windows. Может применяться для управления учётными записями Windows с Linux аккаунтов. Обычно большинство пользователей в этом демоне не нуждается и могут оставить его выключенным.
wpa_supplicantСервис нужен для работы с беспроводными картами, которые для соединения с точками доступа (VPN или Radius серверами) требуют WPA шифрования. Большинство пользователей могут его оставить выключенным.
xfsdОбслуживает X11 шрифты для удалённых клиентов.
yamслужба обновления установленных в системе rpm-пакетов. Используется преимущественно в Fedora Core.
ypbindСервис служит для NIS аутентификации по сети. Если NIS аутентификация неиспользуется, то можно выключить его.
zvbidСервис, с помощью которого предоставляется доступ из V4L или V4L2 устройств к нескольким приложениям. Например карта для захвата Hauppage может использовать этот сервис, в остальных случаях его можно выключить.

Если в приведённом выше списке UNIX/Linux демонов/служб нет работающей на вашей системе, то для получения справки о такой службе используйте man name_daemon, а если и там нет информации о работающей службе, то пишите в комментарии и мы сообща накопаем информации по такой службе и пополним приведённый здесь список UNIX/Linux демонов/служб.

Если в справке man name_daemon нет описания службы, то демон/служба может оказаться вирусом, в таком случае выполните поиск исполняемого файла whereis name_daemon и отправьте его на анализ в вирусную лабораторию - это можно сделать без установки антивируса через веб-интерфейс, например http://vms.drweb.com/online/, http://www.esetnod32.ru/.support/scanner/ или https://www.virustotal.com/.

Автозагрузка демонов/служб UNIX/LINUX

Ниже даны подробные инструкции по управлению автозагрузкой демонов/служб в наиболее распространённых модификациях/версиях UNIX-подобных ОС таких как CentOS Linux, Debian Linux и ОС BSD типа. В остальных же модификациях/версиях UNIX-подобных ОС управление автозагрузкой демонов/служб имеет схожий порядок, хотя может иметь некие не существенные или же вовсе радикальные отличия!

Автозагрузка демонов/служб в CentOS Linux

В CentOS уровни загрузки определены по принципу System V и расписаны в файле /etc/inittab, читаем less /etc/inittab.

Каталоги для каждого из уровней загрузки носят названия rc0.d, rc1.d, rc2.d, rc3.d, rc4.d, rc5.d, rc6.d и расположены в директории /etc/rc.d.

В каждом из каталогов, который соответствует тому или иному уровню загрузки расположены шел скрипты, вернее ссылки на них, с инструкциями для запуска демона/программы/службы, а сами же шел скрипты с инструкциями для запуска демона/программы/службы расположены в каталоге /etc/rc.d/init.d

Пример скриптов управляющих запуском демона/программы/службы можно просмотреть выполнив less /etc/rc.d/init.d/mysqld или less /etc/rc.d/init.d/sshd. Обычно скрипты управляющие запуском демона/программы/службы появляются в /etc/rc.d/init.d/ и линкуются в каталоги уровней запуска после установки ПО, а их статус off/on для каждого из уровней запуска управляется утилитой chkconfig.

Какой из демонов будет запущен на различных уровнях запуска можно посмотреть командой chkconfig --list. Включить демон для автоматического запуска в какой-либо из уровней запуска можно командой chkconfig --level 345 mysqld on, а выключить chkconfig --level 345 mysqld off соответственно, chkconfig –del service_ name удалить службу, chkconfig service_name on|off включить или выключить службу на всех уровнях.

Что касается добавления скриптов в автозагрузку, то для автоматической загрузки скриптов служит /etc/rc.local, в /etc/rc.local достаточно добавить полный путь к скрипту, например: /root/scripts/script.sh или /bin/sh /root/scripts/script.sh. Если после установки ПО в /etc/rc.d/init.d/ нет скрипта управляющего автозапуском нужной программы, то строку её инициализации/запуска проще добавить в /etc/rc.local.

Для управления уровнями запуска существует утилита ntsysv, man ntsysv.

Автозагрузка демонов/служб в Debian Linux

Автозагрузка в Debian Linux построена немного иначе. Уровни загрузки по принципу System V определены и расписаны всё в том же файле /etc/inittab, читаем less /etc/inittab.

Каталоги для каждого из уровней загрузки в Debian Linux тоже носят названия rc0.d, rc1.d, rc2.d, rc3.d, rc4.d, rc5.d, rc6.d но, расположены уже не в директории /etc/rc.d, а в корне каталога /etc

Шел скрипты с инструкциями для запуска демона/программы/службы, вернее символические ссылки на них расположены в каталогах /etc/rc?.d где знак ? соответствует уровню загрузки, а сами же шел скрипты с инструкциями для запуска демона/программы/службы расположены в каталоге /etc/init.d. Пример такого скипта, по образцу которого можно написать свой, можно найти в файле less /etc/init.d/skeleton.

Ниже дадим пояснения служебной информации используемой в заготовке скрипта /etc/init.d/skeleton:

Только после полного отключения блокировщика скриптов и рекламы на этом месте появится полезная подсказка/ссылка/код/пример конфигурации/etc!

  • Provides: Описывает предоставляемые этим скриптом объекты (арг1, агр2, ...) таким способом, что, когда скрипт запускается с аругментом start, данные объекты считаются существующими, и, следовательно, другие скрипты в init, которые требуют существование этих объектов, смогут запуститься на более поздней стадии. Обычно, можно использовать имя скрипта в качестве объекта, но так же можно использовать имя сервиса, которую он заменяет. Виртуальные объекты тут не указываются. Они определены вне скриптов init.d
  • Required-Start: Задаёт объекты, которые должны существовать, чтобы запустить скрипт. При необходимости можно использовать виртуальные объекты, как описано ниже. Если объекты не указывается, то скрипт может быть запущен сразу после старта, без необходимости подключения локальных файловых систем, запуска системного журнала и т.д.
  • Required-Stop: Задаёт используемые сервисом объекты, предоставляемые скриптом. Предоставляемый этим скриптом объект, должен завершиться до завершения перечисленных тут объектов, чтобы избежать конфликтов. Обычно, здесь указывают те же объекты, что и в Required-Start
  • Should-Start: Задаёт объекты, которые, если существуют, должны должны быть запущены перед сервисом, предоставляемым данным скриптом. Это допускает слабые зависимости, которые не приводят сервис к ошибке, если объекты не доступны. Можно использовать при необходимости виртуальные объекты, как описано ниже.
  • Should-Stop: Задаёт объекты, если существуют должны быть остановлены уже после данного сервиса. Обычно, здесь указывают те же объекты, что и в Should-Start
  • Default-Start: Задаёт уровни запуска, на которых скрипт должен быть запущен (остановлен) по умолчанию. Например, если сервис должен быть запущен на только уровнях 3, 4 и 5, укажите "Default-Start: 3 4 5" и "Default-Stop: 0 1 2 6".
  • Short-Description: Задаёт короткое описание действия скрипта. Ограничено одной строкой.
  • Description: Задаёт более подробное описание действия скрипта. Может быть в несколько строк, в этом случае, каждая строка описания должна начинаться с символа # с последующим знаком табуляции или как минимум 2-мя символами пробела. Описание заканчивается перед линией, не совпадающим с этим условием.
  • X-Start-Before, X-Stop-After: Задаёт обратные зависимости, которые значат то же, как если бы они были указаны в should-start и should-stop в пакетах, указанных тут.

Для отслеживания зависимостей важны ключевые слова provides, required- и should-. Остальные не используются. Уровни запуска используются программой по умолчанию для упорядочивания скриптов (например, insserv) для того, чтобы отслеживать, какой из каталогов rc?.d обновлять, когда служба добавляется в первый раз, и должны отражать назначение сервиса. Вот некоторые "виртуальные" объекты:

  • $local_fs - Все локальные фаловые системы подключены. Все скрипты, которые производят запись в /var/ должны зависеть от этого, если они уже не зависят от $remote_fs
  • $network - низкоуровневая сеть, т.е. сетевые карты, может подразумеваться PCMCIA запущеной
  • $named - Демоны, которые могут предоставлять разрешение доменных имён предполагаются запущенными. Например, DNS, NIS+ или LDAP
  • $portmap - Демоны, предоставляющие сервис SunRPC/ONCRPC portmapping как указано в 1833 (если они есть)
  • $remote_fs - Все файловые системы подключены. Скрипты, которые должны быть запущены во время остановки системы до того, как всем процессам будет отправлен сигнал уничтожения, должны зависеть от $remote_fs.
  • $syslog - системный журнал функционирует
  • $time - установленно корректное системное время, например, ntp или rdate, или RTC
  • $all - Запускает скрипт как можно последним

Управление автозагрузкой демонов в Debian Linux осуществляется при помощи утилиты update-rc.d, подробно в man update-rc.d. Утилита update-rc.d не создаёт и не удаляет ничего, кроме символических ссылок в /etc/rc?.d на так званые init скрипты управляющие запуском и остановкой демона/программы/службы, которые расположены в каталоге /etc/init.d.

Если скрипт для автозапуска демона/сервиса создан вручную по шаблону /etc/init.d/skeleton, то его нужно сначала разместить в каталоге /etc/init.d, потом создать символьную ссылку на этот скрипт в каталоге /etc/rc?.d, где ? - номер runlevel’а (уровень загрузки системы). Символическая ссылка должна иметь такой вид S№№имя_скрипта, где №№ - это номер очередности запуска, если требуется оставить символическую ссылку но, скрипт временно не запускать, то символическую ссылку следует модифицировать до такого состояния K№№имя_скрипта.

Перед началом обработки любого из уровней исполнения сначала выполняются все скрипты, которые начинаются с буквы 'K' (эти скрипты останавливают сервисы), а потом выполняются все скрипты, которые начинаются с буквы 'S' (эти скрипты запускают сервисы). Двузначное число после буквы 'S' или 'K' указывает на порядок, в котором будут выполняются скрипты. Скрипты с меньшим номером выполняются первыми, например: S01имя_скрипта стартует первым, а S09имя_скрипта будет запущен девятым.

Для создания символьной ссылки используется программа ln -s file1 file2, где ключ -s говорит о создании именно символьной ссылки, file1 указывает на существующий файл, а file2 имя новой ссылки но, вместо создания символических линков вручную, можно использовать утилиту update-rc.d, которая создана именно для создания символических ссылок в /etc/rc?.d на скрипты из /etc/init.d.

Синтаксис update-rc.d такой: добавление с параметрами по умолчанию update-rc.d <basename> defaults, удаление и остановка демона/сервиса update-rc.d -f <basename> remove && update-rc.d <basename> stop 20 2 3 4 5. Стартом и остановкой демонов/сервисов можно управлять через скрипт service name start|stop|restart.

Признаться update-rc.d является относительно мутной утилитой, более удобной является утилита chkconfig, которая в Debian Linux отсутствует по умолчанию. Для её установки нам нужно добавить дополнительные репозитории, желательно использовать только официальные репозитории пакетов Debian Linux, в конец списка vi /etc/apt/sources.list, пример sources.list в Debian GNU/Linux 6.0.5 _Squeeze_ - Official i386:

#
 
# deb cdrom:[Debian GNU/Linux 6.0.5 _Squeeze_ - Official i386 CD Binary-1 201205
12-13:45]/ squeeze main
 
deb cdrom:[Debian GNU/Linux 6.0.5 _Squeeze_ - Official i386 CD Binary-1 20120512
-13:45]/ squeeze main
 
deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main
 
# squeeze-updates, previously known as 'volatile'
# A network mirror was not selected during install. The following entries
# are provided as examples, but you should amend them as appropriate
# for your mirror of choice.
#
# deb http://ftp.debian.org/debian/ squeeze-updates main
# deb-src http://ftp.debian.org/debian/ squeeze-updates main
 
 
deb http://backports.debian.org/debian-backports squeeze-backports main
deb http://ftp.debian.org/debian/ squeeze main
#deb http://repo.yandex.ru/debian squeeze main contrib
#deb http://mirror.yandex.ru/debian squeeze main contrib
#deb http://mirror.yandex.ru/debian-multimedia/ squeeze main contrib

После чего обновить список пакетов apt-get update и выполнить установку chkconfig apt-get install chkconfig, а также как альтернативу дополнительно можно поставить sysv-rc-conf apt-get install sysv-rc-conf. Как пользоваться утилитой chkconfig было упомянуто выше, дополнительно смотрим man sysv-rc-conf и man chkconfig.

Добавляя репозитории Debian Linux следует помнить о политике программного обеспечения применяемой к каждой из областей таких как main, contrib и non-free:

  • main: - пакеты из этой области являются частью полного дистрибутива Debian Linux и ни один из пакетов из области main для полноценного функционирования не требуют программного обеспечения из-за пределов этой области. Любой может свободно использовать, обмениваться, изменять и распространять пакеты из области main.
  • contrib: - пакеты из этой области могут свободно распространяться, однако некоторые их зависимости могут быть не свободны.
  • non-free: - содержит пакеты, которые не могут распространяться бесплатно согласно DSFG, а также пакеты из области могут содержать такие ошибки которые не учитываются при разработке и обновлении Debian Linux.

Для автозапуска прочих скриптов и программ в Debian Linux можно использовать старый-добрый /etc/rc.local.

Автозагрузка демонов/служб в ОС BSD типа

...

Автор: Олег Головский


Комментарии в блоге
Новое на форуме