При установке нового ядра или обновлении критически важных библиотек, таких как libc, необходимо перезагрузить систему Linux. И Debian, и Ubuntu могут сообщить вам, что система нуждается в перезагрузке, когда вы входите в систему как пользователь root.
Проверить нуждается ли сервер Ubuntu/Debian в перезагрузке
При входе в SSH выводится сообщение, о необходимости перезагрузки
Если файл /var/run/reboot-required существует, вы получите вышеуказанное сообщение. Вы можете проверить это самостоятельно, набрав команду cat:
1 | cat /var/run/reboot-required |
пример
1 2 | cat /var/run/reboot-required *** System restart required *** |
Можно поместить код в файл запуска оболочки, например ~/.bashrc:
1 | [ -f /var/run/reboot-required ] && cat /var/run/reboot-required |
Использование команды needrestart-session
Команда needrestart-session позволяет проверить, какие демоны необходимо перезапустить после обновления
Вы можете взять ее из upstream или установить с помощью команды apt-get/apt:
1 | apt-get install needrestart |
запуск утилиты
1 | needrestart |
При необходимости перезапуска, утилита выведет следующее диалоговое окно
Как только утилита получит подтверждение, она приступит к перезапуску необходимых служб и контейнеров
Использование утилиты checkrestart
Установка пакета debian-goodies
1 | apt install debian-goodies |
После установки выполните команду checkrestart, чтобы проверить, какие процессы необходимо перезапустить после обновления:
1 | checkrestart |
Пример вывода
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | checkrestart Found 88 processes using old versions of upgraded files (24 distinct programs) (13 distinct packages) Of these, 10 seem to contain systemd service definitions or init scripts which can be used to restart them. The following packages seem to have definitions that could be used to restart their services: atop: 292 /usr/sbin/atopacctd cron: 294 /usr/sbin/cron qemu-guest-agent: 299 /usr/sbin/qemu-ga openssh-server: 498 /usr/sbin/sshd nginx-full: 2894 /usr/sbin/nginx 27088 /usr/sbin/nginx 27090 /usr/sbin/nginx 27091 /usr/sbin/nginx 27092 /usr/sbin/nginx mongodb-org-server: 12563 /usr/bin/mongod unattended-upgrades: 19006 /usr/share/unattended-upgrades/unattended-upgrade-shutdown policykit-1: 19114 /usr/lib/policykit-1/polkitd rsyslog: 138703 /usr/sbin/rsyslogd These are the systemd services: systemctl restart mongod.service systemctl restart epmd.service systemctl restart polkit.service These are the initd scripts: service atopacct restart service atop restart service cron restart service qemu-guest-agent restart service ssh restart service nginx restart service unattended-upgrades restart service rsyslog restart |