Linux Fundamentals, Part 4 / Основы Linux от основателя Gentoo. Часть 4: Runlevels
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Уровни инициализации Bomber 03.12.11 в 20:43 |
|
|
Вспомните, что в разделе про загрущчики говорилось про параметры загрузки ядра. Один из часто используемых параметров это s, который заставляет систему загружаться в однопользовательском режиме. Этот режим обычно монтирует только корневую файловую систему, запускает минимум вещей из init скриптов и запускает оболочку без предложения залогиниться. Дополнительно сеть не сконфигурирована, что не оставляет шанса внешним факторам воздействовать на вашу работу. Bomber 03.12.11 в 20:51 |
||
|
Так что мы можем делать с системой в этом режиме? Для ответа на этот вопрос, мы должны понять огромную разницу между Linux и Windows. Windows создана обычно для работы одного пользователя во одно время, сидящего пере монитором. Это эффективно всегда в однопользовательском режиме. Linux, с другой стороны, используется более часто для работы сетевых приложений или обеспечения сессий для удаленной работы с коммандной оболочкой или графичской средой по сети. Эти дополнительные аргументы не желательны, если вы хотите выполнитьобслуживающие действия, такие как восстановление из бэкапа, создание или модификация файловой системы, обновление системы с CD и т.д. В этих случаях вы молжны использовать однопользовательский режим. Bomber 03.12.11 в 21:02 |
+1 | |
|
Факт - не обязательно перезагружаться, что бы перейти в однопользовательский режим. Программа init управляет текущим режимом или уровнем инициализации вашей системы. В Linux определены следующие стандартные уровни инициализации: Bomber 03.12.11 в 21:36 |
||
|
0: Выключение компьютера Bomber 03.12.11 в 21:36 |
||
|
Эти уровни различаются в разных дистрибутивах, так что обратитесь к документации вашего дистрибутива. Bomber 03.12.11 в 21:39 |
||
|
Для переключени с однопользовательский режим используйте команду telinit с указанием init для смены уровня инициализации: Bomber 03.12.11 в 21:40 |
||
|
telinit 1 Bomber 03.12.11 в 21:40 |
||
|
Как вы могли заметить в таблице выше, вы можете также выключить или перезагрузить систему таким же способом. telinit 0 выключит компьютер, а telinit 6 перезагрузит его. Когда вы используете комманду telini для смены уровня инициализации, группы init скриптов будут вызывать остановку или запуск системных сервисов. Bomber 03.12.11 в 21:45 |
||
|
Однако учтите, что это довольно грубо, если в системе в это время работают пользователи (которые могут извергать потоки ненависти на вас). Команда shutdown обеспечивает метод для смены уровня инициализации таким образом, что обращается к пользователям разумно. Подобно команде kill способна отправлять различные команды процессам, shutdown может быть использована для выключения, перезагрузки или смены на однопользовательский режим. Для примера переключимся в однопользовательский режим через 5 минут: Bomber 03.12.11 в 21:52 |
||
|
# shutdown 5 Bomber 03.12.11 в 21:52 |
||
|
Если в данный момент вам станет необходимо, вы можете отменить приближающееся переключение в однопользовательский режим. Сообщение выше видимо на всех терминалах системы, так что у пользователей будет разумное количество времени сохранить их работу и разлогиниться. (Некоторые могут возразить, что 5 минут не будет достаточно) Bomber 03.12.11 в 21:59 |
||
|
Если вы единственный пользователь в вашей системе, вы можете использовать "now" вместо аргумента в минутах. Для примера перезагрузим систему прямо сейчас: Bomber 03.12.11 в 22:00 |
||
|
# shutdown -r now Bomber 03.12.11 в 22:00 |
||
|
В этом случае нету ни каких шансов на отмену, система уже начала выключаться. Напоследок -h опция выключает систему: Bomber 03.12.11 в 22:02 |
||
|
# shutdown -h 1 Bomber 03.12.11 в 22:02 |
||
|
Уровень инициализации по-умолчанию Bomber 03.12.11 в 22:03 |
||
|
Вы вероятно поняли, что программа init вполне важна в системе Linux. Вы можете настраивать init редактированием файла /etc/initttab, описание которого находится в man-странце inittab(5). Мы просто коснемся одного ключа строки в файле: Bomber 03.12.11 в 22:06 |
||
|
# grep ^id: /etc/inittab Bomber 03.12.11 в 22:06 |
||
|
В моей системе по-умолчанию используется уровень инициализации 3. Это может быть полезно при смене этого значения, если вы предпочитаете загружать вашу систему прямо в графический режим (обычно это уровни 4 или 5). Для этого просто отредактируйте файл и измените значеие в этой строке. Но быдьте осторожны! Если вы измените его на что-то неподходящее, вы вероятно должны будете использоватьфокус с init=/bin/sh упомянутый ранее. Bomber 03.12.11 в 22:13 |
||
|
Дополнительная информация относящася к данному разделу может быть найдена здесь: Bomber 03.12.11 в 22:13 |
||
|
Sysvinit docs at Red Hat Bomber 03.12.11 в 22:13 |
