Рівень виконання (англ. runlevel) — визначає програми, які будуть запущені при запуску системи. Демон init в System-V системах підтримує різні «рівні виконання», кожний з яких робить доступним для системи певні сукупності системних ресурсів. Командні файли запуска об'єднуються в декілька груп та викликаються в процесі проходження init по рівням виконання.
Для оригінальних System-V систем налаштування демона виконується за допомогою файла /etc/inittab. Якщо в даних системах файл inittab пошкоджений, завантажити систему можливо лише в режимі одного користувача.
Формат inittab файла
id:рівень:дія:процес
де id - це ім'я елемента файла inittab. В полі рівень заноситься інформація, до якого рівня або рівнів виконання повинен застосовуватись даний елемент. Поле дія містить інформацію про те, що повинен робити демон init:
- очікувати завершення процесу (wait)
- виконувати процес тільки один раз (once)
- перезапустити процес при його завершенні (respawn)
- ігнорувати даний елемент (off)
В полі процес міститься командна строка інтерпретатора sh, яку init запускає при переході на даний рівень.
Приклад файла /etc/inittab для операційної системи Solaris 8:
ap::sysinit:/sbin/autopush -f /etc/iu.ap ap::sysinit:/sbin/soconfig -f /etc/sock2path fs::sysinit:/sbin/rcS sysinit >/dev/msglog 2<>/dev/msglog </dev/console is:3:initdefault: p3:s1234:powerfail:/usr/sbin/shutdown -y -i5 -g0 >/dev/msglog 2<>/dev/msglog sS:s:wait:/sbin/rcS >/dev/msglog 2<>/dev/msglog </dev/console s0:0:wait:/sbin/rc0 >/dev/msglog 2<>/dev/msglog </dev/console s1:1:respawn:/sbin/rc1 >/dev/msglog 2<>/dev/msglog </dev/console s2:23:wait:/sbin/rc2 >/dev/msglog 2<>/dev/msglog </dev/console s3:3:wait:/sbin/rc3 >/dev/msglog 2<>/dev/msglog </dev/console s5:5:wait:/sbin/rc5 >/dev/msglog 2<>/dev/msglog </dev/console s6:6:wait:/sbin/rc6 >/dev/msglog 2<>/dev/msglog </dev/console fw:0:wait:/sbin/uadmin 2 0 >/dev/msglog 2<>/dev/msglog </dev/console of:5:wait:/sbin/uadmin 2 6 >/dev/msglog 2<>/dev/msglog </dev/console rb:6:wait:/sbin/uadmin 2 1 >/dev/msglog 2<>/dev/msglog </dev/console sc:234:respawn:/usr/lib/saf/sac -t 300 co:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` console login: " -T sun -d /dev/console -l console -m ldterm,ttcompat
Каталог /etc/rcN.d містить всі сценарії, пов'язані з рівнем виконання N. В даному каталозі містяться посилання на файли /etc/init.d. Кожен сценарій отримує тільки один параметр - start або stop. Всі сценарії, що починаються з К, викликаються з аргументом stop. Правило іменування посилання зводиться до наступного формату - KNcommand, де N - номер, command - відповідно до прийнятої в системах типу SYSTEM V угоди, ім'я вихідного файлу з /etc/init.d.
Сценарії запуску мають назву SNcommand. Всі сценарії виконуються в алфавітно-цифровому порядку.
Приклад системного коду, що обробляє параметри запуску скриптів
if [ -d /etc/rc0.d ]; then for f in /etc/rc0.d/K*; do if [ -s $f ]; then case $f in *.sh) . $f ;; *) /sbin/sh $f stop ;; esac fi done for f in /etc/rc0.d/S*; do if [ -s $f ]; then case $f in *.sh) . $f ;; *) /sbin/sh $f start ;; esac fi done fi
Наступна таблиця містить в собі призначення рівнів виконання за замовчуванням в Debian Linux
* 0 System Halt * 1 Single user * 2 Full multi-user mode (Default) * 3-5 Same as 2 * 6 System Reboot
Для визначення поточного рівня виконання системи використовують команди "runlevel" або "who -r". Для зміни рівня виконання використовуються різні команди в залежності від операційної системи. Для Solaris це команда "init N", де N - номер потрібного рівня. В Linux використовують команду "telinit N"
Література
- Evi Nemeth, Garth Snyder, Scott Seebass, Trent R. Hein UNIX System Administration Handbook. Prentice Hall PTR (В перекладі на російську: Эви Немет, Гарт Снайдер, Скотт Сибасс, Трент Р. Хейн UNIX руководство системного администратора. Издание третье. bhv Киев 1998.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Riven vikonannya angl runlevel viznachaye programi yaki budut zapusheni pri zapusku sistemi Demon init v System V sistemah pidtrimuye rizni rivni vikonannya kozhnij z yakih robit dostupnim dlya sistemi pevni sukupnosti sistemnih resursiv Komandni fajli zapuska ob yednuyutsya v dekilka grup ta viklikayutsya v procesi prohodzhennya init po rivnyam vikonannya Dlya originalnih System V sistem nalashtuvannya demona vikonuyetsya za dopomogoyu fajla etc inittab Yaksho v danih sistemah fajl inittab poshkodzhenij zavantazhiti sistemu mozhlivo lishe v rezhimi odnogo koristuvacha Format inittab fajlaid riven diya proces de id ce im ya elementa fajla inittab V poli riven zanositsya informaciya do yakogo rivnya abo rivniv vikonannya povinen zastosovuvatis danij element Pole diya mistit informaciyu pro te sho povinen robiti demon init ochikuvati zavershennya procesu wait vikonuvati proces tilki odin raz once perezapustiti proces pri jogo zavershenni respawn ignoruvati danij element off V poli proces mistitsya komandna stroka interpretatora sh yaku init zapuskaye pri perehodi na danij riven Priklad fajla etc inittab dlya operacijnoyi sistemi Solaris 8 ap sysinit sbin autopush f etc iu ap ap sysinit sbin soconfig f etc sock2path fs sysinit sbin rcS sysinit gt dev msglog 2 lt gt dev msglog lt dev console is 3 initdefault p3 s1234 powerfail usr sbin shutdown y i5 g0 gt dev msglog 2 lt gt dev msglog sS s wait sbin rcS gt dev msglog 2 lt gt dev msglog lt dev console s0 0 wait sbin rc0 gt dev msglog 2 lt gt dev msglog lt dev console s1 1 respawn sbin rc1 gt dev msglog 2 lt gt dev msglog lt dev console s2 23 wait sbin rc2 gt dev msglog 2 lt gt dev msglog lt dev console s3 3 wait sbin rc3 gt dev msglog 2 lt gt dev msglog lt dev console s5 5 wait sbin rc5 gt dev msglog 2 lt gt dev msglog lt dev console s6 6 wait sbin rc6 gt dev msglog 2 lt gt dev msglog lt dev console fw 0 wait sbin uadmin 2 0 gt dev msglog 2 lt gt dev msglog lt dev console of 5 wait sbin uadmin 2 6 gt dev msglog 2 lt gt dev msglog lt dev console rb 6 wait sbin uadmin 2 1 gt dev msglog 2 lt gt dev msglog lt dev console sc 234 respawn usr lib saf sac t 300 co 234 respawn usr lib saf ttymon g h p uname n console login T sun d dev console l console m ldterm ttcompat Katalog etc rcN d mistit vsi scenariyi pov yazani z rivnem vikonannya N V danomu katalozi mistyatsya posilannya na fajli etc init d Kozhen scenarij otrimuye tilki odin parametr start abo stop Vsi scenariyi sho pochinayutsya z K viklikayutsya z argumentom stop Pravilo imenuvannya posilannya zvoditsya do nastupnogo formatu KNcommand de N nomer command vidpovidno do prijnyatoyi v sistemah tipu SYSTEM V ugodi im ya vihidnogo fajlu z etc init d Scenariyi zapusku mayut nazvu SNcommand Vsi scenariyi vikonuyutsya v alfavitno cifrovomu poryadku Priklad sistemnogo kodu sho obroblyaye parametri zapusku skriptiv if d etc rc0 d then for f in etc rc0 d K do if s f then case f in sh f sbin sh f stop esac fi done for f in etc rc0 d S do if s f then case f in sh f sbin sh f start esac fi done fi Nastupna tablicya mistit v sobi priznachennya rivniv vikonannya za zamovchuvannyam v Debian Linux 0 System Halt 1 Single user 2 Full multi user mode Default 3 5 Same as 2 6 System Reboot Dlya viznachennya potochnogo rivnya vikonannya sistemi vikoristovuyut komandi runlevel abo who r Dlya zmini rivnya vikonannya vikoristovuyutsya rizni komandi v zalezhnosti vid operacijnoyi sistemi Dlya Solaris ce komanda init N de N nomer potribnogo rivnya V Linux vikoristovuyut komandu telinit N LiteraturaEvi Nemeth Garth Snyder Scott Seebass Trent R Hein UNIX System Administration Handbook Prentice Hall PTR V perekladi na rosijsku Evi Nemet Gart Snajder Skott Sibass Trent R Hejn UNIX rukovodstvo sistemnogo administratora Izdanie trete bhv Kiev 1998 http www debian administration org articles 212