Вдале розширення dist вже не потрібно


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) або в чому полягає саме проблема?


Мені буде цікаво побачити повну відповідь, але це, здається, вказує на те, що ви праві: askubuntu.com/questions/81585/…
rm-vanda

Відповіді:


29

apt-get upgradeпроти apt upgradevsapt 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.

Зауважте, 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" і чому оновлення більше, ніж "оновлення"? для отримання детальної інформації.

Повне розкриття інформації: Я просто користувач Ubuntu, я не прийняв рішення змінити його. Це мої особисті погляди.

Сподіваюсь, це допомагає


1
+1, але щоб бути педантом, із самої сторінки керування apt: upgrade ніколи full-upgrade не видаляйте існуючі пакунки , тоді як буде видалено встановлені пакети, якщо це потрібно для оновлення системи в цілому . Крім того, apt dist-upgradeсхоже, що в моїх системах добре працювати (можливо, для зворотної сумісності).
Пан Шунц

@MrShunz Я знаю, що про це пише сторінка man. Це також згадується в іншій відповіді, яку я додам як посилання.
user68186

apt upgradeі apt-get upgradeвирішуйте щось інше, див. hiroom2.com/2016/05/20/ubuntu-16-04-debian-8-apt-command/…
mook765,

@ mook765 Дякую! Я відредагую свою відповідь на основі вашої посилання.
user68186

2
"Я думаю, що дистриб'юторське оновлення було трохи заплутаним". Я клянусь, що це заниження століття щодо влучного. Чи є щось про влучне, що не бентежить ?! Як і що стосується найменування "apt" або "здатність" до управління пакетами в першу чергу? Чому існують 3 варіанти підходу? Чому apt - прибуде змінити мою систему? Чому "оновлення" не оновлює мою систему? Чому "оновлення" не оновлює мою систему? Чому не слід просто оновлювати свій внутрішній кеш перед автоматичним оновленням, як нормальна ОС? Чому чистка видаляє пакет замість того, щоб видалити його з кеша? тощо ....
Мехрдад

15

dist-upgradeбув замінений в Ubuntu на full-upgrade.

Старі користувачі Ubuntu пам'ятають, коли dist-upgradeнасправді регулярно використовувались для встановлення пакетів ядра. Назви пакетів ядра змінюються з версією, роблячи їх непридатними для нормальної роботи upgrade. full-upgradeбуло додано для безпечного задоволення цієї потреби потоку пакетів Ubuntu.

Первісна мета dist-upgrade- міграція між випусками Debian (приблизно еквівалентна Ubuntu's do-release-upgrade). Отже, захист від непередбачуваних наслідків є трохи меншим. Прочитайте уважно запропоновані зміни, перш ніж погодитись.

Використання dist-upgradeзамість цього, full-upgradeмабуть, не зашкодить здоровій системі. Мільйони користувачів протягом десятиліття спрацювали багато помилок із влучного робочого процесу. Однак, dist-upgradeу системі, у якій є зламані пакети, чи інші невирішені проблеми , можуть бути несподівані результати.


+1 для початкової мети dist-upgrade. Можна було б поспішати з тим, sources.listщоб використовувати його таким чином, я думаю.
user68186
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.