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.  

Кто-нибудь может объяснить, что происходит?

2 ответа2

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

афаик, ты пропустил третий кусок:

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/
А также: https://askubuntu.com/q/194651/125726

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .