Responda automáticamente "Sí" cuando use apt-get install
¿Hay alguna manera de hacer que apt-get install
responda “sí” a la pregunta “¿Quiere continuar [s/N]?”?
¿Hay alguna manera de hacer que apt-get install
responda “sí” a la pregunta “¿Quiere continuar [s/N]?”?
a través de la página de apt-get man :
apt-get -y install [packagename]
El problema con:
apt-get --yes install $something
es que pedirá una confirmación manual si la clave pública del propietario de la firma del paquete no está en el llavero, o algunas otras condiciones. para asegurarse de que no pide una confirmación sólo haga esto:
apt-get --yes --force-yes install $something
Si desea que estas configuraciones sean permanentes, cree un archivo en /etc/apt/apt.conf.d/, como /etc/apt/apt.conf.d/90forceyes con el siguiente contenido:
APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";
Ten en cuenta que si también quieres ir automáticamente por las respuestas predeterminadas cuando aparece un aviso interactivo, puedes usar DEBIAN_FRONTEND=noninteractive
Instalación única:
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install [packagename]
Ej.
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install postfix
Todas las actualizaciones:
sudo DEBIAN_FRONTEND=noninteractive apt-get -y update
Puede configurar opciones más finas con -o Dpkg::Options::="--force-confdef"
y -o Dpkg::Options::="--force-confold"
.
Ejemplos:
apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"
o
apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
Ejemplo de aviso interactivo:
Interesante lectura: Realizar una instalación desatendida de un paquete de Debian
APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";
Esto debería estar al menos en /etc/apt/apt.conf
y comentado. Me preocupa que Ubuntu esté tomando la táctica de Microsoft de siempre pedir permiso.
“¿Estás seguro?”, por supuesto que estoy seguro, no soy un mono entrenado simplemente escribiendo en el teclado, haciendo clic feliz.
Al lado la puerta preguntará, “¿Estás seguro de que quieres salir? ” El horno preguntará, “¿Estás seguro de que quieres cocinar?” El automóvil preguntará, “¿Estás seguro de que quieres aplicar los frenos?” El extintor de incendios preguntará, “¿Estás seguro de que quieres apagar el fuego?” Lo siento Dave, no puedo dejarte hacer eso. Al HAL9000 le vendría bien una contracción, pero a Data no le vendría bien, o no podría.
Desde el apt-get HOWTO
Use el interruptor -y
:apt-get -y install packagename
apt-get -y update
apt-get -y install [package]
generalmente las opciones del manual deberían funcionar bien
apt-get -y --force-yes install package
si no tiene éxito puede intentar usar el comando yes
.
yes | apt-get -y --force-yes install package
usó esto con mi script de aprovisionamiento de shell vagabundo
PS: en caso de que quiera no interactivo pero con la indicación general de no entonces puede intentar esto:
yes no | apt-get install package
Estaba buscando una manera de seleccionar un no-defecto en un script, específicamente al instalar wireshark, y terminé usando tmux para interactuar con un shell, de la siguiente manera:
# 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
Si siempre quieres el argumento - te aconsejo que añadas la línea
alias apt-get='apt-get -y' #Automatic -y argument on apt-get commands
en tu .bashrc. Esto, como explica el comentario, añadirá automáticamente el argumento - a todos tus comandos apt-get y por lo tanto aprueba todas las descargas.
NOTA: Esto permanecerá así hasta que reviertas tu .bashrc y reinicies el shell.