Pregunta

Estoy tratando de crear un script que descarga automáticamente los paquetes para los nuevos servidores.Sin embargo, algunas cosas como 'mysql-server' no se puede instalar automáticamente causar que usted necesita para configurar en la interfaz ncurses primera.He mirado a través de las páginas de manual y no puede encontrar nada adecuado.

No me importa si tengo que subir o editar un fichero de configuración más tarde-sólo tengo los paquetes necesarios instalados.

Alguien sabe qué hacer además de acaparamiento de tar y la construcción de mí mismo?

ACTUALIZACIÓN descubrí que para cosas como mysql-server puedes hacer:

DEBIAN_FRONTEND='noninteractive' apt-get install -yq mysql-server

sin embargo esperan que se parece a algo que voy a necesitar para sun-java6-jdk;no ha evaluado todavía

¿Fue útil?

Solución

Para los paquetes que hacen preguntas a través de debconf (que es lo que pone la pantalla ncurses), se puede pre-contestar las preguntas. Para tomar el java, las preguntas pueden ser pre-respondieron siguiendo las instrucciones de la dirección http://www.davidpashley.com/blog/debian/java-license

Otros consejos

ossramblings.com :

En primer lugar, instale el paquete con normalidad; a continuación, extraer las respuestas de configuración de los archivos de datos de debconf:

sudo apt-get install debconf-utils
sudo debconf-get-selections | grep mypackage > something.seed

A continuación, para otras instalaciones, se puede aplicar antes de instalar el paquete:

sudo debconf-set-selections ./something.seed

Cualquier paquete Debian que utiliza debconf para obtener los valores de configuración se puede ejecutar en modo desatendido.El truco es que debconf primero de búsqueda para pre-instalado respuestas para cualquier config pregunta que un determinado paquete.

Pre-instalación de config respuestas

Basta con crear un archivo con el siguiente formato

# Use one line for each question
package-name question-name question-type answer
package-name question-name question-type really long \
answer here
package-name question-name question-type answer
...

y se avance en el sistema así:

$ debconf-set-selections my-selections-file

Ahora, usted está listo para apt-get install, como de costumbre.

One-off

Desde este comando también se lee de stdin, usted puede hacer:

$ echo "man-db man-db/auto-update boolean true" | debconf-set-selections

Encontrar respuestas predeterminadas

¿Cómo saber que paquetes de utilizar estas respuestas?Bien, si ya has instalado el paquete en cuestión de forma interactiva, puede consultar su sistema local para ver qué valores están configurados actualmente. debconf-get-selections imprime una lista de todos los config respuestas para el sistema actual.Por ejemplo

$ debconf-get-selections | grep '^man'

devuelve el siguiente en mi sistema:

man-db  man-db/install-setuid   boolean false
man-db  man-db/auto-update      boolean true

Puede que tenga que instalar el debconf-utils paquete para hacer de este comando está disponible.

La muestra

# Preset values to questions which would otherwise be asked while
# installing packages.
# Use debconf-set-selections to install
openssh-server  openssh-server/permit-root-login        boolean false
man-db  man-db/install-setuid   boolean false
man-db  man-db/auto-update      boolean true

Fuentes

No estoy seguro de necesidades MySQL-server exactamente qué configuración, pero se puede intentar algo así como esperar

scroll top