2010-07-16 20:34:00 +0000 2010-07-16 20:34:00 +0000
382
382

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]?

Odpowiedzi (11)

471
471
471
2010-07-16 20:36:15 +0000

przez apt-get man page :

apt-get -y install [packagename]
182
182
182
2010-07-16 22:08:11 +0000

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";
53
53
53
2015-07-12 18:36:26 +0000

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

14
14
14
2011-06-07 01:00:02 +0000
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ł.

9
9
9
2010-07-16 20:37:15 +0000

Z apt-get HOWTO

Użyj przełącznika -y:apt-get -y install packagename

7
7
7
2010-07-16 20:37:01 +0000
apt-get -y update
apt-get -y install [package]
4
4
4
2014-11-17 16:51:42 +0000

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
1
1
1
2018-02-02 12:49:34 +0000

Nowy pseudonim studnia ) apt obejmuje również przełącznik -y (--yes):

sudo apt -y upgrade
1
1
1
2018-09-10 13:29:06 +0000

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
1
1
1
2018-07-31 15:28:56 +0000

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.

0
0
0
2020-02-11 11:52:37 +0000

Korzystanie z yes jest niezależne od menedżera pakietów. Np.

yes | apt-get install curl