Ubuntu dpkg, instalación no interactiva


10

Estoy tratando de instalar un montón de archivos .deb sin tener que interactuar con ellos. MySQL Server, por ejemplo, solicitará un menú interactivo para ingresar una contraseña administrativa en la configuración de dpkg.

Yo he tratado.

export DEBIAN_FRONTEND=noninteractive && export DEBIAN_PRIORITY=critical && sudo /usr/bin/dpkg -i ./files/*

Soy consciente de que solo puedo extraer los archivos sin configuración. Estoy tratando de crear un script bash para implementar un servidor preconfigurado de instalación predeterminada de Apache, php, mySQL, etc. Sin embargo, esta "instalación interactiva" está causando problemas.

¿Alguna idea sobre cómo deshabilitarlo? o un trabajo alrededor?

Gracias


¿Qué hará con respecto a la contraseña de root del servidor MySQL sin responder la pregunta?
DerfK

Use mysqladmin para configurar el servidor.
James Moore

Posible duplicado de las indicaciones
kenorb

Respuestas:


6

Estás en el camino correcto. Definitivamente quieres usar DEBIAN_FRONTEND=noninteractive. Para preguntas críticas que no se pueden ignorar, querrá preseleccionar la debconfbase de datos con las respuestas necesarias. La debconfpágina del manual tiene todos los detalles sobre cómo lograr eso.


1
necesitaba "su -" y usar "exportar" como root.
James Moore

sudo DEBIAN_FRONTEND = no interactivo apt install -y
package_you_want

4

Para la interfaz general no interactiva, puede intentar:

sudo dpkg-reconfigure debconf -f noninteractive -p critical

Para configurar las credenciales de MySQL, puede usar el archivo de configuración del servidor (por ejemplo ~/.my.cnf), como:

[client]
user=root
password=root

Para seleccionar algunas selecciones específicas, use debconf-set-selections, por ejemplo:

echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections

0

Esto debería funcionar:

$ pkgadd SOMEpkg << MYINPUT

y

some text

/usr/local

n

password

MYINPUT

Tuve que colocar líneas negras entre las líneas de arriba o formateado como una línea larga. En cualquier caso, puede usar el comando "script" para guardar su entrada durante las instalaciones complejas, y luego modificar la salida en un script para automatizarlo para instalaciones posteriores ( man script).

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.