如何确定我的Ubuntu/Debian Linux服务器是否需要重启
时间:2020-01-09 10:39:12 来源:igfitidea点击:
我使用ansible-playbook更新托管在远程数据中心中的VM和裸机服务器。
我如何确定Ubuntu或Debian Linux服务器是否需要通过基于ssh的会话使用命令行重启?
安装新内核或更新关键库(例如libc)时,必须重新引导Linux机器。
当您以root用户身份登录到Box时,Debian和Ubuntu Linux都可以告诉您系统是否需要重启。
找出我的Ubuntu/Debian Linux服务器是否需要重启
要了解您的Debian或Ubuntu云VM/VPS是否需要重启,请使用以下命令。
直接登录如下:
$ ssh [email protected]
或者
$ ssh [email protected] $ sudo -i
如果文件/var/run/reboot-required
存在,则会收到上述消息。
您可以通过输入cat命令自己检查它:
$ cat /var/run/reboot-required
输出示例:
*** System restart required ***
可以在shell启动文件中放入某种代码,例如~/.bashrc:
[ -f /var/run/reboot-required ] && cat /var/run/reboot-required
或在脚本或启动文件中使用if命令:
if [ -f /var/run/reboot-required ] then echo "[*** Hello $USER, you must reboot your machine ***]" fi
您必须使用reboot命令重新引导Linux服务器/桌面:
$ sudo reboot
或者
$ sudo shutdown -r now
此方法似乎仅在Ubuntu Linux上有效。
库升级后,如何使用needrestart-session命令检查需要重新启动哪些守护程序
needrestart-session命令检查是否需要在用户会话中重新启动进程。
您可以从上游获取它,也可以使用apt-get命令/apt命令安装它:
$ sudo apt-get install needrestart
您可以按以下方式运行它:
$ sudo needrestart
如何使用checkrestart命令检查升级后需要重新启动哪些进程
您必须安装debian-goodies软件包:
$ sudo apt-get install debian-goodies
安装完成后,运行run checkrestart命令来检查升级后需要重新启动哪些进程:
$ sudo checkrestart
检查内核和libc
您可以手动检查已安装/更新的软件包日志:
$ grep installed /var/log/dpkg.log $ grep upgrade /var/log/dpkg.log $ tail -f /var/log/apt/history.log
或者
$ grep libc /var/log/dpkg.log
或使用以下grep命令查找是否最近安装了libc/linux-image(内核):
$ grep -B1 libc /var/log/apt/history.log $ grep -B1 linux-image /var/log/apt/history.log