Cómo hacer * dpkg-reconfigure dash * como bash automáticamente


14

Quiero construir una imagen acoplable a partir de la imagen de ubuntu. Es necesario cambiar el sh predeterminado de guión a bash manualmente. (Debido a que requiere instalar muchos paquetes rpm que contienen scripts bash)

dpkg-reconfigure dash

¿Hay algún método para permitir esta acción automáticamente sin el comportamiento humano?

En mi Dockerfile puede estar escrito como (Método 1)

RUN dpkg-reconfigure dash

He probado otro método (Método 2)

RUN ln -sf bash /bin/sh

Pero, ambos métodos no pueden funcionar.

Respuestas:


3

Puede hacer que debconf solo pida preguntas altas o críticas [1].

Ex:

dpkg-reconfigure -p critical dash

dpkg-reconfigure usará la respuesta predeterminada definida en el script debconf. También puede usar debconf-get-selections para obtener una respuesta diferente para la instalación no interactiva [2].

  1. https://wiki.debian.org/debconf
  2. http://blog.nutsfactory.net/2008/03/06/noninteractive-dpkg-installation-on-debian-system/

Si desea ver qué sucede al ejecutar dpkg-reconfigure DEBCONF_DEBUG = desarrollador dpkg-reconfigure -p guión crítico
— Rex Tsai

Falta debconf-get-selections. No puedo encontrarlo en packages.debian.org/wheezy/all/debconf/filelist .
— Daniel YC Lin

10
Yo uso debconf-show dashpara obtener opciones. echo "dash dash/sh boolean false" | debconf-set-selectionsy DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dashpara hacer configuraciones no interactivas.
— Daniel YC Lin

2
@DanielYCLin si agregaste eso como su propia respuesta, lo votaría.
— gazarsgo

25

Pegar el comentario de Daniel como respuesta aquí ya que no se basa en la configuración predeterminada de dpkg-reconfigure.

Para obtener opciones:

debconf-show dash

Para configurar esta opción en particular para false:

echo "dash dash/sh boolean false" | debconf-set-selections

y para reconfigurar realmente el paquete:

DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash

Esto funcionó para mí desde un Dockerfile:

# make /bin/sh symlink to bash instead of dash:
RUN echo "dash dash/sh boolean false" | debconf-set-selections
RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.