Глава 22. Системы инициализации
387
Сначала я вообще хотел удалить описание системы init из этого издания, но понял,
что сбрасывать со счетов ее еще рано. Ведь не все спешат отказываться от старых
дистрибутивов, — так, многие до сих пор используют Debian 7, — зачем менять то,
что прекрасно работает? Да и не всегда есть возможность установить самую по-
следнюю версию дистрибутива— например, при использовании виртуализации
OpenVZ вообще придется ограничиться дистрибутивами с версией ядра 2.6, а в та-
ких дистрибутивах будет доступна только init. Вообще, если вы работаете со ста-
рыми версиями дистрибутивов, то без init — никак (на многих серверах, организо-
ванных даже всего несколько лет назад, работает именно init, поскольку общая ми-
грация на systemd произошла не так давно). Система инициализации init не была и
не будет удалена из этой книги, поскольку — это классика. И на ее примере проще
показать, чем лучше система systemd, — контраст уж больно заметен.
Итак, программа init читает конфигурационный файл /etc/inittab и запускает другие
процессы, согласно инструкциям этого файла (листинг 22.1).
id:5:initdefault:
# Инициализация системы
si::sysinit:/etc/rc.d/rc.sysinit
10:0:wait:/etc/rc.d/rc 0
22.2. Система инициализации init
Н
е м н о г о
и с т о р и и
Прежде чем перейти к рассмотрению систем инициализации, позволю себе неболь
шой исторический экскурс, чтобы вы понимали, who is who. С самого начала (т. е. со
времен UNIX, когда о Linux еще никто не слышал) существовало две системы инициа
лизации; SysV (использовалась, начиная с System V) и BSD (разработанная для соб
ственной версии UNIX университетом Беркли). Во всех Red Hat-совместимых дистри
бутивах (Red Hat, Mandrake, Fedora Core, Mandriva, Fedora, openSUSE и др.) исполь
зовалась система инициализации SysV, т. е. привычная всем нам программа init. Но
время шло, новые компьютеры становились существенно мощнее старых, a Linux
продолжала загружаться на быстрых компьютерах примерно с той же скоростью, что и
на медленных... Вот тогда и задумались о смене системы инициализации. Были пред
ложены различные варианты систем: initng (так и осталась экспериментальной),
upstart (действует на «старых» Ubuntu, а в современных заменена на systemd) и
systemd, которая стала применяться в Fedora, начиная с ее 15-й версии. Основная
цель всех этих систем — сделать запуск Linux быстрее. С тем, как они это осуществ
ляют, мы разберемся позже. А начнем рассмотрение систем инициализации мы, все-
таки, с традиционной системы init.
к предыдущим изданиям этой книги (вы с легкостью найдете их на Play Market),
или же к сторонним источникам в Интернете;
□ система systemd (см.
разд. 22.3
)— современная система инициализации, заме-
нившая init в последних версиях дистрибутивов Fedora, openSUSE, Ubuntu и не-
которых других.
388
Do'stlaringiz bilan baham: |