Si bien FAI y sistemas similares son útiles en un entorno empresarial, (y él debería saber sobre ellos), desafortunadamente no son una panacea.
Por ejemplo, ¿qué pasa si está trabajando en máquinas remotas, tal vez servidores alojados, alquilados, servidores ubicados sin una red confiable o dedicada, o un entorno en la nube como EC2? Ningún tipo de arranque de red PXE funcionará allí. Sin embargo, Puppet y Chef parecen ser herramientas de propósito más general que podrían ayudarlo.
cat << EOF | DEBIAN_FRONTEND=noninteractive DEBCONF_DB_FALLBACK=Pipe /usr/bin/apt-get install somepackage
Name: ...
Template: ...
Value: ...
Owners: ...
Variables:
....
....
EOF
Puede obtener los valores correctos de la base de datos de debconf en un sistema que ya se ha configurado. Esta técnica le permite pegar todo en un solo script de shell. Por ejemplo, desde /var/cache/debconf/passwords.dat (tenga en cuenta la capacidad de trabajar con 5.0 en Debian y 5.1 y Ubuntu, las entradas adicionales no hacen daño a nada):
cat << EOF | DEBIAN_FRONTEND=noninteractive DEBCONF_DB_FALLBACK=Pipe /usr/bin/apt-get -qq -y install mysql-server
Name: mysql-server/root_password
Template: mysql-server/root_password
Value: YOURPASSWORD
Owners: mysql-server-5.1
Flags: seen
Name: mysql-server/root_password_again
Template: mysql-server/root_password_again
Value: YOURPASSWORD
Owners: mysql-server-5.1
Flags: seen
Name: mysql-server/root_password
Template: mysql-server/root_password
Value: YOURPASSWORD
Owners: mysql-server-5.0
Flags: seen
Name: mysql-server/root_password_again
Template: mysql-server/root_password_again
Value: YOURPASSWORD
Owners: mysql-server-5.0
Flags: seen
EOF
Otro método, quizás más fácil: (recopile respuestas de debconf-get-selections o debconf-show del paquete debconf-utils):
echo "Installing MySQL 5.0.."
sudo apt-get install -qqy debconf-utils
cat << EOF | debconf-set-selections
mysql-server-5.0 mysql-server/root_password password YOURPASSWORD
mysql-server-5.0 mysql-server/root_password_again password YOURPASSWORD
mysql-server-5.0 mysql-server/root_password seen true
mysql-server-5.0 mysql-server/root_password_again seen true
EOF
/usr/bin/apt-get -y install mysql-server-5.0 mysql-server
Después de ejecutar debconf-set-selections, verifique sus respuestas: cat /var/cache/debconf/passwords.dat
Y, durante las pruebas, asegúrese de eliminar y purgar todas las bases de datos (especialmente la base de datos mysql, donde está almacenada) y corregir su base de datos de configuración en caso de que se corrompan:
apt-get --purge remove mysql-server*; /usr/share/debconf/fix_db.pl
Algunos consejos con esto: 1) DEBE tener el indicador visto y la contraseña _again. 2) NO DEBE poner comillas alrededor de la contraseña. Se incluirá en una consulta MySQL sin comillas, por lo que debe citarlo usted mismo si es necesario. Eso también significa que no hay espacios (creo) 3) Si tiene problemas, realice la preselección a mano y luego ejecute la instalación de MySQL directamente usted mismo (en un terminal / tty normal) y vea qué le dice debconf. Le indicará advertencias y errores allí.