"Die folgenden Pakete wurden zurückgehalten:" Warum und wie löse ich es?


Zur akzeptierten Antwort gehen


Ich habe gerade ein PPA-Repository für die Entwicklungsversion von GIMP hinzugefügt, erhalte jedoch den folgenden Fehler:

 $ apt-get update && apt-get upgrade
...
The following packages have been kept back:
  gimp gimp-data libgegl-0.0-0 libgimp2.0
 

Warum und wie kann ich es lösen, damit ich die neueste Version anstelle der jetzt verfügbaren verwenden kann?


901





2010-07-31




Anzahl der Antworten: 17


Laut einem Artikel auf debian-administration.org ,

Wenn sich die Abhängigkeiten von einem der von Ihnen installierten Pakete geändert haben, sodass ein neues Paket installiert werden muss, um das Upgrade durchzuführen, wird dieses als "zurückgehalten" aufgeführt.

Vorsichtige Lösung 1:

Per Pablos Antwort können Sie ausführen sudo apt-get --with-new-pkgs upgrade , und es werden die zurückgehaltenen Pakete installiert.

Dies hat den Vorteil, dass die zurückgehaltenen Pakete nicht als "manuell installiert" gekennzeichnet werden, was weitere Benutzereingriffe erzwingen kann (siehe Kommentare).

Wenn die Lösung von Pablo für Sie funktioniert, stimmen Sie dieser bitte zu. Wenn nicht, kommentieren Sie bitte, was schief gelaufen ist.

Vorsichtige Lösung 2:

Die vorsichtige Lösung ist zu laufen sudo apt-get install <list of packages kept back> . In den meisten Fällen erhalten die zurückgehaltenen Pakete so das, was sie für ein erfolgreiches Upgrade benötigen.

Aggressive Lösung:

Es ist eine aggressivere Lösung sudo apt-get dist-upgrade , die die Installation dieser neuen Abhängigkeiten erzwingt.

Aber dist-upgrade kann sehr gefährlich sein . Anders als Upgrade kann es entfernen Pakete komplexe Abhängigkeitssituationen zu lösen. Im Gegensatz zu Ihnen ist APT nicht immer schlau genug zu wissen, ob diese Hinzufügungen und Entfernungen Chaos anrichten könnten.

Wenn Sie sich also an einem Ort befinden, an dem die "vorsichtige Lösung" nicht funktioniert, funktioniert es dist-upgrade vielleicht ... aber Sie sollten wahrscheinlich besser etwas mehr über APT lernen und die Abhängigkeitsprobleme "von Hand" durch Installieren und Entfernen beheben Pakete von Fall zu Fall.

Stellen Sie sich das wie das Reparieren eines Autos vor. Wenn Sie Zeit haben und mit einem Schraubenschlüssel zurechtkommen, können Sie sich beruhigen, wenn Sie die Reparatur selbst durchführen. Wenn Sie Glück haben, können Sie Ihr Auto bei Ihrer Cousine abstellen dist-upgrade und hoffen, dass sie sich auskennt.


945


2010-07-31

Wann immer Sie vom Befehl apt-get upgrade die Nachricht erhalten

 The following packages have been kept back:
 

dist-upgrade Wenn Sie dann eines oder alle zurückgehaltenen Pakete aktualisieren möchten, ohne ein Distributions-Upgrade durchzuführen (dies ist , wenn ich mich richtig erinnere, das Gleiche), geben Sie den folgenden Befehl ein:

 apt-get install <list of packages kept back>
 

Dadurch werden die zurückgehaltenen Probleme behoben, und Sie werden aufgefordert, zusätzliche Pakete usw. zu installieren, wie in anderen Antworten erläutert.


511


2012-09-08

apt-get dist-upgrade ist gefährlich für eine stabile Umwelt,

  1. falsche source.list einstellung und du landest mit kaputten ubuntu.
  2. Möglicherweise wird die gesamte Anwendung auf die Version aktualisiert, die Sie nicht möchten.

Anwendungsfall: Kernel-Upgrade zurückgehalten, Sie möchten nur den Kernel aktualisieren, nicht die gesamte Distribution aktualisieren.

Besserer Umgang mit zurückgehaltenen Paketen:

 sudo aptitude
 

Wenn Sie das Paket zurückbehalten haben, sollte oben in der Liste "Upgradable Packages" (Aktualisierbare Pakete) angezeigt werden.

  • Hit + auf dieser Liste
  • Drücken Sie zweimal g
  • Beantworten Sie debconf stuff, wenn Sie gefragt werden
  • Drücken Sie die Eingabetaste, um fortzufahren
  • Drücken Sie Q
  • Drücken Sie auf Ja

Ihr zurückgehaltenes Paket ist installiert.


174


2010-12-24

Versuchen Sie diese Unix SE-Antwort :

 sudo apt-get --with-new-pkgs upgrade
 

Dadurch können neue Pakete installiert werden. Sie erfahren, welche Pakete installiert werden sollen, und werden vor der eigentlichen Installation dazu aufgefordert.

apt Befehl ( freundliche Alternative zu apt-get ) teilen Sie diese Option.

Verwenden Sie apt install <pkg> stattdessen pkg als "manuell installiert" !! Um es wieder als "automatisch installiert" zu markieren, verwenden Sie apt-mark auto <pkg> (siehe auch Unterbefehl showmanual ). Weitere Informationen zu dieser Antwort .


158


2016-12-20

Es gibt normalerweise zwei Gründe, warum diese Meldung angezeigt wird.

Wenn ein Upgrade des Programms (über sudo apt-get upgrade ) dazu führen würde, dass Pakete hinzugefügt oder entfernt werden, wird das Programm zurückgehalten. Sie können sudo apt-get dist-upgrade in diesem Fall verwenden, die dann anbieten, die zusätzlichen Programme hinzuzufügen oder zu entfernen.

Dies ist ziemlich häufig und normalerweise kein Problem. Gelegentlich (besonders während eines Ubuntu-Alphas) dist-upgrade bietet a an, viele andere Programme zu entfernen. In diesem Fall möchten Sie es wahrscheinlich abbrechen.

Wenn das Programm von Paketen oder Versionen abhängt, die nicht verfügbar sind, wird das Programm zurückgehalten. Sie können unter diesen Umständen wirklich nichts anderes tun, als zu warten, da das Paket im Grunde genommen deinstallierbar ist. Dies kann passieren, wenn Pakete nicht mehr in der richtigen Reihenfolge zum Repository hinzugefügt werden, wenn ein Paket umbenannt wird oder wenn ein Paket kein virtuelles Paket mehr bereitstellt.


34


2010-07-31

Sie können auch versuchen:

 sudo aptitude safe-upgrade
 

Es ist sicherer als full-upgrade (ursprünglich als dist-upgrade bezeichnet), da "Pakete nur entfernt werden, wenn sie nicht verwendet werden".

Von man aptitude :

sicheres Upgrade

Aktualisiert installierte Pakete auf die neueste Version. Installierte Pakete werden nur entfernt, wenn sie nicht verwendet werden. /.../ Derzeit nicht installierte Pakete können installiert werden, um Abhängigkeiten aufzulösen, sofern nicht die Befehlszeilenoption --no-new-installs angegeben ist.


24


2014-08-12

Höchstwahrscheinlich werden diese Pakete zurückgehalten, da ihre Installation zu Abhängigkeitsinkonsistenzen führen würde. Dies kann entweder passieren, weil Sie Archive in der aktiven Entwicklung (ppas) verwenden oder weil der von Ihnen verwendete Spiegel nicht vollständig aktualisiert wurde.

Warten Sie im letzten Fall einfach, bis die Abhängigkeiten aufgelöst sind und beim nächsten Mal installiert werden.

Bearbeiten:

Es gibt eine andere Möglichkeit, dass Pakete zurückgehalten werden, wenn sie zurückgehalten werden oder wenn sie angeheftet sind.


21


2010-07-31

Dies liegt normalerweise daran, dass das Paket eine Abhängigkeit hinzugefügt hat und das Upgrade diese nicht ohne Erlaubnis für Sie hinzufügen möchte.

Wenn du läufst:

 sudo apt-get install gimp gimp-data libgegl-0.0-0 libgimp2.0
 

Dann sollten die neuen Versionen zusammen mit ihrer neuen Abhängigkeit installiert werden.


10


2012-12-27

Das hat bei mir funktioniert

 sudo aptitude full-upgrade
 

8


2013-03-22

Ich habe festgestellt, dass aptitude das Upgraden von Paketen besser macht, wenn sich die Versionen nur geringfügig unterscheiden. Ich hatte eine Situation wie diese:

 [email protected]:/etc/apt$ apt-cache policy gzip
gzip:
  Installed: 1.3.5-15
  Candidate: 1.3.5-15+etch1
  Version table:
     1.3.5-15+etch1 0
        500 http://archive.debian.org etch/main Packages
 *** 1.3.5-15 0
        100 /var/lib/dpkg/status
 

Dies hat apt-get dazu gebracht, das Update zurückzuhalten, aber aptitude hat es in Ordnung gebracht. Ich bin nicht sicher, welcher Algorithmus verwendet wird, um zu bestimmen, ob ein Paket aktualisiert werden soll oder nicht. Ich denke, diese beiden hatten die gleiche Version, nur einen anderen "Qualifier". Aber in jedem Fall würde apt-get es nicht aktualisieren, aber aptitude würde es aktualisieren.


6


2012-05-02

In meinem Fall waren zurückgehaltene Pakete solche, die sich auf Linux-Header und Kernel bezogen. Ich habe versucht, ein Problem zu lösen, bei dem im Infobereich ein rotes Ausrufezeichen angezeigt wird und Pakete nicht aktualisiert werden können.

Um das Problem zu lösen, musste ich weder dist-upgrade noch manual apt-get install xxx verwenden .

Was ich getan und geholfen habe, war einfach und sauber :

 sudo apt-get update
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get upgrade
 

Ich musste das Grub-Update und seine Konfiguration manuell bestätigen.

Dann habe ich nur eine Weile mit dem Computer gearbeitet und dann ist wieder der Standard-Update-Dialog erschienen, der endlich den Abschnitt "Ubuntu Base" mit Kernel und verwandten enthält. Das Update verlief problemlos und ich sehe keine zurückgehaltenen Pakete mehr.

Es ist auch sehr wichtig zu beachten, dass diese * buntu-Updates, einschließlich Kernel-Updates, für den Ruhezustand empfindlich sind. Ich habe dieses Problem mehrmals und löse es immer, indem ich den Computer neu starte und die obigen Schritte durchführe.

Also vielleicht wäre das gerade genug ?!

(Die hier beschriebene Situation bezieht sich auf mein Xubuntu 15.10 Ende Dezember 2015)


4


2015-12-29

Ich bin auf dieses Problem gestoßen, als ein neuer Kernel veröffentlicht wurde. (Möglicherweise, weil ich instabile Updates aktiviert habe.) Ich fand, dass die Installation am einfachsten über das grafische Installationsprogramm von Ubuntu ( update-manager ) erfolgt.


3


2011-11-16

Ich bin auf dieses Problem mit synaptic gestoßen, weil es anscheinend hängen geblieben ist. Um dies zu beheben, habe ich es neu gestartet und erneut versucht.

Dann entdeckte ich eine informative Nachricht als Teil des Pakets mit einigen Nachinstallationsanweisungen für mich.

Ich musste " Details " drücken und dann " q ", um die Nachricht zu beenden, und dann ging es normal weiter.


2


2016-08-03

Dies sieht nach dem richtigen Weg aus, das zurückgehaltene Paket erneut zu installieren:

 apt-get install --reinstall libjpeg-progs
 

Zumindest hat das bei mir libjpeg-progs geklappt, als nach dem Upgrade von Ubuntu 14.04 auf 16.04 feststeckte. Ich bin mir sicher, dass Sie dasselbe mit jeder anderen zurückgehaltenen App tun können, z gimp .

Quelle


2


2016-08-29

Ubuntu 18.04 bietet eine neuere, optimierte Syntax, über apt die anstelle von verwendet werden kann apt-get .

 sudo apt full-upgrade
 

sudo apt upgrade wird verwendet, um verfügbare Upgrades aller derzeit auf dem System installierten Pakete von den über sources.list (5) konfigurierten Quellen zu installieren. Bei Bedarf werden neue Pakete installiert, um Abhängigkeiten zu erfüllen. Vorhandene Pakete werden jedoch niemals entfernt. Wenn ein Upgrade für ein Paket das Entfernen eines installierten Pakets erfordert, wird das Upgrade für dieses Paket nicht durchgeführt.

sudo apt full-upgrade Führt die Funktion des Upgrades aus, entfernt jedoch aktuell installierte Pakete, wenn dies für ein Upgrade des gesamten Systems erforderlich ist.

Siehe: apt Manpage


2


2019-07-29

In der Tat ist der Schalter, den Sie benötigen, dselect-upgrade der Abhängigkeiten für die jeweilige betroffene Paketgruppe installiert / entfernt.


1


2012-02-29

Ich habe alle Beiträge gelesen und festgestellt, dass es viele interessante Erklärungen gibt. Ich habe alle ausprobiert, aber keine vollständigen Ergebnisse erzielt. Ich habe ein Problem mit mysql-utilities, das ich nicht aktualisieren konnte. Die Aktualisierung wurde vom System vorgeschlagen. Also möchte ich einige Schritte zeigen, um es zu tun. Natürlich werde ich in einigen Augenblicken alle oben genannten Beiträge wiederholen. Hier ist mein Fehler, ja ich habe ihn durch bereits vorhandene Beiträge gefunden, aber was soll ich als nächstes tun?
Bildbeschreibung hier eingeben

Der nächste Schritt ist:

 sudo apt-get --purge remove mysql-utilities
 

Die Ergebnisse sehen Sie im Bild unten. Ich entferne das Paket und überprüfe dies per Befehl:

 sudo apt-get -f install
 

Ergebnisse - Gut! Später habe ich diese neue Version des Pakets korrekt installiert.
Bildbeschreibung hier eingeben

Auf diese Weise können wir meiner Meinung nach mehr neuen Leuten helfen, da wir mit anderen Paketen die gleichen Schritte ausführen können.

Einmal tut es mir leid, als ich an einigen Stellen andere Beiträge wiederholte.


1


2017-12-25