Linux - [50]

Шрифт
Интервал

Конфигурационный файл init – /etc/inittab

Как всякая программа, после старта init сразу считывает свой конфигурационный файл /etc/inittab. Это обычный текстовый файл, состоящий из отдельных строк. Если строка начинается со знака # (стандартный признак комментария в конфигурационных файлах и скриптах) или пуста, она игнорируется. Все остальные строки состоят из 4 разделенных двоеточиями полей, имеющих вид:

id: runlevels: action: process

где:

• id – идентификатор строки. Выбирается произвольно, но в файле не может быть двух строк с одинаковыми идентификаторами. Если конфигурационный файл модифицируется достаточно часто, имеет смысл использовать неписаное правило нумерации строк в BASIC – номера строкам назначать кратно пяти или десяти;

• runieveis – уровни выполнения, на которых эта строка будет задействована. Уровни задаются цифрами (без разделителей);

• process – команда, которая должна быть запущена;

• action – действие. В этом поле стоит ключевое слово, которое определяет, что должен делать процесс init, пока выполняется (или после выполнения) команда, заданная полем process:

– wait – ожидать завершения процесса. Соответственно, пока не закончится данный процесс, init не запускает никаких других процессов. Как правило, такого типа процессы используются для разнообразных проверочных действий (проверка и восстановление файловых систем), а так же для запуска различных служб (демонов);

– once – выполнять процесс только один раз;

– respawn – перезапустить процесс в случае его «смерти». Актуально для некоторых служб, которые должны постоянно присутствовать в системе;

– off – игнорировать данный элемент. Можно использовать при отладке конфигурационного файла;

– boot – процесс должен быть выполнен при загрузке операционной системы, поле runieveis (уровни выполнения) при этом игнорируется;

– bootwait – то же, что и предыдущая опция, но init должен ожидать окончания работы процесса;

– initdefauit – указывает init, в какой уровень выполнения необходимо перейти системе после загрузки;

– sysinit – процесс должен быть выполнен во время загрузки операционной системы до выполнения любой строки с boot или bootwait;

– powerwait – позволяет процессу init остановить систему при пропадании электроэнергии. Применение этого ключевого слова предполагает, что используется источник бесперебойного питания (UPS), имеющий специальный интерфейс, с помощью которого источник бесперебойного питания может посылать в компьютер и принимать из него различные управляющие сигналы (например "нет питания", "выключить источник бесперебойного питания", "аккумуляторы разряжены" и т. п.), а также программное обеспечение, которое отслеживает состояние источника бесперебойного питания и информирует init о том, что питание отключилось;

– ctriaitdei – разрешает init перезагрузить систему, когда пользователь нажимает комбинацию ++ на клавиатуре. Однако системный администратор может определить действия по ++, например, игнорировать нажатие этой комбинации.

Этот список не является исчерпывающим. Подробную информацию о файле inittab можно узнать из тап-страниц init, inittab.

В качестве примера приведем файл inittab, который находится в только что установленной системе Red Hat 7.1.

# inittab Этот файл описывает как процесс INIT должен настроить

# операционную систему в соответствующем уровне выполнения

#

# Author: Miquel van Smoorenburg,

# Modified for RHS Linux by Marc Ewing and Donnie Barnes

#

# Default runlevel. The runieveis used by RHS are:

# 0 – halt (Do NOT set initdefault to this)

# 1 – Single user mode

# 2 – Multiuser, without NFS (The same as 3, if you do not have

# networking)

# 3 – Full multiuser mode

# 4 – unused

# 5 – X11

# 6 – reboot (Do NOT set initdefault to this)

id:3:initdefault:

# System initialization. si::sysinit:/etc/rc.d/rc.sysinit

10:0:wait:/etc/rc.d/rc 0

11:1:wait:/etc/rc.d/rc 1

12:2:wait:/etc/rc.d/rc 2

13:3:wait:/etc/rc.d/rc 3

14:4:wait:/etc/rc.d/rc 4

15:5:wait:/etc/rc.d/rc 5

16:6:wait:/etc/rcd/rc. 6

# Things to run in every runlevel. ud::once:/sbin/update

# Trap CTRL-ALT-DELETE са::ctrlaltdel:/sbin/shutdown -t3 -r now

# When our UPS tells us power has failed, assume we have a few

# minutes

# of power left. Schedule a shutdown for 2 minutes from now.

# This does, of course, assume you have powerd installed and your

# UPS connected and working correctly.

pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"

# If power was restored before the shutdown kicked in, cancel it. pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"

# Run gettys in standard runieveis

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

# Run xdm in runlevel 5

# xdm is now a separate service

x:5:respawn:/etc/X11/prefdm -nodaemon

Сразу после запуска процесс init считывает свой конфигурационный файл /etc/inittab и производит его разбор. Сначала он определяет, какой уровень по умолчанию установлен в системе. Как видно из приведенного конфигурационного файла id:3rinitdefault уровень выполнения, в котором будет функционировать операционная система после загрузки, равен трем (то есть предполагается многопользовательский режим с поддержкой сетевых функций). Дистрибутив Red Hat по умолчанию предлагает установить вход в систему в графическом режиме – пятый уровень выполнения. Затем процесс init принимает к сведению строки, содержащие специальные команды, такие как:


Рекомендуем почитать
Сборник тестов: 1500 вопросов и ответов на знание Android

Книга содержит 30 тестов по 50 вопросов с ответами на знание Android. Книга предназначена для подготовки к экзаменам и собеседованиям.


QNX/UNIX: Анатомия параллелизма

Книга адресована программистам, работающим в самых разнообразных ОС UNIX. Авторы предлагают шире взглянуть на возможности параллельной организации вычислительного процесса в традиционном программировании. Особый акцент делается на потоках (threads), а именно на тех возможностях и сложностях, которые были привнесены в технику параллельных вычислений этой относительно новой парадигмой программирования. На примерах реальных кодов показываются приемы и преимущества параллельной организации вычислительного процесса.


Ubuntu Linux: базовый курс

Если вы читаете эту книгу, значит вы подумываете о том, как бы поставить и попробовать Ubuntu. Наверняка, вы не захотите сразу отказываться от Windows и поставите Ubuntu, как вторую ОС (операционную систему).Возможно, вы как и я долго метались от дистрибутива к дистрибутиву и решали, какой же установить. Уверяю вас, вы сделали правильный выбор. Данная книга проведёт небольшую, но базовую экскурсию на тему установки и настройки.Я уверен, что вы найдёте эту книгу интересной для себя. Если у вас возникают какие-либо вопросы, я могу осветить их в новой версии этой книги.



Документация NetAMS

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Just for fun. Рассказ нечаянного революционера

Все началось с того, что студенту захотелось написать собственную программу эмуляции терминала. Потом он принялся развивать и дополнять ее и вдруг заметил, что у него получилась операционная система. Линус назвал ее Linux и поместил в Интернете, призвав желающих вносить в систему изменения. И программисты всех стран, объединившись, стали над ней трудиться.«Just for fun» – смесь автобиографии с рассуждениями о технологиях и путях их развития. Для читателей, неискушенных в программировании, Торвальдс разворачивает увлекательную историю своей жизни.