Показать статистику
0 голосов
от (770 баллов)

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

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

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

600 просмотров 2 ответов

2 Ответы

0 голосов
от (1.6тыс. баллов)

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

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

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

0 голосов
от (26.4тыс. баллов)

Обычно я обновляю свои машины с помощью:

sudo apt-get update && time sudo apt-get dist-upgrade

Ниже приведен отрывок из man apt-getИспользование обновления соответствует правилу: установленные пакеты ни при каких обстоятельствах не удаляются, а пакеты, которые еще не установлены, извлекаются и устанавливаются. Если для вас это важно, используйте apt-get upgrade. Если вы хотите, чтобы все "просто работало", вы, вероятно, захотите apt-get dist-upgrade убедиться, что зависимости разрешены.

Если вы являетесь системным администратором , вам нужна предсказуемость. Возможно, вы используете расширенные функции, такие как apt pinning или pull из коллекции PPA (возможно, у вас есть собственный PPA), с различными автоматизациями для проверки вашей системы и доступных обновлений вместо того, чтобы постоянно обновлять все доступные пакеты. Вы будете очень разочарованы, когда apt будет вести себя не по сценарию, особенно если это приведет к простою производственной службы.

upgrade
    upgrade is used to install the newest versions of all packages
    currently installed on the system from the sources enumerated in
    /etc/apt/sources.list. Packages currently installed with new
    versions available are retrieved and upgraded; under no
    circumstances are currently installed packages removed, or packages
    not already installed retrieved and installed. New versions of
    currently installed packages that cannot be upgraded without
    changing the install status of another package will be left at
    their current version. An update must be performed first so that
    apt-get knows that new versions of packages are available.

dist-upgrade
    dist-upgrade in addition to performing the function of upgrade,
    also intelligently handles changing dependencies with new versions
    of packages; apt-get has a "smart" conflict resolution system, and
    it will attempt to upgrade the most important packages at the
    expense of less important ones if necessary. So, dist-upgrade
    command may remove some packages. The /etc/apt/sources.list file
    contains a list of locations from which to retrieve desired package
    files. See also apt_preferences(5) for a mechanism for overriding
    the general settings for individual packages.
...