
Al actualizar nuestros servidores Linux, emito un comando como este desde uno de nuestros servidores de administración:
ssh server1.mycompany.com apt upgrade
En determinadas circunstancias, obtengo este resultado del comando:
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (This frontend requires a controlling tty.)
Como no puedo interactuar con el diálogo, supongo que se eligen los valores predeterminados. ¿Cómo abordan otras personas este problema? Iniciar sesión en cada servidor para ejecutar apt Upgrade, en caso de que aparezca un cuadro de diálogo, no parece el camino a seguir. ¿Quizás haya una manera de cancelar la "actualización apta" o algo así cuando aparecen cuadros de diálogo? O incluso mejor, tal vez haya una manera de hacer que la ventana emergente se muestre en el lado del cliente de la conexión SSH, es decir, en el servidor en el que estoy enviando ssh.de?
Respuesta1
Necesita una terminal, que puede configurar mediante los parámetros que
-t
fuerzan un pty o -T
que no fuerzan pty (o las opciones del archivo de configuración correspondientes).
Además, cuando se utiliza un pty, la TERM
variable de entorno se copia (pueden aplicarse excepciones, verifique la documentación para obtener los detalles completos y el formulario oficial de inscripción al sorteo).
Puede especificar la interfaz no interactiva que no tiene requisitos y no hace ninguna pregunta (que puede ser o no lo que desea):
ssh <remote_srv> "DEBIAN_FRONTEND=noninteractive apt-get autoremove"
Para obtener más información, consulte la publicación Ask Ubuntu. No se puede inicializar la interfaz: cuadro de diálogo cuando se usa ssh.