Werden bei der Installation einer Software über dpkg -i packageA.deb
die erforderlichen Abhängigkeiten packageA
automatisch heruntergeladen und installiert? Wie unterscheidet sich dies von der Verwendung von apt-get
oder aptitude
?
125
Antworten:
Nein,
dpkg
installiert nur ein Paket.dpkg -i packageName.deb
Wenn 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.deb
weil ... die Abhängigkeiten gut sind nicht dort.apt-get
ist 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. Alsoapt-get
ist wie ein schlauerdpkg
.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 (
.deb
Erweiterungsdatei ) geboren.Sie brauchten ein Tool, um diese
.deb
Dateien zu installieren , also kamen sie auf dasdpkg
Tool. Dieses Tool installiert jedoch nur die.deb
Datei, 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-get
die Idee, die die Probleme im vorherigen Punkt automatisiert. Unter der Haubeapt-get
befindet sich im Grundedpkg
(ich stelle es mir gerne alsapt-get
Front-End für vordpkg
), 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.aptitude
dann kam mit. Es nutzt die Bibliothekenapt-get
Anwendungen und tatsächlich hat eine interaktive UI (User Interface). Wenn Sie diese Benutzeroberfläche sehen möchten, geben Sie einfachaptitude
das Terminal ein. Das istaptitude
. Es nutzt die Bibliotheken, um mehr Optionen und Vorteile als zu bietenapt-get
. Zum Beispielaptitude
werden berechtigte Pakete automatisch entfernt, wobeiapt-get
ein separater Befehl erforderlich ist, um dies zu tun. Aber am Endesudo aptitude install packageName.deb
sollte es zumindest dasselbe sein wiesudo 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 zwischenaptitude
und zu erhaltenapt-get
.Hat
aptitude
auch keine Super Cow Powers.aptitude
ist möglicherweise nicht standardmäßig installiert. Um es zu installieren, führensudo apt-get install aptitude
Sie Folgendes aus oder klicken Sie darauf: aptitude .Extra
Aus dem Kommentar von Carlos Campderrós :
gdebi
ist ein anderes Werkzeug, das eine Art Mischung zwischenapt-get
und istaptitude
. Wenn Sie damit ein.deb
Paket installieren (gdebi packageName.deb
), erkennt es die fehlenden Abhängigkeiten, installiert sie mitapt-get
und installiert und konfiguriert das Paket schließlich mitdpkg
. Es verfügt sogar über eine einfache und übersichtliche Benutzeroberfläche, die Informationen über das.deb
Paket, die im Paket enthaltenen Dateien und die zu installierenden Abhängigkeiten enthält. Um diese GUI zu sehen, würden Sie tungdebi-gtk packageName.deb
. Sie können esgdebi
versuchen, indem Sie es mit installierensudo apt-get install gdebi
oder 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
.rpm
Erweiterung haben. Dieses Paketformat wird auf RPM-basierten Linux-Distributionen (wie Red Hat, CentOS und Fedora) verwendet. Sie benutzen den Befehlrpm
, um ein Paket zu installieren, und esyum
ist das Front-End dafür, es ist das clevere. Ihre.rpm
Dateien sind also unsere.deb
Dateien, ihrrpm
Werkzeug ist unserdpkg
Werkzeug und ihryum
ist unserapt-get
.Von Paddy Landau ‚s Kommentar unten :
alien
ist ein Tool, das zwischen.rpm
und.deb
Pakete konvertiert . Wenn Sie also jemals in die Situation geraten, dass Sie ein.rpm
Paket haben und es auf Ihrem Ubuntu (oder einer anderen Debian-basierten Distribution) installieren möchten, können Sie es mit dem Befehlalien rpm_packageName.rpm
konvertieren.deb
und anschließend mit installierendpkg
. Sie können das Umkehren (Konvertieren.deb
in.rpm
) mit ausführenalien -r packageName.deb
.quelle
gdebi
(apt-get install gdebi-core
) verwenden, dasapt-get
/aptitude
mit mischtdpkg
. Sie rufen es mit aufgdebi some_package.deb
und es analysiert seine Abhängigkeiten, ruftapt-get
auf, um die fehlenden zu installieren, und wenn alle Abhängigkeiten erfüllt sind, ruft esdpkg
auf, um Ihr Paket endgültig zu installieren.alien
Pakete zwischen.rpm
und 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.rpm
um es für Ubuntu nutzbar zu machen.aptitude
ist kein Frontend fürapt-get
. Beide Programme sind Frontends für dielibapt-pkg
Bibliothek.passend
Die Paketverwaltung über
apt-get
läuft Hand in Hand mit der/etc/apt/sources.list
Datei.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 vonapt-get
. Für diese Funktion sind apt und sudo erforderlich.Besuchen Sie die apt-get-Anweisungsseite
Eignung
aptitude
bietet die Funktionalität vondselect
undapt-get
sowie 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 wirdaptitude 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 erstelltdebhelper
oder erstelltautotools
werden, aber sie müssen nicht ausgeführt werden.Besuchen Sie die Eignungsanweisungsseite
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 dies anhand der Hilfedateien feststellen kann.Für Details geben Sie
dpkg --help
in ein Terminalfenster ein.Guides
Eine Anleitung zur Dateiverwaltung finden Sie hier
quelle
Ich denke, das Wichtigste und auch der Unterschied ist, dass Sie das
apt-get
Tool zum Installieren von Paketen verwenden sollten. (apt
oderaptitude
ist auch in Ordnung).Dies liegt daran,
dpkg
dass Pakete installiert werden sollen, ohne abhängige Pakete zu installieren. Aus diesem Grund kann die Installation eines Pakets mitdpkg
zu 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-get
oderapt
(seit 14.04) das Tool verwenden, um Pakete zu installieren. Diese Tools werdendpkg
für Sie verwendet und enthalten gleichzeitig den Mechanismus zur Auflösung von Abhängigkeiten.quelle