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