Come far funzionare gli aggiornamenti automatici su Ubuntu Server?


8

Ho seguito la documentazione per abilitare gli aggiornamenti automatici nei server Ubuntu, ma in realtà non aggiorna nulla.

I miei /etc/apt/apt.conf.d/50unattended-upgrades sembrano quasi quelli predefiniti.

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

La directory / var / log / unattended-upgrades / è vuota. Eseguire /etc/init.d/unattended-upgrades start non è molto bello:

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

Qualcosa sembra essere rotto, ma non sono sicuro del perché.

Ho aggiornamenti in sospeso e non vengono applicati:

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

In tutti i server che ho, gli aggiornamenti automatici sembrano essere stati disabilitati:

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

Qualche idea di cosa mi sto perdendo?


libc è un pacchetto importante. Non permetterei a nessun server di aggiornarlo da solo!
Antoine Benkemoun,

Antoine, non ho alcun problema; inoltre, libc-dev è il pacchetto di sviluppo, probabilmente un mucchio di .h e cose del genere. E questo è solo ciò che è in sospeso ora, ora ciò che sarà in sospeso su quest'ultimo, quindi discutere di questo particolare pacchetto non aggiunge molto al problema.
pupeno,

Risposte:


4

Hai controllato /etc/apt/apt.conf.d/10periodic?

dovrebbe avere l'ultima riga

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

5
Queste impostazioni non vivono tutte in 10periodic ma sono distribuite su 10periodic, 20 aggiornamenti automatici e 50 aggiornamenti automatici. Se li metti nel posto sbagliato, un futuro aggiornamento APT potrebbe sovrascriverli. 20auto-upgrades è il posto dove impostare APT :: Periodic :: Unattended-Upgrade "1"; e 50unattended-upgrade per ottimizzare il comportamento, come descritto nella Guida del server Ubuntu.
daff

Potresti inserire qui le informazioni dettagliate o i link? Non riesco a trovarli.
Tanarri


La Guida del server Ubuntu 10.04 (ufficiale) sembra essere obsoleta. Fare riferimento alla mia risposta per ulteriori informazioni.
Hendy Irawan,

2
L'URL più recente per i documenti è: help.ubuntu.com/lts/serverguide/automatic-updates.html e dice che tutti e quattro dovrebbero essere in 10periodic come Tanarri qrote. La pagina per gli aggiornamenti automatici, non contraddice questo, anche se aggiunge alcune altre informazioni utili: help.ubuntu.com/community/AutomaticSecurityUpdates
SamGoody

8

Controlla la documentazione effettiva per la tua versione di Ubuntu qui:

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

Per Ubuntu 11.10, per abilitarlo, fai:

sudo dpkg-reconfigure -plow unattended-upgrades

(è una finestra di dialogo interattiva) che creerà /etc/apt/apt.conf.d/20auto-upgradescon i seguenti contenuti:

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

Pertanto, le informazioni contenute nella guida del server Ubuntu 10.04 non sono aggiornate.

Se stai usando Puppet come facciamo in Bippo e Soluvas , puoi usare qualcosa del genere per automatizzare la corretta configurazione degli aggiornamenti automatici:

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

Assicurati di fornire i modelli / file 50unattended-upgradese 20auto-upgradescome ritieni opportuno.

Sto anche aggiornando la pagina Wiki Ubuntu per riflettere questo.


1
+1 FWIW, la guida del server 13.04 è ancora obsoleta .
deizel,

6

Non vedo nulla di sbagliato nel tuo /etc/apt/apt.conf.d/50unattended-upgrades. Il mio assomiglia quasi al tuo ma ho lasciato che gli aggiornamenti di sicurezza venissero applicati automaticamente, nient'altro. Ho anche impostato l'invio di posta semplicemente a "root" (Postfix gestisce il resto).

Ma: lo script init /etc/init.d/unattended-upgradesnon è per l'esecuzione di aggiornamenti automatici. Controlla solo se il processo di aggiornamento automatico è in esecuzione e attende fino alla sua uscita. Non so davvero perché sia ​​necessario o perché faccia quello che fa (non era nemmeno presente nelle precedenti versioni di Ubuntu) ma non è il modo di fare aggiornamenti automatici.

Invece c'è, su Ubuntu, un programma Python chiamato unnattended-upgradesche fa il lavoro. Prova a eseguirlo manualmente e vedi cosa succede. Controlla anche l'output del comando

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

Dovrebbe essere UnattendedUpgradeInterval='1'indicato, indicando che APT è stato configurato correttamente per consentire aggiornamenti non presidiati.

Ubuntu viene eseguito /etc/cron.daily/aptquotidianamente da cron. Se guardi quello script vedi che fa varie cose relative ad APT, tra cui gli aggiornamenti automatici. La mia ipotesi è che in qualche modo hai disabilitato quello script cron e quindi non succede nulla incustodito.

Ecco, più o meno, dalla cima della mia testa. Invia un follow-up se hai provato le mie idee senza successo.

HTH


2
Grazie per la risposta daff. Ho aggiunto l'output di "shell apt-config UnattendedUpgradeInterval APT :: Periodic :: Unattended-Upgrade" alla domanda. Tutti i miei server non stampano nulla per questo.
pupeno,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.