Werden bei der Installation einer Software über dpkg -i packageA.debdie erforderlichen Abhängigkeiten packageAautomatisch heruntergeladen und installiert? Wie unterscheidet sich dies von der Verwendung von apt-getoder aptitude?
Werden bei der Installation einer Software über dpkg -i packageA.debdie erforderlichen Abhängigkeiten packageAautomatisch heruntergeladen und installiert? Wie unterscheidet sich dies von der Verwendung von apt-getoder aptitude?
Antworten:
Nein, dpkginstalliert nur ein Paket. dpkg -i packageName.debWenn Sie dies tun, wird nur dieses Deb-Paket installiert, und Sie werden über alle Abhängigkeiten informiert, die installiert werden müssen. Es werden jedoch keine Abhängigkeiten installiert und das wird nicht konfiguriert, packageName.debweil ... die Abhängigkeiten gut sind nicht dort.
apt-getist ein Paketverwaltungssystem , das die Installation von Deb-Paketen auf Debian-basierten Linux-Distributionen übernimmt . Ein Paketverwaltungssystem besteht aus einer Reihe von Tools, mit denen Sie Pakete auf einfache Weise installieren, entfernen und ändern können. Also apt-getist wie ein schlauer dpkg.
Ich denke gerne so über die Timeline nach (im Folgenden spreche ich nur aus Erfahrung. Es soll Ihnen nur eine Vorstellung von dieser ganzen Sache geben):
Sie hatten die Möglichkeit, die Dateien einer Anwendung in einem "Paket" zu "speichern", damit sie einfach installiert werden kann. So wurde das Deb-Paket ( .debErweiterungsdatei ) geboren.
Eine
.debDatei enthält die Dateien, die von einer Anwendung zum Ausführen benötigt werden, sowie (wie ich es gerne nenne) "Metadaten", die andere Informationen enthalten, z. B. die Namen der Abhängigkeiten, die die Anwendung benötigt. Wenn Sie den Inhalt einer.debDatei anzeigen möchten , können Sie den Befehl verwendendpkg -c packageName.deb, und wenn Sie diese "Metadaten" -Informationendpkg -I pacakgeName.debanzeigen möchten , verwenden Sie den Befehl (und wenn Sie nur die Abhängigkeiten anzeigen möchten, tun Sie diesdpkg -I packageName.deb | grep Depends).
Sie brauchten ein Tool, um diese .debDateien zu installieren , also kamen sie auf das dpkgTool. Dieses Tool installiert jedoch nur die .debDatei, jedoch nicht deren Abhängigkeiten, da diese Dateien nicht vorhanden sind und es keinen Zugriff auf "Repositorys" hat, aus denen die Abhängigkeiten abgerufen werden können.
apt-getdie Idee, die die Probleme im vorherigen Punkt automatisiert. Unter der Haube apt-getbefindet sich im Grunde dpkg(ich stelle es mir gerne als apt-getFront-End für vor dpkg), aber ein cleveres, das nach den Abhängigkeiten sucht und diese installiert. Es werden sogar die derzeit installierten Abhängigkeiten überprüft und diejenigen ermittelt, die nicht von anderen Paketen verwendet werden, und Sie werden darüber informiert, dass Sie sie entfernen können.aptitudedann kam mit. Es nutzt die Bibliotheken apt-getAnwendungen und tatsächlich hat eine interaktive UI (User Interface). Wenn Sie diese Benutzeroberfläche sehen möchten, geben Sie einfach aptitudedas Terminal ein. Das ist aptitude . Es nutzt die Bibliotheken, um mehr Optionen und Vorteile als zu bieten apt-get. Zum Beispiel aptitudewerden berechtigte Pakete automatisch entfernt, wobei apt-getein separater Befehl erforderlich ist, um dies zu tun. Aber am Ende sudo aptitude install packageName.debsollte es zumindest dasselbe sein wie sudo apt-get install packageName.deb. Es mag hier und da subtile Unterschiede geben, die ich nicht kenne, aber sie werden beide nach den Abhängigkeiten suchen und all diese Dinge tun. Sie können die Antwort hier lesen , um weitere Informationen zu den Unterschieden zwischen aptitudeund zu erhalten apt-get.
Hat aptitudeauch keine Super Cow Powers.
EDIT: Anscheinend tut es.
aptitude -v[v[v[v[v]]]] moo.
aptitudeist möglicherweise nicht standardmäßig installiert. Um es zu installieren, führen sudo apt-get install aptitudeSie Folgendes aus oder klicken Sie darauf: aptitude .
Die folgenden Informationen beantworten " Was ist der Unterschied zwischen dpkg und aptitude / apt-get? " Nicht direkt , tragen aber zum Gesamtbild bei.
Aus dem Kommentar von Carlos Campderrós :
gdebiist ein anderes Werkzeug, das eine Art Mischung zwischen apt-getund ist aptitude. Wenn Sie damit ein .debPaket installieren ( gdebi packageName.deb), erkennt es die fehlenden Abhängigkeiten, installiert sie mit apt-getund installiert und konfiguriert das Paket schließlich mit dpkg. Es verfügt sogar über eine einfache und übersichtliche Benutzeroberfläche, die Informationen über das .debPaket, die im Paket enthaltenen Dateien und die zu installierenden Abhängigkeiten enthält. Um diese GUI zu sehen, würden Sie tun gdebi-gtk packageName.deb. Sie können es gdebiversuchen, indem Sie es mit installieren sudo apt-get install gdebioder auf Folgendes klicken: gdebi .
Ich möchte niemanden verwirren, aber um Ihnen einen weiteren Teil des Bildes zu zeigen, gibt es ein anderes populäres Linux-Paketformat namens RPM, dessen Dateien die .rpmErweiterung haben. Dieses Paketformat wird auf RPM-basierten Linux-Distributionen (wie Red Hat, CentOS und Fedora) verwendet. Sie benutzen den Befehl rpm, um ein Paket zu installieren, und es yumist das Front-End dafür, es ist das clevere. Ihre .rpmDateien sind also unsere .debDateien, ihr rpmWerkzeug ist unser dpkgWerkzeug und ihr yumist unser apt-get.
Von Paddy Landau ‚s Kommentar unten :
alienist ein Tool, das zwischen .rpmund .debPakete konvertiert . Wenn Sie also jemals in die Situation geraten, dass Sie ein .rpmPaket haben und es auf Ihrem Ubuntu (oder einer anderen Debian-basierten Distribution) installieren möchten, können Sie es mit dem Befehl alien rpm_packageName.rpmkonvertieren .debund anschließend mit installieren dpkg. Sie können das Umkehren (Konvertieren .debin .rpm) mit ausführen alien -r packageName.deb.
gdebi( apt-get install gdebi-core) verwenden, das apt-get/ aptitudemit mischt dpkg. Sie rufen es mit auf gdebi some_package.debund es analysiert seine Abhängigkeiten, ruft apt-getauf, um die fehlenden zu installieren, und wenn alle Abhängigkeiten erfüllt sind, ruft es dpkgauf, um Ihr Paket endgültig zu installieren.
alienPakete zwischen .rpmund konvertiert werden .deb. Dies ist nützlich für Pakete, die für RPM verfügbar sind, jedoch nicht für DEB (oder umgekehrt). Zum Beispiel, alien packagename.rpmum es für Ubuntu nutzbar zu machen.
aptitudeist kein Frontend für apt-get. Beide Programme sind Frontends für die libapt-pkgBibliothek.
Die Paketverwaltung über apt-getläuft Hand in Hand mit der /etc/apt/sources.listDatei.
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. Befindet sich das Paket nicht in den Repositorys, 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 Aufrufen des Befehls auto-apt werden Pakete bei fehlendem Dateizugriff automatisch installiert. Wenn ein Programm versucht, auf eine Datei zuzugreifen, von der bekannt ist, dass sie zu einem deinstallierten Paket gehört, installiert auto-apt das Paket mithilfe von apt-get. Für diese Funktion sind apt und sudo erforderlich.
Besuchen Sie die apt-get-Anweisungsseite
aptitudebietet die Funktionalität von dselectund apt-getsowie viele zusätzliche Funktionen, die in keinem der beiden Programme zu finden sind.
aptitude hat eine eigene Shell, die per Tastatur oder Maus aktiviert ist und in einem Terminalfenster ausgeführt wird
aptitude build-dep <package> - Installieren Sie die Build-Abhängigkeiten von Paketen, dh die Pakete, die zum Kompilieren (oder Erstellen ) des Quellpakets erforderlich sind . Beispielsweise müssen viele Pakete erstellt debhelperoder erstellt autotoolswerden, aber sie müssen nicht ausgeführt werden.
Besuchen Sie die Eignungsanweisungsseite
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 dies anhand der Hilfedateien feststellen kann.
Für Details geben Sie dpkg --helpin ein Terminalfenster ein.
Eine Anleitung zur Dateiverwaltung finden Sie hier
Ich denke, das Wichtigste und auch der Unterschied ist, dass Sie das apt-getTool zum Installieren von Paketen verwenden sollten. ( aptoder aptitudeist auch in Ordnung).
Dies liegt daran, dpkgdass Pakete installiert werden sollen, ohne abhängige Pakete zu installieren. Aus diesem Grund kann die Installation eines Pakets mit dpkgzu einem späteren Problem führen, bei dem die Auflösung von Abhängigkeiten zu einem Systemausfall führen kann.
Sie sollten die Befehlszeile apt-getoder apt(seit 14.04) das Tool verwenden, um Pakete zu installieren. Diese Tools werden dpkgfür Sie verwendet und enthalten gleichzeitig den Mechanismus zur Auflösung von Abhängigkeiten.