每隔一段时间,我就会通过 SSH 进入一个带有无人值守升级的盒子,并收到“** 系统重启需要 ***”而没有其他信息。
我的“/var/run/reboot-required.pkgs”文件包含:
linux-image-3.13.0-61-generic
linux-base
linux-base
linux-base
Run Code Online (Sandbox Code Playgroud)
我不介意重新启动,但我不喜欢在没有详细说明为什么我应该首先重新启动的情况下重新启动。在上面,我看到两个包触发了消息,但除此之外没有任何解释。
有没有办法获得有关重新启动原因的其他详细信息也显示在 SSH 登录中?
理想情况下,我想拉入一个包含人类可读内容的文件,例如“包 xyz 已在 [日期/时间] 更新。它需要修改文件 a、b 和 c,但无法修改,因为系统阻塞/将阻止该操作。下次重新启动时,文件 a、b 和 c 将被替换。” 但是一些不完全人类可读的东西也可能没问题。
Liv*_*eBT 32
正如您已经发现的那样,您可以在 /var/run/reboot-required.pkgs
现在您只需要查看包的更新日志即可找到您要查找的信息。
/usr/share/doc/${package_name}(例如:)中找到更改日志zless /usr/share/doc/linux-image-3.13.0-61-generic/changelog.Debian.gz。apt-listchanges来使这更方便(1、2、3)。另一种方法是使用packages.ubuntu.com。
在你的情况下:

最终调用的文件是/usr/lib/update-notifier/update-motd-reboot-required(由 调用/etc/update-motd.d/98-reboot-required)。
在这些文件之一的条件 if 语句中,只需添加以下内容:
echo "Packages causing reboot:"
cat /var/run/reboot-required.pkgs
Run Code Online (Sandbox Code Playgroud)
因此,例如,您的/usr/lib/update-notifier/update-motd-reboot-required文件将如下所示:
#!/bin/sh -e
#
# helper for update-motd
if [ -f /var/run/reboot-required ]; then
cat /var/run/reboot-required
echo "Packages causing reboot:"
cat /var/run/reboot-required.pkgs
fi
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18608 次 |
| 最近记录: |