Comando bash: ¿Cómo ingresar automáticamente las opciones de menú que aparecen más adelante durante la instalación?

Comando bash: ¿Cómo ingresar automáticamente las opciones de menú que aparecen más adelante durante la instalación?

En apt-get install -y python-catkin-toolsUbuntu, debe ingresar los números de zona horaria 8 para la región y 7 para una ciudad cuando se instale "tzdata (2020f-0ubuntu0.18.04)".

¿Cómo puedo ejecutar apt-get install -y python-catkin-toolspara que las opciones del menú que aparecen más tarde obtengan primero un 8 y luego un 7 tan pronto como sea posible ingresar? He marcado los números a ingresar con ##

apt-get install -y python-catkin-tools

...

Setting up tzdata (2020f-0ubuntu0.18.04) ...
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.)
debconf: falling back to frontend: Readline
Configuring tzdata
------------------

Please select the geographic area in which you live. Subsequent configuration questions will narrow this down by presenting a list of cities, representing the time zones in which they are located.

  1. Africa  2. America  3. Antarctica  4. Australia  5. Arctic  6. Asia  7. Atlantic  8. Europe  9. Indian  10. Pacific  11. SystemV  12. US  13. Etc
Geographic area: ##8##

Please select the city or region corresponding to your time zone.

  1. Amsterdam  6. Belgrade    11. Budapest    [shortened...]

Time zone:


Time zone: ##7##

Current default time zone: 'Europe/Berlin'
Local time is now:      Wed Jan 20 22:42:43 CET 2021.
Universal Time is now:  Wed Jan 20 21:42:43 UTC 2021.
Run 'dpkg-reconfigure tzdata' if you wish to change it.

Necesito que esto se ejecute automáticamente desde un Dockerfile, sin pedirle al usuario que ingrese la zona horaria durante la instalación. Me gustaría saber cómo poner aquí la zona horaria correcta como parámetro del comando de instalación, o como una simple solución alternativa, cómo forzarlo a usar la zona horaria predeterminada.

Después de una ejecución reciente, descubrí que ingresar los números durante la instalación desde Dockerfile tampoco parece funcionar. Las entradas no provocan nada.

[...]
Setting up tzdata (2021a-0ubuntu0.18.04) ...
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
Configuring tzdata
------------------

Please select the geographic area in which you live. Subsequent configuration
questions will narrow this down by presenting a list of cities, representing
the time zones in which they are located.

  1. Africa      4. Australia  7. Atlantic  10. Pacific  13. Etc
  2. America     5. Arctic     8. Europe    11. SystemV
  3. Antarctica  6. Asia       9. Indian    12. US
Geographic area: 8

7
^C

Como asumo que este problema no es específico de apt-get o del sistema operativo, no lo etiqueto como tal. Cambie esto si me equivoco aquí.

Respuesta1

Esto no me funciona al crear un Dockerfile:

(aún puedes probarlo, también con el enlace externo)

Si desea recorrer un menú de trabajo e ingresar manualmente los valores de su elección en el menú, necesita una "configuración de consola" (por ejemplo, gnome-terminal con apt-get install -y gnome-terminal) para tener el diálogo de terminal. Pero no pude ejecutarlo con esto, probablemente sshsea necesario, consulteesta respuesta de "No se puede inicializar la interfaz: diálogo cuando se usa ssh", eso significaría en este caso activar la terminal (TERM) y usar "dialog" como interfaz:

TERM=$TERM DEBIAN_FRONTEND=dialog apt-get install -y python-catkin-tools


Esto me funciona al crear un Dockerfile:

Si realmente desea ingresar los puntos del menú, la siguiente solución no le ayudará. Si está de acuerdo con los valores predeterminados, en este caso zona/ciudad = "etc./etc.", la solución es la siguiente, tomada de¿Es posible responder preguntas de diálogo al instalar en la ventana acoplable?:

  1. Cambiar apt-get install -y python-catkin-toolsa

    DEBIAN_FRONTEND=noninteractive apt-get install -y python-catkin-tools
    

suprime el menú del comando que viene directamente después.

  1. También puedes suprimir cualquier menú durante la instalación de Dockerfile y luego ponerlo al principio:

    ARG DEBIAN_FRONTEND=noninteractive
    
  2. No ingreses esto ya que se mantendrá como configuración incluso en la imagen:

    ENV DEBIAN_FRONTEND=noninteractive
    

En el mejor de los casos, utilice "1.", ya que es posible que no desee suprimir todos los demás puntos del menú que aparecen.

información relacionada