Linux Fundamentals, Part 4 / Основы Linux от основателя Gentoo. Часть 4: Runlevels

Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

Уровни инициализации
Однопользовательский режим

Bomber 03.12.11 в 20:43

0

Вспомните, что в разделе про загрущчики говорилось про параметры загрузки ядра. Один из часто используемых параметров это s, который заставляет систему загружаться в однопользовательском режиме. Этот режим обычно монтирует только корневую файловую систему, запускает минимум вещей из init скриптов и запускает оболочку без предложения залогиниться. Дополнительно сеть не сконфигурирована, что не оставляет шанса внешним факторам воздействовать на вашу работу.
Понимание однопользовательского режима

Bomber 03.12.11 в 20:51

0

Так что мы можем делать с системой в этом режиме? Для ответа на этот вопрос, мы должны понять огромную разницу между Linux и Windows. Windows создана обычно для работы одного пользователя во одно время, сидящего пере монитором. Это эффективно всегда в однопользовательском режиме. Linux, с другой стороны, используется более часто для работы сетевых приложений или обеспечения сессий для удаленной работы с коммандной оболочкой или графичской средой по сети. Эти дополнительные аргументы не желательны, если вы хотите выполнитьобслуживающие действия, такие как восстановление из бэкапа, создание или модификация файловой системы, обновление системы с CD и т.д. В этих случаях вы молжны использовать однопользовательский режим.
Уровни инициализации

Bomber 03.12.11 в 21:02

0
+1

Факт - не обязательно перезагружаться, что бы перейти в однопользовательский режим. Программа init управляет текущим режимом или уровнем инициализации вашей системы. В Linux определены следующие стандартные уровни инициализации:

Bomber 03.12.11 в 21:36

0

0: Выключение компьютера
1 или s: Однопользовательский режим
2: Многопользовательский режим без сети
3: Многопользовательский режим с текстовой консолью
4: Многопользовательский режим с графической консолью
5: тоже что и 4
6: Перезагрузка компьютера

Bomber 03.12.11 в 21:36

0

Эти уровни различаются в разных дистрибутивах, так что обратитесь к документации вашего дистрибутива.
telinit

Bomber 03.12.11 в 21:39

0

Для переключени с однопользовательский режим используйте команду telinit с указанием init для смены уровня инициализации:

Bomber 03.12.11 в 21:40

0

telinit 1

Bomber 03.12.11 в 21:40

0

Как вы могли заметить в таблице выше, вы можете также выключить или перезагрузить систему таким же способом. telinit 0 выключит компьютер, а telinit 6 перезагрузит его. Когда вы используете комманду telini для смены уровня инициализации, группы init скриптов будут вызывать остановку или запуск системных сервисов.
Этикет уровней инициализации

Bomber 03.12.11 в 21:45

0

Однако учтите, что это довольно грубо, если в системе в это время работают пользователи (которые могут извергать потоки ненависти на вас). Команда shutdown обеспечивает метод для смены уровня инициализации таким образом, что обращается к пользователям разумно. Подобно команде kill способна отправлять различные команды процессам, shutdown может быть использована для выключения, перезагрузки или смены на однопользовательский режим. Для примера переключимся в однопользовательский режим через 5 минут:

Bomber 03.12.11 в 21:52

0

# shutdown 5
Broadcast message from root (pts/2) (Tue Jan 15 19:40:02 2002):
The system is going DOWN to maintenance mode in 5 minutes!

Bomber 03.12.11 в 21:52

0

Если в данный момент вам станет необходимо, вы можете отменить приближающееся переключение в однопользовательский режим. Сообщение выше видимо на всех терминалах системы, так что у пользователей будет разумное количество времени сохранить их работу и разлогиниться. (Некоторые могут возразить, что 5 минут не будет достаточно)
"Now" и выключение

Bomber 03.12.11 в 21:59

0

Если вы единственный пользователь в вашей системе, вы можете использовать "now" вместо аргумента в минутах. Для примера перезагрузим систему прямо сейчас:

Bomber 03.12.11 в 22:00

0

# shutdown -r now

Bomber 03.12.11 в 22:00

0

В этом случае нету ни каких шансов на отмену, система уже начала выключаться. Напоследок -h опция выключает систему:

Bomber 03.12.11 в 22:02

0

# shutdown -h 1
Broadcast message from root (pts/2) (Tue Jan 15 19:50:58 2002):
The system is going DOWN for system halt in 1 minute!

Bomber 03.12.11 в 22:02

0

Уровень инициализации по-умолчанию

Bomber 03.12.11 в 22:03

0

Вы вероятно поняли, что программа init вполне важна в системе Linux. Вы можете настраивать init редактированием файла /etc/initttab, описание которого находится в man-странце inittab(5). Мы просто коснемся одного ключа строки в файле:

Bomber 03.12.11 в 22:06

0

# grep ^id: /etc/inittab
id:3:initdefault:

Bomber 03.12.11 в 22:06

0

В моей системе по-умолчанию используется уровень инициализации 3. Это может быть полезно при смене этого значения, если вы предпочитаете загружать вашу систему прямо в графический режим (обычно это уровни 4 или 5). Для этого просто отредактируйте файл и измените значеие в этой строке. Но быдьте осторожны! Если вы измените его на что-то неподходящее, вы вероятно должны будете использоватьфокус с init=/bin/sh упомянутый ранее.
Дополнительная информация

Bomber 03.12.11 в 22:13

0

Дополнительная информация относящася к данному разделу может быть найдена здесь:

Bomber 03.12.11 в 22:13

0

Sysvinit docs at Red Hat
Linux System Administrator's Guide section on init.

Bomber 03.12.11 в 22:13

0
Минутку...