Ubuntu Server bietet die Möglichkeit verfügbare Sicherheitsupdates, bzw. auch alle Updates automatisch installieren zu lassen.
Dies wird vom Paket unattended-upgrades übernommen, welches zuerst mit

sudo apt-get install unattended-upgrades

installiert werden muss.
Die Konfiguration erfolgt anschließend über die Datei /etc/apt/apt.conf.d/50unattended-upgrades, welche mit einem Texteditor geöffnet wird. Im oberen Teil findet sich folgender Abschnitt:

// Automatically upgrade packages from these (origin:archive) pairs
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
// "${distro_id}:${distro_codename}-updates";
// "${distro_id}:${distro_codename}-proposed";
// "${distro_id}:${distro_codename}-backports";
};

In der Standardkonfiguration werden nur Sicherheitsupdates installiert. Mächte man auch andere, nicht Sicherheitsrelevante, Updates automatisch installieren müssen nur die zwei // vor „“${distro_id}:${distro_codename}-updates“;“ entfernt werden. Die Nutzung der proposed und backports Archive sollte auf Produktivsystemen vermieden werden.

Im nächsten Abschnitt können Pakete von der automatischen Aktualisierung ausgenommen werden. Hierzu einfach die Beispiele abändern, bzw. eine neue Zeile eintragen und die Vorangestellten Schrägstriche entfernen.

// List of packages to not update (regexp are supported)
Unattended-Upgrade::Package-Blacklist {
// "vim";
// "libc6";
// "libc6-dev";
// "libc6-i686";
};

Wenn das System so konfiguriert ist dass es Emails versenden kann (Postfix mit Gmail als Smarthost konfigurieren), kann man sich von unattended-upgrades über aktualisierungen, bzw Fehler bei der Aktualisierung informieren lassen.

Dazu muss zuerst in der Zeile

//Unattended-Upgrade::Mail "root";

„root“ durch die eigene Emailadresse ersetzt werden und anschließend die beiden vorangestellten // entfernt werden.

Unattended-Upgrade::Mail "mail@example.com";

Wenn man nur über auftretende Fehler informiert werden möchte muss man vor der Zeile

//Unattended-Upgrade::MailOnlyOnError "true";

die beiden // entfernen

Unattended-Upgrade::MailOnlyOnError "true";

Als letzter Schritt muss noch konfiguriert werden wann auf Updates überprüft werden soll. Dies geschieht in der Datei /etc/apt/apt.conf.d/10periodic, welche wahrscheinlich zuerst angelegt werden muss

sudo touch /etc/apt/apt.conf.d/10periodic
sudo nano /etc/apt/apt.conf.d/10periodic

Nun kann man folgenden Konfiguration in der Datei speichern, bzw diese entsprechend anpassen

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

APT::Periodic::Update-Package-Lists „1“; sagt dass die Paketlisten täglich aktualisiert werden. APT::Periodic::Download-Upgradeable-Packages „1“; und APT::Periodic::Unattended-Upgrade „1“; sagt dass aktualisierungen jeden Tag heruntergeladen und installiert werden. APT::Periodic::AutocleanInterval „7“; gibt an dass nicht mehr benötigte Pakete alle 7 Tage vom System gelöscht werden.

Die Aktionen werden zu Beginn des (Ana)Cron-Jobs in /etc/cron.daily/apt ausgeführt. Der Cronjob wird automatisch angelegt und einmal täglich ausgeführt. Wer sich für Details zu Anacron und den Ausführungszeiten interessiert, kann noch den Artikel „Funktion von Anacron unter Ubuntu“ lesen.

Unattended-upgrades legt seine Logfiles im /var/log/unattended-upgrades an. In diese Dateien schreibt unattended-upgrades genau welche Pakete installiert wurden, bzw welche Befehle das Programm ausgeführt hat. Sollte es einmal zu Fehlern kommen, oder wenn man einfach wissen möchte welche automatischen Updates vorgenommen wurden hilft ein Blick in diese Logfiles.

Mit Hilfe des Programms „update-notifier-common“ kann man sich per Email informieren lassen wenn ein Update einen Serverneustart nötig macht. Die Einrichtung ist im Artikel „Email versenden wenn ein Serverneustart nötig ist“ beschrieben.


Dieser Artikel ist lizenziert unter einer Creative Commons Namensnennung 3.0 Deutschland Lizenz.

6 Comments

  1. Hallo,

    schönes Tutorial. Zumal es auch so geschrieben ist, das es für Anfänger verständlich ist, was oft bei solchen Anleitungen fehlt. Was nicht ganz klar wird, ist der letzte Absatz:

    „Die Aktionen werden zu Beginn des (Ana)Cron-Jobs in /etc/cron.daily/apt ausgeführt. Details zu Anacron und den Ausführungszeiten sind im Artikel „Funktion von Anacron unter Ubuntu” beschrieben.“

    Was heißt das jetzt?

    legt das Paket unattended-upgrades eine Update-Datei automatisch als cron an, oder muß dies manuell erfolgen. Im letzteren Fall sollte man dann Beispielhaft die Zeile in der crontab angeben bevor man auf den Artikel „Funktion von Anacron unter Ubuntu” verweist.

    Gruß

    Christofer

    • PS: Ebenso wäre es schön zu ergänzen, das eine log-Datei (/var/log/unattended-upgrades/unattended-upgrades.log) geschrieben wird in der man schauen kann wenn es Probleme mit dem update gibt.

      • Guter Hinweis, vielen Dank. Ich werde das ergänzen.

    • Vielen Dank für das Lob.
      Der Cronjob wird automatisch angelegt. Ich werden den Satz umformulieren, so dass dies eindeutig ist.

      Gruß
      Niko

  2. Sven Heinzelmann

    Eine sehr gutes und nützliches Tutorial.
    Der Vorteil ist, dass man danach nicht selber regelmäßig darum kümmern muss, die Updates zu installieren.
    Ein weiterer Vorteil, das man per Email benachrichtigt wird, das gerade Updates installiert wurden und das man auch mitgeteilt bekommt, wenn es Fehler gegeben hat und dann eingreifen kann.

    Ein tolles Lob an Sie.

  3. Vielen Dank für das Tutorial,
    auch nach Jahren noch sehr einfach nachzuvollziehen.

    LG