Automatische Updates für das Banana Pi NAS

Von Nasselbau

Mein Banana Pi NAS läuft nun seit mehreren Monaten jeden Tag rund um die Uhr. Betriebssysteme werden allerdings mit der Zeit nicht neuer, daher ist es wichtig, dass immer die aktuellsten Sicherheitsupdates zur Verfügung stehen. Neue Features kann dann man installieren, wenn man sie braucht, doch Sicherheitsupdates sollten immer möglichst schnell installiert werden. Da mein NAS allerdings möglichst autark laufen soll, sollten auch diese Updates automatisch passieren und mich nur informieren, wenn irgendwas schief läuft.

Dieser Artikel baut darauf auf, dass ein NAS unter einem Debian-verwandten System (auch Ubuntu) bereits eingerichtet ist und läuft. Insbesondere muss das interne Mailsystem funktionieren. Wie das gehen kann, habe ich bereits im Artikel SSMTP für das Banana Pi NAS beschrieben.

Unattended Upgrades

Die Lösung für dieses Problem ist das Paket „Unattended Upgrades", das für jede Debian-verwandte Distribution zur Verfügung steht. Ich zeige hier exemplarisch die Einrichtung für das Bananian Pi. Diese Anleitung lässt sich aber auf beliebige Debian-basierte Systeme (mit kleineren Anpassungen) übertragen.

Installation

Bei der Installation hier gehe ich davon aus, dass als root gearbeitet wird. Ist das nicht der Fall muss vor jeden Befehl natürlich ein sudo gestellt werden. Zuerst werden wieder die Paketquellen aktualisiert, sowie aktuelle Upgrades eingespielt:

apt-get update
apt-get upgrade

Dann die benötigten Pakete installieren:

apt-get install unattended-upgrades apt-listchanges

Konfiguration

Nach der Installation muss noch die Konfiguration des Pakets angepasst werden. Diese teilt sich auf 2 wesentliche Dateien:

/etc/apt/apt.conf.d/50unattended-upgrades

Hier wird in Zeile 43 der Empfänger von E-Mails eingetragen (falls bei einem Update was schief laufen sollte):

Unattended-Upgrade::Mail "EURE_EMAIL_ADRESSE@DOMAIN.COM";

/etc/apt/apt.conf.d/02periodic

// Enable the update/upgrade script (0=disable)
APT::Periodic::Enable "1";

// Do "apt-get update" automatically every n-days (0=disable)
APT::Periodic::Update-Package-Lists "1";

// Do "apt-get upgrade --download-only" every n-days (0=disable)
APT::Periodic::Download-Upgradeable-Packages "1";

// Run the "unattended-upgrade" security upgrade script
// every n-days (0=disabled)
// Requires the package "unattended-upgrades" and will write
// a log in /var/log/unattended-upgrades
APT::Periodic::Unattended-Upgrade "1";

// Do "apt-get autoclean" every n-days (0=disable)
APT::Periodic::AutocleanInterval "7";
  • Zeile 2 schaltet das Skript scharf. Soll es mal ausnahmsweise eine Zeit lang nicht laufen, dann einfach hier den Wert auf „0" setzen.
  • Zeile 5 sagt, dass täglich nach neuen Updates gesucht wird. Ein Wert von 2 würde hier bedeuten, dass jeden 2. Tag nach Updates gesucht wird, usw.
  • Zeile 8 lädt die verfügbaren neuen Pakete herunter
  • Zeile 14 sorgt dafür, dass die zur Verfügung stehenden sicherheitsrelevanten Paketen installiert werden
  • Zeile 17 räumt die Paketverwaltung einmal pro Woche auf (löscht nicht mehr gebrauchte Pakete

Dieses Skript nimmt einem auf angenehme Weise die Arbeit ab, sich täglich um Sicherheitsupdates kümmern zu müssen. Das bedeutet natürlich noch nicht, dass damit alles automatisch völlig sicher ist - aber zumindest die Routineaufgaben sind erledigt. Ich nutze das Skript seit langer Zeit auf meinen Debian und Ubuntu- Servern und NAS-Systemen und hatte damit noch nie wesentliche Probleme.