¿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.


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.


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

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.


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
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.