Warum soll ich aptitude nicht verwenden?

Aus Siduction Wiki DE
Wechseln zu: Navigation, Suche

Das aptosid-Handbuch gibt eine theoretische Erklärung, warum man aptitude nicht für Systemaktualisierungen vewenden soll:


Paketmanager wie adept, aptitude, synaptic und kpackage sind - technisch gesprochen - nicht-deterministisch. Bei Verwendung einer dynamischen Distribution wie Debian Sid unter Hinzunahme von Drittrepositorien, deren Qualität nicht vom Debian-Team getestet sein kann, kann eine Systemaktualisierung zur Katastrophe führen, da diese Paketmanager durch automatische Lösungsversuche falsche Entscheidungen treffen können. APT-Leitfaden des aptosid-Handbuchs


Diese Information möchte ich nun ergänzen mit dem Verhalten von aptitude bei sogenannten "reversen Abhängigkeiten". Das sind Pakete, welche ein bestimmtes Paket benötigen. Durchgetestet wurde es mit den Paketen hplip, hplip-data, hplip-gui, hpijs, hpijs-ppsd.


Grundannahme: Man möchte hplip von einer Systemaktualisierung ausklammern (wegen nicht erfüllter Abhängigkeiten oder wegen eines Fehlers in der neuesten Version). Die reversen Abhängigkeiten von hplip sind hier hpjis und hpjis-ppds.


Das Verhalten von apt:

Man setzt hplip mittels dpkg auf hold, und "apt-get dist-upgrade" klammert dieses Paket von der Systemaktualisierung aus.


Das Verhalten von aptitude:

Trotz des dpkg-Holds von hplip würde aptitude dieses Paket aktualisieren, wenn gleichzeitig hpijs (und/oder hpijs-ppds) auch aktualisiert würde. Dies ist ein Verhalten, das man nicht möchte.


Lösung für aptitude:

Man müsste mittels "aptitude hold foo" nicht nur das gewünschte Paket, sondern auch alle installierten abhängigen Pakete und alle installierten reversen Abhängigkeiten auf hold setzen, um das Update eines einzigen Pakets zu verhindern.


Mit so einem Vorgehen könnte man wohl mit Sisyphos eine Arbeitsgemeinschaft bilden oder sich gleich im lokalen Irrenhaus anmelden.


Getestet und dokumentiert ist dieses Verhalten im Forum von h2, wo für smxi aptitude auf Herz und Nieren bezüglich seiner Praxistauglichkeit getestet wurde. Im Augenblick existieren zwei Threads:

aptitude hold/install bug in smxi

aptitude is ignoring dpkg hold/install rules


Fazit: aptitude ist nicht geeignet, ein Rolling Release wie aptosid zu administrieren.

Übernommen aus dem sidux-wiki