Systemaktualisierung mit dnf und apt, Einrichtung automatischer Aktualisierungen

Linux 4 Min. Lesezeit

Ein Großteil der gehackten Server wird durch eine Sicherheitslücke kompromittiert, für die bereits seit Wochen oder Monaten ein Patch verfügbar ist. Bei einem eigenen VPS obliegt die Aktualisierung des Systems dem Betreiber, also Ihnen. Dieser Artikel erläutert den Ablauf der Aktualisierung, die Überprüfung, ob ein Neustart erforderlich ist, sowie die Einrichtung automatischer Aktualisierungen.

Die Server unseres Shared Hostings werden von uns aktualisiert; Sie müssen diesbezüglich nichts unternehmen.

Vor dem Update

  • Erstellen Sie vor einem größeren Update (viele Pakete, neuer Kernel, Datenbankserver) einen Snapshot.
  • Bitte aktualisieren Sie den Produktionsserver möglichst zu Zeiten mit geringem Datenverkehr, da bestimmte Dienste während der Aktualisierung neu gestartet werden.

AlmaLinux, Rocky Linux (dnf)

# Elérhető frissítések listája
sudo dnf check-update

# Az összes frissítés telepítése
sudo dnf upgrade

# Csak a biztonsági frissítések telepítése
sudo dnf upgrade --security

Weitere Informationen zu Sicherheitsupdates: yum: Nur Sicherheitsupdates installieren.

Zurück

dnf protokolliert alle Vorgänge, und eine Aktualisierung kann rückgängig gemacht werden:

sudo dnf history
sudo dnf history info 42
sudo dnf history undo 42

Das Rückgängigmachen funktioniert nur, wenn die alte Paketversion noch im Repository verfügbar ist; daher ersetzt es nicht den Snapshot. Im Test (AlmaLinux 10.2) hat „dnf history undo“ ein Sicherheitsupdate, das 19 Pakete betraf, fehlerfrei rückgängig gemacht.

Muss das System nach dem dnf-Update neu gestartet werden?

sudo dnf needs-restarting -r

Nach einem glibc- und Kernel-Update lautete die Ausgabe des Tests: „Core libraries or services have been updated since boot-up: glibc, kernel, kernel-core … Reboot is required to fully utilize these updates.“ Der Exit-Code betrug 1 (ohne Neustart wäre er 0), sodass dies auch per Skript überprüft werden kann. Wenn laut Ausgabe ein Neustart erforderlich ist, starten Sie den Server neu. Die Dienste, die noch die alten Bibliotheken verwenden, werden mit dem Schalter „-s“ aufgelistet; diese können statt eines Neustarts auch mit dem Befehl „systemctl restart“ aktualisiert werden.

sudo dnf needs-restarting -s

Ubuntu, Debian (apt)

# A csomaglisták frissítése
sudo apt update

# Frissíthető csomagok listája
apt list --upgradable

# Frissítés
sudo apt upgrade

# Frissítés akkor is, ha ehhez csomagokat kell telepíteni vagy eltávolítani
sudo apt full-upgrade

# A már nem szükséges csomagok (pl. régi kernelek) eltávolítása
sudo apt autoremove

Informationen zur Installation einer bestimmten Version eines Pakets finden Sie im Artikel „Installation einer bestimmten Version mit apt-get“.

Muss das System nach dem apt-Update neu gestartet werden?

Unter Ubuntu wird nach einem Update die Datei „/var/run/reboot-required“ erstellt, falls ein Neustart erforderlich ist:

cat /var/run/reboot-required
cat /var/run/reboot-required.pkgs

Unter Debian zeigt das Paket „needrestart“ am Ende eines Updates an, welche Dienste neu gestartet werden müssen und ob ein Systemneustart erforderlich ist. Unter Ubuntu 24.04 ist dieses Paket standardmäßig installiert, im Debian-12-Cloud-Image hingegen nicht:

sudo apt install needrestart

Automatische Updates

Die automatische Aktualisierung stellt sicher, dass Sicherheitspatches auch dann installiert werden, wenn Sie diese einmal vergessen sollten. Wir empfehlen, automatisch nur die Sicherheitsupdates zu installieren und die übrigen regelmäßig manuell durchzuführen.

AlmaLinux, Rocky Linux: dnf-automatic

sudo dnf install dnf-automatic
sudo nano /etc/dnf/automatic.conf

Nehmen Sie im Abschnitt [commands] folgende Einstellungen vor:

[commands]
upgrade_type = security
apply_updates = yes

Aktivieren Sie anschließend den Timer:

sudo systemctl enable --now dnf-automatic.timer
systemctl list-timers dnf-automatic.timer

Die Werkseinstellungen lauten „upgrade_type = default“ und „apply_updates = no“, d. h., ohne Änderungen würde „dnf-automatic“ lediglich herunterladen, aber nicht installieren. Es gibt verschiedene Timer-Varianten (dnf-automatic-install.timer, -download, -notifyonly); diese führen unabhängig von der Konfigurationsdatei Installationen durch, laden Dateien herunter oder geben lediglich Benachrichtigungen aus. Bei der oben genannten Einstellung ist der einfache dnf-automatic.timer der richtige. Nach der Aktivierung im Test war der nächste Durchlauf für die Morgenstunden des nächsten Tages geplant.

Im Abschnitt „[emitters]“ können Sie zudem E-Mail-Benachrichtigungen über installierte Updates einrichten.

Ubuntu, Debian: unattended-upgrades

Auf den Cloud-Images von Ubuntu 24.04 und Debian 12 war „unattended-upgrades“ zum Zeitpunkt des Tests bereits installiert und aktiviert; dies geht aus der Datei /etc/apt/apt.conf.d/20auto-upgrades hervor:

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

Falls diese Datei fehlt oder die Werte "0" lauten, installieren Sie sie bitte und aktivieren Sie sie:

sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

Beantworten Sie die Frage mit „Ja“. Standardmäßig werden nur Sicherheitsupdates installiert. Die Einstellungen befinden sich in der Datei „/etc/apt/apt.conf.d/50unattended-upgrades“; dort können Sie beispielsweise auch den automatischen Neustart zu einem bestimmten Zeitpunkt aktivieren:

Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";

Funktionsprüfung (ohne Änderungen):

sudo unattended-upgrade --dry-run --debug

Das Protokoll der Ausführungsvorgänge befindet sich im Verzeichnis „/var/log/unattended-upgrades/“.

Umstellung auf eine neue Hauptversion

Die oben genannten Befehle dienen der Aktualisierung innerhalb der aktuellen Hauptversion der Distribution (beispielsweise von AlmaLinux 9.5 auf 9.6). Die folgenden Artikel befassen sich mit dem Wechsel zu einer neuen Hauptversion:

Zurück: Linux-Artikel (62)