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.