CentOS: ¿Instalar paquetes listados en un archivo de texto?

16

Tengo una instalación CentOS existente en la que me gustaría instalar paquetes adicionales. Los paquetes que se instalarán me fueron proporcionados en una lista, un paquete por línea, que se ve así:

....
Cluster_Administration-en-US.noarch
ElectricFence.x86_64
GConf2.i386
GConf2.x86_64
GConf2-devel.i386
GConf2-devel.x86_64
Global_File_System-en-US.noarch
ImageMagick.i386
...

Con este archivo de texto, ¿hay alguna forma de instalar todos los paquetes enumerados? Sospecho que la lista es en realidad una lista de "todos" los paquetes que podrían haberse instalado cuando el sistema operativo se configuró originalmente.

Liam M
fuente

Respuestas:

28

Sí, haz esto:

yum -y install $(cat file_name)

margarita
fuente
Esto es mucho mejor, ya que analizará todas las dependencias al mismo tiempo, en lugar de resolverlas para cada paquete.
Marcin
sí, eso es verdad.
paintbox
Esta es una pregunta muy antigua, pero ciertamente me ayudó. Si tiene un archivo con los paquetes separados por saltos de línea, debe hacer lo siguiente: yum -y install $ (cat filename cat | tr '\ n' '')
SteveM
Guau. Tan simple que solo podía googlearlo en lugar de pensar en mí mismo.
bgStack15
2
Por desgracia, esto no funcionará demasiado bien si la lista de paquetes excede la longitud máxima de la línea de comandos.
Chris Cogdon
3

Probar con xargs:

cat textfile | xargs yum -y install

 

JucaPirama
fuente
2
No hay nada que concatenar, por lo tanto, < textfile xargs yum -y installes equivalente y guarda un fork / exec.
maxschlepzig
0

También puedes probar esto en la línea de comandos.

for i in `cat textfile` ; do yum -y install $i; done

Por cada i en el archivo de texto, hace una instalación muy rica.

caja de pinturas
fuente
2
como Mafcin dijo anteriormente, esto hará una verificación de dependencia en cada paquete, es decir. para cada línea
paintbox
0

cat YOURFILE | xargs yum -y install

Esto es casi lo mismo que la solución de @ daisy, excepto que si la lista de paquetes es demasiado larga para la línea de comando, la dividirá en yum installcomandos separados .

Chris Cogdon
fuente
Esto duplica la respuesta de @ JucaPirama, que se publicó 1 año antes.
maxschlepzig