web-dev-qa-db-fra.com

Différence entre la mise à jour yum et l'installation yum

En travaillant avec la commande rpm, j'ai remarqué que si j'avais installé some-package-1.0 puis effectué une autre rpm -ivh some-package-1.1 les deux packages seront répertoriés lorsque je ferai rpm -qa | grep some-package comme suit:

some-package-1.0
some-package-1.1

Cependant, au lieu d'installer 1.1, si je mets à niveau via le rpm -Uvh some-package-1.1 J'obtiens le résultat souhaité d'un seul paquet (1.1) quand je le fais rpm -qa | grep some-package.

Le même comportement s'applique-t-il maintenant avec yum install et yum update?

Je demande parce qu'avec le rpm -U (mise à niveau) commande un package ne doit pas exister pour mettre à niveau/installer mais avec yum update (si je ne me trompe pas) un package doit déjà exister.

Je suis particulièrement intéressé de connaître le résultat de la spécification de packages avec leurs versions telles que some-package-1.0. Donc, en résumé, ce que je veux savoir, c'est si j'ai deux versions spécifiques telles que some-package-1.0 et some-package-1.1:

  1. Réalisera un yum install sur 1.1 après 1.0 est déjà installé, liste 2 packages?
  2. Exécute yum update some-package-1.1 remplacer avec succès some-package-1.0?
20
kaizenCoder

Les principales différences entre YUM et RPM sont que yum sait comment résoudre les dépendances et peut source ces packages supplémentaires lors de son travail. Bien que rpm puisse vous alerter sur ces dépendances, il ne peut pas source de packages supplémentaires.

Quant à l'installation vs la mise à niveau. Les deux outils peuvent effectuer une installation et RPM vous permettra même d'installer plusieurs versions simultanément, mais YUM vous indiquera que ce package est déjà installé. Donc, aucun YUM ne vous permettra d'installer plusieurs versions.

Quant à yum update, cela va réagir de deux manières. Si vous lui indiquez un package que vous souhaitez mettre à jour, il tentera de le faire, en téléchargeant toutes les dépendances nécessaires et en les installant également. Si vous l'exécutez sans nom de package, yum update tentera de mettre à jour chaque package installé sur votre système.

Si tu utilises yum upgrade il fera la même chose que yum update, sauf qu'il tentera de supprimer tous les packages marqués comme "obsolètes".

Exemple

Voici un scénario qui ne ressemble pas au vôtre. Une nouvelle version de vim-X11 est disponible.

$ yum check-update vim-X11 | expand
Loaded plugins: auto-update-debuginfo, changelog, langpacks, refresh-packagekit

vim-X11.x86_64                     2:7.4.417-1.fc19                      updates

Et je suis actuellement à cette version:

$ rpm -q vim-X11 | expand
vim-X11-7.4.179-1.fc19.x86_64

Lorsque nous essayons de l'installer:

$ Sudo yum install vim-X11
...   
=================================================================================================================================================================
 Package                                 Arch                              Version                                      Repository                          Size
=================================================================================================================================================================
Updating:
 vim-X11                                 x86_64                            2:7.4.417-1.fc19                             updates                            1.2 M
Updating for dependencies:
 vim-common                              x86_64                            2:7.4.417-1.fc19                             updates                            5.9 M
 vim-enhanced                            x86_64                            2:7.4.417-1.fc19                             updates                            1.0 M
....
Running transaction
  Updating   : 2:vim-common-7.4.417-1.fc19.x86_64                                                                                                            1/6 
  Updating   : 2:vim-enhanced-7.4.417-1.fc19.x86_64                                                                                                          2/6 
  Updating   : 2:vim-X11-7.4.417-1.fc19.x86_64                                                                                                               3/6 
  Cleanup    : 2:vim-X11-7.4.179-1.fc19.x86_64                                                                                                               4/6 
  Cleanup    : 2:vim-enhanced-7.4.179-1.fc19.x86_64                                                                                                          5/6 
  Cleanup    : 2:vim-common-7.4.179-1.fc19.x86_64                                                                                                            6/6 
  Verifying  : 2:vim-enhanced-7.4.417-1.fc19.x86_64                                                                                                          1/6 
  Verifying  : 2:vim-X11-7.4.417-1.fc19.x86_64                                                                                                               2/6 
  Verifying  : 2:vim-common-7.4.417-1.fc19.x86_64                                                                                                            3/6 
  Verifying  : 2:vim-enhanced-7.4.179-1.fc19.x86_64                                                                                                          4/6 
  Verifying  : 2:vim-X11-7.4.179-1.fc19.x86_64                                                                                                               5/6 
  Verifying  : 2:vim-common-7.4.179-1.fc19.x86_64                                                                                                            6/6 

Donc en résumé

  1. Réalisera un yum install sur 1.1 après 1.0 est déjà installé, liste 2 packages?

Non. YUM effectuera toujours une mise à jour même si vous lui avez demandé d'effectuer une installation si le package est déjà installé.

  1. Exécute yum update some-package-1.1 a réussi à remplacer some-package-1.0?

Oui.

32
slm