dpkg: Pakete von der Aktualisierung ausschließen

Paketaktualisierungen in Debian-basierten Systemen wie z.B. Ubuntu sind im Regelfall problemlos und schnell erledigt. Meistens jedenfalls. Nicht jedoch, wenn bestimmte Paketupdates zu Problemen führen – dann wünscht man sich die Möglichkeit, bestimmte Pakete (erst mal) von der Aktualisierung auszuschließen.

Upgrade unerwünscht

Über die Kommandozeile lässt sich das Vorhaben problemlos in die Tat umsetzen:

Paket-Aktualisierung sperren

echo <Paket> hold | dpkg --set-selections

Sperre aufheben und Updates wieder freigeben

echo <Paket> install | dpkg --set-selections

Liste mit gesperrten Paketen anzeigen

dpkg --get-selections | grep hold

Hintergründe: Upgrades und ihre Tücken

Vor einiger Zeit wurde mir aus den offiziellen Quellen ein Upgrade des NVIDIA-Grafiktreibers vorgeschlagen; dieser brachte die neue Version 319.32 mit sich. Das Upgrade lief sauber durch, ein anschließender Neustart ergab plötzlich ein ein nicht mehr startendes System.

Fehlersuche

Im Failsave-Mode ergab ein Blick in /var/log/syslog folgendes:

NVRM: API mismatch: the client has the version 319.32, but
NVRM: this kernel module has the version 304.88. Please
NVRM: make sure that this kernel module and all NVIDIA driver
NVRM: components have the same version.

Eine weitere Analyse mittels

dkms status

ergab schließlich:

nvidia-304-updates, 304.88, 3.5.0-39-generic, x86_64: installed
nvidia-319-updates, 319.32, 3.5.0-39-generic, x86_64: installed

Was war passiert? Das alte Kernel-Modul Version 304 wurde beim Upgrade nicht entfernt und führte zu einem Versionskonflikt, wie man am Auszug aus /var/log/syslog ersehen kann. Bis ich allerdings auf diese Ursache kam, war bereits einige Zeit an Fehlersuche vergangen – an doppelte Module hatte ich zunächst nicht im Traum gedacht und zunächst nur im Xorg.log nachgeschaut, welches mir aber keinen Aufschluss auf die Ursache geben konnte.

Fehlerbehebung

Manuelle Deinstallation aller Komponenten des alten Treibers 304 mittels:

apt-get remove nvidia-304*

und ein anschließendes

update-grub

Nach einem Reboot lief anschließend alles wieder einwandfrei.

Weitere Probleme…

Eine ganze Weile später meldete sich die Paketaktualisierung mit einem weiteren Upgrade des NVIDIA-Grafiktreibers. Diesmal lief alles reibungslos, allerdings zeigten sich im laufenden Betrieb Probleme mit der Erkennung des zweiten Monitors resultierend aus (urplötzlich) fehlerhaften DDC/EDID-Werten. Sich häufende Bugreports zu dieser Treiberversion führten dann zu der Entscheidung, auf die vorherige Treiberversion zu wechseln und erst mal bei dieser zu bleiben.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert