Список распространенных UNIX/LINUX демонов, в ОС Windows называются службами, которые могут использоваться в разных UNIX/LINUX модификациях. Имена UNIX/LINUX демонов в окончании часто содержат букву d как сокращение от англ. daemon. Проверить запущен ли процесс/демон можно командой top или ps aux.
Ниже представлен список имён самых распространенных демонов и их краткое описание. Приведённый ниже список UNIX/LINUX демонов не является полным/исчерпывающим и в вашей UNIX/LINUX системе один, все или несколько из них могут быть в наличии или же отсутствовать в зависимости от версии/типа/модификации/конфигурации вашей UNIX/LINUX системы и установленного на ней ПО.
Процесс/Демон | Описание процесса/демона |
auditd | auditd - это компонент аудита Linux систем. Ведёт протокол аудита на диске, который можно просмотреть с помощью комманд ausearch и aureport. Команда auditctl даёт возможность настроить правила для аудита. Более того, при старте загружаются правила содержащиеся в файле /etc/audit.rules. Некоторые же параметры самого демона можно настроить в файле auditd.conf. |
acpid | acpid (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. |
fam | FAM (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. |
gpm | Cервер мыши для консоли и xterm. Содержится в одноимённом пакете. |
gpsd | Интерфейс для связи с GPS оборудованием. Большая часть пользователей может выключить его. |
haldaemon, hal | HAL расшифровывается как Hardware Abstraction Layer. Критичный сервис для сбора информации об оборудовании из разных источников. Рекомендуется оставить его включенным. |
halt | Скрипт выключения и перезагрузки. |
halt.local | Скрипт, команды которого должны быть выполнены до начала выключения или перезагрузки. |
healthd | Настраивает рабочий диапазон температур материнской платы/процессора, частот вращения кулеров. Является одним из компонентов lm_sensors. |
heimdal-kdc | Центр распределения ключей. Входит в пакет heimdal. |
httpd | Демон Веб-сервера Apache. |
init | Unix программа, которая порождает все остальные процессы. По умолчанию в демоне init определенно 7 уровней выполнения, на каждом из этих уровней выполняется заранее определенный набор системных служб. Уровни запуска: 0 - Выключение системы 1 - Однопользовательский режим работы 2-5 - Многопользовательские режимы работы системы 6 - Перезагрузка системы Более подробно про уровни запуска: less /etc/inittab |
inetd | Прослеживает сетевые запросы. При допустимом запросе запускает фоновый процесс для обслуживания запроса. В некоторых системах используется расширенная версия — xinetd |
iptables | Стандартный брандмауэр в Linux. Особо рекомендуется при непосредственном подключении к сети Интернет (по кабелю, DSL, T1). Не рекомендуется если дополнительно используется аппаратный фаервол (Netgear, Linksys, D-Link и пр.). |
ip6tables | Сервис iptables работающий по IPv6 протоколу. Если вы выключили поддержку IPv6, то этот сервис должен быть отключен. В ином случае рекомендуется оставить его включенным. |
irda | IrDA нужна для поддержки устройств, которые работают через инфракрасный порт (ноутбуки, 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. |
kdump | kdump - 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. Может быть выключен. |
nslcd | local LDAP name service daemon. |
ntpd | NTP демон, который управляет синхронизацией времени по сети. xntpd снабжён 3-й версией стандарта NTP. |
ntpdate | |
oddjobd | The 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_nld | quota netlink message daemon |
raw | Скрипт подгружает модули raw-устройств. |
rdisc | Демон поиска сетевого шлюза, rdisc выступает клиентом протокола поиска шлюза по ICMP. rdisc вызывается при загрузке для получения таблиц маршрутизации сети с шлюзами по умолчанию. |
rdate | служба нужна для синхронизации компьютера с сервером времени при загрузке операционной системы. Можно отключить. |
restorecond | Используется для восстановления контекста и наблюдения за политикой SELinux относящейся к файлам. Сервис не обязателен, но рекомендован при использовании SELinux. |
rngd | rngd - 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 |
rsyslog | rsyslog служит для удобного сбора и обработки системных логов и позиционирует себя как расширенный модуль syslogd для систем Unix и Linux, акцентированный на безопасности и надежности, а также обладает продвинутой многопоточностью. Rsyslog предлагает широкий круг возможностей, с которым можно ознакомится перейдя по ссылке – RSyslog features. http://www.rsyslog.com/module-Static_Docs-view-f-features.html.phtml |
rsync | rsync (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. |
slim | Login manager для иксов. |
smartd | Демон SMART наблюдающий за дисками. Используется для предсказания отказов работы и мониторинга дисков или проблем с жёстким диском. Обычно пользователи не нуждаются в этом демоне но, всё таки рекомендуется (особенно для серверов) оставить его включенным. |
smb | Демон SAMBA требуется для открытия общего сетевого доступа к файлам на Linux для Windows пользователей. Должен быть включён если вы имеете в сети машины на Windows, которым требуется предоставить доступ к файлам. |
smolt | Демон, который ежемесячно отправляет информацию с целью сбора статистики, для того чтобы помочь разработчикам. Статистика доступна всем. Пользователи, который желают помочь разработчикам должны включить этот сервис включенным. |
snmpd, snmptrapd | Обеспечивают поддержку SNMP (Simple Network Management Protocol), который может использоваться для управления и настройки устройств таких как сетевые хабы, серверы, принтеры, и т.д. и т.п. Может быть отключен, однако может потребоваться для запуска сервисов печати HP (hplip). |
squid | Демон прокси-сервера Squid. |
sshd | Прослушивает запросы secure shell от клиентов. SSH позволяет другим пользователям войти в систему по сети с другого компьютера и запустить приложения на вашем компьютере, обычно используется для удалённого администрирования. Это может быть потенциальной угрозой для безопасности. На рабочих станциях не требующих удалённого доступа желательно выключить его. |
sssd | SSSD (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». |
vsftpd | vsftpd (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 типа
...