Pacman-Option, bei jeder Frage mit „Ja“ zu antworten?


51

Wenn Sie Software in Debian-Systemen installieren, können Sie Folgendes eingeben:

sudo apt-get install -y chromium-browser

Auf diese Weise wird die Installation automatisch durchgeführt, ohne dass Sie aufgefordert werden, die Installation zu bestätigen [J / n]. Kann ich das auch mit Pacman machen?

Antworten:


77

Von man pacman:

--noconfirm
Alle "Sind Sie sicher?" - Meldungen umgehen . Es ist keine gute Idee, dies zu tun, es sei denn, Sie möchten Pacman über ein Skript ausführen.

Beachten Sie die Qualifikation zur sorgfältigen Verwendung ...

Arch ist eine rollierende Veröffentlichung, was bedeutet, dass Pacman von Zeit zu Zeit einige recht komplexe Upgrades durchführen muss. In diesen Fällen werden Sie von pacman aufgefordert, Ihre Auswahl zu bestätigen. Das Nichtbeachten dieser Aufforderungen ist im Allgemeinen kein wesentliches Problem. In einigen Fällen kann jedoch, wie beim jüngsten Wechsel von /libzu /usr/lib, ein Mangel an Aufmerksamkeit zu erheblichen Fehlern führen. Dies ist keine Gewohnheit, die Sie pflegen möchten.


Ich habe in den letzten drei Jahren, in denen ich Arch verwendet habe, wegen dieser Warnung noch nie Pacman mit der "--noconfirm" ausgeführt. Wie viele Leute führen Pacman über ein Skript aus? Was sind die großen Risiken? Ich musste drei- oder viermal eingreifen, um Probleme zu beheben, die Pacman nicht aktualisieren wollte.
Bruce Ediger

3
In Anbetracht von Archs Kultur gehe ich davon aus, dass die Warnung dazu dient, die Selbstzufriedenheit zu entmutigen, und die falsche Vorstellung, dass die Automatisierung von Pacman-Updates eine gute Idee ist. Eine Menge Bruch kann auf Leute zurückgeführt werden, die Pacmans Ausgabe nicht lesen; --noconfirmwürde das verschärfen ...
jasonwryan

1
Ich habe ein "Installations" -Skript, das --noconfirm verwendet. Die Idee ist, ein System mit einer kürzlich aktualisierten Neuinstallation zu verwenden und es "benutzerfreundlich" zu machen, ohne dass der Benutzer eingreifen muss.
StrongBad

Die Idee ist, Software von einem Skript ohne Benutzerinteraktion zu installieren. Das ist also perfekt. Vielen Dank!
JohannRamos

3
Nimmt --noconfirmeigentlich nicht an yes, sondern nimmt die Standardantwort an, was ziemlich oft der Fall ist no. Beispiel: # pacman -Scc Cache directory: /var/cache/pacman/pkg/ :: Do you want to remove ALL files from cache? [y/N]Für den obigen Fall wird yes|pacman -Sccangenommenyes
Utgarda

29

Während die Manpage zu diesem Thema nicht sehr klar ist, wird das --noconfirmFlag nicht bei jeder Antwort "Ja" annehmen. Es wird die Standardantwort vorausgesetzt, die manchmal "nein" sein kann.

--noconfirm
      Alle "Sind Sie sicher?" - Meldungen umgehen . Es ist keine gute Idee
      , dies zu tun, es sei denn, Sie möchten Pacman über ein Skript ausführen

Um "Ja" anzunehmen, können Sie die Ausgabe des yesBefehls an leiten pacman.

yes | sudo pacman -S firefox

Verwendung yes | LC_ALL=en_US.UTF-8 pacman [...]aus Kompatibilitätsgründen mit Systemen, deren Sprache nicht auf Englisch eingestellt ist. Ansonsten werden die [Y/n]Fragen zum [J/n]Beispiel.
ComFreek

3
Beachten Sie auch, dass diese Antwort fehlschlägt, wenn Pacman jemals eine Frage ohne yAntwort stellt, z Enter a selection (default=all).
ComFreek

Anstatt die Umgebungsvariablen zu ändern, die an @ComFreek übergeben wurden pacman, wäre es einfacher und wahrscheinlich sicherer, dies yes J | sudo pacman -S firefoxin diesem Fall zu tun . yes Jbewirkt yes, dass wiederholt a Janstelle von a ausgegeben wird y.
Drew Chapin

"und wahrscheinlich sicherer" Wie so? Der obige Override wirkt sich nur auf die Umgebung des erzeugten Prozesses (Baums) aus und endet damit. Darüber hinaus ist der obige Aufruf für alle Ländereinstellungen identisch.
Kelvin

Was ist auch, wenn jemand eine solche Befehlszeile kopiert / einfügt, aber ein Gebietsschema hat, in dem eine der Optionen das Gegenteil oder eine ganz andere Bedeutung hat? Beispiel: J(oder Y) bedeutet "nein" oder "alle".
Kelvin
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.