В нашей организации около 500 машин RedHat Linux.
На всех машинах мы установили приложения и службы /etc/init.d
, а также серверы Oracle RAC. Мы намерены выполнять ням-обновления на всех машинах и после этого выполнить перезагрузку.
Поэтому мне было интересно, какая команда безопаснее:
reboot
или же
shutdown -r now
reboot
это просто устаревшая команда и все еще существует только для обратного компатита.Ответы:
Для систем Red Hat функциональной разницы между
reboot
и нетshutdown -r now
.Делай то, что тебе легче.
источник
halt
,reboot
иpoweroff
не принимает сообщение о причине или время, как объяснил Михаил Т. , Я думаю, что я бы подумал, что один инструмент способен делать что-то, что другой не допускает, чтобы быть «функциональным отличием».Отключение предпочтительнее, потому что оно позволяет вам указать причину радикальных действий - то, что вы всегда должны делать. Сообщение будет записано в журнал (ы) для потомков. Например:
shutdown -r now 'Kernel upgrade requires reboot'
Вы также можете выполнить запланированную перезагрузку, указав что-то отличное от
now
времени перезагрузки:shutdown -r 22:00 'Work around kernel memory leak'
Тогда ваши пользователи будут получать периодические напоминания, чтобы выйти и так далее - процесс будет более упорядоченным и профессиональным.
источник
Если вы посмотрите, в RHEL 7 и то
/sbin/shutdown
и другое на/sbin/reboot
самом деле просто символические ссылки наsystemctl
команду systemd . Так что пользуйтесь как хотите. Как сказал ewwhite, никаких функциональных различий нет даже в более ранних выпусках RHEL, в которых еще не использовался systemd.источник
/sbin/shutdown
и/sbin/reboot
делать не ведут себя так же во всех случаях (в частности:/sbin/shutdown
! Не перезагружать по умолчанию), так что если они слинкован в тот же исполняемый файл, то , что исполняемый файл необходимо изучать егоARGV[0]
и соответственно корректировать его поведение. Хотя это, безусловно, снижает риск непреднамеренных различий, это не является убедительным доказательством того, что нет никаких преднамеренных функциональных различий, о которых ОП может захотеть узнать.reboot
вы видите символическую ссылкуsystemctl
, вы не можете использовать ее, например,reboot status whatever.service
как и в случае с последней, не так ли?Использование
reboot
безопаснее.Использование
reboot
вашего намерения понятно, и нет способа ошибочно набрать его для чего-то еще,shutdown -t now
что может привести к головной боли, если вы используете на удаленном сервере с ограниченным контролем.источник
Для современного RHEL рекомендуется использовать команду systemctl, как показано здесь : [недавние] дистрибутивы RHEL должны использовать новую команду systemctl для запуска poweroff / reboot. Как указано в руководствах по перезагрузке и выключению, они являются «устаревшей командой, доступной только для совместимости».
Однако, если вы используете много разных дистрибутивов или дистрибутивов разных винтажов, то, возможно, придерживайтесь
shutdown -r now 'reason for shutdown'
.Основная причина использования
reboot
заключается в том, чтобы избежать риска забыть добавить -r при использованииshutdown -r
на удаленном компьютере, что может легко привести к невозможности повторного входа в систему и необходимости использования удаленного администратора (если доступно) для перезапуска машина.источник
Старые системы определенно делали различие между
shutdown
иreboot
. Последний не будет закрывать службы или даже синхронизировать дисковые буферы. В гетерогенных средах - или во избежание прецедента, который может быть опасным в будущем при столкновении с другими реализациями * ix - есть смысл войти вshutdown
привычку.источник