Embora FAI e sistemas similares sejam úteis em um ambiente corporativo, (e ele deve saber sobre eles), eles infelizmente não são uma panacéia.
Por exemplo, e se ele estiver trabalhando em máquinas remotas, talvez servidores hospedados e alugados, servidores alocados sem uma rede confiável ou dedicada ou um ambiente de nuvem como o EC2? Nenhum tipo de netboot PXE funcionará lá. O Puppet e o Chef parecem ser ferramentas mais gerais que poderiam ajudá-lo, no entanto.
cat << EOF | DEBIAN_FRONTEND=noninteractive DEBCONF_DB_FALLBACK=Pipe /usr/bin/apt-get install somepackage
Name: ...
Template: ...
Value: ...
Owners: ...
Variables:
....
....
EOF
Você pode obter os valores corretos do debconf DB em um sistema que já foi configurado. Essa técnica permite que você coloque tudo em um único script de shell. Por exemplo, em /var/cache/debconf/passwords.dat (observe a capacidade de trabalhar com o 5.0 no Debian e com o 5.1 e o Ubuntu, entradas extras não causam 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
Outro método, talvez mais fácil: (coletar respostas de debconf-get-selections ou debconf-show do pacote 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
Depois de executar o debconf-set-selections, verifique suas respostas:
cat /var/cache/debconf/passwords.dat
E, durante os testes, remova e limpe todos os bancos de dados (especialmente o banco de dados mysql, onde ele está armazenado) e corrija seu banco de dados de configuração caso eles sejam corrompidos:
apt-get --purge remove mysql-server*; /usr/share/debconf/fix_db.pl
Algumas dicas com isso:
1) Você DEVE ter o sinalizador visto e a senha de acesso.
2) Você não deve colocar aspas em torno da senha. Ele irá para uma consulta MySQL não-citada, então você mesmo deve citar se necessário. Isso também significa sem espaços (eu acho)
3) Se você tiver problemas, faça a pré-configuração manualmente e então execute a instalação do MySQL diretamente (em um terminal normal / tty) e veja o que o debconf lhe diz. Ele vai te dizer avisos e erros lá.