Das funktioniert jetzt. Wenn Sie noch SuperUser verwenden, können Sie die akzeptierte Antwort aktualisieren? Siehe unten.
Mikemaccana
Antworten:
121
Normalerweise dpkg -i <deb file>kann ich nicht sagen, dass es Abhängigkeiten braucht. Danach, wenn Sie eine tun apt-get update, wird am Ende etwas wie "Abhängigkeiten sind bereit zu installieren" sagen, ich denke, es empfiehlt sich dann zu verwenden apt-get install -f.
Sobald das erledigt ist, benutze ich dpkg -iwieder.
Hat in den letzten Jahren gut für mich funktioniert.
edit: ein bisschen weiter schauend, anscheinend kann ein Tool namens das gdebiso machen gdebi [deb file].
Vielen Dank, ich habe das gleiche durch "Fehler" dpkg dann apt-get install -f und es hat funktioniert.
Louis
2
gdebiist für mich gearbeitet und das einfachste was ich bisher gesehen habe.
Ctrl-Alt-Delor
55
Sirex hat es mehr oder weniger richtig, aber seine Antwort ist nicht klar. Ich habe das gerade gelöst, also habe ich Folgendes getan:
sudo dpkg -i /path/to/filename.deb
Wenn dies mit einer Meldung zu dem Paket fehlschlägt, die von etwas abhängt, das nicht installiert ist, können Sie es wahrscheinlich beheben, wenn Sie es ausführen
sudo apt-get -f install
Dies installiert die Abhängigkeiten (vorausgesetzt, sie sind in den Repos verfügbar, über die Ihr System Bescheid weiß) UND das Paket, das Sie ursprünglich installieren wollten ('f' ist die Option 'Fix' und 'y' ist die Option 'Annehmen, dass Sie dazu aufgefordert werden'). oder 'Frag mich nicht, ob es in Ordnung ist, installiere es einfach schon' (sehr nützlich für skriptgesteuerte stille Installationen). Auf dem System, auf dem ich war, musste dpkg nicht erneut ausgeführt werden (Ubuntu lucid 10.04).
Ich fand es interessant, dass, wenn Sie das -f beim Ausführen weglassen sudo apt-get install, Ihr Paket aufgrund einer ungelösten Abhängigkeit als nicht konfiguriert aufgelistet wird. Außerdem empfehle ich: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. Ein Kommentator wies jedoch darauf hin, dass apt manchmal vorschlägt, die gesamte Desktop-Umgebung zu deinstallieren. Ich habe diese Arbeit in einer virtuellen Maschine ausgeführt und hatte diese Bedenken nicht, aber dieser Beitrag wurde aktualisiert, um ein bisschen vorsichtiger zu sein.
Wenn ich alle Paketdateien bereits in einem Verzeichnis habe, gibt es eine Möglichkeit, apt mitzuteilen, dass dies ein neues Repository ist, sodass ich es nicht zwingen muss, etwas ohne Abhängigkeiten zu installieren?
Berry Tsakala
2
Es tut mir leid, aber ich weiß es nicht. Ich würde vorschlagen, dies als eine weitere Frage der obersten Ebene zu stellen.
Akrikos
Verrückt seltsam, dass dies erforderlich ist. Auf Raspian erfordert dies sudo (für dpkg und apt-get): sudo dpkg -i mypackages.debusw.
Brent Faust
@ Rubistro Root-Zugriff ist auf allen Systemen erforderlich. Ich vermute, die Antworten gingen davon aus, dass die Befehle von root ausgeführt werden (z. B. von einer interaktiven Root-Shell oder einem Skript, das als root ausgeführt wird).
Amos Shapira
2
Fügen Sie die Option nicht hinzu -y. Es ist durchaus üblich, dass apt vorschlägt, beispielsweise die gesamte Desktop-Umgebung zu deinstallieren, wenn Sie dies zur falschen Zeit mit dem falschen Paket versuchen (zumindest unter Debian).
Oseiskar
45
Sie können die .deb-Datei auch mit gdebi installieren. Führen Sie die folgenden Befehle aus, um gdebi zu installieren.
Beachten Sie, dass gdebi nur ein einziges Argument nimmt und leise fällt den Rest auf dem Boden. Dies bedeutet, dass Sie, wenn Sie mehrere Debs gleichzeitig installieren (möglicherweise, weil sie voneinander abhängig sind), sorgfältig gdebiBefehle erstellen müssen, mit denen sie installiert werden können. imo diese hälfte besiegt den zweck von gdebi, aber du findest es vielleicht immer noch nützlich für eine einzelne datei
Anthony Sottile
@ Anthony dannfind -name *.deb -exec gdebi {} \;
jjmontes
3
@jjmontes, die nur funktionieren, wenn die Abhängigkeiten in alphabetischer Reihenfolge sind, die ich wetten würde, ist ziemlich selten
Anthony Sottile
Ich folgte diesem freesoftwaremagazine.com/articles/… (Fehler, bei dem das lokale Repo unter / var / www / html / debs liegen musste) und synaptic versuchte immer wieder, es von einem entfernten Server ohne Internet herunterzuladen, so dass gdebi großartig mit dem lokalen Repo zusammenarbeitete ! Außerdem mussten die .deb-Dateien seinchmod +r *.deb
Aquarius Power
34
Ja, der von Ihnen vorgeschlagene Befehl ist korrekt.
sudo apt-get install ./package.deb
oder
sudo apt install ./package.deb
installiert das Paket, das Sie von einer anderen Quelle als APT erhalten haben, und verwendet gleichzeitig die APT-Funktionen, um die Abhängigkeiten automatisch aufzulösen. Leider ist diese apt-getFunktion nicht in der Manpage dokumentiert .
Antworten:
Normalerweise
dpkg -i <deb file>
kann ich nicht sagen, dass es Abhängigkeiten braucht. Danach, wenn Sie eine tunapt-get update
, wird am Ende etwas wie "Abhängigkeiten sind bereit zu installieren" sagen, ich denke, es empfiehlt sich dann zu verwendenapt-get install -f
.Sobald das erledigt ist, benutze ich
dpkg -i
wieder.Hat in den letzten Jahren gut für mich funktioniert.
edit: ein bisschen weiter schauend, anscheinend kann ein Tool namens das
gdebi
so machengdebi [deb file]
.quelle
gdebi
ist für mich gearbeitet und das einfachste was ich bisher gesehen habe.Sirex hat es mehr oder weniger richtig, aber seine Antwort ist nicht klar. Ich habe das gerade gelöst, also habe ich Folgendes getan:
sudo dpkg -i /path/to/filename.deb
Wenn dies mit einer Meldung zu dem Paket fehlschlägt, die von etwas abhängt, das nicht installiert ist, können Sie es wahrscheinlich beheben, wenn Sie es ausführen
sudo apt-get -f install
Dies installiert die Abhängigkeiten (vorausgesetzt, sie sind in den Repos verfügbar, über die Ihr System Bescheid weiß) UND das Paket, das Sie ursprünglich installieren wollten ('f' ist die Option 'Fix' und 'y' ist die Option 'Annehmen, dass Sie dazu aufgefordert werden'). oder 'Frag mich nicht, ob es in Ordnung ist, installiere es einfach schon' (sehr nützlich für skriptgesteuerte stille Installationen). Auf dem System, auf dem ich war, musste dpkg nicht erneut ausgeführt werden (Ubuntu lucid 10.04).
Ich fand es interessant, dass, wenn Sie das -f beim Ausführen weglassen
sudo apt-get install
, Ihr Paket aufgrund einer ungelösten Abhängigkeit als nicht konfiguriert aufgelistet wird. Außerdem empfehle ich: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 -
y
Modifikator , wie ich ursprünglich enthalten:sudo apt-get -fy install
. Ein Kommentator wies jedoch darauf hin, dass apt manchmal vorschlägt, die gesamte Desktop-Umgebung zu deinstallieren. Ich habe diese Arbeit in einer virtuellen Maschine ausgeführt und hatte diese Bedenken nicht, aber dieser Beitrag wurde aktualisiert, um ein bisschen vorsichtiger zu sein.quelle
sudo dpkg -i mypackages.deb
usw.-y
. Es ist durchaus üblich, dass apt vorschlägt, beispielsweise die gesamte Desktop-Umgebung zu deinstallieren, wenn Sie dies zur falschen Zeit mit dem falschen Paket versuchen (zumindest unter Debian).Sie können die .deb-Datei auch mit gdebi installieren. Führen Sie die folgenden Befehle aus, um gdebi zu installieren.
Installiere .deb Pakete mit gdebi,
Es werden auch Abhängigkeiten behoben.
quelle
gdebi
Befehle erstellen müssen, mit denen sie installiert werden können. imo diese hälfte besiegt den zweck von gdebi, aber du findest es vielleicht immer noch nützlich für eine einzelne dateifind -name *.deb -exec gdebi {} \;
chmod +r *.deb
Ja, der von Ihnen vorgeschlagene Befehl ist korrekt.
oder
installiert das Paket, das Sie von einer anderen Quelle als APT erhalten haben, und verwendet gleichzeitig die APT-Funktionen, um die Abhängigkeiten automatisch aufzulösen. Leider ist diese
apt-get
Funktion nicht in der Manpage dokumentiert .Weitere Informationen finden Sie unter https://askubuntu.com/a/769542/250300 und https://askubuntu.com/a/795048/250300 .
quelle