Como fazer as atualizações automáticas funcionarem no Ubuntu Server?

8

Eu segui a documentação para habilitar atualizações automáticas nos servidores Ubuntu, mas na verdade não está atualizando nada.

Meu /etc/apt/apt.conf.d/50unattended-upgrades parece quase o padrão.

// 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";

O diretório / var / log / upgrades autônomos / está vazio. Executar /etc/init.d/unattended-upgrades start não é muito bom:

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

Algo parece estar quebrado, mas não sei por que.

Tenho atualizações pendentes e elas não estão sendo aplicadas:

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/?]

Em todos os servidores que tenho, as atualizações autônomas parecem ter sido desativadas:

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

Alguma idéia do que estou perdendo?

pupeno
fonte
A libc é um pacote importante. Eu não deixaria nenhum servidor atualizar isso sozinho!
Antoine Benkemoun
Antoine, não tenho nenhum problema com isso; além disso, libc-dev é o pacote devel, provavelmente um monte de .he coisas assim. E isso é apenas o que está pendente agora, agora o que estará pendente posteriormente, portanto, discutir este pacote específico não adiciona muito ao problema.
pupeno

Respostas:

4

Você verificou /etc/apt/apt.conf.d/10periodic?

deve ter a última linha

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "1";
APT::Periodic::Unattended-Upgrade "1";
Tanarri
fonte
5
Essas configurações nem todas vivem em 10 períodos periódicos, mas são distribuídas em 10 períodos periódicos, 20 atualizações automáticas e 50 atualizações automáticas. Se você colocá-los no lugar errado, uma futura atualização do APT poderá substituí-los. 20auto-upgrades é o local para configurar o APT :: Periodic :: Unattended-Upgrade "1"; e atualização automática para ajustar o comportamento, conforme descrito no Guia do servidor Ubuntu.
daff
Você poderia colocar as informações detalhadas aqui ou link (s)? Eu não consigo encontrar eles.
Tanarri
4
Isto é como descrito em help.ubuntu.com/10.04/serverguide/C/automatic-updates.html
Tony Edgecombe
O Guia do Servidor Ubuntu 10.04 (oficial) parece estar desatualizado. Consulte a minha resposta para mais informações.
precisa saber é o seguinte
2
A URL mais recente para os documentos é: help.ubuntu.com/lts/serverguide/automatic-updates.html e diz que todos esses quatro devem estar em 10 períodos periódicos, como Tanarri qrote. A página para atualizações autônomas não contradiz isso, embora adicione outras informações úteis: help.ubuntu.com/community/AutomaticSecurityUpdates
SamGoody
8

Verifique a documentação real da sua versão do Ubuntu aqui:

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

Para o Ubuntu 11.10, para habilitá-lo, você faz:

sudo dpkg-reconfigure -plow unattended-upgrades

(é uma caixa de diálogo interativa) que será criada /etc/apt/apt.conf.d/20auto-upgradescom o seguinte conteúdo:

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

Portanto, as informações no guia do servidor Ubuntu 10.04 estão desatualizadas.

Se você estiver usando o Puppet, como fazemos na Bippo e na Soluvas , poderá usar algo assim para automatizar a configuração adequada das atualizações autônomas :

# 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'] ],
}

Certifique-se de fornecer os modelos / arquivos 50unattended-upgradese 20auto-upgradescomo achar melhor.

Também estou atualizando a página Wiki do Ubuntu para refletir isso.

Hendy Irawan
fonte
11
+1 FWIW, o guia do servidor 13.04 ainda está desatualizado.
deizel
6

Não vejo nada de errado com o seu /etc/apt/apt.conf.d/50unattended-upgrades. O meu se parece quase com o seu, mas só permito que as atualizações de segurança sejam aplicadas automaticamente, nada mais. Eu também o configurei para enviar e-mail simplesmente para "root" (o Postfix lida com o restante).

Mas: o script init /etc/init.d/unattended-upgradesnão é para executar atualizações autônomas. Apenas verifica se o processo de atualização autônoma está em execução e aguarda até que saia. Eu realmente não sei por que é necessário ou por que ele faz o que faz (nem estava presente nas versões anteriores do Ubuntu), mas não é o caminho para fazer atualizações autônomas.

Em vez disso, existe no Ubuntu um programa Python chamado unnattended-upgradesque faz o trabalho. Tente executar isso manualmente e veja o que acontece. Verifique também a saída do comando

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

Deve dizer UnattendedUpgradeInterval='1', indicando que você configurou o APT corretamente para permitir atualizações autônomas.

O Ubuntu é executado /etc/cron.daily/aptdiariamente a partir do cron. Se você olhar para esse script, verá que ele faz várias coisas relacionadas ao APT, entre as quais atualizações autônomas. Meu palpite é que você de alguma forma desabilitou esse script cron e, portanto, nada acontece sem supervisão.

É isso, mais ou menos, do topo da minha cabeça. Por favor, poste um acompanhamento se você tentou minhas idéias sem sucesso.

HTH

daff
fonte
2
Obrigado pela resposta daff. Eu adicionei a saída do "apt-config shell UnattendedUpgradeInterval APT :: Periodic :: Unattended-Upgrade" à pergunta. Todos os meus servidores não imprimem nada para isso.
pupeno