Die Ausgabe von apt-get upgrade
ist:
The following packages have been kept back:
certbot python-acme python-certbot python-certbot-apache python-cryptography python-openssl
Was bedeutet das? Sollte ich etwas unternehmen? Wenn ja, was?
Die Ausgabe von apt-get upgrade
ist:
The following packages have been kept back:
certbot python-acme python-certbot python-certbot-apache python-cryptography python-openssl
Was bedeutet das? Sollte ich etwas unternehmen? Wenn ja, was?
Antworten:
Ich hatte mehrmals das gleiche Problem. NICHT
sudo apt-get dist-upgrade
zuerst tun . Sehr wichtig. **** HINWEIS: Diese Lösung ist für Debian-basierte Maschinen gedacht, funktioniert aber nicht mit KDE Neon . Um KDE Neon zu aktualisieren, müssen Siesudo pkcon update
**** verwenden .
Es kann Ihr System sehr instabil machen, Programme können abstürzen und Sie können viele Funktionen in Ihrem Betriebssystem verlieren.
Sie muss jedes Paket einzeln installieren, JEDOCH , während dieses Prozesses werden andere Abhängigkeiten auch automatisch und Ihr Problem installiert wird , in nur wenigen Minuten gelöst werden.
Ich hatte keine Probleme mit der folgenden Lösung. Es ist ziemlich schnell und einfach.
apt list --upgradable
sudo apt-get install package-name-here
apt list --upgradable
apt list --upgradable
nach jeder Paketinstallation Folgendes ein . Dies sollte nur einige Minuten dauern.
sudo apt-get autoclean
sudo apt-get update && sudo apt-get dist-upgrade
Wenn diese Lösung für Sie funktioniert hat, vergessen Sie bitte nicht, sie zu aktualisieren, damit die richtige Lösung für andere zur Verfügung steht und ganz oben auf der Liste der Antworten steht.
Wenn diese Lösung aus irgendeinem Grund nicht für Sie funktioniert, lesen Sie bitte die Antwort von Benutzer GAD3R weiter unten. Es ist auch eine gute Lösung.
Vielen Dank.
Was bedeutet das?
The following packages have been kept back:
Die Antwort ist da
Dies bedeutet, dass es neue Versionen dieser Pakete gibt, die aus irgendeinem Grund nicht installiert werden. Mögliche Gründe sind fehlerhafte Abhängigkeiten (für ein Paket, von dem es abhängt, steht keine Version zum Herunterladen zur Verfügung) oder neue Abhängigkeiten (das Paket ist seit der letzten Version von neuen Paketen abhängig).
Sollte ich etwas unternehmen?
Sie müssen Folgendes dist-upgrade
verwenden, um die neuen Abhängigkeiten zu installieren und die Pakete zu aktualisieren:
sudo apt-get dist-upgrade
Das Problem kann durch Ausführen behoben werden, dist-upgrade
wenn Folgendes nicht erforderlich ist:
Korrigieren Sie fehlerhafte Abhängigkeiten
sudo apt-get -f install
Entfernen Sie einige Pakete, die nicht mehr auf Ihrem System installiert sind:
sudo apt-get autoclean
Legen Sie das gewünschte Paket in die Warteschleife:
echo "<package_name> hold" | dpkg --set-selections
Konfigurieren Sie das benannte Paket neu:
dpkg-reconfigure <package_name>
Aus dieser Unix SE-Antwort :
Zunächst, wie oben erwähnt, bitte KEIN Produktivsystem dist-upgraden! Während dist-upgrade zurückgehaltene Pakete "löst", ist es definitiv nicht die Lösung für dieses Problem und wird Ihnen höchstwahrscheinlich mehr Kummer bereiten als nützen, wenn Sie es ausführen, ohne die Auswirkungen auf Ihr System zu kennen.
Wenn für das Upgrade eines Pakets die Installation zusätzlicher Pakete erforderlich ist, wird es während der Ausführung "zurückgehalten" sudo apt-get upgrade
.
Wie oben erwähnt, können Sie diese "zurückgehaltenen" Pakete manuell installieren, indem Sie sie explizit ausführen. Dadurch sudo apt-get install [paste kept back packages here]
werden diese Pakete jedoch als "manuell installiert" gekennzeichnet, was häufig nicht unseren Wünschen entspricht.
Um zusätzliche Pakete automatisch zu installieren, die für ein Upgrade der "zurückgehaltenen" Pakete erforderlich sind, ohne die "zurückgehaltenen" Pakete als manuell installiert zu markieren, führen Sie einfach Folgendes aus sudo apt-get --with-new-pkgs upgrade
.
Ich habe diese Antwort in meinen Blog aufgenommen. Wenn Sie sehen möchten, dass Sie dorthin gehen können, klicken Sie auf diesen Link .
Der obige Fehler tritt sehr häufig im Ubuntu-Terminal auf, wenn Sie versuchen, ein Upgrade durchzuführen ( apt-get upgrade
). Dies geschieht normalerweise, weil sich die Abhängigkeiten eines Pakets, das Sie installieren, geändert haben. Um ein Upgrade durchzuführen, müssen Sie auch diese zuerst aktualisieren. Es ist also sehr einfach, das zu lösen. Sie können die Pakete sehen, die unter dieser Fehlermeldung zurückgehalten wurden. Als Beispiel kann ich folgende Pakete in der Liste sehen:
gnome-software gnome-software-common linux-generic linux-headers-generic
linux-image-generic snapd ubuntu-core-launcher ubuntu-software
Geben Sie nicht nur Folgendes ein sudo apt-get dist-upgrade
Es ist sehr gefährlich, da alle ausstehenden Updates installiert werden. Dies könnte Ihre Arbeitsumgebung in einen sehr instabilen Zustand versetzen.
Daher ist meine Meinung berühmt zu gebrauchen
sudo apt-get install [package]
Sie können durch das [package]
in der Fehlermeldung angegebene Paket ersetzen . Sie können sie auch als Liste ablegen (einfach kopieren und einfügen). Als Beispiel in meinem Fall kann ich eingeben
sudo apt-get install gnome-software gnome-software-common linux-generic linux-headers-generic
linux-image-generic snapd ubuntu-core-launcher ubuntu-software
Wenn du willst
sudo apt-get dist-upgrade
Überprüfen Sie aus irgendeinem Grund die Liste der Pakete mit der Option simulate -s
( sudo apt-get -s dist-upgrade
) oder ohne die -s
Option, die Sie vor dem Akzeptieren beenden können. (Sie können immer die Option nein wählen)
Kürzlich führte ein Debian-Sicherheitsupdate einige neue Abhängigkeiten ein. In diesem Fall begann das linux-image
Paket linux-firmware
unter anderem zu erfordern . Also wurden sie zurückgehalten und nicht von installiert unattended-upgrade
. Nach einigen Tests und Bestätigungen konnte ich nur diese Pakete selektiv installieren , ohne andere ausstehende Updates zu berühren:
apt-get -yy install $(apt-get -s upgrade | sed '1,/kept back/d;/will be upgraded/,$d')
Dieser Artikel fasst gut zusammen, warum dies passiert:
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.
Die Lösung hierfür ist, sie explizit mit zu installieren
sudo apt install [packages]
Sie möchten diese Pakete wahrscheinlich als automatisch installiert markieren, es sei denn, Sie kümmern sich selbst darum und möchten nicht nur Abhängigkeiten erfüllen.
sudo apt-mark auto [packages]
Um dies zu verhindern, empfehle ich die Verwendung
sudo apt --with-new-pkgs upgrade
Pakete in der Zukunft zu aktualisieren, wodurch die Installation neuer Pakete ermöglicht wird, um Änderungen in Abhängigkeiten gerecht zu werden.
--with-new-pkgs
! Und lassen Sie mich noch einmal betonen, dass " KEIN Produktivsystem dist-upgraden" ! Während dist-upgrade zurückgehaltene Pakete "löst", ist es definitiv keine Lösung für dieses Problem und wird Ihnen höchstwahrscheinlich mehr Kummer als Gutes bereiten, wenn Sie Führen Sie es aus, ohne die Auswirkungen auf Ihr System zu kennen. "