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 root
lista 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_FRONTEND
hacer? ¿Se usa también para otros procesos?DEBIAN_FRONTEND
. Sinman debconf
embargo, no se menciona en mi Debian , por lo que puede ser algo de Ubuntu.man 7 debconf
;)man 7 debconf
pero no obtuve nada. Ahora sé por qué :)Bueno, tal vez estás usando la herramienta incorrecta.
unattended-upgrades
el 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-upgrade
comandoconsulte el manual de man
dpkg
para obtener información detallada sobre estos parámetros.nota importante : se requiere llamar
sudo
incluyendo el-E
pará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
EXPORT
declaraciones no afectarán las llamadas deapt-get
!¡El crédito va para Remy van Elst ! ¡Gracias!
fuente
root
, por lo que no necesita usarlossudo
en absoluto. las 'otras opciones' están configuradas para ejecutarse desatendidas en cualquier caso. por favor vea laman
pá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 upgrade
usar 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 ...)