Mise à jour logicielle vs mise à jour apt-get

11

J'avais toujours supposé que l'exécution apt-get updatesuivie apt-get upgraden'était que la version en ligne de commande de l'exécution du logiciel de mise à jour; cependant, l'exécution de la mise à jour logicielle entraîne la mise à jour des packages suivants:

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)

alors que le fonctionnement apt-get updateet se apt-get upgradetraduit par:

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.  

Quelqu'un peut-il expliquer ce qui se passe?

ChrisW
la source
À un moment donné, ils ont changé le comportement de upgrade, vous cherchez maintenant dist-upgradesi vous souhaitez également mettre à niveau le noyau.
Bobby

Réponses:

9

Il semble y avoir une certaine confusion ici.

  • apt-get update : Cela actualise simplement la liste des packages disponibles.

  • apt-get upgrade: Cela mettra à niveau tous les packages installés vers leur dernière version.

  • apt-get dist-upgrade : Identique à la mise à niveau mais utilise un système de résolution de conflits «intelligent», il tentera de mettre à niveau les packages les plus importants au détriment des packages moins importants si nécessaire.

Donc, si vous voulez vous assurer que vos packages actuellement installés sont la version la plus récente disponible, vous exécutez

apt-get update && apt-get upgrade

Si cela entraîne des problèmes, vous pouvez essayer:

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

Maintenant, les messages que vous avez publiés n'ont rien à voir dist-upgrade, ce sont de simples mises à niveau. Il n'y a également absolument aucune différence entre eux, c'est simplement que le programme de mise à jour du logiciel vous donne les descriptions des packages tout en apt-getlistant les noms des packages. Par exemple

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

Si vous lisez attentivement les deux listes, vous verrez qu'il s'agit exactement des mêmes packages.

Cela dit, les messages que vous avez publiés disent exactement la même chose.

terdon
la source
1
Je pensais qu'ils seraient les mêmes, mais la taille des téléchargements est très différente, à moins que ces chiffres ne soient pas comparables?!
ChrisW
1

afaik, vous manquez une troisième pièce:

apt-get dist-upgrade

En fait, la mise à niveau apt-get ne mettra pas à niveau les packages dans certains cas, par exemple lorsqu'ils changent de dépendances ou nécessitent la suppression de certains autres packages. Bu apt-get dist-upgrade le fera. Donc, pour obtenir un comportement similaire à celui du logiciel de mise à jour dont vous avez besoin:

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

Ou, si vous voulez jouer un peu plus en toute sécurité:

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

Voir: http://www.ghacks.net/2010/03/11/what-is-it-with-the-dist-upgrade-option-of-apt-get/
Et aussi: /ubuntu/ / q / 194651/125726

gerlos
la source
2
"apt-get update && apt-get upgrade && apt-get dist-upgrade" Sauf qu'il dist-upgradeeffectue toutes les opérations qui auraient également été exécutées par upgrade.
Bobby
Droite. Le fait est de faire des mises à niveau "plus sûres" avant, et après qu'elles se soient bien passées, faites des dist-upgrademises à niveau.
gerlos
Je ne vois pas ce que vous y gagnez ... sauf un numéro de package plus petit lors de la deuxième exécution.
Bobby
Il y a quelque temps, j'ai eu des problèmes avec les packages de tiers payants dont les dépendances étaient rompues. En utilisant une mise à niveau "normale", je pouvais tout mettre à jour sauf ces paquets cassés, et comme ils étaient "isolés" des autres, je pouvais les isoler des autres et résoudre mes problèmes. Pas quelque chose qui arrive souvent, mais une bonne approche pour repérer les problèmes avant qu'ils ne vous frappent, à mon humble avis.
gerlos
Je voulais dire que je ne vois pas quelle différence cela fait si vous courez upgradeou dist-upgradelorsque vous rencontrez des problèmes. La principale différence est que ce dernier tentera également de mettre à jour le noyau, mais sans toucher aux noyaux existants, de sorte que le système n'est jamais en danger pour autant que je puisse voir.
Bobby