如何检查是否启用了自动更新?

com*_*com 82 server updates

我想确定是否在 Ubuntu 12.04 服务器上启用了自动更新。

我该如何检查?

如果已启用,如何禁用自动更新?

Lin*_*ill 73

有一个包可用于为您执行此操作。

sudo apt-get install unattended-upgrades
Run Code Online (Sandbox Code Playgroud)

或者如果已经安装了无人值守升级。或者您可以查看Ubuntu 文档

sudo dpkg-reconfigure -plow unattended-upgrades
Run Code Online (Sandbox Code Playgroud)

那就是你需要安装的包。安装后编辑文件

/etc/apt/apt.conf.d/10periodic
/etc/apt/apt.conf.d/20auto-upgrades
Run Code Online (Sandbox Code Playgroud)

在该文件中,您可以设置希望服务器更新的频率。

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";
Run Code Online (Sandbox Code Playgroud)

该文件应该是这样的。1 表示它将每天更新。7 是每周一次。

/etc/apt/apt.conf.d/50unattended-upgrades
Run Code Online (Sandbox Code Playgroud)

通过选择 apt 可以搜索新更新和升级的位置,此文件将让​​您选择要进行的更新。(我个人对此的看法是,如果这是服务器,我会将其设置为安全性)

Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}-security";
//      "${distro_id}:${distro_codename}-updates";

};
Run Code Online (Sandbox Code Playgroud)

变量${distro_id}${distro_codename}会自动展开。我会注释掉更新条目并离开安全性。

  • 这似乎是关于如何安装和设置无人值守升级的指南,而不是如何断言升级正在应用。 (7认同)
  • 是否应该更新以提及`/etc/apt/apt.conf.d/20auto-upgrades` 因为这是`APT::Periodic::Update-Package-Lists "1";` 和`APT::Periodic: :Unattended-Upgrade "1";` 在 13.10 上默认保留? (5认同)

小智 23

检查日志/var/log/unattended-upgrades/以验证是否正在应用无人值守升级。

  • 虽然我赞成你的答案,但它是我需要的最接近的答案(目前),你能解释一下我想要寻找什么吗?如果启用与禁用,它会是什么样子!谢谢 (5认同)

jar*_*rno 5

(我做了另一个答案,因为我对 LinuxBill 答案的更改被拒绝了。)

有一个软件包可用于为您启用自动更新。这称为无人值守升级。

使用以下命令启用/禁用自动更新:

sudo dpkg-reconfigure -plow unattended-upgrades
Run Code Online (Sandbox Code Playgroud)

该命令将修改文件/etc/apt/apt.conf.d/20auto-upgrades,也可能修改/etc/apt/apt.conf.d/10periodic.

software-properties-gtk或者,您可以通过在“更新”选项卡中更改“当有安全更新时:”中的设置来启用自动更新 GUI 方式。这将修改文件/etc/apt/apt.conf.d/10periodic/etc/apt/apt.conf.d/20auto-upgrades.

或者,您可以手动修改上述文件。编辑:您可以创建一个具有更大数字作为名称前缀(例如 21auto-upgrades)的新文件来覆盖 20auto-upgrades 中完成的设置。

在该文件中,您可以设置调用更新的频率:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";
Run Code Online (Sandbox Code Playgroud)

1 表示每天都会更新。7 是每周。变量 APT::Periodic::AutocleanInterval 确定自动执行“apt-get autoclean”的频率。0 表示禁用这些变量,这样您就可以禁用自动更新和删除。编辑:由于现在自动更新和升级是使用 Systemd 计时器和服务而不是 Cron 调用的,因此最好将变量设置为“始终”而不是“1”。这样,即使部分随机的时间安排使得调用比上一次调用后一整天要早一些,也会得到更改。

您可以通过以下方式检查当前设置apt-config dump APT::Periodic

您可以通过编辑 file 来更改无人值守升级的工作方式/etc/apt/apt.conf.d/50unattended-upgrades。该文件将让您通过选择 apt 可以搜索新更新和升级的位置来选择要进行的更新。实际上,最好创建一个新文件来放置修改;将其命名为51unattended-upgrades-local或大于目录中原始文件的名称,以便更改生效;这样,原始文件保持不变,如果升级无人值守升级意味着文件发生更改,这会有所帮助。

Unattended-Upgrade::Allowed-Origins {
      "${distro_id}:${distro_codename}-security";
//      "${distro_id}:${distro_codename}-updates";
//      "${distro_id}:${distro_codename}-proposed";
//      "${distro_id}:${distro_codename}-backports";
};
Run Code Online (Sandbox Code Playgroud)

变量${distro_id}${distro_codename}会自动扩展。上面仅自动完成安全更新。您可以将自动更新扩展到任何存储库并在部分中进行设置Unattended-Upgrade::Origins-Pattern。参见另一个问题

你可能想要改变

//Unattended-Upgrade::Remove-Unused-Dependencies "false";
Run Code Online (Sandbox Code Playgroud)

Unattended-Upgrade::Remove-Unused-Dependencies "true";
Run Code Online (Sandbox Code Playgroud)

这将自动删除例如过多的旧内核,以便 /boot 不会变满。它相当于sudo apt autoremove.

编辑:较新版本的无人值守升级包括用于删除未使用的软件包的更复杂的设置,因此您无需启用以前的设置:

// Remove unused automatically installed kernel-related packages
// (kernel images, kernel headers and kernel version locked tools).
//Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";

// Do automatic removal of newly unused dependencies after the upgrade
//Unattended-Upgrade::Remove-New-Unused-Dependencies "true";
Run Code Online (Sandbox Code Playgroud)

Ubuntu 文档无人值守升级 github中有更多信息