CentOS: Встановити пакети, перелічені у текстовому файлі?


16

У мене є існуюча установка CentOS, на яку я хотів би встановити додаткові пакети. Пакети, які потрібно встановити, були надані мені у списку, один пакет на рядок, який виглядає так:

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

Використовуючи цей текстовий файл, чи є спосіб встановити кожен перелічений пакет? Я підозрюю, що перелік насправді - це список усіх пакетів, які могли бути встановлені під час первинної настройки операційної системи.

Відповіді:


28

Так, зробіть це:

yum -y install $(cat file_name)


Це набагато приємніше, оскільки воно буде розглядати всі залежності одночасно, замість того, щоб розбирати їх для кожного пакету.
— Марцін

так, це правда.
— paintbox

Це справді старе питання, але це, безумовно, мені допомогло. Якщо у вас є файл із пакунками, розділеними каналами рядків, вам потрібно зробити наступне: yum -y встановити $ (cat
— file name

Ого. Настільки простий, що я міг лише погуглювати його, а не думати про це сам.
— bgStack15

2
На жаль, це буде не надто добре, якщо список пакунків перевищує максимальну довжину командного рядка.
— Кріс Когдон

3

Спробуйте xargs:

cat textfile | xargs yum -y install

 


2
З'єднувати нічого не можна - таким чином, < textfile xargs yum -y installрівнозначно і економить вилку / exec.
— maxschlepzig

0

Ви також можете спробувати це в командному рядку.

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

Для кожного я в текстовому файлі він робить yum -y встановлення.


2
як зазначено вище Mafcin, це зробить перевірку залежності для кожного пакету, тобто. для кожного рядка.
— фарба

0

cat YOURFILE | xargs yum -y install

Це майже те саме, що рішення @ daisy, за винятком того, що якщо список пакетів занадто довгий для командного рядка, він розбиває його на окремі yum installкоманди.


Це дублює відповідь @ JucaPirama - який був опублікований на 1 рік раніше.
— maxschlepzig
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.