So installieren Sie lokale .deb-Pakete mit apt-get

248682
Louis

Gibt es eine Möglichkeit, Pakete mit apt-get auf Ihrer Festplatte zu installieren, wie apt-get install ./package.deb?

Wenn nicht, wie kann man die Abhängigkeiten sehr einfach handhaben?

129

4 Antworten auf die Frage

112
Sirex

Normalerweise mache ich es dpkg -i <deb file>, es wird fehlschlagen zu sagen, dass es Abhängigkeiten braucht. Danach, wenn Sie ein tun apt-get update, wird es am Ende etwas sagen wie "Abhängigkeiten sind bereit zu installieren" Ich denke, es empfiehlt sich dann zu verwenden apt-get install -f.

Sobald das erledigt ist, benutze ich dpkg -iwieder.

Ich habe in den letzten Jahren gut gearbeitet.

edit: etwas weiter suchen, anscheinend kann ein so genanntes Werkzeug gdebidies als tun gdebi [deb file].

Danke, ich habe das gleiche durch "Fehler" dpkg gemacht, dann apt-get install -f und es hat funktioniert. Louis vor 13 Jahren 1
`gdebi` wird für mich gearbeitet und am einfachsten habe ich bisher gesehen. ctrl-alt-delor vor 7 Jahren 2
54
Akrikos

Sirex hat es mehr oder weniger richtig, aber seine Antwort ist nicht klar. Ich habe es gerade gelöst, also habe ich folgendes getan:

sudo dpkg -i /path/to/filename.deb

Wenn dies mit einer Meldung über das Paket in Abhängigkeit von einem nicht installierten Element fehlschlägt, können Sie es möglicherweise beheben, wenn Sie es ausführen

sudo apt-get -f install

Dadurch werden die Abhängigkeiten installiert (vorausgesetzt, sie sind in den Repos verfügbar, über die Ihr System informiert ist) UND das Paket, das Sie ursprünglich installieren wollten ("f" ist die "fix" -Option und "y" ist die "Ja zu Eingabeaufforderungen annehmen". oder "Frag mich nicht, ob es in Ordnung ist, installiere es einfach schon" (sehr nützlich für Skript-Installationen im Hintergrund). Auf meinem System war es nicht nötig, dpkg erneut auszuführen (Ubuntu lucid 10.04).

Ich fand es interessant, dass, wenn Sie die Option -f während des Laufs aufgeben sudo apt-get install, das Paket aufgrund einer nicht aufgelösten Abhängigkeit als nicht konfiguriert angezeigt wird. Außerdem werden hilfreiche Vorschläge gemacht:Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Bearbeiten:

Wenn Sie installieren möchten, ohne auf alle Fragen ‚y‘ zu beantworten zu haben, können Sie das Add - yModifikator, wie ich ursprünglich enthalten: sudo apt-get -fy install. In einem Kommentar wurde jedoch darauf hingewiesen, dass apt manchmal die Deinstallation der gesamten Desktopumgebung vorschlägt. Ich habe diese Arbeit in einer virtuellen Maschine gemacht und hatte keine Bedenken, aber dieser Beitrag wurde überarbeitet, um etwas vorsichtiger zu sein.

Wenn ich alle Paketdateien bereits in einem Verzeichnis habe, gibt es eine Möglichkeit, apt mitzuteilen, dass es sich um ein neues Repository handelt, sodass ich es nicht zwingen muss, etwas ohne Abhängigkeiten zu installieren? Berry Tsakala vor 11 Jahren 0
Es tut mir leid, aber ich weiß es nicht. Ich würde vorschlagen, dies als eine weitere Frage auf oberster Ebene zu stellen. Akrikos vor 11 Jahren 2
Verrückt seltsam, dass dies erforderlich ist. Auf Raspian erfordert dies Sudo (sowohl für dpkg als auch für apt-get): `sudo dpkg -i mypackages.deb` usw. Brent Faust vor 10 Jahren 0
@Rubistro root benötigt auf allen Systemen Zugriff darauf. Ich denke, die Antworten gehen davon aus, dass Befehle von root ausgeführt werden (z. B. von einer interaktiven Root-Shell oder einem Skript, das als Root ausgeführt wird). Amos Shapira vor 10 Jahren 0
Fügen Sie zu Ihrem eigenen Wohl nicht die Option -y hinzu. Es ist üblich, dass apt beispielsweise vorschlägt, die gesamte Desktopumgebung zu deinstallieren, wenn Sie es mit dem falschen Paket zur falschen Zeit versuchen (zumindest bei Debian). oseiskar vor 9 Jahren 2
46
Avinash Raj

Sie können die .deb-Datei auch mit gdebi installieren. Führen Sie die folgenden Befehle aus, um gdebi zu installieren.

sudo apt-get install gdebi-core 

Installieren Sie .deb-Pakete mit gdebi,

sudo gdebi /path/to/filename.deb 

Es werden auch Abhängigkeiten behoben.

Beachten Sie, dass gdebi nur ein einziges Argument benötigt und den Rest unauffällig auf den Boden legt. Das heißt, wenn Sie mehrere Debs gleichzeitig installieren (vielleicht weil sie voneinander abhängig sind), müssen Sie die `gdebi`-Befehle sorgfältig ausarbeiten, um sie zu installieren. Diese Hälfte besiegt zwar den Zweck von gdebi, kann aber dennoch für eine einzelne Datei nützlich sein Anthony Sottile vor 8 Jahren 4
@Anthony dann `find -name * .deb -exec gdebi {} \;` jjmontes vor 8 Jahren 0
@jjmontes, das funktioniert nur, wenn die Interdependenzen in alphabetischer Reihenfolge sind, was ich wetten möchte, ist ziemlich selten Anthony Sottile vor 8 Jahren 3
Ich folgte diesem http://freesoftwaremagazine.com/articles/debianubuntu_making_package_repository_your_lan/ (der Fehler, den das lokale Repo bei / var / www / html / debs hatte) und die Synaptic versuchte immer noch, Remote-Dateien herunterzuladen, auch wenn das Internet funktionierte großartig mit dem lokalen Repo! Außerdem mussten die .deb-Dateien `chmod + r * .deb 'sein Aquarius Power vor 5 Jahren 0
18
Melebius

Ja, der von Ihnen vorgeschlagene Befehl ist korrekt.

sudo apt-get install ./package.deb 

installiert das Paket, das Sie von einer anderen Quelle als APT erhalten haben, und verwendet gleichzeitig APT-Funktionen, um die Abhängigkeiten automatisch aufzulösen. Leider ist diese apt-getFunktion nicht in der Manpage dokumentiert .

Weitere Informationen finden Sie unter https://askubuntu.com/a/769542/250300 .

Dies hätte die akzeptierte Antwort sein sollen. Peter vor 5 Jahren 2