Debian/Ubuntu Linux: Bestimmtes Programm nicht updaten

von | 15.09.2014 | Linux

Linux-Systeme, die auf Debian basieren, wie etwa Ubuntu, Linux Mint oder Pop!_OS, haben eine automatische Softwareaktualisierung. Damit werden alle installierten Programme auf dem neusten Stand gehalten. Ihr wollt ein bestimmtes Programm von den automatischen Updates ausnehmen, sodass es nicht geupdatet wird?

Updates für ein bestimmtes Programm zu verhindern kann in verschiedenen Situationen sinnvoll sein: Wenn das Update bekannte Bugs hat, wenn eine neue Version inkompatibel zu eurer Arbeitsumgebung ist, oder wenn ihr eine stabile Produktivumgebung nicht durch ungetestete Updates gefährden wollt. Besonders bei kritischen Servern oder Docker-Containern ist diese Kontrolle über Updates essentiell.

Einzelne Pakete vom Update ausschließen

Um ein Programm von der Software-Aktualisierung per APT auszunehmen, startet ihr ein Terminal und nutzt dann folgenden Befehl:

sudo apt-mark hold PAKETNAME

Anschließend lassen sich verfügbare Updates wie gewohnt über sudo apt-get upgrade oder sudo apt upgrade einspielen. Ihr erhaltet dann einen Hinweis, dass bestimmte Pakete zurückgehalten wurden.

linux-apt-mark-hold

Status überprüfen und Pakete wieder freigeben

Mit apt-mark showhold könnt ihr alle zurückgehaltenen Pakete auflisten. Das ist praktisch, wenn ihr den Überblick über eure Hold-Liste behalten wollt:

apt-mark showhold

Um ein Paket wieder für Updates freizugeben, verwendet ihr:

sudo apt-mark unhold PAKETNAME

Moderne Alternativen und erweiterte Optionen

Seit Ubuntu 22.04 LTS und neueren Debian-Versionen gibt es zusätzliche Möglichkeiten für die Update-Kontrolle. Mit dem Tool apt-preferences könnt ihr noch granularere Kontrolle über Paket-Versionen ausüben. Erstellt dazu eine Datei in /etc/apt/preferences.d/:

echo "Package: PAKETNAME" | sudo tee /etc/apt/preferences.d/hold-paket
echo "Pin: version VERSIONNUMMER" | sudo tee -a /etc/apt/preferences.d/hold-paket
echo "Pin-Priority: 1001" | sudo tee -a /etc/apt/preferences.d/hold-paket

Snap-Pakete und Flatpak-Updates kontrollieren

Bei Snap-Paketen, die Ubuntu standardmäßig nutzt, funktioniert apt-mark hold nicht. Hier müsst ihr andere Wege gehen:

Für Snap-Pakete:

sudo snap refresh --hold PAKETNAME

Um das Hold wieder aufzuheben:

sudo snap refresh --unhold PAKETNAME

Bei Flatpak-Anwendungen könnt ihr Updates durch das Maskieren von Repositories oder einzelnen Paketen kontrollieren:

flatpak mask PAKETNAME

Automatische Updates intelligent konfigurieren

Für Produktivumgebungen empfiehlt sich eine durchdachte Update-Strategie. Mit unattended-upgrades könnt ihr nur Sicherheitsupdates automatisch installieren lassen, während Feature-Updates manuell erfolgen. Die Konfiguration findet ihr in /etc/apt/apt.conf.d/50unattended-upgrades.

Alternativ könnt ihr mit Tools wie apt-listchanges vor jedem Update eine Übersicht der Änderungen erhalten und bewusst entscheiden, welche Updates ihr installieren möchtet.

Vorsicht bei Abhängigkeiten

Beachtet, dass das Zurückhalten von Paketen zu Abhängigkeitsproblemen führen kann. Wenn andere Programme die neuere Version des zurückgehaltenen Pakets benötigen, kann das System in einen inkonsistenten Zustand geraten. Prüft regelmäßig mit apt-get check, ob euer System konsistent ist.

Bei kritischen System-Paketen wie dem Kernel solltet ihr besonders vorsichtig sein. Hier kann es sinnvoller sein, gezielt nur bestimmte Kernel-Versionen zu installieren und andere über die GRUB-Konfiguration verfügbar zu halten.

Fazit

Die Kontrolle über Updates ist ein wichtiger Aspekt der Linux-Administration. Ob für Stabilität in Produktivumgebungen oder zum Vermeiden problematischer Updates – die vorgestellten Methoden geben euch die nötige Flexibilität. Vergesst nur nicht, zurückgehaltene Pakete regelmäßig zu überprüfen und bei Bedarf wieder freizugeben, um Sicherheitslücken zu vermeiden.

Zuletzt aktualisiert am 17.04.2026