Операционная система UNIX — это гибкая и универсальная многозадачная среда, но ее функциональные возможности заключены не только в ядре. В системе имеется богатый набор демонов, отвечающих за ее жизнедеятельность. Системные администраторы могут также инсталлировать дополнительные демоны, полученные из Internet, предоставленные производителями или написанные пользователями.
Демон — это фоновый процесс, который выполняет системную задачу. В полном соответствии с господствующим в UNIX принципом модульности демоны являются программами, а не частями ядра. Многие демоны запускаются во время начальной загрузки системы и продолжают работать все время, пока система включена. Остальные демоны запускаются при необходимости и работают столько, сколько предусмотрено их функциями.
Слово "демон" (daemon) впервые употребил в компьютерной практике Мик Бейли (Mick Bailey), англичанин, который в начале 60-х гг. работал программистом в Массачусетском технологическом институте. Для объяснения смысла и правильного написания слова "daemon" Мик цитировал Окфордский словарь английского языка.
Слова "daemon" и "demon" имеют общий корень, но первое — более древнее, сохранившее первоначальное значение. Слово "daemon" дословно означает "гений, дух-покровитель человека". В этом смысле демоны являются не воплощениями добра или зла, а независимыми существами со своими собственными намерениями и желаниями.
Из системы CTSS, в работе над которой Бейли принимал участие, этот термин перешел в Multics, а затем и в UNIX, где демоны стали настолько популярными, что для управления ими понадобился "супердемон" (inetd).
В этой главе дан краткий обзор наиболее распространенных демонов. Не все перечисленные здесь демоны поставляются со всеми версиями UNIX, и не каждый демон, входящий в состав той или иной версии UNIX, здесь упомянут. Прочитав о том, что делают все эти демоны, вы не только станете еще более квалифицированным специалистом по ОС UNIX, но и перестанете бояться вопросов пользователей о том, что делает, например, демон xntpd.
До того как был написан демон inetd, все демоны запускались во время начальной загрузки и работали непрерывно (точнее, блокировались в ожидании работы). Со временем в систему вводились все новые и новые демоны. Их появилось столько, что начали возникать проблемы с производительностью. В ответ специалисты университета Беркли разработали inetd — демон, отвечающий за запуск других демонов по мере необходимости. Супердемон inetd стал таким популярным, что теперь его включают во все основные версии UNIX, а большинство новых демонов работает под его контролем.
Системные администраторы должны быть хорошо знакомы с целым рядом демонов: либо потому, что они требуют много внимания администратора, либо потому, что играют значительную роль в повседневной работе системы. Многим демонам, которые здесь описаны одной-двумя строчками, посвящены целые разделы в других главах этой книги. Там, где необходимо, мы даем перекрестные ссылки.
В начале этой главы мы познакомим читателей с парой очень важных системных демонов (init и cron), а затем перейдем к рассмотрению демона inetd. Потом мы вкратце опишем большинство демонов, с которыми системному администратору, скорее всего, придется столкнуться при работе в четырех наших тестовых системах.