Я просто добавил репозиторий PPA для версии для разработки GIMP, но я получаю эту ошибку:
$ apt-get update && apt-get upgrade
...
The following packages have been kept back:
gimp gimp-data libgegl-0.0-0 libgimp2.0
Почему и как я могу ее решить, чтобы я мог использовать последнюю версию вместо тот, который у меня есть сейчас?
Всякий раз, когда вы получаете от команды apt-get upgrade сообщение
The following packages have been kept back:
, то для обновления одного или всех поддерживаемых пакетов без обновления дистрибутива (это то, что dist-upgrade делает , если я правильно помню) должен выдать команду:
apt-get install <list of packages kept back>
, это решит проблемы с сохранением и попросит установить дополнительные пакеты и т. д., как объяснялось другими ответами. [!d2 ]
apt-get dist-upgrade опасен для стабильной среды,
неправильная настройка source.list, и вы в конечном итоге со сломанным ubuntu. вы можете получить полное обновление приложения до версии, которую вы не хотите.Случай использования: обновление ядра поддерживается, вы просто хотите обновить ядро, не хотите обновлять весь дистрибутив.
Лучший способ обработки сохраненного пакета:
[ f1]Если вы сохранили обратный пакет, вы должны увидеть Upgradable Packages в верхней части списка.
Нажмите + в этом списке Hit g дважды Ответьте на debconf, если хотите, нажмите «Назад», чтобы продолжить. Нажмите Q Нажмите да.Установленный ваш обратно пакет.
Почему вы не пытаетесь ответить на этот ответ Unix SE:
sudo apt-get --with-new-pkgs upgrade
Это позволяет устанавливать новые пакеты. Это позволит вам узнать, какие пакеты будут установлены и спросить вас, прежде чем выполнять установку. этот ответ Unix SE поделился этой опцией apt-get.
Используя apt install <pkg> вместо этого, пометьте pkg как «установленную вручную»! Чтобы отметить как «автоматически установленный», используйте эту опцию apt-get (см. Также подкоманду showmanual). Дополнительная информация в этом ответе.
Обычно вы можете увидеть это сообщение.
Если обновление программы (через sudo apt-get upgrade) приведет к добавлению или удалению пакетов, программа будет сдерживаться. Вы можете использовать sudo apt-get dist-upgrade в этом случае, который затем предложит добавить или удалить дополнительные программы.
Это довольно распространено и обычно не является проблемой. Иногда (особенно во время альфа Ubuntu) dist-upgrade предложит удалить многие другие программы, и в этом случае вы, вероятно, захотите его отменить.
Если программа зависит от пакетов или версий, которые не являются доступно, тогда программа будет сдерживаться. Вы действительно ничего не можете сделать, кроме как ждать в этом случае, поскольку пакет в основном не установлен. Это может произойти, когда пакеты будут добавлены в репозиторий из строя, когда пакет будет переименован или когда пакет перестанет предоставлять виртуальный пакет.
Скорее всего, эти пакеты сдерживаются, потому что их установка создавала бы несоответствия зависимости. Это может произойти из-за того, что вы используете архивы под активной разработкой, ppas или потому, что зеркало, которое вы используете, не полностью обновлено.
В последнем случае просто подождите, когда зависимости будут решены, он будет установлен в следующий раз.
Изменить:
Есть еще одна возможность: пакеты могут быть спрятаны, если их удержать, или если они закреплены.
Вы также можете попробовать:
sudo aptitude safe-upgrade.
Это безопаснее, чем full-upgrade (изначально названный dist-upgrade), потому что «пакеты не будут удалены, если они не используются ".
Из man aptitude:
safe-upgrade Обновляет установленные пакеты до их последней версии. Установленные пакеты не будут удалены, если они не используются /.../ Пакеты, которые в настоящее время не установлены, могут быть установлены для разрешения зависимостей, если не указана опция -no-new-installs командной строки.Обычно это связано с тем, что пакет добавил зависимость, и обновление не хочет добавлять его для вас без разрешения.
Если вы запустите:
sudo apt-get install gimp gimp-data libgegl-0.0-0 libgimp2.0
Тогда новые версии должны быть установлены вместе с их новой зависимостью.
Я обнаружил, что aptitude лучше справляется с обновлением пакетов, если версии отличаются незначительно. У меня была такая ситуация:
me@compy:/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
Это сделало apt-get сдерживает обновление, но aptitude обновила его просто отлично. Я не уверен, какой алгоритм используется для определения необходимости обновления пакета или нет. Я предполагаю, что у этих двух была такая же версия, только у другого «определителя». Но в любом случае apt-get не обновил бы его, но способность была бы.
Это сработало для меня
sudo aptitude full-upgrade
Я столкнулся с этой проблемой при выпуске нового ядра. (Возможно, потому что у меня есть нестабильные обновления.) Я нашел самый простой способ сделать установку через графический инсталлятор Ubuntu (update-manager).
В моем случае сдерживаемые пакеты были связаны с linux-заголовками и ядром. Я пришел к этому, пытаясь решить проблему с красным восклицательным знаком в области уведомлений и не имея возможности обновлять пакеты.
Чтобы решить эту проблему, мне не пришлось использовать ни linux -headers или manual apt-get install xxx.
То, что я сделал и помогло, было простым и чистым:
sudo apt-get update
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get upgrade
Мне пришлось вручную подтвердить обновление Grub и его конфигурация.
Затем я как-то работал с компьютером некоторое время, а затем снова появился диалоговое окно обновления, включающее в себя раздел «Основы Ubuntu» с ядром и связанным с ним. Обновление было выполнено без каких-либо проблем, и я больше не вижу никаких отложенных пакетов.
Кроме того, очень важно иметь в виду, что те * buntu-обновления, включая простые и чистые - У меня эта проблема несколько раз, и я всегда ее устраняю, перезагружая машину и выполняя описанные выше шаги.
Так что, возможно, этого было бы достаточно?!
(описанная здесь ситуация связана с моим Xubuntu 15.10 в конце декабря 2015 года)
Я столкнулся с этой проблемой, используя synaptic, потому что она, похоже, зависла, и попытаться исправить это, я снова загрузился и попытался снова.
Затем я обнаружил информативное сообщение как часть пакета с некоторыми инструкции после установки для меня.
Мне нужно было нажать «подробности», а затем «q» для выхода после прочтения сообщения, а затем все продолжалось нормально.
Это выглядит как правильный способ переустановки сохраненного пакета:
apt-get install --reinstall libjpeg-progs
По крайней мере, это сработало для меня, когда libjpeg-progs застрял после обновления с Ubuntu 14.04 до 16,04. Я уверен, что вы можете сделать то же самое с любым другим поддерживаемым приложением, например. gimp.
Источник: https://ubuntuforums.org/showthread.php?t=2321702&p=13476183#post13476183
На самом деле вам нужен переключатель dselect-upgrade, который устанавливает / удаляет зависимости для определенного набора пакетов.
Я прочитал все сообщения и обнаружил, что есть много интересных объяснений. Я пытался их всех, но не имел никаких результатов полностью. У меня проблема с mysql-утилитами, которые я не мог обновить. Обновление было предложено системой. Итак, я хочу показать некоторые шаги, чтобы сделать это. Конечно, я повторю в некоторые моменты все вышеупомянутые должности. Вот моя ошибка, да, я нашел ее уже существующими сообщениями, но что мне делать дальше?
Следующий шаг:
sudo apt-get --purge remove mysql-utilities
Результаты, которые мы видим на изображении ниже. Я удаляю пакет и проверяю это по команде:
sudo apt-get -f install
Результаты - Отлично! Позже я правильно установил эту новую версию пакета.
Таким образом, я думаю, это может помочь новым людям, потому что, имея другие пакеты, мы можем делать те же шаги.
Однажды, извините, когда Я повторил в некоторых местах другие сообщения.