答案1
这是安全功能。别管它。
如果 apt 在系统停机(关闭)时恰好正在运行,则 apt 数据(软件包和元数据)可能会损坏。unattended-updates-shutdown 脚本暂时抑制关闭信号直到 apt 完成。
该脚本无法防止由于突然断电或按住电源按钮而导致的损坏,而 apt 恰好正在运行。避免这些情况并保持定期备份的另一个原因是。
该脚本是 Python 语言的,包括开发人员的注释。请随意阅读并亲自了解。
答案2
最近我也遇到了同样的问题,当时我正在检查镜像烘焙过程中后台运行的无人值守升级。基本上,我会等待 apt 锁释放,然后继续更新。
我曾经运行过这个:
while pgrep unattended; do sleep 10; done;
在执行我的任何脚本之前,因为当我尝试使用 dpkg 锁错误执行 apt install/upgrade/update 时,它们会在无人值守升级运行的某些奇怪间隔内随机失败。
因此,我询问了检查后台无人值守升级的正确方法,IRC 的 TJ- 给了我一个非常优雅的解决方案!在引导脚本繁忙时禁用 uu 服务。如下所示:
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