Próbuję napisać nieinteraktywny skrypt aktualizacji systemu.
Pytanie:
jeśli poniższe rozwiązanie działa dobrze:
yes | dpkg --configure -a
czy poniższe również będą działać bardzo dobrze ?:
yes | apt-get install --fix-broken
Odpowiedź
Masz -y
lub lub --assume-yes
w apt-get
.
Spróbuj na przykład
sudo apt-get install -y <package-name>
Szczegóły:
strona podręcznika apt-get (możesz również odwołać się do strony podręcznika za pomocą polecenia man apt-get
) wspomina:
-y, –yes, –assume-yes
Automatyczne tak dla monitów. Przyjmij „tak” jako odpowiedź na wszystkie monity i uruchom je bez interakcji. Jeśli wystąpi niepożądana sytuacja, taka jak zmiana wstrzymanego pakietu lub usunięcie niezbędnego pakietu, apt-get przerwie działanie. Element konfiguracji: APT :: Get :: Assume-Yes.
W przeciwieństwie do tego parametru masz również
–assume-no
Automatyczne„ nie ”dla wszystkie monity. Element konfiguracji: APT :: Get :: Assume-No.
Edytuj
W przypadku komentarza Vlastimila próbowałem
sudo apt-get install --fix-broken --assume-yes
I to działa. --fix-broken
część polecenia można zastąpić -f
i --assume-yes
-y
lub --yes
dla wygody. Nie spowoduje to instalacji żadnego pakietu osobiście, ale „może pominąć wszystkie pakiety, aby umożliwić APT wywnioskowanie prawdopodobnego rozwiązania”, jak wspomniano na stronie podręcznika .