Нет необходимости в обновлении dist-upgrade

22

До выхода Ubuntu 18.04 я использовал Ubuntu 16.04. И я использовал sudo apt-get update, sudo apt-get upgradeи sudo apt-get dist-upgradeделать обновления и обновления вещи. С Ubuntu 18.04 я переключился на использование aptвместо apt-get. Что было странным для меня, так это то, что sudo apt dist-upgradeэто больше не действует: я делаю обновление и обновление с помощью sudo apt updateи sudo apt upgade, но когда я запускаю sudo apt dist-upgrade, ничего не происходит вопреки тому, что я использовал sudo apt-get dist-upgrade.
Когда я использовал sudo apt-get dist-upgradeнекоторые пакеты были удалены, а другие были установлены. Однако, когда я бегу sudo apt dist-upgrade, ничего не происходит вообще .. Все, что я получаю, это:

sudo apt dist-upgrade 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.  

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

singrium
источник
Мне будет любопытно увидеть полный ответ, но, похоже, это говорит о том, что вы правы: askubuntu.com/questions/81585/…
rm-vanda

Ответы:

29

apt-get upgradeпротив apt upgradeпротивapt full-upgrade

apt-get upgradeобновляет только приложения, инструменты и утилиты. Не устанавливается новое ядро ​​Linux ОС.

apt upgradeобновляет приложения, инструменты и утилиты и устанавливает новое ядро ​​ОС Linux. Тем не менее, он никогда не удаляет старые пакеты.

apt full-upgradeобновляет приложения, инструменты и утилиты и устанавливает новое ядро ​​ОС Linux. Он также удаляет старые пакеты, если это необходимо для обновления.

Мне кажется, apt full-upgradeделает то же самое, что и apt-get dist-upgrade. То есть, full-upgradeон проверит и установит новое ядро, если оно доступно, и удалит старые пакеты, если удаление необходимо для обновления.

Ядра являются фундаментальной частью ОС. По этой причине старая версия ядра никогда не заменяется новой версией при запуске apt upgradeили apt full-upgrade. Новая версия ядра установлена, и существующая версия сохраняется как есть. Конфигурация в grub изменена для загрузки с новой версии по умолчанию в процессе обновления. Если новое ядро ​​по какой-то причине не работает, можно загрузить старое ядро ​​из расширенного меню grub.

Обратите внимание, apt full-upgradeне удаляет более старые версии ядер, так как устанавливает самую новую версию. Чтобы удалить их, нужно использовать apt autoremove.

Зачем менять имя с dist-upgradeна full-upgrade?

  • Если вы используете, apt-getто вам нужно использоватьdist-upgrade
  • Если вы используете, aptто вам нужно использоватьfull-upgrade

Я думаю, что это dist-upgradeбыло немного запутанным. Например, это не обновляет Ubuntu 16.04 до Ubuntu 18.04. Он обновляет только ядро ​​и другие вещи в Ubuntu 16.04.

Я думаю, что full-upgradeболее интуитивно, чем dist-upgrade.

См. Что такое «dist-upgrade» и почему он обновляется больше, чем «upgrade»? Больше подробностей.

Полное раскрытие: я просто пользователь Ubuntu, я не принял решение изменить его. Это мои личные взгляды.

Надеюсь это поможет

user68186
источник
1
+1, но, чтобы быть педантичным, с самой страницы руководства apt: upgrade никогда не удаляет существующие пакеты , но full-upgrade удаляет установленные в данный момент пакеты, если это необходимо для обновления системы в целом . Кроме того, apt dist-upgradeпохоже, работает нормально на моих системах (вероятно, для обратной совместимости).
г-н Шунц
@MrShunz Я знаю, что это то, что говорит страница руководства. Это также упоминается в другом ответе, который я добавлю в качестве ссылки.
user68186
apt upgradeи apt-get upgradeобрабатывать вещи разные, см hiroom2.com/2016/05/20/ubuntu-16-04-debian-8-apt-command/...
mook765
@ mook765 Спасибо! Я отредактирую свой ответ на основе вашей ссылки.
user68186
2
«Я думаю, что dist-upgrade был немного запутанным». Клянусь, это недооценка века в отношении apt. Есть ли в apt что-нибудь, что не смущает ?! Например, как имя «apt» или «aptitude» связано с управлением пакетами? Почему есть 3 варианта apt? Почему apt- get модифицирует мою систему? Почему «обновление» не обновляет мою систему? Почему «обновление» не обновляет мою систему? Почему он не должен просто обновить свой внутренний кеш перед автоматическим обновлением, как нормальная ОС? Почему очистка удаляет пакет, а не удаляет его из кэша? и т.д ....
Мердад
15

dist-upgradeбыл заменен в Ubuntu с помощью full-upgrade.

Старые пользователи Ubuntu помнят, когда dist-upgradeон действительно регулярно использовался для установки пакетов ядра. Имена пакетов ядра меняются в зависимости от версии, что делает их непригодными для нормальной работы upgrade. full-upgradeбыл добавлен для безопасного удовлетворения потребностей потока пакетов Ubuntu.

Первоначальная цель dist-upgradeсостоит в том, чтобы мигрировать между выпусками Debian (примерно эквивалентно Ubuntu do-release-upgrade). Таким образом, защита от непредвиденных последствий немного меньше. Внимательно прочтите предложенные изменения, прежде чем соглашаться.

Использование dist-upgradeвместо, full-upgradeвероятно, не повредит здоровой системе. Миллионы пользователей за десятилетие исправили множество ошибок в рабочем процессе apt. Тем не менее, dist-upgradeмогут возникнуть непредвиденные результаты в системе с поврежденными пакетами или другими нерешенными проблемами.

user535733
источник
+1 для первоначальной цели dist-upgrade. sources.listМне бы пришлось возиться с этим, чтобы использовать его таким образом, я думаю.
user68186