zur Startseite

Druckausgabe von https://privat.albicker.org/
Iveco Daily 4x4, Hunde und multithematisches Blog

Debian: Warum Pakete trotz 'apt upgrade' nicht aktualisiert werden – apt‑listbugs, Pinning und unattended‑upgrades

veröffentlicht am 01.03.2026 mit 738 Worten - Lesezeit: 4 Minute(n) in * LINUX *

Inhaltsverzeichnis

 

Immer wieder mal stelle ich fest - zuletzt bei meinem Debian Versionsupdate: Bookworm nach Trixie - daß sich bestimmte Pakete nicht aktualisieren lassen (hier im Beispiel geht es um das deutsche Sprachpaket des Firefox-Browsers).

Warum aktualisiert Debian Pakete trotz „apt upgrade“ nicht?

Wenn Debian Pakete trotz „apt upgrade“ nicht aktualisiert, liegt das häufig an aktivem APT‑Pinning. In vielen Fällen setzt apt‑listbugs bei kritischen Bugs automatisch ein hartes Pinning, das auch von unattended‑upgrades respektiert wird. Dadurch bleibt die installierte Paketversion bewusst zurück.

TL;DR: Wenn apt policy einen neueren Kandidaten zeigt, das Paket aber nicht hochzieht, prüfe /etc/apt/preferences* bzw. /etc/apt/preferences.d/ auf Pinning – insbesondere auf Einträge von apt-listbugs.

Analyse

Wenn nicht defekte Abhängigkeiten vorliegen, dann kann das darauf hinweisen, daß hier die alte Version durch pinning quasi “festgenagelt” ist. Das läßt sich über das Kommando apt policy überprüfen (als root, ansonsten jeweils sudo voranstellen):

# apt policy firefox-esr-l10n-de
firefox-esr-l10n-de:
  Installiert:           140.7.0esr-1~deb13u1
  Installationskandidat: 140.8.0esr-1~deb13u1
  Versionstabelle:
     140.8.0esr-1~deb13u1 500
        500 http://security.debian.org/debian-security trixie-security/main amd64 Packages
 *** 140.7.0esr-1~deb13u1 100
        100 /var/lib/dpkg/status
     140.4.0esr-1~deb13u1 500
        500 http://deb.debian.org/debian trixie/main amd64 Packages

Wie erkennt man, ob ein Paket durch apt‑Pinning blockiert ist?

apt policy <paketname> zeigt installierte Version und Installationskandidaten

  • Ein sehr hoher Pin‑Priority‑Wert (z. B. 10000 oder höher) deutet auf hartes Pinning hin
  • Dateien in /etc/apt/preferences oder /etc/apt/preferences.d/ enthalten die Pin‑Regeln
  • Hinweise auf apt‑listbugs finden sich oft im Erklärungstext (Explanation)

In der Ausgabe sieht man:

Damit apt die neuere Version installiert, muß dafür gesorgt werden, daß:

  1. Das trixie-security‑Repository aktiv ist.
    Das ist auf meiner Maschine der Fall.

  2. Paketlisten aktualisieren

    #  apt update
    
  3. Upgrade explizit anstoßen

    Entweder nur das Sprachpaket:

    #  apt install firefox-esr-l10n-de
    

    oder das komplette System:

    #  apt full-upgrade
    

    Da der Installationskandidat bereits 140.8.0esr-1~deb13u1 ist, sollte apt install firefox-esr-l10n-de das Paket auf diese Version hochziehen.

Das wäre das normale Vorgehen, aber in meinem Fall wurde das Paket dennoch nicht aktualisiert. Hier hilft dann eine Kontrolle, ob nicht auf irgend eine Weise ein strengeres Pinning gesetzt ist:

In diesem Fall fand sich im Verzeichnis /etc/apt/preferences.d/* eine Datei apt-listbugs mit folgendem Inhalt:

Explanation: Pinned by apt-listbugs at 2026-02-28 09:30:06 +0100
Explanation: Pinning requested by root (0) during command: /usr/bin/python3 /usr/bin/unattended-upgrade
Explanation:   #1127569: firefox-esr: should support/recommend libavcodec62 (for libvpx consistency, and libavcodec61 is no longer built)
Package: firefox-esr
Pin: version 140.7.0esr-1~deb13u1
Pin-Priority: 30000

Merke: Ein extrem hoher Pin-Priority‑Wert (hier 30000) ist praktisch ein „hartes Festnageln“ auf eine bestimmte Version.

Lösung

Nachdem ich diesen Eintrag entfernt hatte und erneutem

#  apt update
#  apt upgrade

erfolgte das Update des Pakets wie gewünscht.

Was ist der Grund für diese “Ladehemmungen”?

Nun, vor längerer Zeit hatte ich mal zwei Pakete zusätzlich installiert:

apt-listbugs und apt-listchanges sind also Debian-APTs-Erweiterungen, die vor Paket-Installationen Informationen liefern, unterscheiden sich aber in Fokus und Datenquelle.

Kernunterschiede

Aspekt apt-listbugs apt-listchanges
Zweck Zeigt bekannte Bugs aus Bug-Tracking Zeigt Änderungen aus Changelogs/NEWS
Datenquelle Debian BTS (Bug-Reports) DebianChangelog, NEWS.Debian
Fokus Offene/schwere Fehler, Risiken Neue Features, Fixes, Breaking Changes
Ausgabe Kritische Bug-Listen pro Paket Gruppierte Einträge nach Dringlichkeit

apt-listbugs warnt vor potenziell defekten Paketen, ideal bei Testing/Unstable. apt-listchanges informiert über Updates, hilft bei Kompatibilitätsproblemen.

Spezialfall unattended‑upgrades:

Ich verwende aus Bequemlichkeit nicht‑interaktive Updates (Paket: unattended‑upgrades) Während bei normalen interaktiven APT‑Sitzungen der Admin festlegen muß, welche Maßnahme auf eine Fehlermeldung zu erfolgen hat (Prompt: “Continue, Abort oder Pin?”), führt apt-listbugs für vollautomatische Systeme einen Abort aus, wenn schwere Bugs (critical, grave) erkannt werden – die Installation wird abgebrochen und im Log vermerkt. In meinem Setup kam es dabei offenbar immer wieder zu einem Pinning.

Warum blockiert apt‑listbugs Updates bei unattended‑upgrades?

Bei nicht‑interaktiven Updates kann apt‑listbugs bei kritischen Bugs keine Rückfrage stellen. Stattdessen wird das Upgrade abgebrochen und in manchen Konfigurationen ein dauerhaftes Pinning gesetzt. Dieses Pinning verhindert spätere automatische oder manuelle Updates des betroffenen Pakets.

Das Debian-Anwenderhandbuch schreibt dazu:

Wird eine stabile Version von Debian verwendet, so ist es sehr unwahrscheinlich, dass bei einem Upgrade eines Pakets schwerwiegende Fehler auftreten. Auf den Einsatz von apt-listbugs kann in solchen Fällen meist verzichtet werden.

Vielleicht sollte ich nochmal drüber nachdenken, ob das wirklich nötig ist - denn die Erfahrung der letzten Jahre hat mir gezeigt, daß das System schon sehr stabil läuft …

 


weitere Artikel