Назад | Перейти на главную страницу

Как сделать так, чтобы автоматические обновления работали на сервере 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 "pupeno@example.com";


// 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-updates / пуст. Запускать /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/?]

На всех серверах, которые у меня есть, автоматические обновления, похоже, отключены:

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

Есть идеи, что мне не хватает?

Актуальную документацию для вашей версии Ubuntu можно найти здесь:

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

Для Ubuntu 11.10, чтобы включить его, вам нужно:

sudo dpkg-reconfigure -plow unattended-upgrades

(это интерактивный диалог), который создаст /etc/apt/apt.conf.d/20auto-upgrades со следующим содержанием:

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

Так что действительно информация в Руководство по серверу Ubuntu 10.04 устарело.

Если вы используете Кукольный как мы делаем в Биппо и Солувас, вы можете использовать что-то вроде этого для автоматизации правильного автоматические обновления конфигурация:

# 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-upgrades и 20auto-upgrades как вы считаете нужным.

Я также обновляю Страница вики Ubuntu чтобы отразить это.

Я не вижу ничего плохого в твоем /etc/apt/apt.conf.d/50unattended-upgrades. Мой выглядит почти так же, как ваш, но я разрешаю автоматически применять обновления безопасности, и ничего больше. У меня также настроена отправка почты просто "root" (все остальное Postfix обрабатывает).

Но: сценарий инициализации /etc/init.d/unattended-upgrades не для запуска автоматических обновлений. Он просто проверяет, запущен ли процесс автоматического обновления, и ожидает его завершения. Я действительно не знаю, зачем это нужно или почему он делает то, что делает (его даже не было в предыдущих версиях Ubuntu), но это не способ выполнять автоматические обновления.

Вместо этого в Ubuntu есть программа Python под названием unnattended-upgrades это делает работу. Попробуйте запустить это вручную и посмотрите, что произойдет. Также проверьте вывод команды

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

Следует сказать UnattendedUpgradeInterval='1', указывая, что вы правильно настроили APT, чтобы разрешить автоматические обновления.

Ubuntu работает /etc/cron.daily/apt ежедневно из cron. Если вы посмотрите на этот скрипт, вы увидите, что он выполняет различные действия, связанные с APT, в том числе автоматические обновления. Я предполагаю, что вы каким-то образом отключили этот скрипт cron, и поэтому ничего не происходит без присмотра.

Вот и все, более или менее, из моей головы. Пожалуйста, опубликуйте продолжение, если вы безуспешно опробовали мои идеи.

HTH

Вы проверяли /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";