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

115

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

    
Aniket Thakur 17.06.2013, 09:08
quelle

3 Antworten

155

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

apt-get ist ein Paketverwaltungssystem behandelt die Installation von Deb-Paketen auf Debian-basierten Linux-Distributionen . Ein Paketverwaltungssystem besteht aus einer Reihe von Tools, mit denen Sie Pakete leicht installieren, entfernen und ändern können. Also apt-get ist wie eine schlaue 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 einfach installiert werden kann. So wurde das Deb-Paket ( .deb Erweiterungsdatei ) geboren.

      

    Eine .deb -Datei enthält die Dateien, die von einer Anwendung zum Ausführen benötigt werden, sowie (ich nenne es gerne) "Metadaten", die andere Informationen enthalten, wie die Namen von die Abhängigkeiten, die die Anwendung benötigt. Wenn Sie den Inhalt einer .deb -Datei sehen möchten, können Sie den Befehl dpkg -c packageName.deb verwenden, und wenn Sie diese "Metadaten" -Informationen sehen möchten, verwenden Sie den Befehl dpkg -I pacakgeName.deb (und wenn Sie nur wollen Siehe die Abhängigkeiten, do dpkg -I packageName.deb | grep Depends ).

  • Sie benötigten ein Tool, um diese .deb -Dateien zu installieren, sodass sie das Tool dpkg entwickelten. Dieses Tool installiert jedoch nur die .deb -Datei, installiert aber keine Abhängigkeiten, da diese Dateien nicht vorhanden sind und es keinen Zugriff auf "Repositories" hat, aus denen die Abhängigkeiten abgerufen werden können.

  • Dann kamen sie mit apt-get , was die Probleme im vorherigen Punkt automatisiert. Unterhalb der Haube ist apt-get im Grunde dpkg (Ich denke gerne, dass apt-get ein Front-End für dpkg ist), aber ein cleverer, der nach den Abhängigkeiten sucht und sie installiert. Es schaut sich sogar die aktuell installierten Abhängigkeiten an und bestimmt diejenigen, die von anderen Paketen nicht verwendet werden, und informiert Sie darüber, dass Sie sie entfernen können.

aptitude kam dann mit. Es verwendet die Bibliotheken apt-get uses und hat tatsächlich eine interaktive Benutzeroberfläche (Benutzeroberfläche) . Wenn Sie diese Benutzeroberfläche sehen möchten, geben Sie einfach aptitude in das Terminal ein. Das ist aptitude . Es nutzt die Bibliotheken, um mehr Optionen und Vorteile als apt-get bereitzustellen. Beispielsweise löscht aptitude automatisch auswählbare Pakete, während apt-get einen separaten Befehl benötigt, um dies zu tun. Aber am Ende sollte sudo aptitude install packageName.deb mindestens gleich sudo apt-get install packageName.deb sein. 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. Sie können hier die Antwort lesen, um weitere Informationen zu den Unterschieden zwischen aptitude und apt-get zu erhalten.

Außerdem hat aptitude keine Super Cow Powers.

  

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

aptitude wird möglicherweise nicht standardmäßig installiert. Um es zu installieren, führen Sie sudo apt-get install aptitude aus oder klicken Sie auf: aptitude .

Extra

  

Die folgende Information beantwortet nicht wirklich direkt " Was ist der Unterschied zwischen dpkg und aptitude / apt-get? ", aber sie trägt zum Gesamtbild bei.

Von Carlos Campderrós ' Kommentar unten :

gdebi ist ein weiteres Tool, das eine Art Mischung zwischen apt-get und aptitude ist. Wenn Sie es zum Installieren eines .deb -Pakets ( gdebi packageName.deb ) verwenden, identifiziert es die fehlenden Abhängigkeiten, installiert sie mit apt-get und installiert und konfiguriert schließlich das Paket mit dpkg . Es hat sogar eine einfache und übersichtliche GUI, die Sie über das .deb -Paket informiert, , die Dateien, die im Paket enthalten sind, und welche Abhängigkeiten müssen installiert werden. Um diese GUI zu sehen, würdest du gdebi-gtk packageName.deb machen. Du kannst gdebi ausprobieren, indem du es mit sudo apt-get install gdebi installierst oder klicke hier: gdebi .

Ich möchte niemanden verwirren, aber um Ihnen einen anderen Teil des Bildes zu geben, gibt es ein anderes gängiges Linux-Paketformat namens RPM und seine Dateien haben die Erweiterung .rpm . Dieses Paketformat wird auf RPM-basierten Linux-Distributionen verwendet (z. B. Rot) Hut, CentOS und Fedora). Sie verwenden den Befehl rpm , um ein Paket zu installieren, und yum ist das Front-End dafür, es ist das Kluge. Also sind ihre .rpm Dateien unsere .deb Dateien, ihr rpm Werkzeug ist unser dpkg Werkzeug, und ihre yum sind unsere apt-get .

Von Paddy Landau 's Kommentar unten :

alien ist ein Tool, das zwischen den Paketen .rpm und .deb konvertiert. Wenn Sie also in die Situation geraten, in der Sie ein Paket .rpm haben und auf Ihrem Ubuntu (oder einer anderen Debian-basierten Distribution) installieren möchten, können Sie den Befehl alien rpm_packageName.rpm in% co_de konvertieren %, und installieren Sie es dann mit .deb . Sie können das Umgekehrte tun ( dpkg in .deb konvertieren), indem Sie .rpm verwenden.

    
Alaa Ali 17.06.2013, 09:30
quelle
5

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 durch ein 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. Diese Funktion benötigt apt und sudo, um zu funktionieren.

Besuchen Sie die apt-get-Anweisungsseite

Eignung

aptitude stellt die Funktionalität von dselect und apt-get sowie viele zusätzliche Funktionen zur Verfügung, die in keinem der Programme enthalten sind.

aptitude hat eine eigene Shell, die mit 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 benötigt werden, um das Quellpaket zu kompilieren (oder build ). Beispielsweise benötigen viele Pakete debhelper oder autotools , die erstellt werden sollen, sie müssen jedoch nicht ausgeführt werden.

Besuchen Sie die Seite mit den Eignungshinweisen

dpkg

ist ein Tool zum Installieren, Erstellen, Entfernen und Verwalten von Debian-Paketen. Link

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 geben Sie dpkg --help in ein Terminalfenster ein.

Leitfäden

Eine Anleitung zur Dateiverwaltung finden Sie hier

    
SimplySimon 17.06.2013 09:29
quelle
0

Ich denke, das Wichtigste und auch ein Unterschied ist, dass Sie apt-get tool verwenden sollten, um Pakete zu installieren. ( apt oder aptitude ist auch gut).

Dies liegt daran, dass dpkg Pakete installieren soll, ohne dass abhängige Pakete installiert werden müssen. Aus diesem Grund kann das Installieren eines Pakets mit dpkg zu einem späteren Problem führen, bei dem die Auflösung der Abhängigkeit möglicherweise zu einem fehlerhaften System führt.

Sie sollten das Befehlszeilen-Tool apt-get oder apt (seit 14.04) verwenden, um Pakete zu installieren. Diese Tools verwenden dpkg für Sie und haben gleichzeitig den Abhängigkeitsauflösungsmechanismus innerhalb.

    
prosti 16.08.2018 21:24
quelle

Tags und Links