如何使用 Bash 检测 apt-get 是否需要重新启动?
我正在编写一个 bash 脚本(适用于基于 apt-get 的操作系统),它可以自动执行各种程序的安装过程。在此过程中,我有时会运行“apt-get -fy update”和“apt-get -fy update”。在升级过程中,偶尔需要重启。
我的问题:有没有办法测试系统在运行“apt-get -fy update”后是否要求重新启动?我正在尝试编写脚本,让它从头到尾运行,无需人工干预。
谢谢。
I am writing a bash script (for apt-get based OS's) that automates the installations process of various programs. In this process I run "apt-get -fy update" and "apt-get -fy upgrade" sometimes. In the process of upgrading, occasionally, a restart is required.
My question: is there a way of testing if the system is asking for a restart after running "apt-get -fy upgrade"? I am trying to write the script for it to run from beginning to end without human any intervention.
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用文件 /var/run/reboot-required 来完成您想要的操作。所以我们会有这样的:
Use the file /var/run/reboot-required which does exactly what you want. So we will have this:
我不记得 apt-get 是否实际上给了您一条可预测格式的消息,通知您是否需要重新启动,但如果确实如此,您可以检查输出,例如类似 apt-获取-fy更新| grep -q '填写重启消息模式' &&重新启动。
另一个可能不太可靠的替代方案是使用 debian-goodies 包中的 checkrestart 。
I don't recall whether
apt-get
actually gives you a predictably formatted message informing you whether a restart is necessary, but if it does you could just check the output, e.g. something likeapt-get -fy update | grep -q 'fill in restart message pattern' && reboot
.Another probably less reliable alternative is to use
checkrestart
from thedebian-goodies
package.如果您执行此操作,
它将尊重顺序并更新直至完成并最终重新启动服务器。
If you do a
it will respect the order and will update until finish and finally restart your server.