Смотрит в файл /etc/inittab для того, чтобы определить уровень выполнения (run level).
Есть следующие уровни выполнения:
0 – прервать выполнение
1 – Однопользовательский режим, так называемый «Single user mode», или иными словами, консоль восстановления
2 – Многопользовательский режим без поддержки NFS
3 – Полноценный многопользовательский режим
4 – не используется
5 – X11
6 – перезагрузка
Init определяет уровень выполнения по умолчанию исходя из /etc/inittab и использует его для загрузки всех необходимых программ.
Выполните «grep initdefault /etc/inittab» на вашей системе, и вы узнаете, какой уровень по умолчанию у вас используется
Если у вас не получается жить спокойно, то можете установить стандартный уровень на 0 или 6.:)
В большинстве случаев вам будет достаточно уровня 3 или 5.
Когда Линукс выполняет свою загрузку, вы можете наблюдать загрузку различных служб. К примеру, это могут быть сообщения типа «starting Postfix … OK» (запускается Postfix). Эти службы — и называются программами уровня выполнения, выполняемые из директории, которая соответствует нужному уровню выполнения.
Исходя из настроек по умолчанию, система будет выполнять файлы в соответствии с нижеприведенными директориями.
Выполнение уровня 0 – /etc/rc.d/rc0.d/
Выполнение уровня 1 – /etc/rc.d/rc1.d/
Выполнение уровня 2 – /etc/rc.d/rc2.d/
Выполнение уровня 3 – /etc/rc.d/rc3.d/
Выполнение уровня 4 – /etc/rc.d/rc4.d/
Выполнение уровня 5 – /etc/rc.d/rc5.d/
Выполнение уровня 6 – /etc/rc.d/rc6.d/
Но имейте ввиду, что еще в каталоге /etc могут быть символические ссылки. Например, /etc/rc0.d залинкован на /etc/rc.d/rc0.d.
В каталогах /etc/rc.d/rc*.d/ вы можете увидеть список программ, имя которых начинается из букв S и K.
Программы, начинающиеся на S используются для запуска. S, потому что s tartup.
Программы, которые начинаются с литеры K используются — правильно — для завершения работы. K, потому что k ill.
Еще есть номера рядом с буквами S и K в именах программ. Эти номера используются для определения порядка запуска этих программ.
К примеру, S12syslog предназначен для запуска демона syslog, его порядковый номер 12. S80sendmail — для запуска демона sendmail, имеющего порядковый номер 80. Таким образом, программа syslog будет запущена перед sendmail.
Вот и все. Возможно, некоторым из вас это не ново и особого интереса не было при чтении статью, поскольку она более ориентирована на начально-средний уровень знакомства з Линуксом. В таком случае могу лишь сказать, что «повторение — мать учения» (с).
В комментариях неоднократно было апеллировано к тексту статьи, поэтому, думаю, стоит учесть некоторые важные комментарии хабрасообщества. (спасибо artemlight, 3al, Tishka17, HhyperH, Next_Alex, Ilya_Shmelykh, Aux, soomrack, Xpeh)
artemlight:: «Ну скажем прямо — так грузятся далеко не все дистры». С ним согласилось большинство, отмечая и bsd-style init, u-boot, и хоть initrd в статье пропущен, стоить заметить, что он нужен ядру не во всех дистрибутивах. Также отмечено, что в slackware поддержка rc.d осуществляется только в качестве совместимости, а встраиваемые системы грузятся иначе. На декстопах иногда бывает EFI, а кроме того Linux популярен в мире embedded и там ещё куча разных платформ. Линукс в телефоне вообще иначе грузится.
soomrack, ссылая на википедию: Еще хочется сделать замечание по поводу MBR, первого сектора и пр. Все несколько усложнилось за последние годы. Сейчас уместней говорить о EFI.
«GUID Partition Table (GPT) является стандартным форматом размещения таблиц разделов на физическом жестком диске. Он является частью Extensible Firmware Interface (EFI) (Расширяемый Микропрограммный Интерфейс) — стандарта, предложенного Intel на смену отжившего BIOS, одного из последних реликтов первозданной IBM PC. EFI использует GPT там, где BIOS использует Главную загрузочную запись (MBR)....»
Так же просили вспомнить о LILO. LILO, ми тебя помним! Привет!
Xpeh доплняет, что «BIOS (и не упомянутый тут (U)EFI) прежде всего занимается инициализацией устройств (в том числе загрузку собственных биосов PCI-устройств), про это ничего не написано. Хотя эта роль постепенно сокращается, так как всё больше железа инициализирует себя само и/или поддерживает горячее подключение и потому всё равно инициализируется ОС, но, например, инициализацию оперативной памяти он делает всегда. „
VolCh уточняет загрузку для ОС Debian-Ubuntu: Для Debian/Ubuntu: — каталога /etc/rc.d/ нет; — каталоги /etc/rc?.d/ настоящие каталоги, а не ссылки; — в этих каталогах хранятся ссылки на скрипты в каталоге /etc/init.d/
Вручную лучше в /etc/rc?.d/ ничего не править, а использовать команду update-rc.d, которая позволяет создавать ссылки, удалять их, запрещать (фактически переименовывать c S* на K*) и разрешать (c K* на S*) запуск.
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав!Последнее добавление