Embora a FAI e sistemas similares sejam úteis em um ambiente corporativo (e ele deve saber sobre eles), infelizmente eles não são uma panacéia.
Por exemplo, e se ele estiver trabalhando em máquinas remotas, talvez hospedadas, servidores alugados, servidores colocados sem uma rede confiável ou dedicada ou um ambiente em nuvem como o EC2? Nenhum tipo de inicialização via rede PXE funcionará lá. No entanto, Puppet e Chef parecem ser ferramentas de uso geral que podem ajudá-lo.
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 no banco de dados debconf em um sistema que já foi configurado. Essa técnica permite colocar a coisa toda em um único script de shell. Por exemplo, em /var/cache/debconf/passwords.dat (observe a capacidade de trabalhar com 5.0 no Debian e 5.1 e Ubuntu, entradas extras não prejudicam 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: (reúna respostas do 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 o teste, certifique-se de remover e limpar todos os bancos de dados (especialmente o banco de dados mysql, onde este está armazenado) e corrija o banco de dados de configuração caso eles estejam corrompidos:
apt-get --purge remove mysql-server*; /usr/share/debconf/fix_db.pl
Algumas dicas com isso: 1) Você DEVE ter a bandeira vista e a senha _again. 2) Você NÃO deve colocar aspas na senha. Ele irá para uma consulta MySQL sem aspas, então você deve citá-la, se necessário. Isso também significa que não há espaços (eu acho) 3) Se você tiver problemas, faça a pré-configuração manualmente e execute a instalação do MySQL diretamente você mesmo (em um terminal / tty normal) e veja o que o debconf lhe diz. Ele informará avisos e erros lá.