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

James Moore
fuente
¿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.

Steven Monday
fuente
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
kenorb
fuente
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).

dixie_flatline
fuente