Pi - Automatische Updates (unattended upgrades)

Der Raspberry Pi soll möglichst lange unbeaufsichtigt und störungsfrei laufen? Hat der Raspberry zudem Internetzugang? Dann sollten Sie über die automatische Installation von Updates auf dem Gerät nachdenken.

Alle Debian-Devirate, also auch Raspbian, bieten die Möglichkeit der automatischen Installation von Updates/Upgrades. Ob Sie sich dabei lediglich für die Sicherheitsupdates (empfohlen bei Produktivmaschinen) oder vollständige Updates entscheiden ist lediglich eine Angelegenheit der Konfiguration. Nachfolgend finden Sie die grundlegensten Schritte zur Einrichtung des Hilfstool "unattended-upgrades" unter Raspbian 4.14 und höher.

 

1. Installation

Zuerst wird das Paket zur Installation der automatischen Updates installiert:

> sudo apt-get install unattended-upgrades

 

2. Konfiguration

2.1. Aktivieren der automatischen Updates

Zur Aktivierung des Pakets konfigurieren Sie die Ausführung über das Tool dpkg-reconfigure. Dieses lässt Sie die Paketkonfiguration komfortabel via einer Oberfläche in der Konsole vornehmen.

> sudo dpkg-reconfigure -plow unattended-upgrades

Übernehmen Sie dabei zunächst die vorgeschlagenen Optionen.

Paketkonfiguration: Aktivierung automatischer Upgrades

Paketkonfiguration: Übernahme der Standard Paketquellen für Sicherheitsupdates

 

 

2.2. Die erstellte Paketkonfiguration

Die Paketkonfiguration erzeugt die Datei "/etc/apt/apt.conf.d/20auto-upgrades", welche Sie sich mit dem Kommando cat ansehen können.

> cat /etc/apt/apt.conf.d/20auto-upgrades

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

In der ersten Zeile wird festgelegt, wie oft das System nach aktualisierten Paketen suchen soll. Die Zahl eins steht für die Anzahl von Tagen, nach welchem das Skript den Befehl erneut ausführen soll. Im Beispiel wird also täglich nach neuen Paketen gesucht und diese werden ebenfalls täglich installiert. Sofern man den Automatismus abschalten möchte, dann wird gewählte Zahl gegen die Zahl 0 ausgetauscht.

Im Folgenden wollen wir Raspbian noch zwei weitere Parameter unterschieben. Dazu erstellen wir die Datei 10periodic mit dem Editor nano:

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

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

Mit dem Parameter APT::Periodic::Download-Upgradeable-Packages legen wir die Häufigkeit fest, mit welcher die upzudatenden Dateien heruntergeladen werden, im Beispiel täglich. Der Parameter APT::Periodic::AutocleanInterval sorgt dafür, dass veraltete Pakete entfernt werden, im Beispiel alle fünf Tage.

 

2.3. Finetuning der Parameter

Die Konfiguration des Dienstes unattended-upgrades wird in folgender Konfigurationsdatei durchgeführt:

> sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

In dieser Datei kann u.a. festgelegt werden, welche Paketquellen für die Aktualisierung herangezogen werden, ob der Rechner bei Aktualisierungen, die einen Reboot erfordern, automatisch neustartet etc. Die Parameter sind in der Datei gut beschrieben und sind zumeist selbsterklärend.

Folgende Paketquellen habe ich für den Raspberry im Beispiel innerhalb der Sektion Unattended-Upgrade::Origins-Pattern hinzugefügt:

Unattended-Upgrade::Origins-Pattern {

"origin=Raspbian,codename=${distro_codename},label=Raspbian";
"origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation"

};

Im nächsten Schritt habe ich noch die folgenden Parameter (weiter unten in der Datei) angepasst:

Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-WithUsers "true";

Achtung: Mit dieser Einstellung wird das automatische Neustarten des Systems dem Rechner auch bei angemeldetem Benutzer erlaubt. Da zudem der Parameter für die Neustartzeit standardmäßig auf sofort steht, startet dieses System u.U. mitten im Arbeitsprozess. Im Normalfall daher min. den Parameter Unattended-Upgrade::Automatic-Reboot-WithUsers auf die Einstellung "false" setzen bzw. bei der Ersteinrichtung unangetastet lassen.

 

3. Funktionstest

3.1. Der Trockenlauf (dry-run)

Um die Funktion der automatischen Updateinstallation zu testen, führen Sie den folgenden Befehl an der Kommandozeile aus. Der Parameter --dry-run bewirkt dabei, dass der Befehl lediglich simuliert wird, d.h. es werden keine Veränderungen an Ihrem System vorgenommen.

> sudo unattended-upgrades --dry-run

Bitte üben Sie sich nach der Eingabe des Befehls in etwas Geduld, da sämtliche von Ihnen festgelegte Automatisierungsskripte abgearbeitet werden müssen (z.B. apt update etc.).

 

3.2. Prüfung des Trockenlaufs

Das Ergebnis des Trockenlaufs können Sie sich mit folgendem Kommando ansehen:

> tail /var/log/unattended-upgrades/unattended-upgrades.log