CentOS: installer les packages répertoriés dans un fichier texte?

16

J'ai une installation CentOS existante sur laquelle j'aimerais installer des packages supplémentaires. Les packages à installer m'ont été fournis dans une liste, un package par ligne, qui ressemble à:

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

À l'aide de ce fichier texte, existe-t-il un moyen d'installer tous les packages répertoriés? Je soupçonne que la liste est en fait une liste de «tous» les packages qui auraient pu être installés lors de la configuration initiale du système d'exploitation.

Liam M
la source

Réponses:

28

Oui, faites ceci:

yum -y install $(cat file_name)

Marguerite
la source
C'est beaucoup plus agréable, car il examinera toutes les dépendances en même temps, au lieu de les comprendre pour chaque package.
Marcin
Oui c'est vrai.
Paintbox
C'est une très vieille question, mais cela m'a certainement aidé. Si vous avez un fichier avec les packages séparés par des sauts de ligne, vous devez procéder comme suit: yum -y install $ (cat filename cat | tr '\ n' '')
SteveM
Sensationnel. Si simple que je ne pouvais que le chercher sur Google au lieu d'y penser moi-même.
bgStack15
2
Hélas, cela ne fonctionnera pas trop bien si la liste des packages dépasse la longueur maximale de la ligne de commande.
Chris Cogdon
3

Essayez avec xargs:

cat textfile | xargs yum -y install

 

JucaPirama
la source
2
Il n'y a rien à concaténer - donc, < textfile xargs yum -y installest équivalent et enregistre un fork / exec.
maxschlepzig
0

Vous pouvez également essayer cela en ligne de commande.

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

Pour chaque i dans le fichier texte, il fait une installation yum -y.

boîte de peinture
la source
2
comme Mafcin l'a indiqué ci-dessus, cela fera un contrôle de dépendance sur chaque paquet, c'est-à-dire. pour chaque ligne.
Paintbox
0

cat YOURFILE | xargs yum -y install

C'est presque la même chose que la solution de @ daisy, sauf que si la liste des packages est trop longue pour la ligne de commande, elle la divisera en yum installcommandes distinctes .

Chris Cogdon
la source
Cela reproduit la réponse de @ JucaPirama - qui a été publiée un an plus tôt.
maxschlepzig