Entspricht dies der Antwort von @bclermont (--yes --force-yes)?
jjxtra
175
Das Problem mit:
apt-get --yes install $something
ist, dass eine manuelle Bestätigung angefordert wird, wenn der öffentliche Schlüssel des Paketunterschriftenbesitzers nicht im Schlüsselbund enthalten ist, oder wenn andere Bedingungen vorliegen. Um sicherzugehen, dass keine Bestätigung angefordert wird, gehen Sie wie folgt vor:
apt-get --yes --force-yes install $something
Wenn Sie diese Einstellungen dauerhaft beibehalten möchten, erstellen Sie eine Datei in /etc/apt/apt.conf.d/, z. B. /etc/apt/apt.conf.d/90forceyes, mit folgendem Inhalt:
+1 für Abwechslung. Alle -ywurden langweilig. (Außerdem ist es eine vollständigere Antwort.)
Dennis Williamson
1
Funktioniert dies auch, wenn die Meldung "Um fortzufahren, geben Sie den Ausdruck" Ja, mach was ich sage! "Ein?" Wenn nicht, wie sieht es dann aus? Ich stoße darauf, wenn ich versuche, sysvinit in meinem chrooted-Debian-Image durch systemd zu ersetzen.
Lennart Rolland
13
Bitte niemals verwenden --force-yes: Wie diese Antwort auf einen verwandten Thread aufdebian-devel suggeriert, --force-yeskönnte das System unbrauchbar werden. (Ich stimme nicht ab, weil die Antwort tatsächlich das vom OP festgelegte Problem anspricht, aber ich würde der Antwort trotzdem eine
GROSSE ROTE WARNUNG
7
APT :: Get :: Assume-Yes "true"; hat mir geholfen, Unterbrechungen bei der Installation in einem Docker-Container zu vermeiden.
Beachten Sie, dass Sie Folgendes verwenden können, wenn Sie auch automatisch die Standardantworten verwenden möchten, wenn eine interaktive Eingabeaufforderung angezeigt wird DEBIAN_FRONTEND=noninteractive
Gute Antwort. Trotzdem -ywurde ich immer noch gefragt, ob ich die Dienste neu starten möchte. Ich brauchte dies, um alle Eingabeaufforderungen vollständig zu beseitigen.
Dies sollte zumindest ein- /etc/apt/apt.confund auskommentiert sein. Ich mache mir Sorgen, dass Ubuntu immer um Erlaubnis bittet.
"Bist du dir sicher?", Natürlich bin ich mir sicher, ich bin kein ausgebildeter Affe, der einfach nur über die Tastatur tippt und mit einem Klick glücklich wird.
Als nächstes fragt die Tür: "Bist du sicher, dass du nach draußen gehen willst?"
Der Ofen fragt: "Möchten Sie wirklich kochen?"
Das Auto fragt: "Möchten Sie wirklich bremsen?"
Der Feuerlöscher fragt: "Möchten Sie das Feuer wirklich löschen?"
Es tut mir leid, Dave, das kann ich nicht zulassen.
HAL9000 könnte eine Kontraktion gebrauchen, Data jedoch nicht oder nicht.
Der Unterschied zu HAL9000 und dpkg, die um Erlaubnis bitten, besteht darin, dass HAL "Nein, Punkt" gesagt hat, wohingegen die Meldung "Ja, mach, was ich sage" nur angezeigt wird, wenn du dabei bist, dein System vollständig und vollständig zu beschädigen. Wenn du das willst, dann mach weiter. Aber eine Warnung in diesem Fall erscheint vernünftig.
@amyassin Der apt-get updateBefehl erfordert Root-Berechtigungen, da er die lokalen Paketlisten (Indizes) aktualisiert, bei denen es sich um Systemdateien handelt, deren Eigentümer root ist.
jjmontes
3
Im Allgemeinen sollten die Optionen aus dem Handbuch gut funktionieren
apt-get -y --force-yes install package
Wenn dies nicht gelingt, können Sie versuchen, den yesBefehl zu verwenden.
yes | apt-get -y --force-yes install package
habe dies mit meinem vagrant shell provisioning script verwendet
PS: Falls Sie nicht interaktiv sein möchten, aber im Allgemeinen "Nein" angeben, können Sie Folgendes versuchen:
Wenn Sie immer das Argument -y wollen, würde ich empfehlen, die Zeile hinzuzufügen
alias apt-get='apt-get -y' #Automatic -y argument on apt-get commands
in deine .bashrc. Dies fügt, wie im Kommentar erläutert, automatisch das Argument -y zu all Ihren apt-get-Befehlen hinzu und genehmigt daher alle Downloads.
ANMERKUNG: Dies bleibt so lange wahr, bis Sie die .bashrc-Datei zurücksetzen und die Shell neu starten.
Ich suchte nach einer Möglichkeit, einen Nicht-Standard in einem Skript auszuwählen, insbesondere bei der Installation von wireshark, und benutzte schließlich tmux, um mit einer Shell zu interagieren, wie folgt:
# Start a detached root session
sudo tmux new-session -d
# Send the command
sudo tmux send-keys "DEBIAN_FRONTEND=readline apt-get -qq install wireshark-common; exit" enter
# Wait for the tmux session to get to the interactive stage
sleep 5
# Answer the question
sudo tmux send-keys "yes" enter
# Now attach to the session so we wait for command completion
sudo tmux attach
Das Problem mit:
ist, dass eine manuelle Bestätigung angefordert wird, wenn der öffentliche Schlüssel des Paketunterschriftenbesitzers nicht im Schlüsselbund enthalten ist, oder wenn andere Bedingungen vorliegen. Um sicherzugehen, dass keine Bestätigung angefordert wird, gehen Sie wie folgt vor:
Wenn Sie diese Einstellungen dauerhaft beibehalten möchten, erstellen Sie eine Datei in /etc/apt/apt.conf.d/, z. B. /etc/apt/apt.conf.d/90forceyes, mit folgendem Inhalt:
quelle
-y
wurden langweilig. (Außerdem ist es eine vollständigere Antwort.)--force-yes
: Wie diese Antwort auf einen verwandten Thread aufdebian-devel
suggeriert,--force-yes
könnte das System unbrauchbar werden. (Ich stimme nicht ab, weil die Antwort tatsächlich das vom OP festgelegte Problem anspricht, aber ich würde der Antwort trotzdem eineBeachten Sie, dass Sie Folgendes verwenden können, wenn Sie auch automatisch die Standardantworten verwenden möchten, wenn eine interaktive Eingabeaufforderung angezeigt wird
DEBIAN_FRONTEND=noninteractive
Einzelinstallation:
Z.B:
Alle Updates:
Mit und können Sie feinere Optionen einstellen .
-o Dpkg::Options::="--force-confdef"
-o Dpkg::Options::="--force-confold"
Beispiele:
oder
Beispiel für eine interaktive Eingabeaufforderung:
Interessante Lektüre: Führen Sie eine unbeaufsichtigte Installation eines Debian-Pakets durch
quelle
-y
wurde ich immer noch gefragt, ob ich die Dienste neu starten möchte. Ich brauchte dies, um alle Eingabeaufforderungen vollständig zu beseitigen.Dies sollte zumindest ein-
/etc/apt/apt.conf
und auskommentiert sein. Ich mache mir Sorgen, dass Ubuntu immer um Erlaubnis bittet."Bist du dir sicher?", Natürlich bin ich mir sicher, ich bin kein ausgebildeter Affe, der einfach nur über die Tastatur tippt und mit einem Klick glücklich wird.
Als nächstes fragt die Tür: "Bist du sicher, dass du nach draußen gehen willst?"
Der Ofen fragt: "Möchten Sie wirklich kochen?"
Das Auto fragt: "Möchten Sie wirklich bremsen?"
Der Feuerlöscher fragt: "Möchten Sie das Feuer wirklich löschen?"
Es tut mir leid, Dave, das kann ich nicht zulassen.
HAL9000 könnte eine Kontraktion gebrauchen, Data jedoch nicht oder nicht.
quelle
Vom passenden HOWTO
Verwenden Sie den
-y
Schalter:apt-get -y install packagename
quelle
quelle
update
braucht man eine Erlaubnis?apt-get update
Befehl erfordert Root-Berechtigungen, da er die lokalen Paketlisten (Indizes) aktualisiert, bei denen es sich um Systemdateien handelt, deren Eigentümer root ist.Im Allgemeinen sollten die Optionen aus dem Handbuch gut funktionieren
Wenn dies nicht gelingt, können Sie versuchen, den
yes
Befehl zu verwenden.habe dies mit meinem vagrant shell provisioning script verwendet
PS: Falls Sie nicht interaktiv sein möchten, aber im Allgemeinen "Nein" angeben, können Sie Folgendes versuchen:
quelle
Der neue ( auch )
apt
Alias übernimmt auch den-y
(--yes
) Schalter:quelle
Wenn Sie immer das Argument -y wollen, würde ich empfehlen, die Zeile hinzuzufügen
in deine .bashrc. Dies fügt, wie im Kommentar erläutert, automatisch das Argument -y zu all Ihren apt-get-Befehlen hinzu und genehmigt daher alle Downloads.
ANMERKUNG: Dies bleibt so lange wahr, bis Sie die .bashrc-Datei zurücksetzen und die Shell neu starten.
quelle
Ich suchte nach einer Möglichkeit, einen Nicht-Standard in einem Skript auszuwählen, insbesondere bei der Installation von wireshark, und benutzte schließlich tmux, um mit einer Shell zu interagieren, wie folgt:
quelle