Die vorgestellten Werkzeuge zur Paketverwaltung sind als sehr pingeling bekannt, um den Zustand Ihres Systems möglichst stabil und benutzbar zu halten. Dazu zählen beispielsweise eine saubere Installation, keine Konflikte zwischen den installierten Paketen, das Einspielen von Aktualisierungen und Patches sowie keine offenen Paketabhängigkeiten.
Trotz dieser Qualitätskontrolle können Dinge schiefgehen. Dazu zählen
beispielsweise unschöne Paketkonflikte — zwei Pakete bedingen einander
und lassen sich nicht nacheinander installieren. In dieser Situation
hilft Ihnen Spezialwissen weiter, zu dem die Möglichkeiten von dpkg
,
apt
und aptitude
gehören, um Sicherheitschecks und Warnungen zu
ignorieren und Aktionen trotzdessen durchzuführen. Bitte behalten Sie
dabei stets im Hinterkopf, dass diese Schritte und Optionen Ihr System
auch unbenutzbar machen können.
Eine Übersicht zu den verschiedenen Schaltern von dpkg
erhalten Sie
mit Hilfe von --force-help
.
Die verschiedenen Schalter von dpkg
zum Erzwingen einzelner Aktionen.
$ dpkg --force-help dpkg-Optionen zum Erzwingen - Verhalten steuern, wenn Probleme gefunden werden: Warnen aber fortsetzen: --force-<Ding>,<Ding>,... Mit Fehler anhalten: --refuse-<Ding>,<Ding>,... | --no-force-<Ding>,... Dinge erzwingen: [!] all Alle Optionen zum Erzwingen setzen [*] downgrade Paket durch eine niedrigere Version ersetzen configure-any Jedes Paket konfigurieren, das diesem helfen könnte ... [!] remove-reinstreq Pakete entfernen, die Installation erfordern [!] remove-essential Ein essenzielles Paket entfernen WARNUNG - Anwenden der mit [!] markierten Optionen kann Ihre Installation schwer beschädigen. Mit [*] markierte Optionen sind per Vorgabe aktiviert. $
dpkg
kennt zwei Wege — über den Schalter --force-Aktion
sowie
--no-force-Aktion
und --refuse-Aktion
. Bei ersterem warnt dpkg
nur, setzt
aber die ausgewählte Aktion fort. Bei den beiden letztgenannten hält es die
Ausführung der Aktion an, sobald ein Fehler auftritt. Das sind die Schalter für
die Aktionen im Einzelnen:
all
architecture
bad-verify
bad-path
bad-version
breaks
confask
confdef
confold
oder confnew
ist auch angegeben.
configure-any
conflicts
confmiss
confnew
confold
hold
depends
depends-version
not-root
overwrite
overwrite-dir
overwrite-diverted
remove-reinstreq
remove-essential
script-chrootless
unsafe-io
Die Abbildung 8.38, „Die Installation eines Paketes erzwingen“ zeigt den Aufruf von dpkg
mit den beiden Schaltern
--force-depends
und -i
zur Installation eines Pakets ohne Prüfung der
Abhängigkeiten zu anderen Paketen.
in /var/lib/dpkg/status
herumpfuschen