Wyjście z apt-get upgrade
jest:
The following packages have been kept back:
certbot python-acme python-certbot python-certbot-apache python-cryptography python-openssl
Co to znaczy? Czy powinienem podjąć działanie? Jeśli tak to co?
Wyjście z apt-get upgrade
jest:
The following packages have been kept back:
certbot python-acme python-certbot python-certbot-apache python-cryptography python-openssl
Co to znaczy? Czy powinienem podjąć działanie? Jeśli tak to co?
Odpowiedzi:
Szybki i EASY Solution:
Miałem ten sam problem, niezliczoną ilość razy. Nie rób robić sudo apt-get dist-upgrade
pierwszy. Bardzo ważne.
Czemu?
Może to spowodować, że twój system będzie bardzo niestabilny, programy mogą ulec awarii i możesz stracić wiele funkcjonalności w swoim systemie operacyjnym.
Nie miałem problemów z rozwiązaniem, które zapewnię.
Musisz zainstalować każdy pakiet indywidualnie, jednak w trakcie tego procesu inne zależności zostaną również automatycznie zainstalowane, a problem zostanie rozwiązany w ciągu kilku minut.
Zrób to:
apt list --upgradable
Kolejny:
Zacznij od początku listy pierwszym pakietem i wpisz:
sudo apt-get install package-name-here
Zostanie to uruchomione przez proces instalacji i zależności typu pull / install. Gdy to się zakończy, zrób to:
apt list --upgradable
To ponownie pokaże, które pakiety można uaktualnić. Twoja lista pakietów powinna się teraz zmniejszać. Wystarczy śledzić listę pakietów i apt list --upgradable
po każdej instalacji pakietu. Zajmie tylko kilka minut.
Jeśli to rozwiązanie zadziałało dla Ciebie, nie zapomnij go przekazać, aby właściwe rozwiązanie było dostępne dla innych i znajduje się na początku listy odpowiedzi.
Dzięki.
Co to znaczy?
The following packages have been kept back:
Odpowiedź to tutaj
Oznacza to, że istnieją nowe wersje tych pakietów, które z jakiegoś powodu nie zostaną zainstalowane. Możliwymi powodami są zepsute zależności (pakiet, od którego zależy, nie ma wersji do pobrania) lub nowe zależności (pakiet jest zależny od nowych pakietów od ostatniej wersji).
Czy powinienem podjąć działanie?
Musisz użyć dist-upgrade
w celu zainstalowania nowych zależności i uaktualnienia pakietów:
sudo apt-get dist-upgrade
Problem można rozwiązać, uruchamiając dist-upgrade
jeśli nie musisz:
Napraw uszkodzone zależności
sudo apt-get -f install
Usuń niektóre pakiety, które nie są już zainstalowane w systemie:
sudo apt-get autoclean
Wstrzymaj żądany pakiet:
echo "<package_name> hold" | dpkg --set-selections
Zmień konfigurację nazwanego pakietu:
dpkg-reconfigure <package_name>
Odpowiedź tę umieściłem na moim blogu. Jeśli chcesz zobaczyć, że możesz tam pojechać połączyć .
Powyższy błąd występuje bardzo często w terminalu Ubuntu podczas próby uaktualnienia ( apt-get upgrade
). Zwykle dzieje się tak, ponieważ zmieniły się zależności jednego instalowanego pakietu. Aby uaktualnić, musisz najpierw ulepszyć te. Więc jest to bardzo proste do rozwiązania. Będziesz mógł zobaczyć te pakiety, które były przechowywane poniżej tego komunikatu o błędzie. jako przykład widzę następujące pakiety na liście:
gnome-software gnome-software-common linux-generic linux-headers-generic
linux-image-generic snapd ubuntu-core-launcher ubuntu-software
Nie pisz tylko sudo apt-get dist-upgrade
Jest to bardzo niebezpieczne, ponieważ instaluje wszystkie oczekujące aktualizacje. Może to spowodować, że środowisko pracy stanie się bardzo niestabilne.
Dlatego moim zdaniem używam znanych
sudo apt-get install [package]
Możesz wymienić [package]
z jakimkolwiek pakietem w komunikacie o błędzie. Możesz także umieścić je tak, jak jest na liście (wystarczy skopiować i wkleić). Jako przykład w moim przypadku mogę wejść
sudo apt-get install gnome-software gnome-software-common linux-generic linux-headers-generic
linux-image-generic snapd ubuntu-core-launcher ubuntu-software
Jeśli chcesz to zrobić
sudo apt-get dist-upgrade
z jakiegoś powodu po prostu sprawdź listę pakietów za pomocą opcji symulacji -s
( sudo apt-get -s dist-upgrade
) lub bez -s
opcja możesz zakończyć wykonywanie przed zaakceptowaniem. (zawsze możesz wybrać opcję nie)
Po pierwsze, jak wspomniano powyżej, proszę NIE aktualizuj żadnego systemu produkcyjnego! Chociaż aktualizacja dystansowa „rozwiąże” wstrzymane pakiety, zdecydowanie nie jest rozwiązaniem tego problemu i będzie całkiem prawdopodobne spowodować więcej smutku niż dobrego, jeśli go uruchomisz, nie znając implikacji dla twojego systemu.
Jeśli aktualizacja pakietu wymaga zainstalowania dodatkowych pakietów, zostanie on „zatrzymany” podczas działania sudo apt-get upgrade
.
Jak wspomniano powyżej, możesz ręcznie zainstalować te „utrzymane” pakiety sudo apt-get install [paste kept back packages here]
ale to oznaczy te pakiety jako „zainstalowane ręcznie”, co często nie jest tym, czego chcemy.
Aby automatycznie zainstalować dodatkowe pakiety potrzebne do uaktualnienia pakietów „trzymanych z powrotem”, nie zaznaczając pakietów „wstrzymanych” jako ręcznie zainstalowanych, po prostu uruchom sudo apt-get --with-new-pkgs upgrade
.