Tengo unos 7 servidores Debian que administro, y me gustaría configurarlos para que se actualicen automáticamente. Entonces, creé un script como tal:
#!/bin/sh
apt-get update
apt-get upgrade
y lo colocó en la rootlista de crontab. Desafortunadamente, siempre se cuelga en la sección Actualizar, preguntando si estoy seguro de querer actualizar. Debido a que es un trabajo cron, no veo el resultado hasta que me envía un correo electrónico diciendo que ha fallado. ¿Hay alguna manera de que omita ese aviso y simplemente realice la actualización automáticamente?

Respuestas:
Use la opción -y para apt-get para que no pregunte. De
man apt-get:También puede establecer la variable env DEBIAN_FRONTEND
fuente
DEBIAN_FRONTENDhacer? ¿Se usa también para otros procesos?DEBIAN_FRONTEND. Sinman debconfembargo, no se menciona en mi Debian , por lo que puede ser algo de Ubuntu.man 7 debconf;)man 7 debconfpero no obtuve nada. Ahora sé por qué :)Bueno, tal vez estás usando la herramienta incorrecta.
unattended-upgradesel paquete instala actualizaciones de seguridad a diario (puede configurarse), puede configurar qué paquetes actualizar o no actualizar, etc. Puede instalarse usando:De
man unattended-upgrades:fuente
/etc/apt/apt.conf.d/pero solo las que comienzan conUnattended-Upgrade::se analizan.Si bien las respuestas anteriores son informativas, no eluden el "problema" de entrada requerido por medios humanos durante
upgrade. por lo tanto, estoy usando lo siguiente:para incluir actualizaciones de 'distribución' como los núcleos, use el
dist-upgradecomandoconsulte el manual de man
dpkgpara obtener información detallada sobre estos parámetros.nota importante : se requiere llamar
sudoincluyendo el-Eparámetro:Indicates to the security policy that the user wishes to preserve their existing environment variables. The security policy may return an error if the user does not have permission to preserve the environment.de lo contrario, las
EXPORTdeclaraciones no afectarán las llamadas deapt-get!¡El crédito va para Remy van Elst ! ¡Gracias!
fuente
root, por lo que no necesita usarlossudoen absoluto. las 'otras opciones' están configuradas para ejecutarse desatendidas en cualquier caso. por favor vea lamanpágina referenciada .Una herramienta genérica para este tipo de cosas es
yes:Entonces, por ejemplo, podrías hacer
Tenga en cuenta que en el caso específico de
apt-get upgradeusar las opciones sugeridas por @Braiam o @ArthurUlfeldt es mejor.fuente
apt-get update && yes | apt-get upgrade(se supone que nuestros servidores no deben usarsudo... No preguntes ...)