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?

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ć.


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

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.