Назад | Перейти на главную страницу

Solaris: перезагрузка vs init для перехода в однопользовательский режим

Я унаследовал инструкции, которые говорят, что нужно перейти в однопользовательский режим в Solaris, например:

  1. Выполнить reboot -- -s
  2. Смонтировать все файловые системы

У меня вопрос, почему бы просто не сделать:

  1. init 1

Какая разница?

Дэвид, уровни выполнения 1 и s эквивалентны. Основное различие между этими двумя командами заключается в том, что перезагрузка сбрасывает систему, переводя ее в максимально чистое состояние, в то время как "init s" просто переходит к одному пользователю без перезагрузки системы - это, возможно, быстрее, но потенциально может оставлять "мусор" (любые процессы, у которых отсутствует запись в utmpx, могут не завершиться и т. д.).

Есть некоторые незначительные отличия в том, что "init s" не будет иметь никаких записей boot или bootwait в / etc / inittab run, но это маловероятно.

Майкл, вы ошибаетесь, что init не понимает SMF (материал svcadm); оно делает.

xenny, ключом к флагу -s является "-" сразу после команды перезагрузки. Это указывает на то, что все, что следует за «-», должно передаваться непосредственно в загрузчик и ядро ​​- см. Раздел boot_arguments на странице руководства по перезагрузке.

Я считаю, что 'init 1' не установит систему в однопользовательский режим ... вам придется использовать

init s

вместо.

Если это изменение внесено в ваше утверждение, тогда будет большая разница. Команда перезагрузки в основном полностью отключает систему, а затем запускает ее с нуля в однопользовательском режиме.

Простой init X будет запускать сценарии только для перевода системы в запрошенное состояние X. Выбор сценариев запуска / выключения отличается для систем типа UNIX и систем типа Linux. Перезагрузки не происходит (исключения для переходов в состояния 0 и 6, конечно).

reboot перезапустит ядро. init должен перевести машину в однопользовательский режим, убивая процессы по мере перехода в однопользовательский режим без перезапуска ядра.

На моем удобном ящике solaris на странице руководства для / usr / sbin / reboot указаны возможные параметры d l n или q, какая перезагрузка, которая принимает 's', находится на вашем пути первой?

из типа консоли

#init 0

чем он перейдет к приглашению ОК. Оттуда введите

OK> boot -s

он загрузится и запросит пароль root для перехода в режим обслуживания. Введите пароль root. он перейдет в однопользовательский режим. who -r проверять.