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


77

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

我该如何检查呢?

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


1
我正在尝试构建与其他服务器配置相同的服务器,如果有人回答了这些简单的问题,我将非常喜欢它:如何检查是否启用了自动更新...我了解如何相对较好地打开和关闭它们...但只想知道状态。
FreeSoftwareServers

最初的问题是关于“更新”的,但是答案是指“升级”,而在同一上下文中包括“更新”一词。尽管我注意到我的软件更新程序可以手动更新,但是它还提供了对Ubuntu更高版本的升级。许多来源对这两个术语的使用似乎有很大的困惑。
MikeBT '17

1
“更新”和“升级”具有多种含义;我认为限制它们是不可行的。例如,touch(1)使用“更新”来表示与包管理不直接相关的内容:“将每个FILE的访问和修改时间更新为当前时间。” Ubuntu的软件和更新实用程序,apt-get update用“更新”来表示不同的含义。我认为这艘船已经航行了。虽然有一个元文章
伊莱亚·卡根

Answers:


69

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

sudo apt-get install unattended-upgrades

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

sudo dpkg-reconfigure -plow unattended-upgrades

那就是您需要安装的软件包。安装完成后,编辑文件

/etc/apt/apt.conf.d/10periodic
/etc/apt/apt.conf.d/20auto-upgrades

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

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

该文件应如下所示。1表示它将每天更新。每周7点。

/etc/apt/apt.conf.d/50unattended-upgrades

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

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

};

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


5
是否应该对此进行更新以提及,/etc/apt/apt.conf.d/20auto-upgrades因为这是默认位置APT::Periodic::Update-Package-Lists "1";APT::Periodic::Unattended-Upgrade "1";并保留在13.10上?
Steakhouseunderscore 2014年

同样,在我的Ubuntu Server 12.04 LTS上,该50unattended-upgrades文件已设置了安全更新,因此默认设置似乎正确,并且不需要编辑该文件。
杰夫·阿特伍德

在我新的ubuntu服务器中,没有任何服务器/etc/apt/apt.conf.d/10periodic。目前unattended-upgrades已安装的软件包,并/etc/apt/apt.conf.d/50unattended-upgrades在那里过。我的问题是,我手动添加了/etc/apt/apt.conf.d/10periodic,是否应该重新启动服务器,这样配置才能生效?
foresightyj

6
这似乎是有关如何安装和设置无人值守升级的指南,而不是如何断言正在应用的升级的指南。
ThorSummoner 2015年

谢谢,我的版本升级到17.04后由于某种原因已经过时了。
EODCraft工作人员

19

检查以下位置的日志/var/log/unattended-upgrades/以验证是否正在应用无人参与的升级。


3
当我对您的答案(它是我目前所需要的最接近的答案)进行投票时,您能解释一下我要寻找的内容吗?如果启用与禁用,会是什么样子!谢谢
FreeSoftwareServers 2016年

4

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

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

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

sudo dpkg-reconfigure -plow unattended-upgrades

该命令将修改文件/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

或者,您可以手动修改上述文件。在该文件中,您可以设置调用更新的频率:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

该文件应如下所示。1表示它将每天更新。每周7点。变量APT :: Periodic :: AutocleanInterval确定自动执行“ apt-get autoclean”的频率。0表示禁用这些变量。

您可以通过编辑file来更改无人值守升级的工作方式/etc/apt/apt.conf.d/50unattended-upgrades。该文件可让您通过选择apt可以搜索新更新和升级的地方来选择要进行的更新。

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

变量${distro_id}${distro_codename}将自动展开。在上面,仅安全更新是自动完成的。您可以将自动更新扩展到任何存储库,请参见另一个问题

您可能要更改

//Unattended-Upgrade::Remove-Unused-Dependencies "false";

Unattended-Upgrade::Remove-Unused-Dependencies "true";

这将自动删除例如过多的旧内核,以使/ boot不会变满。

Ubuntu文档中有更多信息。


sudo dpkg-reconfigure -plow unattended-upgrades取得的20auto-upgrades文件
雷福斯

-1

默认情况下启用自动更新。如果没有,要启用自动更新,只需按键盘上的Ctrl+ Alt+ T打开终端。打开时,运行以下命令。

sudo apt-get install unattended-upgrades

在服务器中,您还可以编辑/etc/apt/apt.conf.d/50unattended-upgrades,并注释掉不想自动升级的更新。这些编辑必须以root特权完成。


1
我不认为默认情况下未启用该功能,至少在服务器安装中未启用该功能。但是,看起来该软件包确实确实已自动安装,甚至在服务器上也是如此。
亚历克西斯·威尔克2015年

我同意。就像另一个评论者在askubuntu.com/questions/172524/…中指出的那样,其中的存在和内容/etc/apt/apt.conf.d/20auto-upgrades才是真正使自动更新成为可能的东西。很高兴知道!
本·约翰逊
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.