如何检查安装软件包是否需要重新启动?

5 updates package-management reboot apt software-installation

我经常为它们安装软件包和更新,尽管有时如果其中一个软件包需要重新启动并不方便,那么有什么方法可以安装软件包/更新之前告诉您它是否需要您执行重启?我已经看过here,那里的解决方案并没有解决我的问题,也没有解决那里描述的或多或少相同的问题。

小智 13

软件包上没有指示如果安装或更新软件包需要重新启动的标志。所以,简短的回答:你不能。

但是,您可以在安装或更新之前提取软件包的 .deb 文件,以查看DEBIAN/postinst脚本中是否发出了重新启动通知。例如,postinst在脚本linux-image-*.deb包执行/usr/share/update-notifier/notify-reboot-required脚本,这反过来又创造了/var/run/reboot-required文件。其他postinst脚本可能使用相同的方法来指示必要的重新启动,但没有强制执行获取/var/run/reboot-required文件创建的默认方法。可能是某个包由一个并不真正像其他维护者那样做事情的人维护,并决定重启通知也可以在另一个脚本中完成,例如DEBIAN/preinst. 所以,答案很长:你可以,但实现和维护一种检测所有可能的重启通知的方法将是一场真正的噩梦。