CentOS: Instal paket yang terdaftar dalam file teks?


16

Saya memiliki instalasi CentOS yang sudah ada yang ingin saya instal paket tambahan. Paket yang akan diinstal diberikan kepada saya dalam daftar, satu paket per baris, yang terlihat seperti:

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

Menggunakan file teks ini, apakah ada cara untuk menginstal setiap paket yang terdaftar? Saya menduga daftar ini sebenarnya adalah daftar paket 'semua' yang bisa diinstal ketika sistem operasi awalnya diatur.

Jawaban:


28

Ya, lakukan ini:

yum -y install $(cat file_name)


Ini jauh lebih baik, karena akan melihat semua dependensi pada saat yang sama, daripada mencari mereka untuk setiap paket tunggal.
Marcin

ya itu benar.
paintbox

Ini adalah pertanyaan yang sangat lama, tetapi ini tentu membantu saya. Jika Anda memiliki file dengan paket-paket yang dipisahkan oleh umpan baris, Anda perlu melakukan hal-hal berikut: yum -y install $ (cat filameame cat | tr '\ n' '')
SteveM

Wow. Sederhananya saya hanya bisa google saja alih-alih memikirkannya sendiri.
bgStack15

2
Sayangnya ini tidak akan bekerja dengan baik jika daftar paket melebihi panjang maksimum baris perintah.
Chris Cogdon

3

Coba dengan xargs:

cat textfile | xargs yum -y install

 


2
Tidak ada yang bisa digabungkan - dengan demikian, < textfile xargs yum -y installsetara dan menyimpan garpu / exec.
maxschlepzig

0

Anda juga dapat mencoba ini di baris perintah.

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

Untuk setiap i di textfile, ia melakukan instalasi yum -y.


2
sebagai Mafcin dinyatakan di atas ini akan melakukan pemeriksaan ketergantungan pada setiap paket yaitu. untuk setiap baris.
paintbox

0

cat YOURFILE | xargs yum -y install

Ini hampir sama dengan solusi @ daisy, kecuali bahwa jika daftar paket terlalu panjang untuk baris perintah, itu akan memecahnya menjadi yum installperintah terpisah .


Ini duplikat jawaban JucaPirama - yang diposting 1 tahun sebelumnya.
maxschlepzig
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.