CentOS: Bir metin dosyasında listelenen paketler yüklensin mi?


16

Ekstra paketler yüklemek istediğim mevcut bir CentOS kurulumum var. Kurulacak paketler, bana her satıra bir paket olacak şekilde bir listede verildi:

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

Bu metin dosyasını kullanarak, listelenen her paketi yüklemenin bir yolu var mı? Listenin aslında işletim sistemi ilk kurulduğunda yüklenmiş olabilecek 'tüm' paketlerin bir listesi olduğundan şüpheleniyorum.

Yanıtlar:


28

Evet, şunu yapın:

yum -y install $(cat file_name)


Her pakette bunları bulmak yerine tüm bağımlılıklara aynı anda bakacağı için bu çok daha hoş.
Marcin

Evet bu doğru.
paintbox

Bu gerçekten eski bir soru, ama bu kesinlikle bana yardımcı oldu. Satır feed'leriyle ayrılmış paketlere sahip bir dosyanız varsa, aşağıdakileri yapmanız gerekir: yum -y install $ (cat dosyaadı cat | tr '\ n' '')
SteveM 30:14

Vay. Çok basit ben sadece kendim düşünmek yerine google olabilir.
bgStack15

2
Paket listesi, komut satırı maksimum uzunluğunu aşarsa, bu çok iyi çalışmaz.
Chris Cogdon

3

Şunu deneyin xargs:

cat textfile | xargs yum -y install

 


2
Birleştirilecek hiçbir şey yoktur - bu nedenle, < textfile xargs yum -y installeşdeğerdir ve bir çatal / exec kaydeder.
maxschlepzig

0

Bunu komut satırında da deneyebilirsiniz.

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

Textfile içindeki her i için yum-y kurulumu yapar.


2
Mafcin'in yukarıda belirttiği gibi, bu her pakete bağımlılık kontrolü yapacaktır. her satır için.
paintbox

0

cat YOURFILE | xargs yum -y install

Bu, @ daisy'nin çözümü ile hemen hemen aynıdır, ancak paket listesi komut satırı için çok uzunsa, ayrı yum installkomutlara bölecaktır.


Bu, JucaPirama'nın cevabını çoğalttı - 1 yıl önce gönderildi.
maxschlepzig
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.