如何获得自动升级在Ubuntu服务器上工作?

我遵循了在Ubuntu服务器上启用自动升级的文档 ,但它并没有真正更新任何内容。

我的/etc/apt/apt.conf.d/50unattended-upgrades看起来差不多是默认的。

// Automatically upgrade packages from these (origin, archive) pairs Unattended-Upgrade::Allowed-Origins { "Ubuntu karmic-security"; "Ubuntu karmic-updates"; }; // List of packages to not update Unattended-Upgrade::Package-Blacklist { // "vim"; // "libc6"; // "libc6-dev"; // "libc6-i686"; }; // Send email to this address for problems or packages upgrades // If empty or unset then no email is sent, make sure that you // have a working mail setup on your system. The package 'mailx' // must be installed or anything that provides /usr/bin/mail. Unattended-Upgrade::Mail "[email protected]"; // Automatically reboot *WITHOUT CONFIRMATION* if a // the file /var/run/reboot-required is found after the upgrade //Unattended-Upgrade::Automatic-Reboot "false"; 

目录/ var / log / unattended-upgrades /是空的。 运行/etc/init.d/unattended-upgrades start不是很好:

 root@mozart:~# /etc/init.d/unattended-upgrades start Checking for running unattended-upgrades: root@mozart:~# 

东西似乎被打破,但我不知道为什么。

我有未决的更新,他们没有被应用:

 root@mozart:~# aptitude safe-upgrade Reading package lists... Done Building dependency tree Reading state information... Done Reading extended state information Initializing package states... Done The following packages will be upgraded: linux-libc-dev 1 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 0B/743kB of archives. After unpacking 4096B will be used. Do you want to continue? [Y/n/?] 

在我所有的服务器中,无人看pipe的升级似乎已被禁用:

 root@mozart:~# apt-config shell UnattendedUpgradeInterval APT::Periodic::Unattended-Upgrade root@mozart:~# 

任何想法我错过了什么?

你检查/etc/apt/apt.conf.d/10periodic?

它应该有最后一行

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

在这里查看Ubuntu版本的实际文档:

 /usr/share/doc/unattended-upgrades/README.gz 

对于Ubuntu 11.10,要启用它,你需要:

 sudo dpkg-reconfigure -plow unattended-upgrades 

(这是一个交互式对话框),它将创build/etc/apt/apt.conf.d/20auto-upgrades其中包含以下内容:

 APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1"; 

所以Ubuntu 10.04服务器指南中的信息确实是过时的。

如果您像使用Bippo和Soluvas一样使用Puppet ,则可以使用类似这样的方法来自动执行适当的无人值守升级configuration:

 # Unattended upgrades package { unattended-upgrades: ensure => present } file { '/etc/apt/apt.conf.d/50unattended-upgrades': content => template('bipposerver/50unattended-upgrades'), mode => 0644, require => Package['unattended-upgrades'], } file { '/etc/apt/apt.conf.d/20auto-upgrades': source => 'puppet:///bipposerver/20auto-upgrades', mode => 0644, require => Package['unattended-upgrades'], } service { unattended-upgrades: enable => true, subscribe => [ Package['unattended-upgrades'], File['/etc/apt/apt.conf.d/50unattended-upgrades', '/etc/apt/apt.conf.d/20auto-upgrades'] ], } 

确保按照您的要求提供模板/文件50unattended-upgrades20auto-upgrades

我也在更新Ubuntu Wiki页面来反映这一点。

我没有看到你的/etc/apt/apt.conf.d/50unattended-upgrades什么问题。 我看起来几乎和你的一样,但我只是让安全升级自动应用,没有别的。 我也有它发送邮件简单地“根”(后缀处理其余)。

但是:init脚本/etc/init.d/unattended-upgrades不适用于运行无人值守的升级。 它只是检查无人参与升级过程是否正在运行,并等待它退出。 我不知道为什么需要它,或者为什么它会这样做(以前的Ubuntu版本中没有这个function),但是这不是做无人值守升级的方法。

相反,在Ubuntu上有一个名为unnattended-upgrades的Python程序来完成这项工作。 尝试手动运行,看看会发生什么。 同时检查命令的输出

 apt-config shell UnattendedUpgradeInterval APT::Periodic::Unattended-Upgrade 

它应该说UnattendedUpgradeInterval='1' ,表示正确configuration了APT以允许无人值守的升级。

Ubuntu每天从cron运行/etc/cron.daily/apt 。 如果你看看这个脚本,你会发现它执行了各种与APT有关的事情,其中​​包括无人值守的升级。 我的猜测是,你以某种方式禁用该cron脚本,因此没有任何事情无人照pipe。

就是这样,或多或less,我的头顶。 如果您尝试了我的想法,但没有成功,请发布后续行动。

HTH