Mengotomatiskan pemasangan apt-get dengan --assume-yes

68

Saya mencoba menulis skrip bash untuk menginstal daftar perangkat lunak. Saya menggunakan --assume-yesuntuk melewati petunjuknya.

Baris berikut ini entah bagaimana tidak berfungsi:

sudo apt-get install python-software-properties --assume-yes

Jika saya mencoba apt-gettanpa --assume-yesitu berfungsi tetapi prompt meminta saya untuk:

please [Enter] to continue or ctrl+c to cancel adding it

Bagaimana cara menambahkan Entersebagai perintah saat menjalankan apt-get installalih-alih menggunakan --assume-yes?

Rengas
sumber
please [Enter] to continue or ctrl+c to cancel adding ititu hanya muncul jika Anda mencoba untuk menambahkan PPA.
Avinash Raj

Jawaban:

89

Masalah Anda adalah bahwa pilihan harus sebelum paket, bukan setelah, ini adalah sintaks yang benar:

apt-get <options> command package=version/release

Jadi, agar bisa berfungsi seharusnya:

sudo apt-get --assume-yes install python-software-properties

apt-get adalah memaafkan ketika mencampuradukkan perintah dan opsi, tetapi untuk berbuat salah di sisi aman, Anda harus selalu menggunakan opsi sebelum perintah dan tidak pernah menempatkan opsi atau perintah setelah nama paket.

Braiam
sumber
51

Tambahkan -yflag ke apt-get install <package-name>perintah seperti di bawah ini, Anda tidak akan mendapatkan prompt saat menginstal paket.

sudo apt-get install -y <package-name>

Dari apt-get --help

-y  Assume Yes to all queries and do not prompt
Avinash Raj
sumber
Apakah ada perbedaan antara --assume-yesdan -y?
Peter Mortensen
3
@ PeterMensensen mereka melakukan hal yang sama. Dari halaman manual:-y, --yes, --assume-yes Automatic yes to prompts
davejagoda
1
Perhatikan bahwa ini mungkin tidak cukup dan Anda juga mungkin perlu menambahkan -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"perintah Anda. Lihat raphaelhertzog.com/2010/09/21/… untuk detailnya.
TTimo
@TTimo Wow! 6 hari setelah Anda memposting komentar itu, saya datang dan menemukan itulah jawaban yang saya butuhkan !! Jika saya bisa meningkatkan komentar Anda lebih banyak saya akan!
Crimbo
Jangan ragu untuk mengedit jawaban dengan opsi tambahan.
Avinash Raj
1

Untuk cara sunyi dan efektif lainnya sebagai berikut:

sudo DEBIAN_FRONTEND=noninteractive apt-get install -qq python-software-properties < /dev/null > /dev/null
Myster-Mayur
sumber