我最近也遇到了同样的问题,在我的镜像制作过程中检查后台是否运行了未经授权的升级。基本上,我会等待apt锁被释放,然后继续进行更新。
我以前运行的是:
while pgrep unattended; do sleep 10; done;
在执行任何脚本之前,请注意,由于未经事先通知的升级进程(unattended-upgrades)正在运行,我尝试使用apt安装/升级/更新时可能会出现dpkg锁定错误。因此,我询问了如何正确检查后台中的未经事先通知的升级工作,并且IRC上的TJ-给了我一个非常优雅的解决方案!在引导脚本忙碌时禁用未经事先通知的升级服务,如下:
systemctl mask unattended-upgrades.service
systemctl stop unattended-upgrades.service
完成烘焙后,请重新启用:
systemctl unmask unattended-upgrades.service
systemctl start unattended-upgrades.service
此外,您可以运行此命令以确保不会过早启动您的进程:
while systemctl is-active --quiet unattended-upgrades.service; do sleep 1; done
可能不是你在找的,但对我来说非常有帮助。这可能与以下相关:
https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1803137