staging.inyokaproject.org

Von „unattended-upgrades“ weitergeleitet.

Konfiguration

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

./software-update-available.png Wie bei jedem Betriebssystem, sollten auch bei Ubuntu regelmäßig Updates installiert werden. Dabei handelt es sich um Fehlerkorrekturen, welche die Stabilität des Systems verbessern und insbesondere potentielle oder erwiesene Sicherheitslücken schließen. Die Updates spielen unter Ubuntu jedoch keine neuen Versionen eines Programms ein, die neue Funktionen enthalten. Genauer beschrieben wird das Verhalten unter Aktualisierungen.

Benutzung

Wer ständig mit dem Internet verbunden ist, wird automatisch über wichtige Sicherheitsupdates informiert, über andere Updates wird spätestens wöchentlich informiert. Standardmäßig wird jeden Tag automatisch nach neuen Updates gesucht. Normalerweise erhält jedoch nur ein Administrator (z.B. der bei der Installation angelegte Benutzer) Benachrichtigungen über Updates. Wie man das ändern kann ist unten beschrieben.

Hinweis:

Für das Aktualisieren von bereits installierten Paketen ist bei neueren Ubuntu-Versionen kein Passwort mehr nötig. Um Pakete zu entfernen oder neue zu installieren natürlich weiterhin schon.

./gnome-update-notifier.png

Aktualisierungsverwaltung

Die Aktualisierungsverwaltung listet alle verfügbaren Updates auf. Die Schaltfläche "Prüfen" liest dabei die Paketquellen noch einmal neu ein, so dass die Liste an verfügbaren Paketen in jedem Fall auf dem neusten Stand ist. Über das Auswahlfeld "Beschreibung der Aktualisierung" lassen sich Informationen zu jedem der aktualisierten Pakete einblenden. Ein Klick auf "Aktualisierungen Installieren" sorgt nun dafür, dass die markierten Updates heruntergeladen und installiert werden. Danach kann man das Fenster schließen.

Benachrichtigungen über anstehende Aktualisierungen

Wiki/Icons/Oxygen/system-software-update.png

Konfiguration

Automatische Updates ohne Interaktion

Mit wenigen Klicks kann veranlasst werden, dass Sicherheitsupdates automatisch heruntergeladen und installiert werden. So kann man administrativen Aufwand sparen.

GUI

In der Aktualisierungsverwaltung gibt es einen Dialog, in dem sich zahlreiche Einstellungen rund um die Paketverwaltung finden. Dort muss unter "Wenn Sicherheitsaktualisierungen verfügbar sind:" die Auswahl zu "Automatisch herunterladen und installieren" gesetzt werden, sofern diese nicht schon bereits voreingestellt ist.

unattended-upgrades

Die automatische Installation der Updates wird von unattended-upgrades übernommen:

  • unattended-upgrades

Befehl zum Installieren der Pakete:

sudo apt-get install unattended-upgrades 

Oder mit apturl installieren, Link: apt://unattended-upgrades

Während der Installation kann das gewünschte Verhalten entsprechend konfiguriert werden. Möchte man es nachträglich ändern, verwendet man den Befehl:

sudo dpkg-reconfigure -plow unattended-upgrades 

Logdateien werden im Verzeichnis /var/log/unattended-upgrades/ gespeichert. Sollte versucht werden, den Computer herunterzufahren, während unattended-upgrades arbeitet, verzögert der gleichnamige Dienst dies so lange wie nötig, so dass das Herunterfahren länger dauert. Dies ist wichtig, damit keine unvollständig installierten oder konfigurierten Pakete hinterlassen werden.

Um unattended-upgrades manuell (ohne #GUI) zu aktivieren, muss man die Datei /etc/apt/apt.conf.d/10periodic bearbeiten oder anlegen, [5], sodass sie mindestens diese Einträge enthält:

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

Experten-Info:

Der Parameter für APT::Periodic::Unattended-Upgrade gibt an, in welchem Zeitintervall (in Tagen) die automatische Update-Installation durchgeführt werden soll. 0 bedeutet "deaktiviert". Die Einstellungen werden in die Datei /etc/apt/apt.conf.d/20auto-upgrades geschrieben.

In der Datei /etc/apt/apt.conf.d/50unattended-upgrades befinden sich noch weitere Einstellungen. Wer einen Mailserver und das Programm mailx (bspw. aus dem Paket bsd-mailx) installiert hat, kann sich so z.B. auch nach jedem Update oder nur bei Fehlern per Mail benachrichtigen lassen, alternativ kann auch eine lokale Nachricht an einen Benutzer versendet werden.

Nicht nur Sicherheits-Updates

Sollen nicht nur Sicherheits-Updates automatisch installiert werden, muss die Datei /etc/apt/apt.conf.d/50unattended-upgrades editiert werden. [4]

Dazu müssen die Kommentarzeichen // in folgender Zeile entfernt werden:

Die Zeile vorher:

//      "${distro_id} ${distro_codename}-updates";

Die Zeile nachher:

        "${distro_id} ${distro_codename}-updates";

So werden auch normale Updates automatisch installiert. Wenn gewünscht, kann mit Einträgen nach dem gleichen Schema auch für weitere Archive das automatische Update aktiviert werden.

Updates aus allen Paketquellen automatisch installieren

Hierzu muss die Datei /etc/apt/apt.conf.d/50unattended-upgrades um folgenden Inhalt ergänzt werden.

Unattended-Upgrade::Origins-Pattern {
    "origin=*";
};

Dies sorgt dafür, dass alle Pakete aus allen Quellen (auch Fremdquellen und PPAs) automatisch installiert werden.

Probleme

Sollten bei der Installation der Updates Probleme auftreten, werden diese in den Logdateien in /var/log/unattended-upgrades/ vermerkt. Der folgende Befehl sollte dann entsprechende Hinweise liefern:

zgrep -Ev 'DEBUG|INFO' /var/log/unattended-upgrades/unattended-upgrades.log* 

Die Updates müssen z.B. in folgendem Szenario manuell durchgeführt werden:

  1. Ein Paket enthält eine Konfigurationsdatei (üblicherweise unter /etc/).

  2. Diese Datei wird vom Administrator verändert.

  3. Ein Update des Paketes enthält eine neue Version der Konfigurationsdatei, die sich von der ursprünglichen unterscheidet. Es erfolgt eine Benachrichtigung durch dpkg, bei der der Administrator nun selbst entscheiden muss, ob er seine eigene, modifizierte Datei behalten oder die neue Datei aus dem aktualisierten Paket nehmen will. Allerdings lässt sich auch dies automatisieren 🇬🇧, indem die Datei /etc/apt/apt.conf.d/local erstellt wird. Soll standardmäßig die jeweilige Konfigurationsdatei nicht verändert werden und dpkg alleine entscheiden, ob eine Nachfrage erscheinen soll, empfiehlt sich folgender Dateiinhalt:

#
Dpkg::Options {
   "--force-confdef";
   "--force-confold";
}

Die Version des Paketbetreuers befindet sich dann unter dem selben Pfad wie die Konfigurationsdatei, nur mit der zusätzlichen Endung .dpkg-dist.

Soll die jeweilige Konfigurationsdatei dagegen automatisch standardmäßig mit der neuen Version des Paketbetreuers ersetzt werden, sollte Folgendes eingetragen werden:

#
Dpkg::Options {
   "--force-confnew";
}

Die alte Version befindet sich dann unter dem selben Pfad wie die Konfigurationsdatei, nur mit der zusätzlichen Endung .dpkg-old.

Falls ucf 🇬🇧 verwendet wird, sind die Endungen jeweils .ucf-dist bzw. .ucf-old.

Benachrichtigung kurz nach dem Einloggen erhalten

Hier wird erläutert, wie man Update-Benachrichtigungen ein paar Minuten früher erhalten kann. Vorab eine kurze Beschreibung des Standardverhaltens. Normalerweise läuft der Vorgang zur Update-Prüfung (und Benachrichtigung) so ab:

  1. Nach dem Einschalten des PCs bzw. dem Verbinden des Laptops mit dem Ladegerät wird 5 Minuten gewartet, dann läuft der tägliche Anacron-Job in /etc/cron.daily an. Diese Verzögerung ist in der Datei /etc/anacrontab konfiguriert. Zu den Skripten gehört u.a. auch /etc/cron.daily/apt.

  2. Dieses Skript enthält eine zufällige Zeitverzögerung von bis zu 30 Minuten. Argument dafür: Viele Server, welche Tag und Nacht durchlaufen, würden ohne diese Verzögerung alle gleichzeitig Updates herunterladen und könnten dadurch die Paketserver überlasten.

Um gleich (d.h. ca. 5 Minuten) nach dem Einschalten des Rechners oder dem Einstecken des Ladekabels in den Laptop über die anstehenden Updates benachrichtigt zu werden, ändert man die Konfigurationsdatei /etc/apt/apt.conf.d/10periodic in einem Editor mit Root-Rechten [4]. Man muss folgende Zeile einfügen:

APT::Periodic::RandomSleep "0";

Hinweis:

Der Wert "0" sorgt dafür, dass 0 Sekunden gewartet wird. Andere Werte sind auch möglich, z.B. "900" für eine Verzögerung von bis zu 15 Minuten.

Einfachen Benutzern erlauben, Updates zu installieren

Nicht an jedem Gerät arbeitet der Administrator regelmäßig selbst. Dadurch sind quasi alle verfügbaren Updates auf Eis gelegt, sofern man sie nicht automatisch installieren lässt. Vertraut man jedoch den Benutzern bzw. den (Ubuntu-)Paketquellen, kann man zulassen, dass Updates auch ohne komplette Administrator-Rechte installiert werden können.

Dies erreicht man via PolicyKit. Um normalen Nutzern (z.B. Gruppe update) Updaterechte zu geben, muss die Datei /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla mit Root-Rechten [4] bearbeitet werden. Folgender Abschnitt ist für das Aktualisieren bereits installierter Software zuständig:

[Update already installed software]
Identity=unix-group:sudo
Action=org.debian.apt.upgrade-packages
ResultActive=yes

Dieser wird wie folgt ergänzt:

[Update already installed software]
Identity=unix-group:sudo;unix-group:update
Action=org.debian.apt.upgrade-packages
ResultActive=yes

Möchte man nur einem einzelnen Nutzer statt einer ganzen Gruppe erlauben, Updates zu installieren, kann man das mit unix-user:NUTZERNAME statt unix-group:update tun.

Wenige Aktualisierungen wie z.B. die Kernel-Updates installieren neue Pakete. Dies erfordert in jedem Fall die Eingabe eines Administrator-Passwortes. Solche Updates können also auch mit obigen Änderungen nicht von normalen Benutzern installiert werden.

Benachrichtigung anzeigen

Hinweis:

Funktioniert nicht unter Kubuntu, da es den update-notifier nicht verwendet.

Soll auch automatisch über neue Updates benachrichtigt werden, muss dem update-notifier mitgeteilt werden, dass er auch Benutzer, welche nicht in der Gruppe sudo sind, darüber informiert. Hierfür muss er mit einer bestimmten Option gestartet werden. Diese gibt man einfach in der Autostart-Datei mit an. Dazu öffnet man den Starter /etc/xdg/autostart/update-notifier.desktop (Aktualisierungsbenachrichtigung) in einem Editor mit Root-Rechten [4] und ergänzt die Exec=-Zeile:

Exec=update-notifier --force

Problembehebung

Bei Problemen mit der graphischen Oberfläche der Aktualisierungsverwaltung, hilft ein Update über das Terminal zu starten. Dazu folgenden Befehl benutzen.

sudo apt-get dist-upgrade 

Diese Revision wurde am 12. Oktober 2022 13:32 von karzer erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Sicherheit, Paketverwaltung, System, Einsteiger, Aktualisierung