através da página man do apt-get :
apt-get -y install [packagename]
Existe uma maneira de fazer com que apt-get install
responda "sim" para "Deseja continuar [y / N]?"
através da página man do apt-get :
apt-get -y install [packagename]
O problema com:
apt-get --yes install $something
é que ele solicitará uma confirmação manual se a chave pública do proprietário da assinatura do pacote não estiver no chaveiro ou em outras condições. para ter certeza de que não pede uma confirmação, faça o seguinte:
apt-get --yes --force-yes install $something
Se você quiser ter essas configurações permanentes, crie um arquivo em /etc/apt/apt.conf.d/, como /etc/apt/apt.conf.d/90forceyes com o seguinte conteúdo:
APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";
Observe que, se você também quiser passar automaticamente pelas respostas padrão quando um prompt interativo aparecer, use DEBIAN_FRONTEND=noninteractive
Instalação única:
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install [packagename]
Por exemplo:
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install postfix
Todas as atualizações:
sudo DEBIAN_FRONTEND=noninteractive apt-get -y update
Você pode configurar opções mais refinadas com -o Dpkg::Options::="--force-confdef"
e -o Dpkg::Options::="--force-confold"
.
Exemplos:
apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"
ou
apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
Exemplo de prompt interativo:
Interessanteler:
APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";
Isso deve estar pelo menos em /etc/apt/apt.conf
e ser comentado. Eu me preocupo com o fato de o Ubuntu estar tomando a iniciativa da Microsoft de sempre pedir permissão.
"Você tem certeza?", claro que eu tenho certeza, eu não sou um macaco treinado simplesmente digitando no teclado, indo clicando feliz.
Em seguida, a porta perguntará: "Você tem certeza de que quer sair?"
O forno perguntará: "Você tem certeza que quer cozinhar?"
O automóvel perguntará: "Tem certeza de que deseja aplicar freios?"
O extintor de incêndio perguntará: "Você tem certeza de que quer apagar o fogo?"
Desculpe, Dave, não posso deixar você fazer isso.
O HAL9000 poderia usar uma contração, mas o Data não podia ou não podia.
Use a opção -y
:
apt-get -y install packagename
apt-get -y update
apt-get -y install [package]
geralmente as opções do manual devem funcionar bem
apt-get -y --force-yes install package
se não for bem sucedido você pode tentar usar o comando yes
.
yes | apt-get -y --force-yes install package
usou isso com meu script de provisionamento de shell vagrant
PS: Caso você queira não interativo, mas geralmente dizendo não, então você pode tentar isto:
yes no | apt-get install package
Eu estava procurando uma maneira de selecionar um não padrão em um script, especificamente ao instalar o wireshark, e acabei usando o tmux para interagir com um shell, da seguinte forma:
# 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
O novo alias ( bem ) apt
recebe o -y
( --yes
) mudar também:
sudo apt -y upgrade
Se você sempre quiser o argumento -y, aconselho adicionar a linha
alias apt-get='apt-get -y' #Automatic -y argument on apt-get commands
no seu .bashrc. Isso, como o comentário explica, adicionará automaticamente o argumento -y a todos os seus comandos apt-get e, portanto, aprova todos os downloads.
NOTA: Isto permanecerá verdadeiro até você reverter seu .bashrc e reiniciar o shell.
Tags linux