Automatisieren von apt-get install mit --assume-yes

68

Ich versuche, ein Bash-Skript zu schreiben, um eine Liste von Software zu installieren. Ich benutze --assume-yes, um die Eingabeaufforderungen zu überwinden.

Diese folgende Zeile funktioniert irgendwie nicht:

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

Wenn ich versuche, apt-getohne dass --assume-yeses funktioniert, aber die Eingabeaufforderung fordert mich auf:

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

Wie füge ich Enterals Befehl hinzu, wenn ich aktiv bin, apt-get installanstatt zu verwenden --assume-yes?

Rengas
quelle
please [Enter] to continue or ctrl+c to cancel adding itEs wird nur angezeigt, wenn Sie versuchen, einen PPA hinzuzufügen.
Avinash Raj

Antworten:

89

Ihr Problem ist, dass die Option vor den Paketen stehen sollte, nicht danach. Dies ist die richtige Syntax:

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

Damit es funktioniert, sollte es sein:

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

apt-get verzeiht beim Verwechseln von Befehlen und Optionen, aber um auf der sicheren Seite zu sein, sollten Sie die Optionen immer vor dem Befehl verwenden und niemals Optionen oder Befehle nach dem Namen des Pakets einfügen.

Braiam
quelle
51

Wenn Sie -ydem apt-get install <package-name>Befehl eine Markierung wie unten hinzufügen, werden Sie beim Installieren von Paketen nicht dazu aufgefordert.

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

Von apt-get --help

-y  Assume Yes to all queries and do not prompt
Avinash Raj
quelle
Gibt es einen Unterschied zwischen --assume-yesund -y?
Peter Mortensen
3
@PeterMortensen machen sie das gleiche. Von der Manpage:-y, --yes, --assume-yes Automatic yes to prompts
Davejagoda
1
Beachten Sie, dass dies möglicherweise nicht ausreicht und Sie möglicherweise auch -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"Ihre Befehle ergänzen müssen . Weitere Informationen finden Sie unter raphaelhertzog.com/2010/09/21/… .
TTimo
@ TTimo Wow! 6 Tage nachdem du diesen Kommentar gepostet hast, komme ich und finde, dass das genau die Antwort ist, die ich brauchte !! Wenn ich Ihren Kommentar mehr positiv bewerten könnte, würde ich!
Crimbo
Fühlen Sie sich frei, um die Antwort mit zusätzlichen Optionen zu bearbeiten.
Avinash Raj
1

Zum anderen lautlos und effektiv wie folgt:

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