Automatizzare apt-get install con --assume-yes


68

Sto cercando di scrivere uno script bash per installare un elenco di software. Sto usando --assume-yesper superare le istruzioni.

Questa seguente riga in qualche modo non funziona:

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

Se provo a farlo apt-getsenza --assume-yesfunziona ma il prompt mi ​​chiede di:

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

Come faccio ad aggiungere Entercome comando durante l'esecuzione apt-get installanziché utilizzare --assume-yes?


please [Enter] to continue or ctrl+c to cancel adding itappare solo se stai provando ad aggiungere un PPA.
Avinash Raj,

Risposte:


89

Il tuo problema è che l'opzione dovrebbe essere prima dei pacchetti, non dopo, questa è la sintassi corretta:

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

Quindi, affinché funzioni dovrebbe essere:

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

apt-get perdona quando confonde il comando e le opzioni, ma per sbagliare sul lato sicuro, dovresti sempre usare le opzioni prima del comando e non mettere mai opzioni o comandi dopo il nome del pacchetto.


51

Aggiungi -yflag al apt-get install <package-name>comando come sotto, non otterrai alcun prompt durante l'installazione dei pacchetti.

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

A partire dal apt-get --help

-y  Assume Yes to all queries and do not prompt

C'è una differenza tra --assume-yese -y?
Peter Mortensen,

3
@PeterMortensen fanno la stessa cosa. Dalla pagina man:-y, --yes, --assume-yes Automatic yes to prompts
davejagoda il

1
Nota che questo potrebbe non essere sufficiente e potrebbe anche essere necessario aggiungere -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"ai tuoi comandi. Vedi raphaelhertzog.com/2010/09/21/… per i dettagli.
TTimo

@TTimo Wow! 6 giorni dopo aver pubblicato quel commento, vengo avanti e scopro che è esattamente la risposta di cui avevo bisogno !! Se potessi votare di più il tuo commento, lo farei!
Crimbo,

Sentiti libero di modificare la risposta con opzioni aggiuntive.
Avinash Raj,

1

Per un altro modo silenzioso ed efficace come segue:

sudo DEBIAN_FRONTEND=noninteractive apt-get install -qq python-software-properties < /dev/null > /dev/null
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.