Automatyczna odpowiedź "Tak" przy użyciu apt-get install
Czy istnieje sposób, aby apt-get install
odpowiedział “tak” na pytanie “Czy chcesz kontynuować [y/N]?
Czy istnieje sposób, aby apt-get install
odpowiedział “tak” na pytanie “Czy chcesz kontynuować [y/N]?
Problem z:
apt-get --yes install $something
jest taki, że poprosi o ręczne potwierdzenie, jeśli klucz publiczny właściciela podpisu nie znajduje się w breloku, lub inne warunki. Aby mieć pewność, że nie poprosi o potwierdzenie, po prostu to zrób:
apt-get --yes --force-yes install $something
Jeśli chcesz mieć te ustawienia na stałe, stwórz plik w /etc/apt/apt.conf.d/, jak /etc/apt/apt.conf.d/90forceyes o następującej treści:
APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";
Zauważ, że jeśli chcesz także automatycznie przejść do domyślnych odpowiedzi, gdy pojawi się interaktywny monit, możesz użyć DEBIAN_FRONTEND=noninteractive
Pojedyncza instalacja:
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install [packagename]
Np.
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install postfix
Wszystkie aktualizacje:
sudo DEBIAN_FRONTEND=noninteractive apt-get -y update
Możesz skonfigurować dokładniejsze opcje z -o Dpkg::Options::="--force-confdef"
i -o Dpkg::Options::="--force-confold"
.
Przykłady:
apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"
lub
apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
Przykład interaktywnej zachęty:
Ciekawa lektura: Przeprowadzenie bezobsługowej instalacji pakietu Debiana
APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";
To powinno być przynajmniej w /etc/apt/apt.conf
i skomentowane. Obawiam się, że Ubuntu bierze Microsoft tack zawsze pytając o pozwolenie.
“Czy jesteś pewien?”, oczywiście jestem pewien, nie jestem wytrenowaną małpą po prostu wpisując na klawiaturze, idę kliknąć happy.
Obok drzwi zapyta: “Czy na pewno chcesz wyjść na zewnątrz? ” Piec zapyta, “Jesteś pewien, że chcesz gotować?” Samochód zapyta, “Jesteś pewien, że chcesz zaciągnąć hamulce?” Gaśnica zapyta, “Jesteś pewien, że chcesz ugasić ogień?” Przykro mi Dave, nie mogę ci na to pozwolić. HAL9000 mógł użyć skurczu, ale Data nie mógł, lub nie mógł.
apt-get -y update
apt-get -y install [package]
Ogólnie rzecz biorąc, opcje z instrukcji powinny działać dobrze
apt-get -y --force-yes install package
jeśli to się nie uda możesz spróbować użyć komendy yes
.
yes | apt-get -y --force-yes install package
użył tego z moim skryptem dostarczającym powłoki włóczęgów
PS: w przypadku, gdy chcesz nie być aktywny, ale ogólnie rzecz biorąc nie, możesz spróbować tego:
yes no | apt-get install package
Szukałem sposobu na wybranie nieudanego skryptu, szczególnie podczas instalacji wiresharka, i skończyłem używając tmuxa do interakcji z powłoką, jak następuje:
# Start a detached root session
sudo tmux new-session -d
# Send the command
sudo tmux send-keys "DEBIAN_FRONTEND=readline apt-get -qq install wireshark-common; exit" enter
# Wait for the tmux session to get to the interactive stage
sleep 5
# Answer the question
sudo tmux send-keys "yes" enter
# Now attach to the session so we wait for command completion
sudo tmux attach
Jeśli zawsze chcesz argument -y radzę dodać linię
alias apt-get='apt-get -y' #Automatic -y argument on apt-get commands
do swojego .bashrc. To, jak wyjaśnia ten komentarz, automatycznie doda argument -y do wszystkich twoich poleceń apt-get i tym samym zatwierdzi wszystkie pobrane pliki.
UWAŻAJ: To pozostanie prawdziwe, dopóki nie odwrócisz swojego .bashrc i nie uruchomisz ponownie shell.