Diferencia entre yum update vs yum install


20

Mientras trabajaba con el rpmcomando, noté que si instalé some-package-1.0y luego realicé otro, rpm -ivh some-package-1.1ambos paquetes aparecerán en la lista cuando haga rpm -qa | grep some-packagelo siguiente:

some-package-1.0
some-package-1.1

Sin embargo, en lugar de instalar 1.1, si actualizo a través de rpm -Uvh some-package-1.1, obtengo el resultado deseado de un solo paquete (1.1) cuando lo hago rpm -qa | grep some-package.

Ahora, ¿se aplica el mismo comportamiento con yum instally yum update?

Pregunto porque con el rpm -Ucomando (actualizar) no es necesario que exista un paquete para actualizar / instalar, pero con yum update(si no me equivoco) ya debe existir un paquete.

Estoy particularmente interesado en conocer el resultado de especificar paquetes con sus versiones como some-package-1.0. En resumen, lo que quiero saber es si tengo dos versiones específicas como some-package-1.0y some-package-1.1:

  1. ¿Realizará un yum install1.1 después de que 1.0 ya esté instalado, enumere 2 paquetes?
  2. ¿Se ejecutará con yum update some-package-1.1éxito la sustitución some-package-1.0?

Respuestas:


31

Las principales diferencias entre YUM y RPM son que yumsabe cómo resolver dependencias y puede obtener estos paquetes adicionales al hacer su trabajo. Aunque rpmpuede alertarlo sobre estas dependencias, no puede obtener paquetes adicionales.

En cuanto a la instalación frente a la actualización. Ambas herramientas pueden realizar una instalación, y RPM incluso le permitirá instalar varias versiones simultáneamente, pero YUM le dirá que ese paquete ya está instalado. Por lo tanto, no YUM no le permitirá instalar varias versiones.

En cuanto a yum update, esto reaccionará de una de dos maneras. Si le dice un paquete que desea actualizar, intentará hacerlo, descargando todas las dependencias necesarias e instalándolas también. Si lo ejecuta sin ningún nombre de paquete, yum updateintentará actualizar cada paquete que esté instalado en su sistema.

Si lo usa yum upgrade, hará lo mismo que yum update, excepto que intentará eliminar cualquier paquete que haya sido marcado como "obsoleto".

Ejemplo

Aquí hay un escenario similar al tuyo. Una nueva versión de vim-X11está 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

Y actualmente estoy en esta versión:

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

Cuando intentamos instalarlo:

$ 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 

Entonces en resumen

  1. ¿Realizará un yum install1.1 después de que 1.0 ya esté instalado, enumere 2 paquetes?

No. YUM seguirá realizando una actualización incluso cuando le haya dicho que haga una instalación si el paquete ya está instalado.

  1. ¿La ejecución yum update some-package-1.1exitosa reemplazará a some-package-1.0?

Si.


Gracias por la respuesta tan detallada. Entonces, tal como lo veo, puedo seguir usando yum installcuando especifico el nombre del paquete con la versión y no preocuparme de que instale varias versiones. Una situación en la que me gustaría usar yum updatesería cuando solo especifique el nombre del paquete, ¿correcto?
kaizenCoder

@aspiringCodeArtisan: eso es parcialmente correcto. yum installdetectará que un paquete ya está instalado y cambiará a actualizarlo en lugar de instalarlo, como lo mostró mi ejemplo.
slm

@slm: para aclarar, ¿puede rpm buscar en un repositorio similar a zypper buscar un paquete en particular?
Motivado el

1
@ Motivado: no rpmes como dpkg, solo se refiere a sí mismo al administrar los archivos en el disco local. Para la "administración" del repositorio b / w su sistema + un repositorio necesita algo como yumo dnf.
slm

1
@ Motivado: rpmcuando se usa para instalar desde una url, no hace ningún paquete de paquetes para extraerlos, simplemente descarga las rpm localmente y luego lo instala.
slm
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.