Ominięcie monitu o tak / nie w „apt-get upgrade”

64

Aby uniknąć wpisywania wszystkich poleceń apt-get podczas aktualizacji mojego komputera, stworzyłem proste polecenie aliasu, aby to zrobić. Ale naprawdę chcę móc po prostu wpisać mój alias i pozwolić mu działać i nie muszę czekać na monit o wpisanie „y”. Czy istnieje prosty sposób na ominięcie tego monitu lub może gdzieś dodać „tak” do aliasu?

Ntc
źródło

Odpowiedzi:

93

Jasne, chociaż nigdy nie próbowałem tego jako aliasu, ale powinno działać:

sudo apt-get update && sudo apt-get -y upgrade
wojox
źródło
Zmienię i usunę -y z aktualizacji, jeśli przeszkadza Ci One Zero. :)
wojox
To nie działa w Trusty.
Cerin,
Nie działa z pytaniem o przesłonięcie gruba.
Waldemar Wosiński
1
W przypadku pytania o zastąpienie gruba musisz ustawić to przed nimsudo DEBIAN_FRONTEND=noninteractive apt-get...
saitam
@saitam - dzięki .... zmienna DEBIAN_FRONTEND jest dokładnie to, co ja szukałem! Kodos.
Hugh Buntu
7
apt-get -o Dpkg::Options::='--force-confold' --force-yes -fuy dist-upgrade"
Vadim
źródło
16
Możesz być bardziej dokładny? Co robi to polecenie i jak działa?
Seth
Miło widzieć głębszą odpowiedź na to pytanie, dzięki Vadim.
Alex North-Keys,
0

apt-get update && apt-get upgrade -y && apt-get autoremove && apt-get autoclean

To aktualizuje pakiety, uaktualnia pakiety, usuwa nieużywane pakiety, a następnie usuwa stare wersje pakietów.

Możesz skopiować to wklej do

nano -w yourscript.sh

następnie

chmod 777 yourscript.sh

następnie

./yourscript.sh

Tak długo, jak używasz suprzed tymi wszystkimi krokami, które zawsze robię.

rhY
źródło
4
Ta odpowiedź idzie ... za daleko. Może nie chcieć usuwać starych / nieużywanych pakietów. Również nie sądzę, że powinieneś kiedykolwiek używać chmod 777, jeśli można tego uniknąć. I wierzę w Ubuntu, zalecanym sposobem jest użycie apt-get zamiast apt.
Andreas Hartmann
Uzgodnione, ważne, aby odpowiedzieć na aktualne pytanie, nie iść dalej.
jonathan
1
@AndreasHartmann Zgoda. Ten skrypt stanowi zagrożenie dla bezpieczeństwa, jeśli zostanie zainstalowany na 777. Zamiast tego użyj chmod u + x (ustawia tylko bit wykonywalny dla właściciela pliku)
520
0

Możesz także zrobić to po cichu, a następnie otrzymać powiadomienie, gdy wszystko się skończy. Minusem tego jest to, że zobaczysz tylko zgłoszone błędy i nie zobaczysz, co jest aktualizowane.

sudo apt-get update -qq && sudo apt-get dist-upgrade -qq && echo "All up to date now!" && notify-send "All up to date now!"
Harlem Wiewiórka
źródło
-2

Zdecydowanie poleciłbym opcję „-y”, aby uniknąć monitów. Nie chcesz blokować ekranu podczas oczekiwania na monit. Widziałem go tam, gdzie nie można odblokować z powodu aktualizacji wpływającej na pakiet i nie można nacisnąć Y z powodu zablokowanego ekranu.

Michael Adams
źródło
Ta opcja jest już używana w zaakceptowanej odpowiedzi .
user3140225