CentOS: zainstalować pakiety wymienione w pliku tekstowym?


16

Mam istniejącą instalację CentOS, w której chciałbym zainstalować dodatkowe pakiety. Pakiety do zainstalowania zostały dostarczone mi na liście, po jednej paczce na linię, która wygląda następująco:

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

Czy korzystając z tego pliku tekstowego można zainstalować każdy wymieniony pakiet? Podejrzewam, że lista jest w rzeczywistości listą „wszystkich” pakietów, które mogły zostać zainstalowane, gdy system operacyjny był pierwotnie skonfigurowany.

Odpowiedzi:


28

Tak, zrób to:

yum -y install $(cat file_name)


Jest to o wiele ładniejsze, ponieważ będzie przeglądać wszystkie zależności jednocześnie, zamiast rozróżniać je dla każdego pakietu.
Marcin,

tak to prawda.
paintbox

To naprawdę stare pytanie, ale z pewnością mi pomogło. Jeśli masz plik z pakietami oddzielonymi kanałami, musisz wykonać następujące czynności: yum -y install $ (cat cat cat | tr '\ n' ')
SteveM

Łał. Tak proste, że mogłem tylko google, zamiast myśleć o tym sam.
bgStack15

2
Niestety, nie zadziała to zbyt dobrze, jeśli lista pakietów przekroczy maksymalną długość wiersza poleceń.
Chris Cogdon,

3

Wypróbuj z xargs:

cat textfile | xargs yum -y install

 


2
Nie ma nic do konkatenacji - dlatego < textfile xargs yum -y installjest równoważne i zapisuje fork / exec.
maxschlepzig

0

Możesz także spróbować tego w wierszu poleceń.

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

Dla każdego i w pliku tekstowym instaluje mniam-y.


2
jak stwierdzono powyżej Mafcin, spowoduje to sprawdzenie zależności każdego pakietu, tj. dla każdej linii.
paintbox

0

cat YOURFILE | xargs yum -y install

Jest to prawie to samo, co rozwiązanie @ daisy, z tym wyjątkiem, że jeśli lista pakietów jest zbyt długa dla wiersza poleceń, podzieli ją na osobne yum installpolecenia.


To powiela odpowiedź @ JucaPirama - która została opublikowana 1 rok wcześniej.
maxschlepzig
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.