Frage Was ist der Unterschied zwischen dpkg und aptitude / apt-get?


Bei der Installation einer Software über dpkg -i packageA.deb, werden die Abhängigkeiten von benötigt packageA heruntergeladen und automatisch installiert werden? Wie unterscheidet sich das von der Verwendung? apt-get oder aptitude?


116
2018-06-17 07:08


Ursprung


Related (besonders in Bezug auf Abhängigkeiten): askubuntu.com/q/40779/250300 - Melebius


Antworten:


Nein, dpkg installiert nur ein Paket, also tun dpkg -i packageName.deb wird nur dieses Deb-Paket installieren und Sie über alle Abhängigkeiten informieren, die installiert werden müssen, aber es wird nicht installiere sie, und es wird nicht Konfigurieren Sie die packageName.deb weil gut ... die Abhängigkeiten sind nicht da.

apt-get ist ein Paketverwaltungssystem die die Installation von Deb-Paketen übernimmt Debian-basierte Linux-Distributionen. Ein Paketverwaltungssystem besteht aus einer Reihe von Tools, mit denen Sie Pakete leicht installieren, entfernen und ändern können. Damit apt-get ist wie ein kluger dpkg.

Ich mag es, auf diese Weise an die Zeitlinie zu denken (das Folgende ist nur ich spreche aus Erfahrung. Es soll Ihnen nur eine Vorstellung von dieser ganzen Sache geben):

  • Sie haben eine Möglichkeit gefunden, die Dateien einer Anwendung in einem "Paket" zu "speichern", damit sie leicht installiert werden kann. Also, das Deb-Paket (.deb Erweiterungsdatei) wurde geboren.

    EIN .deb Datei enthält die Dateien, die von einer Anwendung zur Ausführung benötigt werden, sowie (Ich nenne es gerne) "Metadaten", die andere Informationen enthalten, z. B. die Namen der Abhängigkeiten, die die Anwendung benötigt. Wenn Sie den Inhalt eines .deb Datei können Sie den Befehl verwenden dpkg -c packageName.debWenn Sie diese "Metadaten" -Informationen anzeigen möchten, verwenden Sie den Befehl dpkg -I pacakgeName.deb (Und wenn Sie nur die Abhängigkeiten sehen wollen, tun Sie dpkg -I packageName.deb | grep Depends).

  • Sie benötigten ein Werkzeug, um diese zu installieren .deb Dateien, so kamen sie auf die dpkg Werkzeug. Dieses Tool wird jedoch nur installieren .deb Datei, aber wird nicht installieren ihre Abhängigkeiten, weil es diese Dateien nicht hat und es hat keinen Zugriff auf "Repositories", um die Abhängigkeiten zu ziehen.

  • Dann kamen sie auf apt-get, die die Probleme im vorherigen Punkt automatisiert. Unter der Haube, apt-get ist im Grunde dpkg (Ich denke gerne daran apt-get ein Frontend für sein dpkg), aber ein kluger, der nach den Abhängigkeiten sucht und sie installiert. Es schaut sich sogar die aktuell installierten Abhängigkeiten an und bestimmt diejenigen, die von keinem anderen Paket verwendet werden, und informiert Sie darüber, dass Sie sie entfernen können.

aptitude dann kam mit. Es nutzt die Bibliotheken apt-get Verwendet und hat tatsächlich eine interaktive Benutzeroberfläche (Benutzeroberfläche). Wenn Sie diese Benutzeroberfläche sehen möchten, tippen Sie einfach aptitude im Terminal. Das ist  aptitude. Es nutzt die Bibliotheken, um mehr Optionen und Vorteile als zu bieten apt-get. Beispielsweise, aptitude wird automatisch berechtigte Pakete entfernen, während apt-get benötigt dazu einen separaten Befehl. Aber am Ende, tun sudo aptitude install packageName.deb sollte mindestens sei genauso wie sudo apt-get install packageName.deb. Vielleicht gibt es hier und da kleine Unterschiede, von denen ich nichts weiß, aber sie werden beide nach den Abhängigkeiten suchen und all diese Dinge tun. Du kannst lesen die Antwort hier für mehr Informationen über die Unterschiede zwischen aptitude und apt-get.

Ebenfalls, aptitude hat keine Super Cow Powers.

EDIT: Offensichtlich tut es das. aptitude -v[v[v[v[v]]]] moo.

aptitude ist möglicherweise nicht standardmäßig installiert. Um es zu installieren, tun sudo apt-get install aptitude oder klicke hier: Eignung Install aptitude.


Extra

Die folgenden Informationen antworten nicht direkt "Was ist der Unterschied zwischen dpkg und aptitude / apt-get?"Aber es trägt zum großen Bild bei.


Von Carlos Campderrós" kommentiere unten:

gdebi ist ein anderes Werkzeug, das irgendwie eine Mischung zwischen ist apt-get und aptitude. Wenn Sie es verwenden, um ein zu installieren .deb Paket (gdebi packageName.deb), identifiziert es die fehlenden Abhängigkeiten und installiert sie mit apt-getund installieren und konfigurieren das Paket anschließend mit dpkg. Es hat sogar eine einfache und übersichtliche GUI, die Ihnen Informationen gibt über die .deb Paket, die im Paket enthaltenen Dateien und welche Abhängigkeiten installiert werden müssen. Um diese GUI zu sehen, würden Sie tun gdebi-gtk packageName.deb. Du kannst Geben gdebi Probieren Sie es aus, indem Sie es installieren sudo apt-get install gdebi oder klicke hier: gdebi Install gdebi.


Ich will niemanden verwirren, aber um Ihnen einen anderen Teil des Bildes zu geben, gibt es ein anderes populäres Linux - Paketformat namens RPM, und seine Dateien haben das .rpm Erweiterung. Dieses Paketformat wird verwendet RPM-basiert Linux-Distributionen (wie Red Hat, CentOS und Fedora). Sie verwenden den Befehl rpm um ein Paket zu installieren, und yum ist das Front-End dafür, es ist das Schlaue. Also ihre .rpm Dateien sind unsere .deb Dateien, ihre rpm Werkzeug ist unser dpkg Werkzeug und ihre yum ist unser apt-get.

Von Paddy Landauist es kommentiere unten:

alien ist ein Werkzeug, das zwischen konvertiert .rpm und .deb Pakete. Also wenn du jemals in die Situation fällst, wo du eine hast .rpm Paket, und Sie möchten auf Ihrem Ubuntu (oder einer anderen Debian-basierten Distribution) installieren, können Sie den Befehl verwenden alien rpm_packageName.rpm um es zu konvertieren .deb, und installieren Sie es dann mit dpkg. Sie können das Gegenteil tun (konvertieren .deb zu .rpm) verwenden alien -r packageName.deb.


156
2018-06-17 07:30



Das war sehr nützlich und genau das, was ich suchte. Tx! - Aniket Thakur
Sie können auch verwenden gdebi (apt-get install gdebi-core) das mischt apt-get/aptitude mit dpkg. Du nennst es mit gdebi some_package.deb und es wird seine Abhängigkeiten analysieren, rufen Sie an apt-get um die fehlenden zu installieren und wenn alle Abhängigkeiten erfüllt sind, dann rufe an dpkg um dein Paket endlich zu installieren. - Carlos Campderrós
@ CarlosCampderrós, habe ich hinzugefügt gdebi in meiner Antwort. - Alaa Ali
@Alaa unter ExtraDas kannst du auch erwähnen alien konvertiert Pakete zwischen .rpm und .deb. Dies ist nützlich für Pakete, die für RPM, aber nicht für DEB (oder umgekehrt) verfügbar sind. Beispielsweise, alien packagename.rpm um es für Ubuntu nutzbar zu machen. - Paddy Landau
@AlaaAli aptitude ist kein Frontend für apt-get. Beide Programme sind Frontends für die libapt-pkg Bibliothek. - Eliah Kagan


apt-get

Die Paketverwaltung über apt-get läuft Hand in Hand mit der Datei /etc/apt/sources.list.

apt-get install <package_name> installiert ein neues Paket auf Ihrem Computer.

apt-get build-dep <package_name> Dieser Befehl durchsucht die Repositorys und installiert die Build-Abhängigkeiten für. Wenn sich das Paket nicht in den Repositories befindet, wird ein Fehler zurückgegeben.

apt-get install <package1_name> <package2_name> <package3_name> apt-get ermöglicht die Installation mehrerer Pakete. Trennen Sie die Pakete mit einem Leerzeichen.

auto-apt run <command_string> Beim Aufruf installiert der Befehl auto-apt automatisch Pakete bei fehlendem Dateizugriff. Wenn ein Programm versucht, auf eine Datei zuzugreifen, von der bekannt ist, dass sie in einem nicht installierten Paket enthalten ist, installiert auto-apt dieses Paket mit apt-get. Für diese Funktion müssen apt und sudo funktionieren.

Besuchen Sie die apt-get-Instruktionsseite

Eignung

aptitude bietet die Funktionalität von dselect und apt-get sowie viele zusätzliche Funktionen, die in keinem der Programme zu finden sind.

aptitude hat eine eigene Shell, die Tastatur oder Maus aktiviert ist und in einem Terminalfenster läuft

aptitude build-dep <package>   - Installiere die Build-Abhängigkeiten von Paketen - was bedeutet, dass die Pakete kompiliert werden müssen (oder bauen) sein Quellpaket. Zum Beispiel brauchen viele Pakete debhelper oder autotools gebaut werden, aber sie brauchen nicht zu laufen.

Besuchen Sie die Eignungsübersichtsseite

dpkg

ist ein Tool zum Installieren, Erstellen, Entfernen und Verwalten von Debian-Paketen. Verknüpfung

dpkg -i <package.deb> installiert ein Debian-Paket auf Ihrem Computer. Es werden keine Abhängigkeiten installiert, soweit ich es aus den Hilfedateien herausfinden kann.

Für Details tippen dpkg --help in ein Terminalfenster.

Führer

Ein Leitfaden zur Dateiverwaltung kann gefunden werden Hier


5
2018-06-17 07:29





Ich denke, das Wichtigste und auch ein Unterschied ist zu beachten, dass Sie verwenden sollten apt-get Werkzeug zum Installieren von Paketen. (apt oder aptitude ist auch gut).

Das ist weil dpkg ist zum Installieren von Paketen gedacht, ohne dass abhängige Pakete installiert werden müssen. Aus diesem Grund installieren Sie einfach ein Paket mit dpkg, kann zu einem späteren Problem führen, bei dem die Auflösung der Auflösung zu einem Systemausfall führen kann.

Sie sollten die Befehlszeile verwenden apt-get oder apt (seit 14.04) Tool zum Installieren von Paketen. Diese Tools verwenden dpkg für Sie und gleichzeitig haben Sie die Abhängigkeit Auflösung Mechanismus in sich.


0
2017-08-16 19:24