Bei Verwendung von apt-get install automatisch mit "Ja" antworten
Gibt es eine Möglichkeit, dass apt-get install
auf die Frage “Möchten Sie fortfahren [J/N]” mit “Ja” antwortet?
Gibt es eine Möglichkeit, dass apt-get install
auf die Frage “Möchten Sie fortfahren [J/N]” mit “Ja” antwortet?
Das Problem mit:
apt-get --yes install $something
besteht darin, dass eine manuelle Bestätigung verlangt wird, wenn der öffentliche Schlüssel des Paket-Signatur-Besitzers nicht im Schlüsselbund ist, oder einige andere Bedingungen. Um sicher zu sein, dass es keine Bestätigung verlangt, tun Sie einfach dies:
apt-get --yes --force-yes install $something
Wenn Sie diese Einstellungen dauerhaft haben wollen, erstellen Sie eine Datei in /etc/apt/apt.conf.d/, wie /etc/apt/apt.conf.d/90forceyes mit folgendem Inhalt:
APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";
Beachten Sie, dass Sie, wenn Sie auch automatisch zu den Standardantworten wechseln möchten, wenn eine interaktive Eingabeaufforderung erscheint, DEBIAN_FRONTEND=noninteractive
Einzelinstallation verwenden können:
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install [packagename]
Z.B. :
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install postfix
Alle Aktualisierungen:
sudo DEBIAN_FRONTEND=noninteractive apt-get -y update
Sie können feinere Optionen mit -o Dpkg::Options::="--force-confdef"
und -o Dpkg::Options::="--force-confold"
einrichten.
Beispiele:
apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"
oder
apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
Beispiel für interaktive Eingabeaufforderung:
Interessante Lektüre: Führen Sie eine unbeaufsichtigte Installation eines Debian-Pakets durch
APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";
Dies sollte mindestens in /etc/apt/apt.conf
stehen und auskommentiert werden. Ich mache mir Sorgen, dass Ubuntu den Microsoft-Weg einschlägt, immer um Erlaubnis zu fragen.
“Bist du sicher?”, natürlich bin ich sicher, ich bin kein dressierter Affe, der einfach auf der Tastatur herumtippt und glücklich klickt.
Nebenan wird die Tür fragen: “Bist du sicher, dass du nach draußen gehen willst? ” Der Ofen wird fragen: “Bist du sicher, dass du kochen willst?” Das Auto wird fragen: “Bist du sicher, dass du die Bremsen betätigen willst?” Der Feuerlöscher wird fragen: “Bist du sicher, dass du das Feuer löschen willst?” Es tut mir leid, Dave, das kann ich nicht zulassen. HAL9000 könnte eine Kontraktion vertragen, aber Data konnte oder konnte es nicht.
Aus dem apt-get HOWTO
Verwenden Sie den Schalter -y
:apt-get -y install packagename
apt-get -y update
apt-get -y install [package]
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 Befehl yes
zu verwenden.
yes | apt-get -y --force-yes install package
hat dies mit meinem vagabundierenden Shell-Bereitstellungsskript verwendet
PS: Falls Sie nicht-interaktiv, aber mit der allgemeinen Angabe “Nein” wollen, können Sie dies versuchen:
yes no | apt-get install package
Ich suchte nach einer Möglichkeit, in einem Skript, insbesondere bei der Installation von wireshark, eine Nicht-Standardvorgabe auszuwählen und verwendete schließlich tmux, um mit einer Shell wie folgt zu interagieren:
# 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
Wenn Sie immer das Argument -y wollen, würde ich empfehlen, die Zeile
alias apt-get='apt-get -y' #Automatic -y argument on apt-get commands
in Ihre .bashrc einzufügen. Dies wird, wie der Kommentar erklärt, automatisch das Argument -y zu allen Ihren apt-get Befehlen hinzufügen und somit alle Downloads genehmigen.
_HINWEIS: Dies wird so lange gelten, bis Sie Ihre .bashrc zurücksetzen und die Shell neu starten.