& ldquo; Следующие пакеты были сохранены назад: & rdquo; Почему и как это решить?

Я просто добавил репозиторий PPA для версии для разработки GIMP, но я получаю эту ошибку:

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

Почему и как я могу ее решить, чтобы я мог использовать последнюю версию вместо тот, который у меня есть сейчас?

1
задан 3 March 2017 в 08:16

15 ответов

Всякий раз, когда вы получаете от команды apt-get upgrade сообщение

The following packages have been kept back:

, то для обновления одного или всех поддерживаемых пакетов без обновления дистрибутива (это то, что dist-upgrade делает , если я правильно помню) должен выдать команду:

apt-get install <list of packages kept back>

, это решит проблемы с сохранением и попросит установить дополнительные пакеты и т. д., как объяснялось другими ответами. [!d2 ]

458
ответ дан 29 May 2018 в 13:02
  • 1
    Когда пакеты сохраняются таким образом, и я вручную apt-get upgrade <list of packages>, если я переделаю apt-get upgrade, он перечислит указанные пакеты как уже не требуемые и что я могу использовать apt autoremove, чтобы удалить их, что я делаю, а затем один последний apt-get upgrade, и они больше не перечислены как сохраненные назад ... Очень странно. Есть предположения? – cram2208 16 May 2017 в 17:31
  • 2
    [F1] также удаляет пакеты, когда это необходимо, для разрешения проблем с грубой зависимостью, или вам нужно будет выполнить отдельную команду apt-get remove для выполнения этой части процесса обновления? – mac9416 6 September 2017 в 00:23
  • 3
    @ cram2208 Я считаю, что это ожидаемое поведение. Пакеты, которые были «установлены автоматически и [...] больше не требуются». это предыдущие версии обновленных пакетов, которые теперь больше не нужны. apt autoremove затем удаляет эти неиспользуемые зависимости. – Alex 7 September 2017 в 03:56
  • 4
    Если для обновления потребуется установить новый пакет, пакет будет «сохранен». Сначала рассмотрим использование: sudo apt-get --with-new-pkgs upgrade, которое не имеет побочного влияния на то, что пакеты будут помечены как установленные вручную – l --marc l 7 December 2017 в 01:59
  • 5
    @ mac9416 да, это так. – jarno 26 January 2018 в 22:04

apt-get dist-upgrade опасен для стабильной среды,

неправильная настройка source.list, и вы в конечном итоге со сломанным ubuntu. вы можете получить полное обновление приложения до версии, которую вы не хотите.

Случай использования: обновление ядра поддерживается, вы просто хотите обновить ядро, не хотите обновлять весь дистрибутив.

Лучший способ обработки сохраненного пакета:

[ f1]

Если вы сохранили обратный пакет, вы должны увидеть Upgradable Packages в верхней части списка.

Нажмите + в этом списке Hit g дважды Ответьте на debconf, если хотите, нажмите «Назад», чтобы продолжить. Нажмите Q Нажмите да.

Установленный ваш обратно пакет.

168
ответ дан 29 May 2018 в 13:02
  • 1
    apt-get dist-upgrade опасно, если в /etc/apt/sources.list* есть плохие репозитории. Хорошо знать, что dist-upgrade обновляет все пакеты , но с репозиториями по умолчанию это должно быть хорошо. Не с использованием dist-upgrade может быть опасным, так как вы можете пропустить обновления для системы безопасности. – Flimm 28 December 2012 в 01:35
  • 2
    apt-get dist-upgrade может удалить , а также добавить пакеты, но это действительно не опасно. Любая команда установки пакета может нанести серьезный урон , если у вас есть проблемы в файле sources.list ! Регулярная команда apt-get upgrade будет устанавливать любой пакет из любого включенного источника программного обеспечения; dist-upgrade не уникален таким образом. Кроме того, использование aptitude для выполнения любой операции вообще, по крайней мере на amd64, намного опаснее, чем запуск apt-get dist-upgrade, в выпуске, где ошибка 831768 не исправлена. – Eliah Kagan 22 March 2013 в 20:03
  • 3
    Для меня было проще (локальная машина с запуском X) просто открыть синаптический режим и принудительно обновить пакет. По какой-то причине это, казалось, не появилось вообще, где вы описали синаптическую. – djvs 27 July 2015 в 17:39
  • 4
    Также sudo aptitude safe-upgrade – msanford 19 May 2016 в 18:31

Почему вы не пытаетесь ответить на этот ответ Unix SE:

sudo apt-get --with-new-pkgs upgrade
Это позволяет устанавливать новые пакеты. Это позволит вам узнать, какие пакеты будут установлены и спросить вас, прежде чем выполнять установку.

этот ответ Unix SE поделился этой опцией apt-get.

Используя apt install <pkg> вместо этого, пометьте pkg как «установленную вручную»! Чтобы отметить как «автоматически установленный», используйте эту опцию apt-get (см. Также подкоманду showmanual). Дополнительная информация в этом ответе.

34
ответ дан 29 May 2018 в 13:02
  • 1
    +1, потому что у него нет побочного влияния на то, чтобы пакеты были помечены как установленные вручную. – ctrl-alt-delor 7 October 2017 в 14:05
  • 2
    Обратите внимание на то, кто когда-либо читал мой комментарий выше: не имеет побочного эффекта маркировки, установленного вручную, это хорошо. Мне нравится этот ответ. – ctrl-alt-delor 2 May 2018 в 12:22

Обычно вы можете увидеть это сообщение.

Если обновление программы (через sudo apt-get upgrade) приведет к добавлению или удалению пакетов, программа будет сдерживаться. Вы можете использовать sudo apt-get dist-upgrade в этом случае, который затем предложит добавить или удалить дополнительные программы.

Это довольно распространено и обычно не является проблемой. Иногда (особенно во время альфа Ubuntu) dist-upgrade предложит удалить многие другие программы, и в этом случае вы, вероятно, захотите его отменить.

Если программа зависит от пакетов или версий, которые не являются доступно, тогда программа будет сдерживаться. Вы действительно ничего не можете сделать, кроме как ждать в этом случае, поскольку пакет в основном не установлен. Это может произойти, когда пакеты будут добавлены в репозиторий из строя, когда пакет будет переименован или когда пакет перестанет предоставлять виртуальный пакет.

30
ответ дан 29 May 2018 в 13:02
  • 1
    Есть ли способ определить, нуждается ли удерживаемый пакет в зависимости, которая не может быть установлена ​​или если она удерживается, потому что от нее зависят другие пакеты. У меня много пакетов, и я считаю, что оба этих случая могут применяться в моей системе. – Jake 8 December 2016 в 13:29
  • 2
    Спасибо, вторая причина была для меня проблемой. Даже apt-get dist-upgrade отказался установить его. Проверка пакета с aptitude показала, что он зависит от пакета, который недоступен. Думаю, мне придется подождать. – jlh 2 May 2018 в 17:55

Скорее всего, эти пакеты сдерживаются, потому что их установка создавала бы несоответствия зависимости. Это может произойти из-за того, что вы используете архивы под активной разработкой, ppas или потому, что зеркало, которое вы используете, не полностью обновлено.

В последнем случае просто подождите, когда зависимости будут решены, он будет установлен в следующий раз.

Изменить:

Есть еще одна возможность: пакеты могут быть спрятаны, если их удержать, или если они закреплены.

18
ответ дан 29 May 2018 в 13:02
  • 1
    На чем вы основываете эту вероятность, не зная, что он запустил apt-get upgrade или apt-get dist-upgrade (alt. Эквиваленты aptitude)? – andol 1 August 2010 в 03:21
  • 2
    это самая встречающаяся проблема в вопросах поддержки и ошибок – txwikinger 1 August 2010 в 03:25
  • 3
    Согласовано. Вероятно, вам стоит подождать и проверить apt_preferences. Это часто происходит из-за архивов разработки, где зависимости приложений и доступных пакетов меняются очень быстро. Подождите, пока они успокоятся, и вам может не понадобиться dist-upgrade. Если вы все еще хотите dist-upgrade, посмотрите на новые пакеты, которые нужно установить, и пакеты, которые нужно удалить, прежде чем идти вперед. – Umang 1 August 2010 в 07:29
  • 4
    Это мой случай, потому что я получаю "назад" сообщение с использованием dist-upgrade – Postadelmaga 17 August 2012 в 14:02
  • 5
    В случаях, когда эта проблема вызвана ошибкой с предпочтениями (пиннинг), я обнаружил, что переустановка поддерживаемых пакетов помогла мне: apt-get install --reinstall <packages>. – tanius 13 April 2014 в 16:11

Вы также можете попробовать:

sudo aptitude safe-upgrade.

Это безопаснее, чем full-upgrade (изначально названный dist-upgrade), потому что «пакеты не будут удалены, если они не используются ".

Из man aptitude:

safe-upgrade Обновляет установленные пакеты до их последней версии. Установленные пакеты не будут удалены, если они не используются /.../ Пакеты, которые в настоящее время не установлены, могут быть установлены для разрешения зависимостей, если не указана опция -no-new-installs командной строки.
16
ответ дан 29 May 2018 в 13:02

Обычно это связано с тем, что пакет добавил зависимость, и обновление не хочет добавлять его для вас без разрешения.

Если вы запустите:

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

Тогда новые версии должны быть установлены вместе с их новой зависимостью.

9
ответ дан 29 May 2018 в 13:02
  • 1
    Обновляет определенные пакеты (и их зависимости) без обязательств (рисков) dist-upgrade. – John Mee 21 September 2015 в 10:43

Я обнаружил, что 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 не обновил бы его, но способность была бы.

7
ответ дан 29 May 2018 в 13:02

Это сработало для меня

sudo aptitude full-upgrade
7
ответ дан 29 May 2018 в 13:02
  • 1
    Даже aptitude upgrade работал на меня. – Bibhas 14 December 2013 в 22:15
  • 2
    Я использую Ubuntu 14.04, и у меня нет командной строки aptitude – ahmed hamdy 31 March 2015 в 16:33
  • 3
    apt-get dist-upgrade дал мне то же сообщение, но это решило это для меня. У меня был пакет, который прерывал обновление другого пакета. Мне не нужен тот, который я установил, поэтому aptitude full-upgrade дал мне возможность удалить его, чтобы он мог обновить все остальное. – f.ardelian 30 April 2015 в 03:53

Я столкнулся с этой проблемой при выпуске нового ядра. (Возможно, потому что у меня есть нестабильные обновления.) Я нашел самый простой способ сделать установку через графический инсталлятор Ubuntu (update-manager).

3
ответ дан 29 May 2018 в 13:02

В моем случае сдерживаемые пакеты были связаны с 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 года)

3
ответ дан 29 May 2018 в 13:02

Я столкнулся с этой проблемой, используя synaptic, потому что она, похоже, зависла, и попытаться исправить это, я снова загрузился и попытался снова.

Затем я обнаружил информативное сообщение как часть пакета с некоторыми инструкции после установки для меня.

Мне нужно было нажать «подробности», а затем «q» для выхода после прочтения сообщения, а затем все продолжалось нормально.

2
ответ дан 29 May 2018 в 13:02

Это выглядит как правильный способ переустановки сохраненного пакета:

apt-get install --reinstall libjpeg-progs

По крайней мере, это сработало для меня, когда libjpeg-progs застрял после обновления с Ubuntu 14.04 до 16,04. Я уверен, что вы можете сделать то же самое с любым другим поддерживаемым приложением, например. gimp.

Источник: https://ubuntuforums.org/showthread.php?t=2321702&p=13476183#post13476183

2
ответ дан 29 May 2018 в 13:02

На самом деле вам нужен переключатель dselect-upgrade, который устанавливает / удаляет зависимости для определенного набора пакетов.

1
ответ дан 29 May 2018 в 13:02

Я прочитал все сообщения и обнаружил, что есть много интересных объяснений. Я пытался их всех, но не имел никаких результатов полностью. У меня проблема с mysql-утилитами, которые я не мог обновить. Обновление было предложено системой. Итак, я хочу показать некоторые шаги, чтобы сделать это. Конечно, я повторю в некоторые моменты все вышеупомянутые должности. Вот моя ошибка, да, я нашел ее уже существующими сообщениями, но что мне делать дальше?

Следующий шаг:

sudo apt-get --purge remove mysql-utilities

Результаты, которые мы видим на изображении ниже. Я удаляю пакет и проверяю это по команде:

sudo apt-get -f install

Результаты - Отлично! Позже я правильно установил эту новую версию пакета.

Таким образом, я думаю, это может помочь новым людям, потому что, имея другие пакеты, мы можем делать те же шаги.

Однажды, извините, когда Я повторил в некоторых местах другие сообщения.

0
ответ дан 29 May 2018 в 13:02
  • 1
    Пожалуйста, не используйте скриншоты для текста терминала, поскольку это делает его непознаваемым Google и нечитаемым некоторыми людьми. Вместо этого вставьте текст терминала в свой ответ, выберите этот текст и нажмите кнопку {} в редакторе, чтобы правильно отформатировать его. – Chai T. Rex 26 January 2018 в 02:14
  • 2
    @ ChaiT.Rex Спасибо за замечания, я буду считать это в мнении на будущее. – Vasyl Lyashkevych 26 January 2018 в 02:43

Другие вопросы по тегам:

Похожие вопросы: