¿Hay alguna manera de instalar y eliminar paquetes en un solo comando yum?

19

¿Hay alguna manera de agregar y eliminar paquetes al mismo tiempo con un solo yumcomando? Por ejemplo, instalar postfix y eliminar sendmail sin ejecutar dos comandos / transacciones separadas.

Michael Ekstrand
fuente
No que yo sepa, pero no soy un usuario diario de ñam. ¿Por qué lo quieres en un solo comando?
jippie
@jippie Conveniencia, en su mayoría. Y reduciendo el tiempo para configurar múltiples transacciones.
Michael Ekstrand

Respuestas:

25

Si. Invocar yum shellle permitirá especificar múltiples comandos que sucederán simultáneamente cuando runse ingrese.

Ignacio Vazquez-Abrams
fuente
2
Impresionante, esto es exactamente lo que estaba buscando.
Michael Ekstrand
1
Originalmente había estado usando Python para esto. ¡Ahora he reducido mi script a aproximadamente un 20% del tamaño usando BASH!
quickshiftin
20

Las versiones más recientes de yum también tienen el swapcomando:

# yum swap -- install foo -- remove bar
Michael Ekstrand
fuente
Al menos a partir de ahora ( yumen RHEL 7), esto también se puede escribir más corto como yum swap bar foo.
Axel Beckert
8

Como la respuesta aceptada ya dice, puede usar yum shellpara ejecutar múltiples comandos a la vez, lo cual está bien para uso interactivo. Pero si desea invocar este comando desde un script, también puede ejecutarlo contra un archivo, por ejemplo yum shell translist.txt, donde el archivo podría contener, por ejemplo:

remove squid
install squid34
run

Agregue el -yinterruptor para asumir que sí a las solicitudes de confirmación.

djluko
fuente
1
El -yinterruptor se agrega al yum shellcomando, no a los comandos dentro del shell, ¿verdad? Creo (pero no lo he probado) que agregar config assumeyes 1a la parte superior de los comandos de shell tendrá el mismo efecto sin necesidad de cambiar la línea de comando inicial.
mattdm
sí, yum shell -yme funciona para que toda la operación no sea interactiva.
RubyTuesdayDONO