Чи перезавантажити так само, як init 6?


22

Чи перезавантажити це те саме, що init 6 для ubuntu?

Я працюю на Ubuntu 12.04 на Amazon EC2. Коли ssh'ed у поле, я можу набрати, runlevelі я отримаю:

N 2

Дивлячись, man rebootя бачу, що:

При виклику з --force або при запуску рівня 0 або 6 цей інструмент викликає сам виклик перезавантаження (2) і безпосередньо перезавантажує систему. В іншому випадку це просто викликає інструмент shutdown (8) з відповідними аргументами.

Якщо я читаю, man shutdown 8то бачу:

завершення роботи системи забезпечує безпечне збиття системи. Усі зареєстровані користувачі отримують сповіщення про те, що система виходить з ладу, і протягом останніх п'яти хвилин після TIME нові входи запобігаються.

Моє основне розуміння різниці між rebootта init 6:

  • На інших дистрибутивах і, можливо, на старих дистрибутивах rebootпросто роз'єднайте диски і в основному натисніть на перемикач живлення, не запускаючи жодних сценаріїв відключення
  • init 6запустить усі сценарії відключення, /etc/init/rc.*оскільки це знизить рівень запуску системи
  • У нових версіях Ubuntu rebootкоманда без --forceабо -fзапустить команду відключення, яка в основному буде робити те саме, що іinit 6
  • Напевно, краще скористатися звичкою використовувати init 6замість того reboot, що це безпечніше і буде працювати краще крос-дистрибуцію, але поведінка за замовчуванням rebootбула змінена, щоб спробувати запобігти помилкам / втраті даних, якщо хтось цим користується.

Це правильно? Якщо ні, то чого я пропускаю?

Відповіді:


23

Насправді ніколи не існує жодної вагомої причини використовувати init 6замість цього reboot, якщо:

  • Ви чомусь не вистачаєте rebootвиконуваного файлу, або
  • Ви навмисно намагаєтесь уникати повідомлення користувачів про те, що система виходить з ладу.

reboot(поки ви не біжите reboot --force) насправді "м'якший" спосіб відключення.

Поміркуйте:

init 6запустить усі сценарії відключення, /etc/init/rc.*оскільки це знизить рівень запуску системи

Але команда , названа без з прапором, тільки безпосередньо перезавантажує систему ( з допомогою в системному виклику ) , коли застосовується один з цих двох ситуацій:reboot--forcereboot

  • Система перебуває у рівні runlevel 0 (режим одноразового користування), тому зменшення рівня запуску не може відбуватися, тому сценарії відключення автоматично не запускаються.
  • Система перебуває в runlevel 6. Що init 6робити для того, щоб поставити систему в runlevel 6. Знову ж, нічого запущеного не init 6буде, що виконання rebootкоманди не буде робити.

Інакше sudo rebootеквівалентно sudo shutdown -r now. Це все добре sudo init 6робить, але також:

  • повідомляє користувачів про те, що система виходить з ладу.
  • запобігає новим входам (хоча вони, ймовірно, не змогли б досягти успіху).
  • є більш інтуїтивно зрозумілим та самодокументованим, ніжsudo init 6 .

Якщо ви працюєте в системі, де ви лише ввійшли в систему, і лише локальні входи, нічого поганого в використанні init 6для перезавантаження не буде. Якщо так ви віддаєте перевагу перезавантажуватися, то, будь-ласка, йдіть вперед - цим нічого не шкодите. Але також немає нічого об'єктивно кращого в тому, щоб зробити це таким чином.

initВласна документація говорить, що це не звичайний спосіб вимкнути або перезавантажити систему. Врахуйте, що коли initвін працює користувачем (наприклад, коли ви працюєте sudo init 6), він фактично працює telinit(див. man init). telinitце те, що насправді змінює рівні пробігу. І man telinitкаже нам:

Зазвичай ви використовуєте інструмент shutdown (8) для зупинки або перезавантаження системи або для переведення її в режим однокористувача.


У мене є ПК Alienware X51 Dell, де я встановив Ubuntu 13.04 та ядро ​​3.11. Коли я роблю $ init 6, він перезавантажується, а іноді BIOS постійно показується. Це тому, що я використовую init 6, а не перезавантажую команду?

1
@YumYumYum Я не бачу, чому використання init 6цього спричинить. Якщо ви використовуєте rebootзамість цього init 6, чи завжди він минає BIOS?
Елія Каган

1
Я оновив прошивку BIOS з A00 до A02, з тих пір моя перезавантаження або init 6 працює, так що, здається, проблема BIOS була. Дякую.

Запуск rebootзупиняється іноді на моєму сервері Ubuntu 14.02 лише для одного користувача та локального входу. Це безпечно, я завжди syncпередую reboot -f?
користувач3549648
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.