Apt-get instal beberapa paket tanpa henti


25

Saya membuat skrip bash yang menginstal berbagai paket menggunakan apt-get install. Namun, saya perhatikan jika ada garis yang mengatakan:

sudo apt-get install package1 package2 package3

dan salah satu paket tidak ditemukan, tidak ada yang lain yang akan diinstal. Bagaimana saya membuatnya tetap berjalan walaupun tidak dapat menemukan salah satu paket?

Terima kasih sebelumnya.

Jawaban:


18

Saya menyarankan apt-getopsi

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

tetapi perlu diketahui bahwa ketergantungan yang hilang tidak dapat diabaikan, dan bahkan jika Anda menggunakan --forceAnda bisa mendapatkan sistem yang rusak.


1
Perhatikan bahwa --ignore-missinghanya solusi untuk masalah yang diunduh. Lihat superuser.com/a/844627/106974
IsaacS

3
Ini sebenarnya tidak berfungsi.
leoheck

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

5
Performa yang agak brutal (pohon ketergantungan paket sedang dibangun dari awal untuk setiap iterasi), tetapi harus berfungsi dengan baik.
Serge Broslavsky

Sebagai @blueskin disinggung, menggunakan -yopsi akan baik jika Anda tidak ingin berinteraksi dengannya, terutama ketika menginstal daftar paket besar.
pd12

0

Instal setiap paket sebagai perintah terpisah dan bukan dalam satu perintah, dengan cara ini jika salah satu gagal untuk menginstal karena tidak ditemukan atau kesalahan lain maka tidak akan menghentikan yang lain untuk menginstal. Untuk itu Anda bisa menggunakan loop 'for' seperti di bawah ini. Juga, ingatlah untuk menggunakan -ybendera jika menginstal banyak paket, untuk menghindari kekacauan mengetik yesuntuk masing-masing paket.

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 Saya telah mengedit teks untuk membuatnya eksplisit untuk kepuasan Anda
blueskin

1
Itu lebih mirip edit jawaban yang ada di sini daripada jawaban baru. ¯ \ _ (ツ) _ / ¯ Maaf! -1 ...
Fabby
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.