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.

Réponses:


28

Oui, faites ceci:

yum -y install $(cat file_name)


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

 


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.


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 .


Cela reproduit la réponse de @ JucaPirama - qui a été publiée un an plus tôt.
maxschlepzig
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.