Entfernen Sie die Benutzerinteraktion aus apt-get, wenn Sie Dinge in einem Skript installieren / entfernen

8

Ich habe ein Skript, das libreoffice entfernt und stattdessen openoffice installiert. Wie kann ich apt-get dazu bringen, dass der Benutzer diesen Vorgang nicht mehr bestätigen muss? Ich möchte nur, dass dies im Skript geschieht. Welche Schalter sollte ich verwenden? Ich möchte auch die Ausgabe reduzieren, damit die Konsole nicht verstopft.

Dean
quelle
Wenn Sie sagen, stop user confirmationbedeutet einfach installieren, ohne mit Ja zu antworten, um zu fragen, ob Sie es wollen oder nicht? sudo apt-get install AnyProgramYouWant -y. -yhier bedeutet ja für alle.
Nickanor

Antworten:

13

Sie müssen verwenden apt-get --yes. Zitat aus der Manpage ( man apt-get):

-y, --yes,--assume-yes

Automatisches Ja zu Eingabeaufforderungen; Nehmen Sie "Ja" als Antwort auf alle Eingabeaufforderungen an und führen Sie sie nicht interaktiv aus. Wenn eine unerwünschte Situation auftritt, z. B. das Ändern eines gehaltenen Pakets, der Versuch, ein nicht authentifiziertes Paket zu installieren oder ein wesentliches Paket zu entfernen, wird apt-get abgebrochen. Konfigurationselement : APT::Get::Assume-Yes.

Zum Beispiel:

apt-get install --yes gedit

Um die Ausgabe zu reduzieren, können Sie sie umleiten /dev/null(es werden nur Fehler angezeigt):

apt-get install --yes gedit > /dev/null

Damit es keine Ausgabe erzeugt (nicht einmal Druckfehler):

apt-get install --yes gedit &> /dev/null

Wenn dann etwas schief geht, können Sie Informationen in finden /var/log/apt.

Andrea Corbellini
quelle