Кажется, это должно быть правдой, но я хотел убедиться. Спасибо!
Нет, они не одинаковы. apt-get upgrade
не обрабатывает изменение зависимостей между версиями, поэтому, если пакет изменил зависимости, он не будет обновлен (он будет «задержан»). Смотрите подробный ответ для более подробной информации.
Использование Software Updater и использование sudo apt-get update ; sudo apt-get dist-upgrade
(обратите внимание на dist-
) было бы почти эквивалентно, за исключением того, что один явно представляет собой графический интерфейс, а другой - консольное приложение, а также несколько очень незначительных информационных различий .
Из man apt-get
,
apt-get upgrade
:
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.
(выделено мной)
Это означает, что более новая версия пакета с новой зависимостью, которая не требуется в старой версии , не будет обновлена с помощью этого метода (если только новая зависимость не была уже установлено). Они будут показаны как «Задержанные».
apt-get dist-upgrade
:
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. The dist-upgrade
command may therefore 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.
(выделено мной)
Это означает, что с этой командой вместо upgrade
пакеты с новые (или удаленные) зависимости могут быть обновлены.
Хороший пример различий между ними - выпуск нового ядра Linux. Это упаковано в пакет linux-image-generic
, который всегда зависит от последней версии ядра Linux. Поскольку зависимости linux-image-generic
меняются при каждом обновлении ядра, upgrade
не будет его обновлять.
Это почти то же самое, но не совсем. Например, когда предлагаются обновления ядра, для получения этих обновлений требуется sudo apt-get update && sudo apt-get dist-upgrade
.
sudo apt-get update && sudo apt-get upgrade
скажет вам, что некоторые пакеты были задержаны.
Использование Software Updater делает все без проблем, и вы не увидите ничего сдержанного.
apt
поэтапное обновление ( упомянутое Пабуком ) является наиболее существенной разницей между обновлением с помощью Software Updater и командной строки. В эти дни утилита apt
- которой не было , когда этот вопрос был опубликован, но , вероятно, была бы включена в вопрос, если бы - это все более популярная альтернатива apt-get
для обновления пакетов. Они похожи: один и тот же пакет (также называемый apt
) предоставляет как , так и все, что может apt
, может сделать и традиционная утилита apt-
, хотя в некоторых случаях вам нужно будет передать специальные параметры конфигурации. Но apt
ближе, чем apt-get
к Software Updater. Как и Software Updater, sudo apt upgrade
способен устанавливать новые пакеты , когда новая версия существующего пакета объявляет их как зависимости.
Таким образом, в наши дни пользователи, которые обеспокоены этим различием, могут просто запустить sudo apt upgrade
вместо sudo apt-get upgrade
, если они хотят, чтобы новые зависимости устанавливались автоматически. Следовательно, функция Software Updater, заключающаяся в небольшой задержке некоторых обновлений , чтобы определить, являются ли они стабильными в дикой природе, и ограничить ущерб, если они не таковы, - теперь, вероятно, основная разница между использованием Обновление программного обеспечения и обновление в командной строке.
Такое поведение средства обновления программного обеспечения обусловлено политикой поэтапного обновления . Эта политика - реализованная в Software Updater , но не в apt-get
(или apt
) - была одним из основных различий между этими двумя методами с тех пор, как была введена политика и Пабук прокомментировал об этом пару лет назад :
Есть еще одно отличие:
blockquote>apt-get
не использует PhasedUpdates , поэтому иногда Software Updater показывает меньше обновлений, чемapt-get
. См. Почему Software Updater сообщает, что обновлений нет, но apt-get upgrade Показывает доступные обновления? .- Пабук 25 февраля 15:15 в 7:34
Это, возможно, всегда было самым значительным отличием в том, что всегда можно запустить
sudo apt-get dist-upgrade
, когда столкнется с нежеланием действияupgrade
устанавливать новые пакеты или удалять существующие. Однако при обновлении из командной строки относительная важность поэтапных обновлений увеличивается сapt
:
- Как и
apt-get
, командаapt
будет загружать и устанавливать обновления, даже если они будут отложены из-за политики поэтапного обновления, если вместо этого использовался Software Updater.- Но , в отличие от
apt-get
, действиеupgrade
командыapt
будет устанавливать новые пакеты, которые ранее не устанавливались, но необходимы в качестве зависимостей для новых версий пакетов. [ 1148]Кроме из-за (а) предпочтения графического интерфейса и (б) его интеграции с рабочим столом, обеспечивающей уведомления о доступности обновлений, основной причиной, по которой можно использовать Software Updater, что это самый простой способ участия в поэтапных обновлениях.