Навіщо нам потрібна функція перезавантаження у різних бінарних файлах?
shutdown -r
і
reboot
Або вони в чомусь відрізняються?
Навіщо нам потрібна функція перезавантаження у різних бінарних файлах?
shutdown -r
і
reboot
Або вони в чомусь відрізняються?
Відповіді:
Нам обом вони не потрібні, але ми маємо їх як через історію Unix, так і через безліч версій.
З відповідних чоловічих сторінок:
відключення є більш загальним призначенням і потужнішим, тоді як перезавантаження дружніше і легше запам’ятати.
вимкнення дозволяє вказати тимчасовий аргумент (наприклад, перезапустити через 5 хвилин) і дозволяє зробити багато речей, крім перезавантаження, включаючи:
Тим НЕ менше, якщо ви просто хочете , щоб перезавантажити систему зараз, це простіше набрати rebootніж shutdown -r now.
shutdownвикористовуються зараз за замовчуванням. Не намагайтеся будь-коли отримати допомогу щодо відключення shutdown -h, особливо не на сервері десь у центрі обробки даних.
Дві команди виконують щось по-іншому, однак вони можуть в кінцевому підсумку дзвонити один одному, тому вони, здається, роблять те саме!
rebootбуде викликати ядро для фактичного запуску апаратного перезавантаження. Однак це зробить це лише в тому випадку, якщо система готова до відключення - всі демони і користувацькі процеси повинні бути зупинені, файлові системи відключені і т. Д. Отже, вона перевіряє рівень запуску системи, і якщо це не 0 або 6, то вона фактично викликає shutdownкоманда для вас.
shutdownвикликає зміну рівня запуску системи. Зміна рівня запуску (до 0 для зупинки або 6 для перезавантаження) запускає безліч скриптів у /etc/rc0.d або rc6.d, які закривають демон, демонтувати файлові системи тощо. Нарешті ці сценарії викликають haltабо reboot- цього разу система перебуває у правильний рівень запуску, і вони вказують ядру перезавантажити (або зупинити).
Окрім того, що писав iconoclast, існує важлива відмінність між двома програмами: shutdownє в /sbin, а rebootє в /usr/bin.
Чому це має значення, запитаєте ви? Я скажу вам.
Це /usrте, що не повинно бути доступним, поки система не завантажиться достатньо далеко, щоб система була мінімально функціональною. Каталоги верхнього рівня , які ніколи звичайно не монтуються на окремих файлових системах - /bin, /etc, /sbinі т.д. - як очікується, буде доступні в той час як система досягає цього мінімально корисне стан. Існують різні наслідки цієї конструкції; наприклад, поганий стиль написання пункту "стоп" для сценарію init SysV, який використовує програми, /usr/binякщо є альтернатива в /binабо /sbin.
shutdown- це ключова утиліта, яка завжди є. rebootє лише зручною утилітою.
rebootзнаходиться в /sbinDebian (з SysVinit) і Ubuntu (з upstart).