Opcja Pacmana zakładająca „tak” na każde pytanie?

51

Podczas instalowania oprogramowania w systemach Debian możemy umieścić coś takiego:

sudo apt-get install -y chromium-browser

w ten sposób instalacja odbywa się automatycznie, bez pytania o potwierdzenie instalacji [T / n]. Czy mogę zrobić to samo z Pacmanem?

JohannRamos
źródło

Odpowiedzi:

77

Od man pacman:

--noconfirm Pomiń
wszystkie wiadomości „Czy jesteś pewien?”. Nie jest to dobry pomysł, chyba że chcesz uruchomić Pacmana ze skryptu.

Zwróć uwagę na kwalifikacje dotyczące ostrożnego korzystania z tego ...

Arch jest wersją ciągłą, co oznacza, że ​​od czasu do czasu pacman musi zarządzać dość złożonymi aktualizacjami. W tych momentach Pacman poprosi cię o potwierdzenie swoich wyborów - zignorowanie tych podpowiedzi nie będzie na ogół znaczącym problemem, ale w niektórych przypadkach, jak w przypadku ostatniego przejścia od /libdo /usr/lib, brak uwagi spowoduje poważne uszkodzenie. To nie jest nawyk, który chcesz pielęgnować.

jasonwryan
źródło
Nigdy nie korzystałem z Pacmana z „--noconfirm” przez około 3 lata używania Arch, z powodu tego ostrzeżenia. Ile osób uruchamia Pacmana ze skryptu? Jakie są duże ryzyka? Musiałem interweniować 3 lub 4 razy, aby naprawić rzeczy, których Pacman odmówił aktualizacji.
Bruce Ediger,
3
Zakładam, biorąc pod uwagę kulturę Arch, że ostrzeżenie ma zniechęcić do samozadowolenia, a błędne przekonanie, że automatyzacja aktualizacji Pacmana jest dobrym pomysłem. Wiele pęknięcia można odłożyć do osób nie czytających wyjście Pacman jest; --noconfirmzaostrzyłoby to ...
jasonwryan
1
Mam skrypt instalacyjny, który używa --noconfirm. Chodzi o to, aby móc wziąć system z niedawno zaktualizowaną czystą instalacją i sprawić, by był „użyteczny” bez jakiejkolwiek interakcji użytkownika.
StrongBad
3
W rzeczywistości --noconfirmnie zakłada yes, zamiast tego przyjmuje domyślną odpowiedź, która jest dość często no. Przykład: # pacman -Scc Cache directory: /var/cache/pacman/pkg/ :: Do you want to remove ALL files from cache? [y/N]W powyższym przypadku yes|pacman -Scczałożonoyes
Utgarda
1
Właściwie pacman --noconfirmjest to wymagane, jeśli używasz kontenera Docker, w przeciwnym razie po prostu poczeka na dane wejściowe, a tym samym zamknie kontener z błędem.
Amin NAIRI
29

Chociaż strona podręcznika w tej sprawie nie jest bardzo jasna, --noconfirmflaga nie przyjmuje „tak” przy każdej odpowiedzi. Zakłada domyślną odpowiedź, która czasami może być „nie”.

--noconfirm Pomiń
      wszystkie wiadomości „Czy jesteś pewien?”. Nie jest to dobry pomysł
      , chyba że chcesz uruchomić Pacmana ze skryptu

Aby założyć „tak”, możesz przesłać dane wyjściowe yespolecenia do pacman.

yes | sudo pacman -S firefox
Drew Chapin
źródło
Użyj yes | LC_ALL=en_US.UTF-8 pacman [...]do kompatybilności z systemami, których język nie jest ustawiony na angielski. W przeciwnym razie [Y/n]pytania stają się [J/n]na przykład.
ComFreek,
3
Uważaj również, że ta odpowiedź nie powiedzie się, jeśli Pacman kiedykolwiek zadaje pytanie bez yodpowiedzi, np Enter a selection (default=all).
ComFreek,
@ComFreek, zamiast zmieniać przekazywane zmienne środowiskowe pacman, byłoby łatwiej i prawdopodobnie bezpieczniej to zrobić yes J | sudo pacman -S firefoxw takim przypadku. yes Jspowoduje yeswielokrotne wyświetlanie a Jzamiast y.
Drew Chapin
„i prawdopodobnie bezpieczniejsze” Jak to się dzieje? Powyższe zastąpienie wpływa tylko na środowisko spawnowanego procesu (drzewa) i kończy się wraz z nim. Ponadto powyższe wywołanie jest dokładnie takie samo dla wszystkich ustawień narodowych.
Kelvin
A co, jeśli ktoś skopiuje / wklei jeden taki wiersz poleceń, ale ma ustawienia narodowe, w których jedna z opcji ma przeciwne lub zupełnie inne znaczenie? Przykład: J(lub Y) oznacza „nie” lub „wszystkie”.
Kelvin