CentOS: Instalar pacotes listados em um arquivo de texto?

16

Eu tenho uma instalação existente do CentOS na qual gostaria de instalar pacotes extras. Os pacotes a serem instalados foram fornecidos a mim em uma lista, um pacote por linha, que se parece com:

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

Usando esse arquivo de texto, existe uma maneira de instalar todos os pacotes listados? Eu suspeito que a lista seja realmente uma lista de 'todos' pacotes que poderiam ter sido instalados quando o sistema operacional foi originalmente configurado.

Liam M
fonte

Respostas:

28

Sim, faça o seguinte:

yum -y install $(cat file_name)

margarida
fonte
Isso é muito mais agradável, pois analisará todas as dependências ao mesmo tempo, em vez de descobri-las para cada pacote.
Marcin
sim, é verdade.
paintbox
Esta é uma pergunta muito antiga, mas isso certamente me ajudou. Se você tiver um arquivo com os pacotes separados por feeds de linha, o nome precisará fazer o seguinte: yum -y install $ (nome do arquivo cat cat | tr '\ n' '')
SteveM 30/12/14
Uau. Tão simples que eu só conseguia pesquisar no Google em vez de pensar nele.
bgStack15
2
Infelizmente, isso não funcionará muito bem se a lista de pacotes exceder o comprimento máximo da linha de comando.
Chris Cogdon
3

Tente com xargs:

cat textfile | xargs yum -y install

 

JucaPirama
fonte
2
Não há nada para concatenar - portanto, < textfile xargs yum -y installé equivalente e salva um fork / exec.
maxschlepzig
0

Você também pode tentar isso na linha de comando.

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

Para cada i no arquivo de texto, ele faz uma instalação yum -y.

paintbox
fonte
2
como Mafcin afirmou acima, isso fará uma verificação de dependência em cada pacote, ou seja. para cada linha.
Paint #
0

cat YOURFILE | xargs yum -y install

É quase o mesmo que a solução @ daisy, exceto que se a lista de pacotes for muito longa para a linha de comando, ela será dividida em yum installcomandos separados .

Chris Cogdon
fonte
Isso duplica a resposta de @ JucaPirama - publicada 1 ano antes.
maxschlepzig