Вихід apt-get upgrade
:
The following packages have been kept back:
certbot python-acme python-certbot python-certbot-apache python-cryptography python-openssl
Що це означає? Чи варто вжити заходів? Якщо так, то що?
Вихід apt-get upgrade
:
The following packages have been kept back:
certbot python-acme python-certbot python-certbot-apache python-cryptography python-openssl
Що це означає? Чи варто вжити заходів? Якщо так, то що?
Відповіді:
У мене було кілька разів те саме питання. НЕ робіть
sudo apt-get dist-upgrade
спочатку. Дуже важливо. **** ПРИМІТКА. Це рішення призначене для машин на базі Debian, але не працюватиме на KDE Neon . Щоб оновити KDE Neon, потрібно використовуватиsudo pkcon update
. ****
Це може зробити вашу систему дуже нестабільною, програми можуть вийти з ладу, і ви можете втратити багато функціональних можливостей вашої ОС.
Ви ОБОВ'ЯЗКОВО встановите кожен пакет окремо, ТАКОЖ , під час цього процесу інші залежності також будуть встановлені автоматично, і Ваша проблема буде вирішена всього за кілька хвилин.
У мене не було проблем із наступним рішенням. Це досить швидко і просто.
apt list --upgradable
sudo apt-get install package-name-here
apt list --upgradable
apt list --upgradable
після встановлення кожного пакета. Це займе лише пару хвилин.
sudo apt-get autoclean
sudo apt-get update && sudo apt-get dist-upgrade
Якщо це рішення спрацювало для вас, будь ласка, не забудьте оновити його таким чином, щоб правильне рішення було доступне для інших та опинилося вгорі списку відповідей.
Якщо з якихось причин це рішення не працює для вас, дивіться відповідь користувача GAD3R нижче. Це також хороше рішення.
Спасибі.
Що це означає?
The following packages have been kept back:
Відповідь тут
Це означає, що існують нові версії цих пакетів, які не будуть встановлені з якихось причин. Можливі причини - це зламані залежності (пакет, від якого залежить, не має версії для завантаження) або нові залежності (пакет став залежати від нових пакетів з останньої версії).
Чи варто вжити заходів?
Вам потрібно використовувати dist-upgrade
для встановлення нових залежностей та оновлення пакетів:
sudo apt-get dist-upgrade
Проблему можна вирішити, dist-upgrade
якщо не потрібно:
Виправити зламані залежності
sudo apt-get -f install
Видаліть кілька пакунків, які більше не встановлені у вашій системі:
sudo apt-get autoclean
Покладіть потрібний пакет на утримання:
echo "<package_name> hold" | dpkg --set-selections
Переконфігуруйте названий пакет:
dpkg-reconfigure <package_name>
По-перше, як було сказано вище, будь ласка, НЕ перешкоджайте модернізації жодної виробничої системи! Незважаючи на те, що оновлення оновлень "вирішить" пакети, що зберігаються, це точно не вирішить цю проблему і, швидше за все, спричинить у вас більше горя, ніж користі, якщо ви запускаєте її, не знаючи наслідків для вашої системи.
Якщо для оновлення пакета потрібна установка додаткових пакетів, він буде підтримуватися під час запуску sudo apt-get upgrade
.
Як згадувалося вище, ви можете встановити ці "збережені назад" пакети вручну шляхом явного запуску, sudo apt-get install [paste kept back packages here]
але це позначить ці пакети як "встановлені вручну", що часто не є тим, що ми хочемо.
Для автоматичного встановлення будь-яких додаткових пакетів, необхідних для оновлення пакетів, що "підтримуються", не позначаючи пакети ", що підтримуються", як встановлені вручну, просто запустіть sudo apt-get --with-new-pkgs upgrade
.
Цю відповідь я включив у свій блог. Якщо ви хочете побачити, що ви можете зайти туди за цим посиланням .
Вищевказана помилка дуже часто зустрічається в терміналі Ubuntu при спробі оновлення ( apt-get upgrade
). Зазвичай це відбувається тому, що залежність одного встановленого пакету змінилася. Для оновлення вам потрібно спочатку оновити їх. Тому вирішити це дуже просто. Ви зможете побачити ті пакунки, які зберігалися під цим повідомленням про помилку. як приклад я можу побачити наступні пакети у списку:
gnome-software gnome-software-common linux-generic linux-headers-generic
linux-image-generic snapd ubuntu-core-launcher ubuntu-software
Не просто набирайте sudo apt-get dist-upgrade
це дуже небезпечно, оскільки він встановлює всі очікувані оновлення. Це може привести ваше робоче середовище до дуже нестабільного стану.
Тому моя думка - використовувати відомий
sudo apt-get install [package]
Ви можете замінити [package]
будь-яким пакетом у повідомленні про помилку. Також ви можете розмістити їх як список (просто скопіюйте та вставте його). Як приклад в моєму випадку я можу навести
sudo apt-get install gnome-software gnome-software-common linux-generic linux-headers-generic
linux-image-generic snapd ubuntu-core-launcher ubuntu-software
Якщо ви хочете зробити
sudo apt-get dist-upgrade
чомусь просто переконайтесь, що перегляньте список пакунків, використовуючи параметр імітації -s
( sudo apt-get -s dist-upgrade
), або без -s
опції ви можете припинити виконання перед прийняттям. (ви завжди можете вибрати варіант "ні")
Нещодавно оновлення безпеки Debian представило кілька нових залежностей. У цьому випадку linux-image
пакет почав вимагати linux-firmware
, серед кількох інших. Тож їх стримували та не встановлювали unattended-upgrade
. Після тестування та підтвердження я зміг вибірково встановити лише ці пакунки, не торкаючись інших оновлених оновлень:
apt-get -yy install $(apt-get -s upgrade | sed '1,/kept back/d;/will be upgraded/,$d')
У цій статті добре узагальнено, чому це відбувається:
Якщо залежності були змінені на одному з встановлених вами пакетів, так що для оновлення повинен бути встановлений новий пакет, який буде вказаний як "зберігається назад".
Рішенням цього є встановлення їх явно за допомогою
sudo apt install [packages]
Ви, мабуть, хочете позначити ці пакунки автоматично встановленими, якщо ви самі не піклуєтеся про них, а не лише для задоволення залежностей.
sudo apt-mark auto [packages]
Щоб цього не сталося в першу чергу, рекомендую використовувати
sudo apt --with-new-pkgs upgrade
в майбутньому оновити пакети, що дозволяє встановлювати нові пакети для задоволення змін залежностей.
--with-new-pkgs
! І дозвольте мені ще раз наголосити на тому, що " НЕ перешкоджайте модернізації жодної виробничої системи! Хоча dist-модернізація" вирішить "збережені назад пакети, це, безумовно, не є вирішенням цього питання, і, швидше за все, ви принесете більше горя, ніж користі, якщо ви запустіть його, не знаючи наслідків для вашої системи. "