--noconfirm Ignore
tous les messages “Êtes-vous sûr?”. Ce n'est pas une bonne idée de le faire, sauf si vous voulez exécuter pacman à partir d'un script.
Notez la qualification sur l'utilisation de ceci avec soin ...
Arch est une version mobile, ce qui signifie que pacman doit, de temps à autre, gérer des mises à niveau assez complexes. À ces moments pacman vous demandera de confirmer votre choix sans tenir compte de ces invites-ne sera généralement pas un problème important, mais dans certains cas, comme le mouvement récent /libà /usr/libun manque d'attention provoque une rupture majeure. Ce n'est pas une habitude que vous voulez cultiver.
En raison de cet avertissement, je n'ai jamais utilisé pacman avec "--noconfirm" depuis environ trois ans d'utilisation d'Arch. Combien de personnes exécutent pacman à partir d'un script? Quels sont les gros risques? J'ai dû intervenir 3 ou 4 fois pour réparer des problèmes que pacman a refusé de mettre à niveau.
Bruce Ediger
3
Je suppose, compte tenu de la culture d'Arch, que l'avertissement est là pour décourager la complaisance et la notion erronée selon laquelle l'automatisation des mises à jour de pacman est une bonne idée. Un lot peut être mis de rupture vers le bas pour les gens ne lisent pas la sortie de pacman; --noconfirmexacerberait cela ...
jasonwryan
1
J'ai un script "install" qui utilise --noconfirm. L'idée est de pouvoir utiliser un système avec une nouvelle installation récemment mise à jour et de le rendre "utilisable" sans aucune interaction de l'utilisateur.
StrongBad
3
En fait, --noconfirmne suppose pas yes, mais assume la réponse par défaut, ce qui est assez souvent no. Exemple: dans # pacman -Scc Cache directory: /var/cache/pacman/pkg/ :: Do you want to remove ALL files from cache? [y/N]le cas ci-dessus, yes|pacman -Sccsupposeyes
Utgarda le
1
En fait, cela pacman --noconfirmest nécessaire si vous utilisez un conteneur Docker, sinon, il attendra simplement une entrée et, par conséquent, fermera le conteneur avec une erreur.
Amin NAIRI
29
Alors que la page de manuel sur la question est pas très claire, le --noconfirmdrapeau présumez pas « oui » à chaque réponse. Il assume la réponse par défaut qui peut être "non" parfois.
--noconfirm Ignore
tous les messages “Êtes-vous sûr?”. Ce n'est pas une bonne idée
de le faire, sauf si vous voulez exécuter pacman à partir d'un script.
Pour assumer "oui", vous pouvez diriger la sortie de la yescommande vers pacman.
À utiliser yes | LC_ALL=en_US.UTF-8 pacman [...]pour la compatibilité avec les systèmes dont la langue n'est pas définie en anglais. Sinon, les [Y/n]questions deviennent [J/n], par exemple.
ComFreek
3
Méfiez-vous également de cette réponse qui échoue si Pacman pose jamais une question sans yréponse, par exemple Enter a selection (default=all).
ComFreek
@ ComFreek, plutôt que de modifier les variables d'environnement transmises pacman, il serait plus facile et probablement plus sûr de le faire yes J | sudo pacman -S firefoxdans ce cas. yes Jprovoquera la yessortie répétée de a Jau lieu de a y.
Drew Chapin
"et probablement plus sûr" Comment ça? La substitution ci-dessus n'affecte que l'environnement du processus (arbre) créé et se termine par celui-ci. De plus, l'appel ci-dessus est exactement le même pour tous les paramètres régionaux.
Kelvin
De plus, que se passe-t-il si une personne copie / colle une de ces lignes de commande mais a une locale dans laquelle une des options a le sens opposé ou une signification complètement différente? Exemple: J(ou Y) signifiant "non" ou "tout".
--noconfirm
exacerberait cela ...--noconfirm
ne suppose pasyes
, mais assume la réponse par défaut, ce qui est assez souventno
. Exemple: dans# pacman -Scc Cache directory: /var/cache/pacman/pkg/ :: Do you want to remove ALL files from cache? [y/N]
le cas ci-dessus,yes|pacman -Scc
supposeyes
pacman --noconfirm
est nécessaire si vous utilisez un conteneur Docker, sinon, il attendra simplement une entrée et, par conséquent, fermera le conteneur avec une erreur.Alors que la page de manuel sur la question est pas très claire, le
--noconfirm
drapeau présumez pas « oui » à chaque réponse. Il assume la réponse par défaut qui peut être "non" parfois.Pour assumer "oui", vous pouvez diriger la sortie de la
yes
commande verspacman
.la source
yes | LC_ALL=en_US.UTF-8 pacman [...]
pour la compatibilité avec les systèmes dont la langue n'est pas définie en anglais. Sinon, les[Y/n]
questions deviennent[J/n]
, par exemple.y
réponse, par exempleEnter a selection (default=all)
.pacman
, il serait plus facile et probablement plus sûr de le faireyes J | sudo pacman -S firefox
dans ce cas.yes J
provoquera layes
sortie répétée de aJ
au lieu de ay
.J
(ouY
) signifiant "non" ou "tout".