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
?
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
?
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. Also apt-get
ist 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 ( .deb
Erweiterungsdatei ) geboren.
Eine
.deb
Datei 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.deb
Datei anzeigen möchten , können Sie den Befehl verwendendpkg -c packageName.deb
, und wenn Sie diese "Metadaten" -Informationendpkg -I pacakgeName.deb
anzeigen 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 .deb
Dateien zu installieren , also kamen sie auf das dpkg
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 Haube apt-get
befindet sich im Grunde dpkg
(ich stelle es mir gerne als apt-get
Front-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.aptitude
dann kam mit. Es nutzt die Bibliotheken apt-get
Anwendungen und tatsächlich hat eine interaktive UI (User Interface). Wenn Sie diese Benutzeroberfläche sehen möchten, geben Sie einfach aptitude
das Terminal ein. Das ist aptitude
. Es nutzt die Bibliotheken, um mehr Optionen und Vorteile als zu bieten apt-get
. Zum Beispiel aptitude
werden berechtigte Pakete automatisch entfernt, wobei apt-get
ein separater Befehl erforderlich ist, um dies zu tun. Aber am Ende sudo aptitude install packageName.deb
sollte 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 aptitude
und zu erhalten apt-get
.
Hat aptitude
auch keine Super Cow Powers.
EDIT: Anscheinend tut es.
aptitude -v[v[v[v[v]]]] moo
.
aptitude
ist möglicherweise nicht standardmäßig installiert. Um es zu installieren, führen sudo apt-get install aptitude
Sie 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 :
gdebi
ist ein anderes Werkzeug, das eine Art Mischung zwischen apt-get
und ist aptitude
. Wenn Sie damit ein .deb
Paket installieren ( gdebi packageName.deb
), erkennt es die fehlenden Abhängigkeiten, installiert sie mit apt-get
und installiert und konfiguriert das Paket schließlich mit dpkg
. 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 tun gdebi-gtk packageName.deb
. Sie können es gdebi
versuchen, indem Sie es mit installieren sudo 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 Befehl rpm
, um ein Paket zu installieren, und es yum
ist das Front-End dafür, es ist das clevere. Ihre .rpm
Dateien sind also unsere .deb
Dateien, ihr rpm
Werkzeug ist unser dpkg
Werkzeug und ihr yum
ist unser apt-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 Befehl alien rpm_packageName.rpm
konvertieren .deb
und anschließend mit installieren dpkg
. Sie können das Umkehren (Konvertieren .deb
in .rpm
) mit ausführen alien -r packageName.deb
.
gdebi
( apt-get install gdebi-core
) verwenden, das apt-get
/ aptitude
mit mischt dpkg
. Sie rufen es mit auf gdebi some_package.deb
und es analysiert seine Abhängigkeiten, ruft apt-get
auf, um die fehlenden zu installieren, und wenn alle Abhängigkeiten erfüllt sind, ruft es dpkg
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ür apt-get
. Beide Programme sind Frontends für die libapt-pkg
Bibliothek.
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 von apt-get
. Für diese Funktion sind apt und sudo erforderlich.
Besuchen Sie die apt-get-Anweisungsseite
aptitude
bietet die Funktionalität von dselect
und apt-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 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 debhelper
oder erstellt autotools
werden, 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 --help
in ein Terminalfenster ein.
Eine Anleitung zur Dateiverwaltung finden Sie hier
Ich denke, das Wichtigste und auch der Unterschied ist, dass Sie das apt-get
Tool zum Installieren von Paketen verwenden sollten. ( apt
oder aptitude
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 mit dpkg
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
oder apt
(seit 14.04) das Tool verwenden, um Pakete zu installieren. Diese Tools werden dpkg
für Sie verwendet und enthalten gleichzeitig den Mechanismus zur Auflösung von Abhängigkeiten.