Estoy creando un script de aprovisionamiento para a ubuntu vagrant vm
, en a ubuntu host
, ambos 12.10 64bit
Al instalar los siguientes paquetes:
sudo apt-get -y install php5-xsl graphviz php-pear unison
Recibo la advertencia:
dpkg-reconfigure: unable to re-open stdin: No file or directory
He intentado buscar, pero los resultados arrojan cualquier otro error con apt-get possible, no puedo encontrar cómo suprimir la advertencia anterior. Las instalaciones funcionan, pero la advertencia anterior está causando líneas de error en el stdout vagabundo.
Alguien tiene idea de cuál podría ser la causa o cómo suprimir la advertencia
export DEBIAN_FRONTEND=noninteractive
trabajó para mí en eldpkg-preconfigure
escenarioLa respuesta fue establecer los
perl:locale
's según esto :Esto resuelve el problema, pero agrega tiempo no deseado al
vagrant up
aprovisionamiento.fuente
70debconf
comentarios de @ kenorb para preconfigurar.Ejecute este comando:
para ver si tienes este archivo. Si es así, la solución es comentar la
DPkg
línea que evita la configuración previa de todos los paquetesdebconf
antes de que se instalen.Entonces agregue estos comandos a su archivo de aprovisionamiento:
De lo contrario, si no le importa este archivo, simplemente elimínelo:
Aquí hay algunos otros comandos a tener en cuenta, pero no creo que hagan nada útil:
fuente
--frontend=noninteractive
opción en el comando definido en el archivo.sudo sed -i 's/\(dpkg-preconfigure\) --apt/\1 --frontend=noninteractive --apt/' /etc/apt/apt.conf.d/70debconf
antes ysudo sed -i 's/ --frontend=noninteractive//' /etc/apt/apt.conf.d/70debconf
despuésLa redirección de Bash funciona bien para stdout y stderr.
Para redirigir la secuencia de error, use lo siguiente:
Para redirigir tanto stdout (mensajes que no son errores / advertencias) como stderr ambos, use:
Ese es un acceso directo disponible en bash para esto:
O:
A continuación, podemos ver claramente que el descriptor de archivo 1 es stdout, 2 stderr, 3 stdin.
Entonces, para lo que dices que quieres hacer, solo deberías necesitar el primer comando que di.
fuente