Ich habe ein Deb-Paket zur Installation.
Soll ich per dpkg -i my.deb
installieren , oder per apt?
Werden beide das Software-Abhängigkeitsproblem gut handhaben?
Wenn per apt, wie kann ich von deb per apt installieren?
Akzeptierte Antwort:
Wenn Sie apt
verwenden Um ein Paket zu installieren, verwendet es unter der Haube dpkg
. Wenn Sie ein Paket mit apt installieren, erstellt es zunächst eine Liste aller Abhängigkeiten und lädt sie aus dem Repository herunter.
Sobald der Download abgeschlossen ist, wird dpkg
aufgerufen um all diese Dateien zu installieren und alle Abhängigkeiten zu erfüllen.
Wenn Sie also eine .deb
haben Datei, können Sie es installieren durch:
-
Verwendung:
sudo dpkg -i /path/to/deb/file sudo apt-get install -f
-
Verwendung:
sudo apt install ./name.deb
Oder
sudo apt install /path/to/package/name.deb
Mit dem alten
apt-get
Versionen müssen Sie zuerst Ihre deb-Datei nach/var/cache/apt/archives/
verschieben Verzeichnis. Für beide werden nach Ausführung dieses Befehls automatisch die Abhängigkeiten heruntergeladen. -
Installieren Sie zuerst
gdebi
und öffnen Sie dann Ihre .deb-Datei damit (Rechtsklick -> Öffnen mit ). Es wird Ihr .deb-Paket mit all seinen Abhängigkeiten installieren.Hinweis :APT verwaltet den Paketindex, der eine Datenbank verfügbarer Pakete ist, die im Repo verfügbar sind, das in
/etc/apt/sources.list
definiert ist Datei und in der/etc/apt/sources.list.d
Verzeichnis. Alle diese Methoden werden die Software-Abhängigkeit nicht erfüllen, wenn die von deb geforderten Abhängigkeiten nicht im Paketindex vorhanden sind.
Warum sudo apt-get install -f
verwenden? nach sudo dpkg -i /path/to/deb/file
(wie in Methode 1 erwähnt)?
Von man apt-get
:
-f, --fix-broken
Fix; attempt to correct a system with broken dependencies in place.
Wenn dpkg
ein Paket installiert und eine Paketabhängigkeit nicht erfüllt ist, belässt es das Paket in einem „unkonfigurierten“ Zustand und dieses Paket wird als defekt betrachtet.
Das sudo apt-get install -f
versucht, dieses defekte Paket zu reparieren, indem die fehlende Abhängigkeit installiert wird.