Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UNIX.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
10.6 Mб
Скачать

Системные службы

Презентация 7-04: системные службы

Системные службы (system services) — это программы, предоставляющие некоторую «услугу» (сервис) пользователям системы. Примером может быть служба, динамически создающая необходимые файлы устройств при обращении к ним (udevd) или служба системного журнала, которая рассортировывает по файлам журналов полученные от процессов системы сообщения о происходящих с ними событиях. Как правило, системные службы запускаются при загрузке системы. Каждой системной службе соответствует стартовый скрипт (init script) — специальная программа, осуществляющая запуск и останов демона или программы, которая и обеспечивает функциональность службы.

Запуск и остановка служб

В System V-системах стартовые скрипты находятся в директории /etc/init.d и принимают единственный стадартный параметр — одно из: «start», «stop», «restart». Таким образом, каждая служба может быть остановлена, запущена или перезапущена.

Например, для перезапуска службы системного журнала необходимо выполнить команду /etc/init.d/syslogd restart.

Пример 3.2. Пример перезапуска службы

desktop ~ # /etc/init.d/syslogd restart

* Stopping syslog-ng ... [ ok ]

* Starting syslog-ng ... [ ok ]

desktop ~ #

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

Автоматическая загрузка служб

Службы используются в UNIX-системах, использующих System V-подобную схему загрузки системы. При этом каждому уровню выполнения соответствует набор служб, запускаемых при переключении на этот уровень.

В каталоге /etc/rc.d/ можно увидеть подкаталоги rc0.d, rc1.d и т.д. — по одному на каждый уровень выполенения. В этих каталогах содержатся ссылки на стартовые скрипты тех служб, которые будут запущены или остановлены при переходе на соответствующий уровень выполнения.

Особый интерес представляют имена ссылок на стартовые скрипты служб: например, /etc/rc.d/rc0.d/K60crond и /etc/rc.d/rc3.d/S40crond, указывающие на один скрипт /etc/init.d/crond службы системного журнала. Имя ссылки, начинающееся с «K» указывает на необходимость остановить службу при переходе на данный уровень выполнения, а «S» — запустить службу. Числа, следующие перед именем службы задают порядок выполнения скриптов в каталоге. Например, скрипт /etc/rc.d/rc3.d/S34syslogd будет запущен до скрипта /etc/rc.d/rc3.d/S40crond, тогда как /etc/rc.d/rc3.d/K60crond до /etc/rc.d/rc3.d/K66syslogd. Можно заметить, что сумма чисел в именах «запускающей» и «останавливающей» ссылок для одной службы равна 100 — это позволяет сохранять порядок завершения служб всегда строго обратным порядку их запуска.

Для управления списком служб, которые должны запускаться на том или ином уровне выполненения, администратору систем типа System-V доступна специальная утилита chkconfig.

Какие бывают службы

Презентация 7-05: системные службы: примеры

В современных UNIX-системах существует множество служб, выполняющих самые разнообразные функции. Системная служба — достаточно высокоуровневое понятие, которое объединяет по меньшей мере два разных типа. Часть служб предполагает запуск демона, который затем постоянно выполняется вплоть до момента остановки службы. Другая часть служб представляет собой набор процедур (описанных в стартовом скрипте данной службы), которые необходимо выполнить при запуске и/или остановке службы. Службы второго типа часто служат для настройки каких-то функций самой операционной системы, например, загруки модулей или настройки сети.

Далее мы рассмотрим примеры служб, существующих в том или ином виде практически во всех UNIX-системах:

cron

системный плнировщик заданий — демон, запускающий определённые программы с заданными интервалами времени (подробнее см. «Служба планирования заданий»);

syslog

служба системного журнала — демон, организующий единый интерфейс для журналирования событий в системе (подробнее см. «Мониторинг и журналирование»);

network

служба инициализации сети — производит автоматическую настройку сетевых интерфейсов, таблицы маршрутизации и т. п. (см. «Настройка сети при загрузке системы»);

iptables

служба инициализации межсетевого экрана в Linux;

sshd, xinetd, ftpd

набор сетевых служб, запускающих разичные сетевые серверы (подборнее см. «Сетевые службы»);

sendmail

почтовый сервер — демон, обеспечивающий отправление и доставку почты по протоколу SMTP;

modules

служба, загружающая и инициализирующая дополнительные модули ядра;

local

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

checkroot

служба, инициирующая проверку корневой файловой системы (с использованием утилиты, специализированной для типа файловой системы).

Рассмотрим более подробно некоторые из этих служб.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]