CentOS: Pakete installieren, die in einer Textdatei aufgelistet sind?

16

Ich habe eine CentOS-Installation, auf der ich zusätzliche Pakete installieren möchte. Die zu installierenden Pakete wurden mir in einer Liste geliefert, ein Paket pro Zeile, die so aussieht:

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

Gibt es unter Verwendung dieser Textdatei eine Möglichkeit, jedes aufgelistete Paket zu installieren? Ich vermute, dass es sich bei der Liste tatsächlich um eine Liste aller Pakete handelt, die installiert werden konnten, als das Betriebssystem ursprünglich eingerichtet wurde.

Liam M
quelle

Antworten:

28

Ja, mach das:

yum -y install $(cat file_name)

Gänseblümchen
quelle
Dies ist viel schöner, da alle Abhängigkeiten gleichzeitig betrachtet werden, anstatt sie für jedes einzelne Paket herauszufinden.
Marcin
ja das stimmt.
Paintbox
Das ist eine sehr alte Frage, aber das hat mir sicherlich geholfen. Wenn Sie eine Datei mit Paketen haben, die durch Zeilenumbrüche getrennt sind, müssen Sie den folgenden Namen
eingeben
Beeindruckend. So einfach, dass ich nur googeln konnte, anstatt selbst darüber nachzudenken.
bgStack15
2
Leider funktioniert dies nicht so gut, wenn die Liste der Pakete die maximale Länge der Befehlszeile überschreitet.
Chris Cogdon
3

Probieren Sie mit xargs:

cat textfile | xargs yum -y install

 

JucaPirama
quelle
2
Es gibt nichts zu verketten - ist also < textfile xargs yum -y installäquivalent und spart einen Fork / Exec.
Maxschlepzig
0

Sie können dies auch in der Befehlszeile versuchen.

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

Für jedes i in textfile wird eine yum -y-Installation durchgeführt.

Malkasten
quelle
2
Wie oben von Mafcin angegeben, wird dies eine Abhängigkeitsprüfung für jedes Paket durchführen, d. h. für jede Zeile.
Paintbox
0

cat YOURFILE | xargs yum -y install

Dies ist fast die gleiche Lösung wie bei @ daisy, mit der Ausnahme, dass die Liste der Pakete, die für die Befehlszeile zu lang ist, in separate yum installBefehle aufgeteilt wird.

Chris Cogdon
quelle
Dies entspricht der Antwort von @ JucaPirama, die 1 Jahr zuvor veröffentlicht wurde.
Maxschlepzig