Зачем использовать apt-get upgrade вместо apt-get dist-upgrade?

Я обычно использую apt-get update && apt-get upgrade для запуска моих обновлений и обновлений вместо графического интерфейса, потому что он работает быстрее.

Однако в последнее время я заметил, что часто получаю сообщение о том, что одно из моих обновлений было сдержано. Затем я обычно запускаю dist-upgrade, чтобы запустить его, и он отлично работает. Насколько я могу судить после прочтения этого вопроса и его ответов, dist-upgrade делает все то же самое, а затем и то, и другое.

Итак, мой вопрос: зачем вообще использовать apt-get upgrade? Почему бы не использовать apt-get dist-upgrade все время? Почему существует apt-get upgrade?

1
задан 13 April 2017 в 15:25

4 ответа

Я знаю, что на этот вопрос был дан ответ, и мне год, но я чувствую, что это нужно сказать. Ubuntu 14.04 и более поздние версии (и Debian Jessie, а затем, для тех, кто находит это у Google) использует APT 1.0, который позволяет использовать некоторые команды apt вместо apt-get и apt-cache.

apt-get upgrade не изменит установленное (только версии), apt-get dist-upgrade установит или удалит пакеты по мере необходимости для завершения обновления, apt upgrade автоматически установит, но не удалит пакеты. apt full-upgrade выполняет ту же функцию, что и apt-get dist-upgrade.
105
ответ дан 25 May 2018 в 06:00
  • 1
    @muru Спасибо за редактирование и заметку о полном обновлении. В основном я использую Debian 7 (который является pre-APT 1.0), и я играл только с Debian Jessie и Ubuntu 14.04. – Stephen Angelico 27 July 2014 в 19:00
  • 2
    пожалуйста. Как кто-то, кто регулярно использовал jessie и 14.04, я впервые узнал об этой новой утилите из вашего ответа! – muru 27 July 2014 в 19:22
  • 3
    У вас есть источник для описания apt upgrade? Все, что я могу предложить, предполагает, что apt upgrade совпадает с apt-get upgrade. Например, apt help upgrade на моих выходах системы: "apt upgrade" is equivalent to "sudo apt-get upgrade" – Jon Bentley 20 August 2015 в 01:44
  • 4
    Соответствующие manpages для apt и apt-get определяют, что я изначально сказал. – Stephen Angelico 20 August 2015 в 07:27
  • 5
    apt safe-upgrade не работает в моей системе. Если вы имеете в виду aptitude safe-upgrade, не совсем. apt-get upgrade никогда не будет устанавливать пакеты, тогда как apt upgrade и aptitude safe-upgrade будут устанавливать новые пакеты, поскольку это потребует от него зависимостей. Таким образом, aptitude safe-upgrade эквивалентен apt upgrade, а не apt-get upgrade. – Stephen Angelico 18 February 2017 в 02:33

Опция upgrade устанавливает только новую версию пакетов, которые уже установлены в системе (и да, к ним относятся ядра).

Однако иногда изменения изменяют зависимости: например, , новая версия пакета больше не будет зависеть от установленной вами библиотеки или потребует установки дополнительных библиотек. Опция upgrade никогда не удалит установленные пакеты, которые вам больше не нужны.

Однако опция dist-upgrade может «разумно» обрабатывать изменения в системе зависимостей. Это включает удаление пакетов, которые больше не нужны или не разрешают конфликты между пакетами, возникшими из-за изменений в зависимостях.

6
ответ дан 25 May 2018 в 06:00
  • 1
    Хотя это точно, я не думаю, что он отвечает на вопрос. Если у нас есть "интеллектуальный" вариант, который может обрабатывать изменения зависимостей и удалять беспорядок, почему бы не всегда использовать его? – ændrük 9 November 2012 в 01:51
  • 2
    upgrade также никогда не добавит новые пакеты, которые становятся необходимыми в качестве зависимостей. Из man apt-get : «ни при каких обстоятельствах в настоящее время не установлены удаленные пакеты или пакеты, которые еще не были установлены, извлечены и установлены» @ ændrük Просто потому, что что-то «интеллектуальное» не означает, что он всегда будет делать то, что хочет пользователь (или даже что-то разумное). В любое время, когда системное обновление удаляет пакет , полезно посмотреть, что он делает, прежде чем нажать Y. – Eliah Kagan 18 March 2014 в 07:06

Пользователи, возможно, полагаются на пакеты, которые были установлены неявно из-за зависимости других (явно установленных) пакетов от них. Таким образом, система упаковки не может знать о желании пользователя / администратора сохранить определенные функции, которые в противном случае могли бы быть удалены с помощью dist-upgrade.

2
ответ дан 25 May 2018 в 06:00

Не должно быть проблемой для пользователей Win-Home всегда «dist-upgrade», но если вы работаете с сложными системами, вам лучше «никогда (действительно) не менять запущенную систему» ​​... Даже если там «должно быть», быть не проблема, там «могут» быть проблемы - что вас вырезает! ВЫ должны быть тем, кто имеет право 2 решить; -)

-3
ответ дан 25 May 2018 в 06:00
  • 1
    Should not be a problem for Win-Home Users to always "dist-upgrade" .. почему? – heemayl 12 August 2015 в 15:21
  • 2
    Ну, допустим, вы создали ubuntu-сервер, рабочую станцию ​​для продуктивной среды: когда вы всегда и автоматически выполняете dist-upgrade, вы, вероятно, не сможете контролировать, когда возникают проблемы, даже если у вас нет времени на то, чтобы решить в этот момент выполняется автоматическое обновление. Некоторым конфигурациям может потребоваться "человеческий" касание к порту. Это то, что я испытал несколько раз. Когда вы просто работаете над " Home " такие платформы, как Win-Home, по умолчанию пользователь не может контролировать обновления. Таким образом, вы можете не беспокоить вас. – Thorben Kaufmann 13 August 2015 в 10:07

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

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