In letzter Zeit gibt es mehr Berichte über Probleme mit zurückgehaltenen Paketen bei Ubuntu. Dahinter stecken aber meist gar keine zu lösenden Probleme, sondern die Ursache liegt im Phased Updates Mechanismus.
Wer lediglich grafische Frontends nutzt – was sicherlich auf die meisten Anwender von Ubuntu zutrifft und der Zielgruppe entspricht – hat das noch gar nicht bemerkt, weil die Updates dort überhaupt nicht aufgelistet werden. Wer jedoch die Konsole benutzt, sieht seit einiger Zeit häufiger mal folgende Meldung.
sudo apt full-upgrade
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Paketaktualisierung (Upgrade) wird berechnet… Fertig
Die folgenden Pakete sind zurückgehalten worden:
libnss-systemd libpam-systemd libspeechd2 libsystemd0 libudev1 systemd systemd-sysv systemd-timesyncd udev
Die folgenden Pakete werden aktualisiert (Upgrade):
ghostscript ghostscript-x libgs9 libgs9-common
4 aktualisiert, 0 neu installiert, 0 zu entfernen und 9 nicht aktualisiert.
4 standard security updates
Code-Sprache: PHP (php)
Dahinter verbirgt sich folgende Änderung in Ubuntu 22.04, die den Release Notes entnommen werden kann:
Since 21.04 APT respects phased updates, see the Phased updates in APT 21.04 93 thread for more details.
Jammy Jellyfish Release Notes
Die zurückgehaltenen systemd-Pakete im obigen Beispiel sind also kein Fehler, sondern Absicht. Es handelt sich dabei um nicht-sicherheitskritische Aktualisierungen, die dem Phased-Updates – also übersetzt in etwa schrittweise Aktualisierung – Mechanismus unterliegen. Die Updates werden also irgendwann in den kommenden Tagen verteilt und dann einfach bei „Die folgenden Pakete werden aktualisiert“ gelistet. Ein Update kann natürlich manuell angestoßen werden, aber das ist unnötig.
Dieser Mechanismus betrifft nur den SRU-Bereich. (Stable Release Updates). Also jene Updates, die keine sicherheitsrelevanten Probleme betreffen. Security-Fixes werden weiterhin sofort an alle Anwender verteilt.
Die Idee ist, dass nicht kritische Updates (SRU) die Anwender in verschiedenen Wellen erreichen. Sollten trotz Tests und Prüfungen Fehler in den Updates enthalten sein, dann schlagen die nicht bei allen Anwendern gleichzeitig auf und ein Update kann ggf. nach einem begrenzten Schaden zurückgezogen werden. Microsoft und Apple verfahren schon sehr lange nach diesem Mechanismus.
Wer sich daran stört, kann das Verhalten steuern. Dazu muss man einfach die folgende Konfiguration in APT vornehmen:
$ sudo nano /etc/apt/apt.conf.d/99-Phased-Updates
Dort dann folgende Zeile eintragen:
APT::Get::Always-Include-Phased-Updates True;
Code-Sprache: PHP (php)
Das wirkt sich dann aber nur auf APT auf der Kommandozeile aus. Die grafischen Frontends behandeln Phased Updates wie zuvor und werden diese erst anzeigen, wenn sie an der Reihe sind.
Wie so oft gibt es mal wieder Vorbehalte bei irgendwelchen Unix-Veteranen. Diese Kritik ist wie so oft quasi ein umgekehrter Kompass und nur ein Zeichen dafür, dass die Idee gut ist und sich Linux in die richtige Richtung entwickelt.
Danke für die Erklärung! Viele Seiten, die Suchmaschinen zu dem Thema finden, liefern Erklärungen die hier normalerweise nicht zutreffen und eine andere Situation beschreiben, die mir nach Jahren Linux-Nutzung noch nie untergekommen ist. Seit Ubuntu 22.04 ist diese Meldung aber tatsächlich häufig und es ist gut zu wissen woher das kommt.
Ich danke ebenfalls! Etwas herumgesuchmaschint habe ich auch schon, aber zum Glück bin ich keinen falschen Fährten nachgegangen, die möglicherweise mein System geschreddet hätten. Jetzt kann ich mich beruhigt wieder hinlegen. 🙂
Zitat: „Wie so oft gibt es mal wieder Vorbehalte bei irgendwelchen Unix-Veteranen. Diese Kritik ist wie so oft quasi ein umgekehrter Kompass und nur ein Zeichen dafür, dass die Idee gut ist und sich Linux in die richtige Richtung entwickelt.“
Einfach köstlich und einfach richtig 😀
Wer in 2022 die Version 22.04 installiert ist sicher kein Veteran.
Ich sehe hier nur einen unqualifizierten, spöttischen Kommentar am Ende eines an sich sinnvollen Fachbeitrags. Die Erklärung zu Phased Updates hat sich für mich hier am schnellsten ergooglen lassen.
Um welche „Vorbehalte“ handelt es sich denn? Bzw. wieso ist das Synonym mit einer Kritik?
Wenn ich Vorbehalte gegen etwas habe, ist das für mich nicht gurndsältzlich eine Kritik daran.
Aha, es entspricht der Zielgruppe, grafische Frontends zu verwenden. Auch bei Ubuntu Server? Und wenn es Vorbehalte gibt, zeigt das automatisch, dass Linux sich in die richtige Richtung entwickelt? Sorry, aber nach den Sätzen kann ich den ganzen Artikel nicht mehr ernst nehmen.
Ach je, klar Ubuntu-Server Anwender sind sicherlich diejenigen, die irritiert in Foren bei so einer Funktion aufschlagen, weil sie die Dokumentation nicht gefunden und die Release Notes nicht gelesen haben. Sicherlich… Sorry, aber nach solchen Sätzen kann ich so einen Kommentar nicht ernst nehmen 😉
Es gibt auch noch andere Gründe für den zurückgehaltenen Zustand von Paketen, die nichts mit Phased Updates zu tun haben. Die Lösung, die sich die Genies von Canonical hier aus den Fingern gesaugt haben, macht alles nur konfuser für den Endnutzer, wenn er nicht die GUI benutzt zum Verwalten von Upgrades. Ein klassischer Griff ins Klo
Leider behält uns der Kommentar die „andere[n] Gründe für den zurückgehaltenen Zustand von Paketen, die nichts mit Phased Updates zu tun haben“ vor. Nicht mal ein Link aus dem brave new WorldWideWeb. Mich stört die fehlende Aufklärung und die Verunsicherung, die damit in Kauf genommen wird. Der anschließenden negativen Meinung messe ich daher keine Bedeutung bei.
Wenn man Informationen im Stil eines Wikis oder eines Manuals sucht, sollte man ein Wiki oder eine manpage bemühen.
Danke für die Erklärung! Beruhigend zu wissen, das eine Idee dahinter steckt.
Danke, diese Erklärung hat mir weitergeholfen 🙂
Die Sinnfrage von Phased Updates stellt sich hier meines Erachtens nicht.
Der Artikel erklärt die Ursache der zurückgehaltenen Pakete und auch die Behebung des „Problems“ wem dies nicht passt.
Daumen hoch, danke für die Erklärung Gerrit! 🙂
Hier noch eine differenzierte Anleitung zum „Ernst nehmen“:
1. technische korrekte Erklärungen: Ernst nehmen (Danke Gerrit!)
2. spaßige bis frotzelnde Bemerkungen: nicht Ernst nehmen sondern spaßig-sportlich
3. sich selbst: auch nicht so Ernst nehmen – nennt sich auch Selbstdistanz und gilt als Zeichen von Reife. Ist Voraussetzung für 2.
Hallo. Also die Sache mit dem „full-upgrade“ stammt ja von Debian selbst, weil in Debian nur so Systemupgrades vorgenommen werden.
In Debian sieht das dann so aus:
Sourcelist mit aktueller Version einpflegen (Bookworm).
Dann:
$ sudo apt update
$ sudo apt upgrade
$ sudo apt full-upgrade
$ sudo apt autoremove
Bei Ubuntu ist es ähnlich, nur bei Punkt 3 wird dann
$ sudo apt dist-upgrade
verwendet.
Zurückgehaltene Pakete sollten zudem einzeln installiert werden bis sie weg sind, jedoch kann es durchaus auch sein, dass es dafür keine Installationspakete mehr gibt.
Je nach Fall eventuell auch die störende Pakete manuell löschen denn eventuell gibt es dafür neue oder andere Paketquellen.
Darum geht es hier nicht. Dein Debian-Wissen trägt hier nicht.