Meine Frage ist einfach - ich möchte mehr über dpkg erfahren - was macht es?
Meine Frage ist einfach - ich möchte mehr über dpkg erfahren - was macht es?
Antworten:
Wie gesagt, dpkg
ist ein Low-Level-System-Tool zum Extrahieren, Analysieren, Entpacken und Installieren oder Entfernen von .deb-Dateien. Es ist jedoch besser , .deb-Dateien zu verwenden Software Centre
oder Gdebi
zu installieren oder zu entfernen, die aus anderen Quellen stammen, da diese beiden Programme eine Abhängigkeitsauflösung aufweisen.
Was jedoch nicht erklärt wurde, ist die Anatomie eines Updates unter Verwendung von dpkg
und apt-get
. Wenn wir zum Beispiel apt-get
zur Installation aufrufen , cheese
wird der Abhängigkeitsbaum analysiert und die erforderlichen Dateien abgerufen apt-get
, die dann dpkg
an die richtigen Speicherorte übergeben werden, um sie zu extrahieren, zu analysieren und zu installieren und sie gemäß den darin enthaltenen Skripten zu konfigurieren.
Die Skripte, die dpkg
in jeder .deb-Datei gelesen werden, sind wichtig, da sie dem Programm Informationen zur Installation, Deinstallation und Konfiguration der Pakete liefern. Wenn Sie sich das Dokument ansehen, /var/log/dpkg.log
finden Sie viele ausführliche Details zu 'Triggern' und Paketen, die verschiedene Phasen des Entpackens und Konfigurierens durchlaufen. In seinem Blog erklärt Raphael Hertzog (ein wichtiger Debian-Entwickler und -Betreuer des dpkg
Pakets) mehr über dpkg-Trigger und die Art dpkg
und Weise, wie Pakete überprüft und konfiguriert werden.
Wir kommen jetzt zum Kern dessen, was dpkg
tut; Es behandelt Debian-Pakete fachmännisch und nicht ihre Abhängigkeiten. Mit dpkg-deb
können Sie beispielsweise verschiedene Aktionen ausführen, um Dateien aus den .deb-Archiven zu analysieren und manuell zu extrahieren. siehe man dpkg-deb
für weitere Informationen.
Der Status jedes Pakets ist in aufgelistet /var/lib/dpkg/status
, mit grep
dem ein bestimmtes Paket überprüft werden kann. Dpkg
kann auch aufgerufen werden, um bestimmte konfigurierte Pakete neu zu konfigurieren (siehe man dpkg-reconfigure
):
sudo dpkg-reconfigure <package>
Sie können auch alle nicht konfigurierten Pakete konfigurieren, wenn bei einem Update ein Problem aufgetreten ist und die Konfiguration einiger Pakete noch aussteht:
sudo dpkg --configure -a
Ein großartiges Tutorial, das sich auf dpkg
und konzentriert apt-get
, finden Sie in den Kapiteln 5 und 6 des Debian-Handbuchs . Dies ist die beste verfügbare Diskussion. Geben Sie man dpkg
in Ihr Terminal ein oder rufen Sie die Ubuntu-Hilfeseiten online auf, um alle verfügbaren Optionen anzuzeigen , z. B. das Auflisten dpkg -l
der derzeit installierten Pakete.
dpkg ist eine Befehlszeilenmethode zum Installieren von einer .deb-Datei oder zum Entfernen bereits installierter Pakete. Wenn Sie zum Beispiel eine .deb-Datei in Ihrem Ausgangsverzeichnis hatten, dpkg -i yourpackage.deb
installiert das Ausführen dieses Pakets für Sie. Ich finde das zumindest für mich nützlich, weil es manchmal beim Klicken auf eine .deb-Datei das Ubuntu Software Center lädt, es aber nie wirklich installiert oder Probleme hat.
Wie immer ist der man
Befehl ein guter Ausgangspunkt.
man dpkg
kann dir trotzdem alle möglichkeiten geben:
dpkg ist ein Paketmanager für Debian-basierte Systeme. Es kann Pakete installieren, entfernen und erstellen, aber im Gegensatz zu anderen Paketverwaltungssystemen können Pakete und ihre Abhängigkeiten nicht automatisch heruntergeladen und installiert werden.
Im Grunde genommen ist es also apt-get ohne Abhängigkeitsauflösung und wird zur Installation von .deb-Dateien verwendet.
Ich warne Sie jedoch: In den meisten Fällen wird NICHT empfohlen, Pakete mit dpkg zu deinstallieren. Es ist besser, einen Paketmanager zu verwenden, der Abhängigkeiten verarbeitet, um sicherzustellen, dass sich das System in einem konsistenten Zustand befindet.
Mit können Sie beispielsweise dpkg -r zip
das zip-Paket entfernen, aber alle Pakete, die davon abhängen, werden weiterhin installiert und funktionieren möglicherweise nicht mehr richtig.
Weitere Informationen finden Sie im Serverhandbuch und an anderer Stelle .