Оновлення програмного забезпечення vs apt-get update


11

Я завжди вважав, що apt-get updateза ним слідує apt-get upgradeлише запущена версія програмного оновлення командного рядка; однак запуск оновлення програмного забезпечення призводить до оновлення таких пакетів:

Complete Generic Linux kernel  
Header files relates to Linux kernel version 3.2.0  
Linux kernel headers for version 3.2.0 on 64 bit x86 SMP  
Generic Linux kernel headers  
Linux kernel image for version 3.2.0 on 64 bit x86 SMP  
General Linux kernel image  
Linux Kernel Headers for development

ISC DHCP client  
common file used by all the isc-dhcp* packages  
LightDM GObject client library  
graphical boot animation and logger-shared libraries  
DisplayManager  
graphical  boot animation and logger-main package  
graphical boot animation and logger-label control  
graphical boot animation and logger-ubuntu-logo theme (-logo)  
graphical boot animation and logger-ubuntu-logo theme (-text)  
Jabber/XMPP connection manager

(53.9 MB)

в той час як працює apt-get updateі apt-get upgradeрезультати в:

Reading package lists... Done  
Building dependency tree  
Reading state information... Done  
The following packages have been kept back:  
  linux-generic linux-headers-generic linux-image-generic  
The following packages will be upgraded:  
  isc-dhcp-client isc-dhcp-common liblightdm-gobject-1-0 libplymouth2 lightdm  
  linux-libc-dev plymouth plymouth-label plymouth-theme-ubuntu-logo  
  plymouth-theme-ubuntu-text telepathy-gabble  
11 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.  
Need to get 2,594 kB of archives.  
After this operation, 2,048 B of additional disk space will be used.  

Хтось може пояснити, що відбувається?


В якийсь момент вони змінили поведінку upgrade, тепер ви шукаєте, dist-upgradeчи хочете ви також оновити ядро.
Боббі

Відповіді:


9

Здається, тут є деяка плутанина.

  • apt-get update : Це лише оновлює список доступних пакетів.

  • apt-get upgrade: Це дозволить оновити будь-які встановлені пакети до їх останньої версії.

  • apt-get dist-upgrade : Як і оновлення, але використовує "розумну" систему вирішення конфліктів, вона намагатиметься оновити найважливіші пакети за рахунок менш важливих пакетів, якщо це необхідно.

Отже, якщо ви хочете, щоб переконатися, що ваші встановлені на даний момент пакети є останньою доступною версією, ви запускаєте

apt-get update && apt-get upgrade

Якщо це спричинить проблеми, то ви можете спробувати:

apt-get update && apt-get dist-upgrade

Тепер повідомлення, які ви опублікували, не мають нічого спільного dist-upgrade, вони є простими оновленнями. Різниці між ними також абсолютно немає, просто оновник програмного забезпечення дає вам описи пакетів apt-get, перераховуючи назви пакетів. Наприклад

Complete Generic Linux kernel  == linux-generic
ISC DHCP client                == isc-dhcp-client
Jabber/XMPP connection manager == telepathy-gabble  

Якщо ви уважно прочитаєте два списки, то побачите, що вони абсолютно однакові пакети.

Однак, повідомлення, які ви опублікували, говорять про те саме.


1
Я думав, що вони будуть однакові, але розмір завантажень значно відрізняється, якщо ці цифри не порівнянні ?!
ChrisW

1

afaik, ти пропускаєш третю частину:

apt-get dist-upgrade

Насправді оновлення apt-get не оновить пакунки в деяких випадках, наприклад, коли вони змінюють залежності або вимагають видалення інших пакетів. Bu apt-get dist-upgrade буде оновлено. Тож, щоб отримати поведінку, подібну до тієї, яка потрібна для оновлення програмного забезпечення:

apt-get update && apt-get dist-upgrade

Або, якщо ви хочете пограти трохи безпечніше:

apt-get update && apt-get upgrade && apt-get dist-upgrade

Дивіться: http://www.ghacks.net/2010/03/11/what-is-it-with-the-dist-upgrade-option-of-apt-get/
А також: /ubuntu/ / q / 194651/125726


2
"apt-get update && apt-get upgrade && apt-get dist-upgrade" За винятком того, що dist-upgradeвиконує всі операції, які також були б виконані upgrade.
Боббі

Правильно. Справа в тому, щоб робити "більш безпечні" оновлення раніше, і після того, як вони пішли добре, зробіть dist-upgradeоновлення.
gerlos

Я не бачу, що ви отримуєте від цього ... за винятком меншого номера пакету у другому циклі.
Боббі

Деякий час тому у мене виникли проблеми з пакетами від сторонніх ppa, залежність яких була порушена. Використовуючи "звичайне" оновлення, я міг би оновити все, окрім зламаних пакетів, і оскільки вони були "ізольовані" від інших, я міг ізолювати їх від інших та вирішити свої проблеми. Не те, що трапляється часто, а хороший підхід до вирішення проблем, перш ніж вони вдарять вас, імхо.
gerlos

Я мав на увазі, що я не бачу, яка різниця це має, якщо ти біжиш upgradeабо dist-upgradeколи ти впадаєш у біду. Основна відмінність полягає в тому, що пізніше також будуть намагатися оновити ядро, але не торкаючись існуючих, тому система ніколи не загрожує, наскільки я бачу.
Боббі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.