Apt-get durmadan çoklu paketler kur


25

Apt-get install komutunu kullanarak çeşitli paketleri yükleyen bir bash betiği yapıyorum. Ancak şunu söyleyen bir satır varsa:

sudo apt-get install package1 package2 package3

ve her iki paket de bulunamadı, diğerlerinden hiçbiri yüklenmeyecek. Paketlerden birini bumasa bile nasıl devam ettirebilirim?

Şimdiden teşekkürler.

Yanıtlar:


18

Bir apt-getseçenek öneririm

sudo apt-get --ignore-missing install $list_of_packages

ancak eksik bağımlılıkların göz ardı edilemeyeceğinin farkında olun ve kullanıyor olsanız bile --forcekırılmış bir sistem elde edebilirsiniz.


1
--ignore-missingYalnızca indirilen bir sorun için geçici çözümler olduğunu unutmayın . Bkz. Superuser.com/a/844627/106974
IsaacS

3
Bu aslında işe yaramıyor.
leoheck

9
for i in package1 package2 package3; do
  sudo apt-get install $i
done

5
Biraz acımasız bir performans akıllıca (paket bağımlılık ağacı her yineleme için sıfırdan inşa ediliyor), ancak iyi çalışması gerekir.
Serge Broslavsky

@Blueskin'in ima ettiği -ygibi, özellikle büyük bir paket listesi kurarken, etkileşimde bulunmak istemiyorsanız , seçeneğin kullanılması iyi olacaktır.
pd12,

0

Her paketi tek bir komut yerine ayrı bir komut olarak yükleyin, bu şekilde biri bulunamadığından ya da başka bir hata nedeniyle yüklenemezse diğerlerinin yüklenmesini durduramaz. 'For' döngüsünü aşağıdaki gibi kullanabilirsiniz. Ayrıca, her biri için -yyazma kargaşasını önlemek için çok sayıda paket yüklüyorsanız bayrağı kullanmayı unutmayın yes.

INSTALL_PKGS="pk1 pk2 pk3 pk4 pk5 ... and so ... on ..pk_gogol"
for i in $INSTALL_PKGS; do
  sudo apt-get install -y $i
done

@Fabby Metninizi memnuniyetiniz için açık bir hale getirmek için düzenleme yaptım
blueskin

1
Bu, mevcut cevabın bir düzenlemesine benziyor , yeni bir cevabından çok. ¯ \ _ (ツ) _ / ¯ Üzgünüm! -1 ...
Fabby
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.