Ubuntu 18.10 - 无人值守升级关机 --wait-for-signal

Mar*_*vas 17 upgrade server shutdown unattended-upgrades 18.10

我有一个htop在命令下列出的过程,说明以下内容

/usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal

判断依据:

--等待信号

以及一些关于是什么的研究unattended-upgrades,这让我觉得还有其他东西需要更新,所以我尝试关闭服务器几次,运行:

 sudo unattended-upgrade
Run Code Online (Sandbox Code Playgroud)

并遵循这些步骤,但即使系统是最新的,它仍然存在。

是否只是在那里检查何时需要进行另一次升级?

我应该担心它还是就这样?

提前致谢。

use*_*733 11

这是一个安全功能。不要管它。

如果 apt 在系统停止(关闭)时恰好正在运行,则可能会损坏 Apt 数据(包和元数据)。unattended-updates-shutdown 脚本暂时禁止关闭信号,直到 apt 完成。

该脚本无法防止由于突然断电或按住电源按钮而导致的损坏,而 apt 恰好正在运行。避免这些并保持定期备份的另一个原因。

该脚本使用 Python 编写,包括开发人员的注释。请随意阅读并亲自查看。

  • 为什么用python实现呢?即使在 ARM Debian 上也需要 10MB RAM。听起来不像是一种高效的 Linux 方法,而是一些组合在一起的方法。 (7认同)
  • @VincentAlex 它是用 Python 实现的,因为开发人员选择用 Python 实现。它是开源软件——欢迎任何参与者(包括您)做出真正的改进。 (3认同)
  • 为什么“无人值守更新”仅在更新实际运行时才禁止关闭,而不是始终有一个单独的禁止进程? (2认同)

小智 7

我最近也遇到了同样的问题,同时在我的图像烘焙过程中检查后台运行的无人值守升级。基本上,我会等待 apt 锁被释放,然后继续我的更新。

我曾经运行过这个:

while pgrep unattended; do sleep 10; done;
Run Code Online (Sandbox Code Playgroud)

在执行我的任何脚本之前,因为当我尝试使用 dpkg 锁定错误执行 apt install/upgrade/update 时,它​​们会在无人值守升级的情况下以奇怪的间隔随机失败。

所以我要求正确的方法来检查在后台运行的无人值守升级,来自 IRC 的 TJ- 给了我一个非常优雅的解决方案!在引导脚本繁忙时禁用 uu 服务。如:

systemctl mask unattended-upgrades.service
systemctl stop unattended-upgrades.service
Run Code Online (Sandbox Code Playgroud)

然后在完成烘焙后重新启用:

systemctl unmask unattended-upgrades.service
systemctl start unattended-upgrades.service
Run Code Online (Sandbox Code Playgroud)

此外,您可以运行它以确保您不会过早地启动您的流程:

while systemctl is-active --quiet unattended-upgrades.service; do sleep 1; done
Run Code Online (Sandbox Code Playgroud)

可能不是您要找的东西,但这对我非常有帮助。这可能与:https : //bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1803137有关