Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5 семестр / ПОС / 6. Базовое администрирование UNIX.doc
Скачиваний:
63
Добавлен:
28.03.2015
Размер:
107.01 Кб
Скачать

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

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

Таким образом, можно построить дерево зависимостей, и перезапуск одного скрипта будет приводить к перезапуску всех его потомков.

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

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

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

Пример 6.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– это позволяет упорядочить все скрипты в порядке старта, обратном порядку завершения.

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

Примеры служб

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

cron

системный плнировщик заданий – демон, запускающий определённые программы с заданными интервалами времени;

syslog

системный журнал – демон, организующий единый интерфейс для журналирования событий в системе;

network

служба инициализация сети – производит автоматическую настройку интерфейсов, маршрутизации и т.п. ;

iptables

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

sshd,xinetd,ftpd

набор сетевых служб, запускающих разичные сетевые серверы;

sendmail

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

modules

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

local

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

checkroot

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