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

Журналирование является основным источником информации о работе системы и ее ошибках. В этом кратком руководстве рассмотрим основные аспекты журналирования операционной системы, структуру каталогов, программы для чтения и обзора логов.

Основные лог файлы

Все файлы журналов, можно отнести к одной из следующих категорий:

  • приложения;
  • события;
  • службы;
  • системный.

Большинство же лог файлов содержится в директории /var/log .

  • /var/log/syslog или /var/log/messages содержит глобальный системный журнал, в котором пишутся сообщения с момента запуска системы, от ядра Linux, различных служб, обнаруженных устройствах, сетевых интерфейсов и много другого.
  • /var/log/auth.log или /var/log/secure - информация об авторизации пользователей, включая удачные и неудачные попытки входа в систему, а также задействованные механизмы аутентификации.
  • /var/log/dmesg - драйвера устройств. Одноименной командой можно просмотреть вывод содержимого файла. Размер журнала ограничен, когда файл достигнет своего предела, старые сообщения будут перезаписаны более новыми. Задав ключ --level= можно отфильтровать вывод по критерию значимости.
Поддерживаемые уровни журналирования (приоритеты): emerg - система неиспользуемая alert - действие должно быть произведено немедленно crit - условия критичности err - условия ошибок warn - условия предупреждений notice - обычные, но значимые условия info - информационный debug - отладочные сообщения (5:520)$ dmesg -l err usb 1-1.1: 2:1: cannot get freq at ep 0x1 usb 1-1.1: 1:1: cannot get freq at ep 0x81 usb 1-1.1: 1:1: cannot get freq at ep 0x81
  • /var/log/alternatives.log - Вывод программы update-alternatives , в котором находятся символические ссылки на команды или библиотеки по умолчанию.
  • /var/log/anaconda.log - Записи, зарегистрированные во время установки системы.
  • /var/log/audit - Записи, созданные службой аудита auditd .
  • /var/log/boot.log - Информация, которая пишется при загрузке операционной системы.
  • /var/log/cron - Отчет службы crond об исполняемых командах и сообщения от самих команд.
  • /var/log/cups - Все, что связано с печатью и принтерами.
  • /var/log/faillog - Неудачные попытки входа в систему. Очень полезно при проверке угроз в системе безопасности, хакерских атаках, попыток взлома методом перебора. Прочитать содержимое можно с помощью команды faillog .
  • var/log/kern.log - Журнал содержит сообщения от ядра и предупреждения, которые могут быть полезны при устранении ошибок пользовательских модулей встроенных в ядро.
  • /var/log/maillog/ или /var/log/mail.log - Журнал почтового сервера, используемого на ОС.
  • /var/log/pm-powersave.log - Сообщения службы экономии заряда батареи.
  • /var/log/samba/ - Логи файлового сервера Samba , который используется для доступа к общим папкам Windows и предоставления доступа пользователям Windows к общим папкам Linux.
  • /var/log/spooler - Для представителей старой школы, содержит сообщения USENET. Чаще всего бывает пустым и заброшенным.
  • /var/log/Xorg.0.log - Логи X сервера. Чаще всего бесполезны, но если в них есть строки начинающиеся с EE, то следует обратить на них внимание.

Для каждого дистрибутива будет отдельный журнал менеджера пакетов.

  • /var/log/yum.log - Для программ установленных с помощью Yum в RedHat Linux.
  • /var/log/emerge.log - Для ebuild -ов установленных из Portage с помощью emerge в Gentoo Linux.
  • /var/log/dpkg.log - Для программ установленных с помощью dpkg в Debian Linux и всем семействе родственных дистрибутивах.

И немного бинарных журналов учета пользовательских сессий.

  • /var/log/lastlog - Последняя сессия пользователей. Прочитать можно командой last .
  • /var/log/tallylog - Аудит неудачных попыток входа в систему. Вывод на экран с помощью утилиты pam_tally2 .
  • /var/log/btmp - Еже один журнал записи неудачных попыток входа в систему. Просто так, на всякий случай, если вы еще не догадались где следует искать следы активности взломщиков.
  • /var/log/utmp - Список входов пользователей в систему на данный момент.
  • /var/log/wtmp - Еще один журнал записи входа пользователей в систему. Вывод на экран командой utmpdump .
(5:535)$ sudo utmpdump /var/log/wtmp [Вт авг 11 16:50:07 2015] [~~ ] [Вт авг 11 16:50:08 2015] [~~ ] [Вт авг 11 16:50:57 2015] [Вт авг 11 16:50:57 2015] [~~ ] [Вт авг 11 16:50:57 2015]

И другие журналы

Так как операционная система, даже такая замечательная как Linux, сама по себе никакой ощутимой пользы не несет в себе, то скорее всего на сервере или рабочей станции будет крутится база данных, веб сервер, разнообразные приложения. Каждое приложения или служба может иметь свой собственный файл или каталог журналов событий и ошибок. Всех их естественно невозможно перечислить, лишь некоторые.

  • /var/log/mysql/ - Лог базы данных MySQL.
  • /var/log/httpd/ или /var/log/apache2/ - Лог веб сервера Apache, журнал доступа находится в access_log , а ошибки - в error_log .
  • /var/log/lighthttpd/ - Лог веб сервера lighttpd.

В домашнем каталоге пользователя могут находится журналы графических приложений, DE.

  • ~/.xsession-errors - Вывод stderr графических приложений X11.
Initializing "kcm_input" : "kcminit_mouse" Initializing "kcm_access" : "kcminit_access" Initializing "kcm_kgamma" : "kcminit_kgamma" QXcbConnection: XCB error: 3 (BadWindow), sequence: 181, resource id: 10486050, major code: 20 (GetProperty), minor code: 0 kf5.kcoreaddons.kaboutdata: Could not initialize the equivalent properties of Q*Application: no instance (yet) existing. QXcbConnection: XCB error: 3 (BadWindow), sequence: 181, resource id: 10486050, major code: 20 (GetProperty), minor code: 0 Qt: Session management error: networkIdsList argument is NULL
  • ~/.xfce4-session.verbose-log - Сообщения рабочего стола XFCE4.

Чем просматривать - lnav

Почти все знают об утилите less и команде tail -f . Также для этих целей сгодится редактор vim и файловый менеджер Midnight Commander. У всех есть свои недостатки: less неважно обрабатывает журналы с длинными строками, принимая их за бинарники. Midnight Commander годится только для беглого просмотра, когда нет необходимости искать по сложному шаблону и переходить помногу взад и вперед между совпадениями. Редактор vim понимает и подсвечивает синтаксис множества форматов, но если журнал часто обновляется, то появляются отвлекающие внимания сообщения об изменениях в файле. Впрочем это легко можно обойти с помощью <:view /path/to/file> .


Недавно я обнаружил еще одну годную и многообещающую, но слегка еще сыроватую, утилиту - lnav , в расшифровке Log File Navigator.




Установка пакета как обычно одной командой.


$ aptitude install lnav #Debian/Ubuntu/LinuxMint $ yum install lnav #RedHat/CentOS $ dnf install lnav #Fedora $ emerge -av lnav #Gentoo, нужно добавить в файл package.accept_keywords $ yaourt -S lnav #Arch

Навигатор журналов lnav понимает ряд форматов файлов.

  • Access_log веб сервера.
  • CUPS page_log
  • Syslog
  • dpkg.log
  • strace
  • Произвольные записи с временными отметками
  • gzip, bzip
  • Журнал VMWare ESXi/vCenter

Что в данном случае означает понимание форматов файлов? Фокус в том, что lnav больше чем утилита для просмотра текстовых файлов. Программа умеет кое что еще. Можно открывать несколько файлов сразу и переключаться между ними.


(5:471)$ sudo lnav /var/log/pm-powersave.log /var/log/pm-suspend.log

Программа умеет напрямую открывать архивный файл.


(5:471)$ lnav -r /var/log/Xorg.0.log.old.gz

Показывает гистограмму информативных сообщений, предупреждений и ошибок, если нажать клавишу . Это с моего syslog-а.


Mon May 02 20:25:00 123 normal 3 errors 0 warnings 0 marks Mon May 02 22:40:00 2 normal 0 errors 0 warnings 0 marks Mon May 02 23:25:00 10 normal 0 errors 0 warnings 0 marks Tue May 03 07:25:00 96 normal 3 errors 0 warnings 0 marks Tue May 03 23:50:00 10 normal 0 errors 0 warnings 0 marks Wed May 04 07:40:00 96 normal 3 errors 0 warnings 0 marks Wed May 04 08:30:00 2 normal 0 errors 0 warnings 0 marks Wed May 04 10:40:00 10 normal 0 errors 0 warnings 0 marks Wed May 04 11:50:00 126 normal 2 errors 1 warnings 0 marks

Кроме этого поддерживается подсветка синтаксиса, дополнение по табу и разные полезности в статусной строке. К недостаткам можно отнести нестабильность поведения и зависания. Надеюсь lnav будет активно развиваться, очень полезная программа на мой взгляд.

Демоном в Unix называют программу, которая работает "на заднем фоне" , не требуя управления с терминала, и предоставляя вам возможность выполнять "на переднем фоне" другую вашу работу. Демон может быть запущен либо другим процессом, например, одним из системных стартовых скриптов вообще без обращения к какому-либо управляющему терминалу, либо пользователем с какого-нибудь терминала, но и в этом случае демон "не захватывает" терминал на время своей работы. Естественно, возникает вопрос, какие программы-демоны необходимы в вашей системе, а какие можно и отключить.

Происхождение термина
В реальном (т.е., не-компьютерном) мире термином (или словом) "демон" обозначают духа (чаще всего - злого) или "внутренний голос". Стоит отметить, что оба эти значения применимы и к программам-демонам в Unix. Подобно мифологическим демонам, демоны в Unix прячутся где-то "за кулисами", стараясь остаться невидимыми. И, подобно внутреннему голосу или нашему подсознанию, они все время "начеку", всегда доступны, всегда могут "проявиться". Само слово "демон" представляет один из тех компьютерных акронимов , происхождение которого так же трудно выяснить, как и решить вопрос о том, была ли вначале курица или яйцо. Предположительно этот термин ("DAEMON") происходит от слов "Disk And Execution MONitor" program.

Задавшись целью изучить вопрос, поехал к одному батюшке, который пользуется компьютером с операционной системой Ubuntu. На всякий случай взял диск с виндой. Мало ли... Человек я прямолинейный, ходить вокруг да около не стал, сразу выдал всю информацию. Объяснял долго и подробно. К моему огромному счастью, воспринял он все это спокойно, местами, пока я рассказывал даже улыбался, особенно когда рассказал о причинах отказа мужа моей сестры от ubuntu. Батюшка, мужик нормальный, ему уже лет 50. Мы еще немного поговорили, точнее поговорил я, чтобы понять что он правильно усвоил то, что я сказал. После чего он мне сказал, дословно не помню, а записать на диктофон, голова не сообразила, поэтому опишу своими словами. В общем в том, что применяется этот термин в линукс, нет ничего страшного, главное вера в Бога.

Введение в сервисы

Демоны, ссылки на которых присутствуют /etc/init.d, призваны работать в Linux как сервисы или службы. Сервисы - это программы, которые запускаются и останавливаются через инициализационные скрипты, расположенные в каталоге /etc/init.d. Многие из этих сервисов запускаются на этапе загрузки системы. Утилита /sbin/service обеспечивает интерфейс (взаимодействие) пользователя с инициализационными скриптами. А сами эти скрипты обеспечивают интерфейс для управления сервисами, предоставляя пользователю опции для запуска, остановки, перезапуска, запроса состояния сервиса и выполнения других воздействий на сервис. К примеру, инициализационный скрипт сервиса httpd имеет следующие опции:

/sbin/service httpd Usage: httpd {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}

Вы можете просмотреть текущее состояние всех системных служб с помощью следующей опции утилиты service:

/sbin/service --status-all acpid (pid 2481) is running... anacron (pid 2647) is running... atd (pid 2657) is running... auditd (pid 2189) is running...

Информация об уровне выполнения этих сервисов, то есть установка того, на каком из системных уровней выполнения запускается тот или иной сервис во время загрузки системы, может быть получена или изменена с помощью утилиты chkconfig. Посмотрим, например, текущие установки для службы системного протоколирования syslog:

/sbin/chkconfig --list syslog syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off

Мы видим, что сервис syslog автоматически запускается при переходе на уровни 2, 3, 4 и 5. Для того, чтобы отключить его запуск на уровнях 3 и 4 (не очень хорошая идея, кстати), можно воспользоваться следующей опцией команды chkconfig:

/sbin/chkconfig --levels 34 syslog off

Утилита /usr/bin/system-config-services предоставляет графический интерфейс к системным службам, позволяющий просматривать и модифицировать их текущее состояние, а также задавать их запуск на различных уровнях исполнения

Давайте посмотрим, как эти сервисы и демоны отображаются в выводе команды ps. Вот небольшая выдержка:

UID PID PPID C STIME TTY TIME CMD root 1 0 0 23:36 ? 00:00:00 init root 2161 1 0 23:37 ? 00:00:00 auditd root 2177 1 0 23:37 ? 00:00:00 syslogd -m 0 root 2180 1 0 23:37 ? 00:00:00 klogd -x root 2207 1 0 23:37 ? 00:00:00 mcstransd root 2254 1 0 23:37 ? 00:00:00 rpc.statd root 2287 1 0 23:37 ? 00:00:00 rpc.idmapd root 2577 1 0 23:37 ? 00:00:00 crond root 2631 1 0 23:37 ? 00:00:00 /usr/sbin/atd root 2654 1 0 23:37 ? 00:00:00 rhnsd --interval 240

Что здесь интересно отметить (кроме того, конечно, что я сегодня слишком поздно засиделся за компьютером)? Для каждого из демонов идентификатор родительского процесса (PPID) равен 1. Это показывает, что демоны были запущены процессом init во время загрузки системы.

Более наглядно этот результат можно видеть в выводе такой полезной команды как "pstree", отображающей "дерево" процессов с указанием "родителей". Вот небольшой фрагмент из вывода pstree:

Init-+ |-NetworkManager---2*[{NetworkManager}] |-NetworkManagerD |-acpid |-atd |-auditd-+-python | `-{auditd} |-avahi-daemon---avahi-daemon |-bonobo-activati---{bonobo-activati} |-crond |-cupsd---cups-polld |-2* |-dbus-launch |-dhcdbd---dhclient

Подробнее о демонах в вашей системе

С вводной информацией покончили. Теперь давайте поговорим о системных демонах по отдельности и посмотрим, с какими из них можно безопасно экспериментировать. Отмечу еще раз, что в этой заметке идет речь о системе, использующей Red Hat Enterprise Linux Beta 2, в конфигурации рабочей станции. В зависимости от специфики вашей системы вы можете увидеть большее или меньшее число демонов, в том числе и таких, которые здесь не рассматриваются.

В описании каждого демона приведены ссылки на сайты, где вы сможете получить дополнительную информацию, но все же лучше всего начинать изучение демонов с просмотра соответствующих man-страниц. У O"Reilly имеется великолепный список команд Linux, перечисленных в алфавитном порядке, и в википедии (wikipedia.org) также приведены разделы по большинству из этих демонов. Еще не забудьте заглянуть в файлы README.

Это служба усовершенствованного интерфейса конфигурирования системы и управления энергопитанием (the Advanced Configuration and Power Interface - ACPI). ACPI - это открытый промышленный стандарт, определяющий действия по управлению системой, в первую очередь - определение устройств по принципу plug-and-play и управлению питанием, в том числе действия при запуске и остановке системы, а также при переводе ее в режим пониженного энергопотребления.

Вероятно не следует отключать эту службу, разве только в случае, когда вы делаете это в целях отладки или разрешения проблем с оборудованием.

Дополнительная информация: http://www.acpi.info

Если вы используете лэптоп, как делают многие в наши дни, то одна из проблем заключается в том, что, задавая какую-то работу демону cron, вы не всегда уверены в том, что ваш комьютер будет включен в то время, на которое назначено выполнение задания. Anacron (это название происходит от "anachronistic cron", то есть что-то вроде "устаревший cron") решает эту проблему путем проверки того, выполнялись ли задания в определенный промежуток времени. Например, anacron запустит задачу на выполнение, если она не запускалась заданное число дней.

В каких случаях вы можете отказаться от использования anacron? Если ваша система запущена постоянно.
Можете ли вы просто отказаться от запуска cron, если у вас запущен anacron? Нет; для anacron период перезапуска заданий может быть задан только в днях, а не в минутах и секундах.

Дополнительная информация:

Это демон расширенного управления питанием (the Advanced Power Management - APM) через драйвер в BIOS. Стандарт APM и демон apmd в настоящее время заменены на ACPI и acpid. Если ваша аппаратура поддерживает ACPI, вам нет нужды запускать apmd.

Это демон запуска заданий в указанное время. Если вы его не используете, вполне можно его отключить.

Этот демон автоматически монтирует диски и файловые системы, которые определены в конфигурационном файле. Использование этого демона делает более удобной работу со съемными дисками.

Дополнительная информация: http://freshmeat.net/projects/autofs

Система аудита в Linux состоит из средств протоколирования системных вызовов, работающих на уровне ядра, и средств сбора и просмотра логов, работающих в пространстве пользователя. Демон auditd осуществляет запись протоколируемых сообщений на диск. Auditd можно конфигурировать, что позволяет осуществлять контроль и управление тем, какая информация будет сохранена на диске.

Нужно ли держать auditd в запущенном состоянии? Информация из журналов протоколирования может быть очень полезной в настройке всего, что связано с безопасностью системы. Например, auditd используется в протоколировании событий SELinux. Существуют также такие утилиты, как aureport, которые позволяют вам просматривать журналы аудита. Вот пример отчета, созданного утилитой aureport:

Summary Report
======================

Range of time in logs: 11/28/2006 06:07:04.800 - 02/06/2007 21:10:09.957 Selected time for report: 12/31/1969 19:00:00 - 02/06/2007 21:10:09.957 Number of changes in configuration: 285 Number of changes to accounts, groups, or roles: 32 Number of logins: 145 Number of failed logins: 11 Number of users: 2 Number of terminals: 22 Number of host names: 11 Number of executables: 27 Number of files: 91 Number of AVC denials: 688 Number of MAC events: 12 Number of failed syscalls: 404 Number of anomaly events: 0 Number of responses to anomaly events: 0 Number of crypto events: 0 Number of process IDs: 14022 Number of events: 70694 Avahi-daemon и avahi-dnsconfd

Веб-сайт Avahi дает такое определение: "Avahi - это система, которая обеспечивает возможность обнаружения сервисов в локальной сети. Это означает, что после подключения вашего компьютера к локальной сети вы сможете мгновенно обнаружить доступные принтеры, увидеть, какие разделяемые ресурсы имеются в сети, узнать, с кем из других пользователей сети вы можете поговорить через chat и так далее". Avahi является реализацией протокола Zeroconf. А Zeroconf - это подход, который позволяет пользователям создавать IP-сети без специальных конфигурационных служб типа DNS-серверов.
Чаще всего avahi-daemon используется вместе с Rhythmbox, так что вы можете видеть музыкальные файлы, которые сделаны общедоступными для других. Если вы не предоставляете музыку или файлы с вашего компьютера в общий доступ, вы можете отключить этого демона.

Дополнительная информация: http://avahi.org , http://zeroconf.org

Bluetooth и демоны hidd и pand

Сами названия все объясняют. Запустите эти сервисы, если хотите использовать Bluetooth-устройства. Название реально запускаемого демона - hcid (Host Controller Interface Daemon).

Название демона hidd происходит от "the Bluetooth Human Interface Device Daemon". Он обеспечивает поддержку клавиатуры, мыши и трекбола по протоколу Bluetooth. А демон pand поддерживает подключение вашего компьютера к ethernet-сети посредством Bluetooth.

Дополнительная информация: http://www.bluetooth.com ,

Этот демон поддерживает the Common ISDN Application Programming Interface (интерфейс прикладного программирования для цифровой сети с интеграцией услуг). Его следует запускать, если вы подключаетесь к аппаратным ISDN-компонентам. Эта служба запускает capiinit.

Дополнительная информация: http://www.capi.org/pages

Нет, это не имеет никакого отношения к ночным передачам про инвестиции в недвижимость. Сервис conman (и демон conmand) поддерживают управление консолями. Обеспечивается поддержка нескольких консольных устройств и одновременная работа пользователей, поддержка локальных последовательных устройств и удаленных терминальных серверов (по протоколу telnet). Если вы управляете несколькими серверами, вам может потребоваться conman.

Дополнительная информация: http://home.gna.org/conman/
cpuspeed

Этот демон изменяет скорость работы центрального процессора с целью снижения энергопотребления. Если ЦПУ простаивает, можно снизить скорость, тем самым понижая затраты энергии, а для повышения производительности прихоодится энергопотребление увеличивать. Если вы работаете на портативном компьютере, имеет смысл запустить cpuspeed.

Дополнительная информация: http://carlthompson.net/Software/CPUSpeed
crond

Этот демон служит для автоматического запуска задач. Это необходимо во всех Linux и Unix-системах. Не останавливайте и не отключайте эту службу.

Дополнительная информация: http://www.unixgeeks.org/security/newbie/unix/cron-1.html , http://www.linuxhelp.net/guides/cron/

CUPS and cups-config-daemon

Это демон общей службы печати UNIX (the "Common UNIX Printing Solution"). Как следует уже из названия, это система печати, которая обеспечивает работу с различными форматами файлов и различными типами принтеров. Если вы хотите печатать, пусть этот демон работает в вашей системе.

Дополнительная информация: http://www.cups.org , http://www.easysw.com/cups/index.php

Название этого демона является аббревиатурой от "DHcp Client D-Bus Daemon". Ресурс The Free DeskTop wiki дает следующее определение:

D-Bus - это система шины сообщений, простой способ общения (или взаимодействия) приложений между собой. В дополнение к межпроцессному взаимодействию (interprocess communication) D-Bus помогает координировать жизненный цикл процесса; она обеспечивает простую и надежную реализацию в программном коде возможности запуска "отдельного экземпляра" приложения или демона, что позволяет запускать приложения и демоны по требованию, тогда, когда возникает потребность в соответствующих сервисах.

Нужно ли вам запускть этого демона? Если ваша система работает в сети (а как же иначе?), в особенности если вы перемещаетесь между сетями (например, переключаетесь из проводной сети в беспроводную), то вы должны запускать NetworkManager (мы рассмотрим NetworkManager чуть ниже).

Демон dhcdbd обеспечивает интерфейс к D-Bus для dhclient, DHCP-клиента от ISC. Это дает возможность NetworkManager-у обращаться к dhclient-у и управлять им.

Дополнительная информация: http://www.freedesktop.org/wiki/Software/dbus

Этот демон дает вам возможность использовать мышь в консольных (text-based) приложениях, таких как файловый менеджер Midnight Commander. Это может оказаться полезным, если вы часто работаете в консоли; в противном случае, то есть если вы все время работаете через систему X Window, gpmd вам может никогда не понадобиться.

Нет, это не злобный компьютер из фильма "Космическая одиссея 2001". В данном контексте HAL означает "Hardware Abstraction Layer" - "уровень абстрагирования от оборудования". Демон HAL собирает (с помощью ядра и самих устройств) информацию об аппаратных устройствах и предоставляет ее приложениям в согласованном виде.

Не отключайте эту службу. Ее используют многие приложения.

Дополнительная информация: "Desktop and hardware configuration," by David Zeuthen

Этот демон обеспечивает поддержку системы HP Linux Imaging and Printing (HPLIP), используемой для печати, сканирования и обработки факсов на струйных и лазерных устройствах от HP. HPLIP взаимодействует с CUPS, обеспечивая для последней доступ к устройствам от HP.

Дополнительная информация:

Это демон для реляционных баз данных на Java. Свое название он унаследовал от проекта Hypersonic SQL, который более не поддерживается. hsqldb широко используется в проектах с открытыми кодами, таких как OpenOffice.org, а также в демонстарционных программах, так как он может исполняется полностью в оперативной памяти. За счет чего быстро работает. Надо ли вам запускать эту службу? Только если вы запускаете какие-то программы, использующие ее. Но вообще-то это очень полезный инструмент и, если вы с ним не знакомы, стоит на него посмотреть.

Дополнительная информация: http://hsqldb.org , http://dba.openoffice.org

Веб-серве Apache. Используется почти на 60% всех веб-сайтов. Если вы хотите поддерживать веб-сайт, вы запускаете Apache. Нужно ли еще что-то говорить?

Дополнительная информация: http://httpd.apache.org

ip6tables и iptables

Это файерволы или межсетевые экраны. Согласно Википедиа, "Межсетевой экран или брандмауэр (жарг. файрвол или файервол от англ. firewall) - комплекс аппаратных и/или программных средств, осуществляющий контроль и фильтрацию проходящих через него сетевых пакетов на различных уровнях модели OSI в соответствии с заданными правилами. Основной задачей сетевого экрана является защита компьютерных сетей или отдельных узлов от несанкционированного доступа."

Iptables работает путем задания правил фильтрации пакетов IPv4 в виде таблицы ядра. Входящие и исходящие пакеты проверяются на соответствие этим правилам и те из них, которые не удовлетворяют правилам, блокируются. Ip6tables делает то же самое по отношению к пакетам IPv6.

Которую из двух служб необходимо запускать? Обе. Всегда. Сеть - это опасная штука!

Дополнительная информация: http://www.netfilter.org , http://www.ipv6.org

IrDA (Infrared Data Association) - это промышленный стандарт для беспроводной связи между устройствами по инфракрасному каналу. Большинство лэптопов оборудовано инфракрасным передатчиком, соответствующим стандарту IrDA. Запускать эту службу нужно только в том случае, если вы собираетесь организовывать связь с другими устройствами по инфракрасному каналу.

Дополнительная информация:

irqbalance

Этот демон занимается распределением аппаратных прерываний между ЦПУ в мультипроцессорных SMP (symmetric processor) архитектурах с целью повышения производительности.

На однопроцессорных системах запускать этот демон нет необходимости, его влияние сказывается только в многопроцессорных системах.

Дополнительная информация: http://www.irqbalance.org

Это очень полезный демон. Он работает во время загрузки и проверяет, какие аппаратные устройства были добавлены в или удалены из системы. Имеет смысл запускать kudzu во время загрузки, даже если вы не планируете часто добавлять или удалять устройства. Потому что рано или поздно вы равно окажетесь в ситуации, когда добавите какое-то устройство и будете ожидать, что система его обнаружит. К тому же, поскольку kudzu отрабатывает на этапе загрузки, это не оказывает отрицательного влияния на производительность системы.

Дополнительная информация: http://fedora.redhat.com/projects/additional-projects/kudzu

Этот демон получил свое название от Lan Information Server. Lisa обеспечивает функционал, подобный тому, который предоставляет служба "Мое сетевое окружение" (Network Neighborhood) в MS-Windows, то есть обеспечивает доступ к серверам вашей локальной сети, включая сервера CIFS (Common Internet File Systems). lisa работает по протоколам TCP/IP, рассылая ICMP-запросы по IP-адресам в заданном диапазоне, который вы указали в конфигурационном файле, и ожидая, какие компьютеры откликнутся.

Дополнительная информация: http://docs.kde.org/stable/en/kdenetwork/lisa , http://docs.kde.org/userguide/networking-with-windows.html ,

lm_sensors

Этот демон обеспечивает мониторинг температур и напряжений на материнской плате. Для работы системы мониторинга необходимо наличие соответствующих датчиков в аппаратуре. Запускать этот демон имеет смысл только в том случае, если обеспечена аппаратная поддержка. Вероятно не стоит запускать его на обычных рабочих станциях. Он скорее нужен на hi-end-серверах, выполняющих критически важные функции.

Дополнительная информация: http://www.lm-sensors.org , http://freshmeat.net/projects/lm_sensors

mcstrans

SELinux Context Translation System Daemon. Этот демон преобразует информацию контекста безопасности (security context informartion) в форму, приспособленную для восприятия человеком. Вы можете остановить этот демон, но в таком случае вы увидите, что изменится информация SELinux, выдаваемая по команде ls -Z. Например, при запущенном демоне вы увидите:

Ls -Z -rw-r--r-- jsmith jsmith user_u:object_r:user_home_t bookmarks.html drwxr-xr-x jsmith jsmith user_u:object_r:user_home_t Desktop -r-xr-xr-x jsmith jsmith user_u:object_r:user_home_t hello -r--r--r-- jsmith jsmith user_u:object_r:user_home_t hello.c

А если демон остановлен, вы увидите следующее:

Ls -Z -rw-r--r-- jsmith jsmith user_u:object_r:user_home_t:s0 bookmarks.html drwxr-xr-x jsmith jsmith user_u:object_r:user_home_t:s0 Desktop -r-xr-xr-x jsmith jsmith user_u:object_r:user_home_t:s0 hello -r--r--r-- jsmith jsmith user_u:object_r:user_home_t:s0 hello.c

Обратите внимание на то, что если демон остановлен, отображается значение контекста безопасности "s0". Mctrans в данном случае обнулил контекст. Другие значения контекста безопасности преобразуются из буквенно-цифровых значений в их названия.

Дополнительная информация: http://fedoraproject.org/wiki/SELinux/Understanding , http://danwalsh.livejournal.com

mdmonitor и mdmpd

Эти два демона используются в системах хранения данных с RAID-массивами (redundant array of inexpensive/independent disks). Mdmonitor запускает, останавливает и перезапускает mdadm (multipath device monitoring and management) - программную службу мониторинга и управления RAID. Запускать эту службу нужно только в том случае, если в вашей системе имеются RAID-устройства.

Дополнительная информация: http://www.linuxdevcenter.com/pub/a/linux/...12/05/RAID.html

messagebus

Это демон системной шины сообщений D-BUS. Он рассылает широковещательные сообщения о системных событиях и таких событиях, как изменения в очереди печати, или добавление или удаление устройств (заметьте, что это не то же самое, что делает kudzu, поскольку такие события могут иметь место в любой момент работы системы, а не только на этапе загрузки).

Дополнительная информация: http://www.freedesktop.org/software/dbus

netplugd и ifplugd

Эти демоны производят настройку Ethernet-устройств в том случае, когда происходит подключение сетевого кабеля, и отключают эти устройства когда кабель отсоединяется. Когда вам это нужно? Например, на лэптопах, чтобы ваши сетевые подключения восстанавливались только на то время, когда подсоединен сетевой кабель.

Отметим, что поддержка netplugd была прекращена, сейчас вместо него используется ifplugd.

Дополнительная информация: http://0pointer.de/lennart/projects/ifplugd

NetworkManager и NetworkManagerDispatcher

Демон NetworkManager автоматизирует переключение между сетевыми соединениями. Этот демон полезен для пользователей лэптопов, которые переключаются между беспроводными WiFi-соединениями и соединениями по Ethernet. Демон NetworkManagerDispatcher автоматически запускает скрипты для выполнения необходимых операций (например, скрипты для задания специфических направлений маршрутизации пакетов), когда NetworkManager изменяет состояние сети.

Дополнительная информация: http://www.gnome.org/projects/NetworkManager

Это демон, который выполняет функции сервера доменных имен (Domain Name Server). Вы должны его запускать только в том случае, если ваш компьютер является DNS-сервером для вашей сети.

Дополнительная информация: http://www.dns.net/dnsrd

Демон nfsd осуществляет поддержку протокола сетевых коммуникаций nfs, который служит для предоставления доступа к сетевым ресурсам в TCP/IP-сетях. Вам нужно его запускать, если вы предоставляете доступ другим пользователям к своим файловым системам по протоколу nfs.

Дополнительная информация:

Это демон кэширования для службы имен. Он поддерживает таблицу групп и паролей для запущенных программ, а затем выдает запомненный результат по следующему запросу тех служб, которые иначе работают слишком медленно, например, NIS или LDAP. Если у вас запущены эти службы, вам следует запустить и nscd.

Это демон, который поддерживает протокол сетевой службы времени (Network Time Protocol). Он устанавливает системное время и синхронизуирует его со временем, задаваемым Интернет-серверами, поддерживающими эталонное время. Если ваша система подключена к Интернет (а разве нет?), то этот демон будет следить за правильностью установки системного времени на вашем компьютере.

Дополнительная информация: http://www.ntp.org

Демон oddjobd обеспечивает работу службы com.redhat.oddjob на системной шине. Каждая возможность, предоставляемая oddjobd, предоставляется как отдельный метод D-Bus. Oddjobd обеспечивает поддержку выполнения привелигированных операций для непривелигированных приложений.

Запускать этот демон следует только в том случае, если вы используете приложения, которым он необходим, такие как Conga.

Дополнительная информация: http://people.redhat.com/nalin/oddjob/oddjob.html ,

Этот демон поддерживает виртуальные частные стеи (virtual private networks, VPNs). В стартовом скрипте этого демона сказано следующее:

OpenVPN - это надежное и в высшей степени гибкое приложение для обеспечения туннелирования, которое использует возможности шифрования, аутентификации и сертификации, заложенные в библиотеке OpenSSL, для организации безопасного тоннеля в IP-сети через один UDP порт.

Если ваша система является узлом VPN, то вам, вероятно, следует запустить OpenVPN.

Дополнительная информация: http://openvpn.net

pcscd (PC/SC Smart Card Daemon) - демон для pcsc-lite (программное обеспечение для доступа к смарт-картам) и (основанной на java) среде разработки MuscleCard. Он обеспечивает обмен данными со считывателями смарт-карт и самими смарт-картами.

(Смарт-карта - это небольшая плата, в которую встроен либо модуль памяти, дибо микропроцессор с модулем памяти. А Muscle расшифровывается как Movement for the Use of Smart Cards in a Linux Environment (движение за использование смарт-карт в среде Linux).

Дополнительная информация: http://www.smartcardalliance.org , http://pcsclite.alioth.debian.org , http://www.linuxnet.com/musclecard/index.html

Демон portmapper управляет соединениями по протоколу RPC (remote procedure call - удаленный вызов процедур). Он преобразует номера RPC-программ в номера портов протокола TCP/IP (или UDP/IP). Чаще всего portmapper используется службами NFS и NIS.

Так что, если ваша система зависит от NIS или NFS, не отключайте демон portmap.

Дополнительная информация: http://www.linux-nis.org/nis-howto/HOWTO/portmapper.html

Это агент передачи (транспортировки) почты. Если ваша система не является ретранслятором в системе электронной почты, вам не требуется запускать эту службу.

Дополнительная информация: http://www.postfix.org

Этот демон (the router discovery daemon) находит маршруты в локальной подсети. Он запускается на этапе загрузки для того, чтобы внести в таблицы маршрутизации маршруты, выбираемые по умолчанию.

Дополнительная информация: http://www.informit.com/articles/article.asp?p=23951&rl=1

restorecond

Это демон из SELinux. Restorecond отслеживает создание файлов (для файлов, перечисленных в /etc/selinux/restorecond.conf) и следит за тем, чтобы файлы имели правильный файловый контекст, соответствующий установленой политике (policy), а также определяет файловый контекст SELinux, используемый по умолчанию.

Не отключайте эту службу. Она необходима для SELinux.

Дополнительная информация: http://fedoraproject.org/wiki/SELinux/Understanding , http://danwalsh.livejournal.com/

Этот демон периодически проверяет, какие операции должны быть выполнены через сетевой интерфейс Red Hat (Red Hat Network web interface), и запускает их. Эти операции включают инсталляцию, удаление или обновление программного обеспечения, перезагрузку системы, установку конфигурационных файлов и так далее.

Дополнительная информация: https://www.redhat.com/rhn/

rpcgssd, rpcidmapd и rpcsvcgssd

Демоны rpcgssd и rpcsvcgssd служат для обеспечения безопасности при работе через RPC. Rpcidmapd преобразует имена пользователей в номера UID и GID.

Если вы используете NFS или NIS, эти демоны у вас должны быть запущены.

Дополнительная информация:

readahead_early и readahead_later

Демон readahead обеспечивает загрузку в память программ, используемых при старте системы, до того, как они будут использоваться, что сокращает время начальной загрузки.

saslauthd

Это демон сервера аутентификации SASL. SASL (Simple Authentication and Security Layer) добавляет возможности аутентификации в протоколы, основанные на удаленных соединениях.

Дополнительная информация: http://asg.web.cmu.edu/sasl

sendmail

Это сервер SMTP (Simple Mail Transfer Protocol). Sendmail пересылает почту от одной системы к другой, то есть является агентом передачи почты (Mail Transport Agent). Если вы используете такие почтовые программы как Thunderbird или Evolution, вам не требуется запускать sendmail.

Дополнительная информация: http://www.sendmail.org

setroubleshoot

Это демон разрешения проблем SELinux. Setroubleshooter - одно недавних великолепных новшевств в SELinux. Setroubleshooter обеспечивает в реальном времени обратную связь с пользователями при отказах SELInux AVC (Access Vector Cache). Причем эта обратная связь предоставляется в удобном формате.

Дополнительная информация: https://hosted.fedoraproject.org/projects/setroubleshoot

Этот демон следит за показаниями датчиков SMART (Self-Monitoring, Analysis and Reporting Technology), устанавливаемых во многих типах дисководов, например, в жестких дисках типа SCSI-3. Демон обеспечивает наблюдение за нормальной работой таких устройств и выполняет самотестирование. Если ваше оборудование поддерживает технологию SMART, нужно запускать эту службу.

Дополнительная информация:

spamassassin

Этот демон использует программу Apache SpamAssassin для проверки почты на наличие спама. Он обычно запускается совместно с сервером доставки почты (a mail deleivery agent (MDA) server). Если вы используете клиентские программы вроде Thunderbird или Evolution для доступа к вашей почте, вам не требуется запускать spamassassin.

Дополнительная информация: http://spamassassin.apache.org

Это демон для протокола open ssh. Ssh заменяет небезопасные программы rsh и rlogin и обеспечивает шифрование соединений между хостами в небезопасных сетях. Если вы используете соединения с другими системами через открытый Интернет, вы должны использовать ssh и запускать этот демон.

Дополнительная информация: http://www.ssh.com , http://www.openssh.com

syslog - это стандартная система протоколирования для Linux. Не отключайте её.

Дополнительная информация: http://www.syslog.org

Этот демон является частью пакета Samba. Он дает возможность пользователям домена Windows подключаться как пользователям Unix к Unix-серверам. Запускать этот демон следует в том случае, когда вы имеете дело со смешанной сетью, состоящей из Windows и Linux/Unix-компьютеров.

Дополнительная информация: http://www.samba.org/samba/docs/man/Samba-...on/winbind.html , http://www.samba.org

Это сервер шрифтов (font server). Этот демон загружает шрифты в память для того, чтобы графические приложения работали быстрее, чем в том случае, когда они вынуждены загружать шрифты с жесткого диска. Эту службу надо запускать для повышения производительности приложений в вашей системе.

Дополнительная информация: http://linuxreviews.org/howtos/xfree/xfs

Эта служба связывает NIS-клиента с доменом NIS. Буквы "yp" в ее названии произошли от "yellow pages," поскольку каталоги NIS подобны телефонным справочникам "желтые страницы". Запускать эту службу нужно только в том случае, если ваша система использует NIS (Network Information Service) для организации доступа к пользовательским бюджетам и системным именам.

Дополнительная информация: http://www.linux-nis.org

yum-updatesd

yum-updatesd отслеживает появление обновлений программного обеспечения и рассылает извещения об этих обновлениях по электронной почте, d-bus или в виде системных сообщений, а также может произвести автоматическое обновление ПО. D-bus-сообщения принимаются утилитой "puplet" (package updater), которая информирует пользователя о наличии обновления, а также позволяет установить это обновление.

Дополнительная информация: http://linux.duke.edu/projects/yum , http://www.redhat.com/magazine/024oct06/features/fc62

Благодарю ZOOL за предоставленную информацию на сайте http://www.centrlan.ru/node/17929

Источник не указан

Системные администраторы, да и обычные пользователи Linux, часто должны смотреть лог файлы для устранения неполадок. На самом деле, это первое, что должен сделать любой сисадмин при возникновении любой ошибки в системе.

Сама операционная система Linux и работающие приложения генерируют различные типы сообщений, которые регистрируются в различных файлах журналов. В Linux используются специальное программное обеспечение, файлы и директории для хранения лог файлов. Знание в каких файлах находятся логи каких программ поможет вам сэкономить время и быстрее решить проблему.

В этой статье мы рассмотрим основные части системы логирования в Linux, файлы логов, а также утилиты, с помощью которых можно посмотреть логи Linux.

Большинство файлов логов Linux находятся в папке /var/log/ Вы можете список файлов логов для вашей системы с помощью команды ls:

Rw-r--r-- 1 root root 52198 май 10 11:03 alternatives.log
drwxr-x--- 2 root root 4096 ноя 14 15:07 apache2
drwxr-xr-x 2 root root 4096 апр 25 12:31 apparmor
drwx------ 2 root root 4096 май 5 10:15 audit
-rw-r--r-- 1 root root 33100 май 10 10:33 boot.log

Ниже мы рассмотрим 20 различных файлов логов Linux, размещенных в каталоге /var/log/. Некоторых из этих логов встречаются только в определенных дистрибутивах, например, dpkg.log встречается только в системах, основанных на Debian.

/var/log/messages - содержит глобальные системные логи Linux, в том числе те, которые регистрируются при запуске системы. В этот лог записываются несколько типов сообщений: это почта, cron, различные сервисы, ядро, аутентификация и другие.

/var/log/dmesg - содержит сообщения, полученные от ядра. Регистрирует много сообщений еще на этапе загрузки, в них отображается информация об аппаратных устройствах, которые инициализируются в процессе загрузки. Можно сказать это еще один лог системы Linux. Количество сообщений в логе ограничено, и когда файл будет переполнен, с каждым новым сообщением старые будут перезаписаны. Вы также можете посмотреть сообщения из этого лога с помощью команды dmseg.

/var/log/auth.log - содержит информацию об авторизации пользователей в системе, включая пользовательские логины и механизмы аутентификации, которые были использованы.

/var/log/boot.log - Содержит информацию, которая регистрируется при загрузке системы.

/var/log/daemon.log - Включает сообщения от различных фоновых демонов

/var/log/kern.log - Тоже содержит сообщения от ядра, полезны при устранении ошибок пользовательских модулей, встроенных в ядро.

/var/log/lastlog - Отображает информацию о последней сессии всех пользователей. Это нетекстовый файл, для его просмотра необходимо использовать команду lastlog.

/var/log/maillog /var/log/mail.log - журналы сервера электронной почты, запущенного в системе.

/var/log/user.log - Информация из всех журналов на уровне пользователей.

/var/log/Xorg.x.log - Лог сообщений Х сервера.

/var/log/alternatives.log - Информация о работе программы update-alternatives. Это символические ссылки на команды или библиотеки по умолчанию.

/var/log/btmp - лог файл Linux содержит информацию о неудачных попытках входа. Для просмотра файла удобно использовать команду last -f /var/log/btmp

/var/log/cups - Все сообщения, связанные с печатью и принтерами.

/var/log/anaconda.log - все сообщения, зарегистрированные при установке сохраняются в этом файле

/var/log/yum.log - регистрирует всю информацию об установке пакетов с помощью Yum.

/var/log/cron - Всякий раз когда демон Cron запускает выполнения программы, он записывает отчет и сообщения самой программы в этом файле.

/var/log/secure - содержит информацию, относящуюся к аутентификации и авторизации. Например, SSHd регистрирует здесь все, в том числе неудачные попытки входа в систему.

/var/log/wtmp или /var/log/utmp - системные логи Linux, содержат журнал входов пользователей в систему. С помощью команды wtmp вы можете узнать кто и когда вошел в систему.

/var/log/faillog - лог системы linux, содержит неудачные попытки входа в систему. Используйте команду faillog, чтобы отобразить содержимое этого файла.

/var/log/mysqld.log - файлы логов Linux от сервера баз данных MySQL.

/var/log/httpd/ или /var/log/apache2 - лог файлы linux11 веб-сервера Apache. Логи доступа находятся в файле access_log, а ошибок в error_log

/var/log/lighttpd/ - логи linux веб-сервера lighttpd

/var/log/conman/ - файлы логов клиента ConMan,

/var/log/mail/ - в этом каталоге содержатся дополнительные логи почтового сервера

/var/log/prelink/ - Программа Prelink связывает библиотеки и исполняемые файлы, чтобы ускорить процесс их загрузки. /var/log/prelink/prelink.log содержит информацию о.so файлах, которые были изменены программой.

/var/log/audit/ - Содержит информацию, созданную демоном аудита auditd.

/var/log/setroubleshoot/ - SE Linux использует демон setroubleshootd (SE Trouble Shoot Daemon) для уведомления о проблемах с безопасностью. В этом журнале находятся сообщения этой программы.

/var/log/samba/ - содержит информацию и журналы файлового сервера Samba, который используется для подключения к общим папкам Windows.

/var/log/sa/ - Содержит.cap файлы, собранные пакетом Sysstat.

/var/log/sssd/ - Используется системным демоном безопасности, который управляет удаленным доступом к каталогам и механизмами аутентификации.

Просмотр логов в Linux

Чтобы посмотреть логи на Linux удобно использовать несколько утилит командной строки Linux. Это может быть любой текстовый редактор, или специальная утилита. Скорее всего, вам понадобятся права суперпользователя для того чтобы посмотреть логи в Linux. Вот команды, которые чаще всего используются для этих целей:

  • zgrep
  • zmore

Я не буду останавливаться подробно на каждой из этих команд, поскольку большинство из них уже подробно рассмотрены на нашем сайте. Но приведу несколько примеров. Просмотр логов Linux выполняется очень просто:

Смотрим лог /var/log/messages, с возможностью прокрутки:

less /var/log/messages

Просмотр логов Linux, в реальном времени:

tail -f /var/log/messages

Открываем лог файл dmesg:

cat /var/log/dmesg

Первые строки dmesg:

head /var/log/dmesg

Выводим только ошибки из /var/log/messages:

grep -i error /var/log/messages

Кроме того, посмотреть логи на linux можно и с помощью графических утилит. Программа System Log Viewer может быть использована для удобного просмотра и отслеживания системных журналов на ноутбуке или персональном компьютере с Linux.

Вы можете установить программу в любой системе с установленным X сервером. Также для просмотра логов может использоваться любой графический тестовый редактор.

Выводы

В каталоге /var/log вы можете найти всю необходимую информацию о работе Linux. Из сегодняшней статьи вы достаточно узнали, чтобы знать где искать, и что искать. Теперь просмотр логов в Linux не вызовет у вас проблем. Если остались вопросы, задавайте в комментариях!

Действиями демона syslogd управляет файл конфигурации /etc/syslog.conf. Это простой текстовый файл, в котором пустые строки и строки со знаком # в первой позиции игнорируются. Формат файла следующий:

<селектор> <действие>.

Например,

mail.err /var/log/mail.errors

Эта строка обеспечит запись всех ошибок, связанных с доставкой почты в файл /var/log/mail.errors.

Важно: В качестве разделителя между селектором и действием используйте только клавишу . Использование пробелов будет ошибкой, которую не так-то легко обнаружить.

Как вы уже заметили, селектор записывается в составном виде. В общем виде это выглядит, как средство.уровень

К тому же в поле <селектор> может содержаться один или несколько селекторов, разделенных точкой с запятой. Селектор может содержать группу средств, разделенных запятыми. Селектор может содержать символы * и none, которые означают соответственно "все" и "ничего".

Примеры селекторов:

средство.уровень действие

средство1,средство2.уровень действие

средство1.уровень1;средство2.уровень2 действие

*.уровень действие

*.уровень;средство.none действие

Ниже в таблицах перечислены основные имена средств и уровней серьезности системы syslog.

Средство Программы, использующие его

kern Ядро системы

user Пользовательские процессы

mail Система электронной почты

daemon Системные демоны

auth Системы защиты и полномочий

lpr Система печати

news Система телеконференций

cron Демон cron

local0-7 Восемь уровней локального сообщения

syslog Внутренние сообщения системы syslog

ftp Демон ftpd

* Все вышеперечисленные средства

Уровень Значение уровня

emerg Экстренные ситуации

alert Срочные ситуации

crit Критические состояния

err Состояния ошибок

warning Предупреждения

notice Необычные состояния

Info Информационные сообщения

debug Отладочная информация

Уровни перечислены в порядке убывания. Это значит, что уровни обозначают минимальную важность, которую должно иметь сообщение, чтобы быть зарегистрированным в системе syslog.

Поле <действие> указывает, что нужно делать с поступившим сообщением.

Действие Описание

имя_файла Записать сообщение в файл на локальной машине

@имя_машины Переслать сообщение демону syslogd на указанную машину

@IP_адрес То же, только указан IP-адрем машины

пользователь1, Вывести сообщение на экраны указанных пользователей ...

пользовательN

* Вывести сообщение на экраны всех пользователей

*.emerg /dev/console

*.err;auth.notice /dev/console

*.err;auth,mail,user.info /var/log/messages

mail.err /var/log/mail.log

mail.info @192.168.0.1

Говоря о системе syslog, нужно упомянуть о команде logger, которая позволяет вносить записи в системный журнал из shell-сценариев.

Эту команду удобно использовать для проверки изменений, внесенных в файл /etc/syslog.conf.

local5.warning /var/log/local.log

и хотите проверить, работает ли она, то введите команду

# logger -p local5.warning "Local test"

Посмотрите файл /var/log/local.log. Если строчки "Local test" в нем нет, значит вы скорее всего забыли послать демону syslogd сигнал HUP.

Список распространенных 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 - Многопользовательские режимы работы системы

Более подробно про уровни запуска: 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 .

Каталоги для каждого из уровней загрузки носят названия и расположены в директории /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 тоже носят названия 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:

  • 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 defaults , удаление и остановка демона/сервиса update-rc.d -f remove && update-rc.d 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:/ squeeze main deb cdrom:/ 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.



Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png