,
а если и его нет, тогда сценарий
/etc/rc.d/rc.S
пытается запустить файл
/etc/rc.d/rc.modules
.
Один из этих файлов должен существо-
Е
ще
немного
истории
В историческом отступлении в начале главы уже были упомянуты системы инициали
зации: SysV и BSD. Уточним здесь некоторые связанные с ними моменты. Считается,
что UNIX «родилась» в 1969 году. В то время над проектом работали ряд сотрудников
компании Bell Labs (одно из подразделений AT&T). Позже UNIX заинтересовались дру
гие организации и, в частности, институт Беркли (Калифорния, США). В 1975 году по
явилась слегка модифицированная версия UNIX от института Беркли, которая полу
чила название BSD (Berkeley Software Distribution), а версия от AT&T (Bell Labs) стала
называться System V (SysV). Обе системы были очень похожи друг на друга, но в то
же время имели и свои особенности. Например, BSD содержала собственную систему
инициализации, которая очень напоминает ту, что сейчас используется в Slackware
Linux.
Система инициализации Slackware отличается от привычной системы init, исполь-
зуемой в SysV-системах. Она больше похожа на систему инициализации BSD-
систем, хотя некоторые сходства с SysV все же есть.
22.4. Система инициализации Slackware
В
старых версиях Fedora такой конфигуратор присутствовал по умолчанию, а в
Fedora 22-25 для его установки нужно ввести команду:
$ sudo dnf install system-config-services
К сожалению, в версии 26 этот конфигуратор был упразднен. Вместо него предла-
гается только использовать команду
systemctl.
402
Часть V. Системные трюки
,
или Linux изнутри
вать, иначе система будет загружена без модулей, а это означает, что не будут ра-
ботать некоторые устройства и поддерживаться некоторые файловые системы.
Кроме файла
/etc/rc.d/rc.modules.local
или другого файла загрузки модулей (см. ранее)
также используется файл
/etc/rc.d/rc.netdevice
— он служит для загрузки модулей
сетевых карт (точнее, сетевых интерфейсов).
Как уже было отмечено, файл
/etc/rc.d/rc.S
запускается вне зависимости от уровня
запуска. Кроме этого файла в каталоге
etc/rc.d
вы найдете серию файлов
rc.
N
, где
N
— номер уровня запуска. Эти файлы запускаются в зависимости от выбранного
уровня запуска— например, на третьем уровне запуска будет запущен файл
/etc/rc.d/гс.3
. Каждый такой файл подготавливает систему к работе на выбранном
уровне запуска. Уровень запуска по умолчанию, как и в случае с системой инициа-
лизации в стиле SysV, задается в файле
/etc/inittab.
Сценарий
/etc/rc.d/rc.inet1
отвечает за инициализацию сетевых интерфейсов и по-
строение таблицы маршрутизации. Конфигурация сетевых интерфейсов хранится
в файле
/etc/rc.d/rc.inet1.conf.
Вот фрагмент этого файла:
IPADDR [0] ="192.168.1.1"
NETMASK[0]="255.255.255.0”
USE_DHCP[0]=""
DHC P_HOS TNAME[0]=""
Сценарий
/etc/rc.d/r.inet2
управляет запуском сетевых служб и подключением сете-
вых файловых систем. Именно в этом файле происходит попытка монтирования
файловых систем NFS и smbfs. Таюке из этого файла происходит запуск сетевых
служб. Сценарии для запуска сетевых служб называются
/etc/rc.d/rc.<название служ
бы>
например,
/etc/rc.d/rc.sshd
— сценарий запуска SSH-сервера. Однако некоторые
сетевые сервисы, например sendmail и samba, в силу своих особенностей запуска-
ются из файлов
rc.
N
.
Иногда нужно обеспечить запуск сетевой службы, для которой нет собственного
RC-файла. Тогда ее запуск можно или описать в файле
/etc/rc.d/rc.local
(что довольно
просто), или создать собственный RC-файл и добавить его вызов в один из файлов
rc.
N
. Шаблон собственного RC-файла приведен в листинге 22.4.
#! /bin/bash
start()
{
echo "Service started"
service_start
}
stop()
{
echo "Service stoped"
killall service
}
Do'stlaringiz bilan baham: |