Inhaltsverzeichnis
Sowohl die APT-Methode dselect, als auch apt-get teilen sich die gleiche Schnittstelle. Es ist ein einfaches System, das üblicherweise mitteilt, was es tun wird und es dann tut. [2] Nach der Ausgabe einer Zusammenfassung was passieren wird, gibt APT einige informative Statusmeldungen aus, so dass Sie abschätzen können, wie weit es ist und wieviel noch zu tun ist.
Vor allen Operationen, ausgenommen »update«, führt APT eine Reihe von
Aktionen durch, um seinen internen Status vorzubereiten. Es macht außerdem
einige Prüfungen des Systemstatus. Diese Operationen können jederzeit durch
Ausführung von apt-get check durchgeführt werden.
# apt-get check Paketlisten werden gelesen … Fertig Abhängigkeitsbaum wird aufgebaut … Fertig
Das erste was es tut, ist das Einlesen aller Paketdateien in den Speicher. APT benutzt ein Zwischenspeicherschema, so dass diese Operation beim zweiten Ausführen schneller laufen wird. Falls einige der Paketdateien nicht gefunden werden, werden sie ignoriert und beim Beenden von Apt-get wird eine Warnung ausgegeben.
Die letzte Operation führt eine detaillierte Analyse der Abhängigkeiten des Systems durch. Sie prüft jede Abhängigkeit jedes installierten oder entpackten Pakets und berücksichtigt, ob es in Ordnung ist. Sollte sie ein Problem finden, dann wird eine Meldung ausgegeben und apt-get wird die Ausführung verweigern.
# apt-get check
Paketlisten werden gelesen … Fertig Fertig
Abhängigkeitsbaum wird aufgebaut
Status-Informationen einlesen … Fertig Fertig
Probieren Sie „apt --fix-broken install“, um diese zu korrigieren:
Die folgenden Pakete haben nichterfüllte Abhängigkeiten:
9fonts: Hängt ab: xlib6g ist aber nicht installiert
uucp: Hängt ab: mailx ist aber nicht installiert
blast: Hängt ab: xlib6g (>= 3.3-5) ist aber nicht installiert
adduser: Hängt ab: perl-base ist aber nicht installiert
aumix: Hängt ab: libgpmg1 ist aber nicht installiert
debiandoc-sgml: Hängt ab: sgml-base ist aber nicht installiert
bash-builtins: Hängt ab: bash (>= 2.01) but 2.0-3 ist installiert
cthugha: Hängt ab: svgalibg1 ist aber nicht installiert
Hängt ab: xlib6g (>= 3.3-5) ist aber nicht installiert
libreadlineg2: Conflicts:libreadline2 (<< 2.1-2.1)
In diesem Beispiel hat das System viele Probleme, einschließlich eines ernsten Problems mit libreadlineg2. Für jedes Paket, das nichterfüllte Abhängigkeiten hat, wird eine Zeile ausgegeben, die das Paket mit dem Problem anzeigt und die Abhängigkeiten, die nicht erfüllt sind. Eine kurze Erklärung, warum das Paket ein Abhängigkeitsproblem hat, ist inbegriffen.
Es gibt zwei Möglichkeiten, wie ein System in einen kaputten Status wie diesen kommen kann. Die erste wird dadurch verursacht, dass dpkg einige feine Beziehungen zwischen Paketen übersieht, wenn Upgrades durchgeführt werden. [3]. Die zweite tritt auf, falls eine Paketinstallation während der Ausführung fehlschlägt. In dieser Situation könnte ein Paket entpackt worden sein, ohne dass die von ihm Abhängigen installiert sind.
Die zweite Situation ist weit weniger ernst als die erste, weil APT
bestimmte Beschränkungen in der Reihenfolge setzt, in der Pakete installiert
werden. In beiden Fällen veranlasst die Option -f
apt-get, eine mögliche Lösung für das Problem zu folgern
und dann fortzufahren. Die APT-Methode dselect liefert
immer die Option -f, zum einfachen Fortfahren von
gescheiterten Betreuerskripten.
Falls jedoch die Option -f benutzt wird, um ein ernsthaft
kaputtes System zu korrigieren, das vom ersten Fall verursacht wurde, dann
ist es möglich, dass es entweder sofort fehlschlägt oder die
Installationsabfolge fehlschlagen wird. In beiden Fällen ist es nötig, Dpkg
(möglicherweise mit erzwingenden Optionen) manuell zu benutzen, um die
Situation ausreichend zu korrigieren, so dass es APT ermöglicht wird,
fortzufahren.
Bevor es fortfährt, wird apt-get einen Bericht darüber
präsentieren, was geschehen wird. Im Allgemeinen spiegelt der Bericht den
Typ der Operation, die ausgeführt wird, wider, aber es gibt auch mehrere
geläufige Elemente. Auf jeden Fall spiegelt die Liste den Endstatus der
Dinge wider, bezieht die Option -f in Betracht und alle
andere relevante Aktivitäten zum Befehl, der ausgeführt wird.
Die folgenden Pakete werden zusätzlich installiert: libdbd-mysql-perl xlib6 zlib1 xzx libreadline2 libdbd-msql-perl mailpgp xdpkg fileutils pinepgp zlib1g xlib6g perl-base bin86 libgdbm1 libgdbmg1 quake-lib gmp2 bcc xbuffy squake pgp-i python-base debmake ldso perl libreadlineg2 ssh
Die zusätzliche Paketliste zeigt alle Pakete, die installiert werden oder
von denen ein Upgrade durchgeführt wird, zusätzlich zu den auf der
Befehlszeile angegebenen. Sie wird nur für einen
install-Befehl generiert. Die aufgelisteten Pakete sind
häufig das Ergebnis einer automatischen Installation.
Die folgenden Pakete werden ENTFERNT: xlib6-dev xpat2 tk40-dev xkeycaps xbattle xonix xdaliclock tk40 tk41 xforms0.86 ghostview xloadimage xcolorsel xadmin xboard perl-debug tkined xtetris libreadline2-dev perl-suid nas xpilot xfig
Die Liste der zu entfernenden Pakete zeigt all die Pakete, die vom System
entfernt werden. Sie kann für jede der Operationen angezeigt werden und
sollte einer sorgfältige Überprüfung unterzogen werden, um sicherzustellen,
dass nichts Wichtiges weggenommen wird. Die Option -f ist
insbesondere gut darin, Pakete zum Entfernen vorzumerken, so dass in diesem
Fall mit extremer Vorsicht vorgegangen werden sollte. Die Liste könnte
Pakete enthalten, die entfernt werden, weil sie nur teilweise installiert
sind, möglicherweise aufgrund einer abgebrochenen Installation.
Die folgenden NEUEN Pakete werden zusätzlich installiert: zlib1g xlib6g perl-base libgdbmg1 quake-lib gmp2 pgp-i python-base
Die Liste neuer Pakete ist einfache eine Erinnerung, was geschehen wird. Die aufgelisteten Pakete sind zurzeit nicht auf dem System installiert, werden es aber sein, wenn APT fertig ist.