Bei älteren Programmen, die nicht mehr weiter entwickelt werden, ist es manchmal nötig eine Aktuallisierung oder Updates für ein einzelnes Paket zurückzuhalten, um zu gewährleisten, dass das Programm stabil läuft.
Ein Beispiel ist der SSLExplorer, eine Open Source SSL VPN Lösung. 3SP Ltd. hat die Entwicklung der unter der GPGL stehenden Community Edition Anfang 2008 eingestellt und Updates, Bugfixes etc. nur noch für die kostenpflichtige Enterprise Edition bereitgestellt. Um den SSLExplorer unter Debian / Ubuntu zu installieren, benötigt man zwingend die ältere Java Version 1.5.x. Da im aktuellen Stable Repository Java in der Version 1.6.x enthalten ist, würde nach einem aptitude upgrade die aktuelle Version installiert werden. Um das zu verhindern, kann man als root mit folgenden Befehl das Update für ein bestimmtes Paket zurückhalten (funktioniert nur bei Debian basierten Distributionen):
Paket-Aktuallisierung sperren
echo <Paket> hold | dpkg --set-selections
Sperre aufheben und Updates wieder freigeben
echo <Paket> install | dpkg --set-selections
List mit gesperrten Paketen anzeigen
dpkg --get-selections | grep hold
apt-pinning scheint mir um einiges besser zu sein.
http://wiki.ubuntuusers.de/apt-pinning
@dAnjou: Da hast du recht, apt-pinning bietet natürlich deulich mehr an als nur ein bestimmtes Paket zu sperren. Werds mir mal genauer anschauen, Danke für den Tip.