Bien que FAI et les systèmes similaires soient utiles dans un environnement d'entreprise (et il devrait les connaître), ils ne sont malheureusement pas une panacée.
Par exemple, que faire s'il travaille sur des machines distantes, peut-être des serveurs hébergés, loués, des serveurs colocalisés sans réseau de confiance ou dédié, ou un environnement cloud comme EC2? Aucune sorte de netboot PXE ne fonctionnera là-bas. Puppet and Chef semblent être des outils à usage plus général qui pourraient toutefois l'aider.
cat << EOF | DEBIAN_FRONTEND=noninteractive DEBCONF_DB_FALLBACK=Pipe /usr/bin/apt-get install somepackage
Name: ...
Template: ...
Value: ...
Owners: ...
Variables:
....
....
EOF
Vous pouvez obtenir les valeurs correctes de la base de données debconf sur un système qui a déjà été configuré. Cette technique vous permet de coller le tout dans un seul script shell. Par exemple, depuis /var/cache/debconf/passwords.dat (notez la possibilité de travailler avec 5.0 sur Debian et 5.1 et Ubuntu, les entrées supplémentaires ne font rien de mal):
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
Une autre méthode, peut-être plus simple: (rassemblez les réponses de debconf-get-selections ou debconf-show du paquet 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
Après avoir exécuté debconf-set-selections, vérifiez vos réponses: cat /var/cache/debconf/passwords.dat
Et, pendant les tests, assurez-vous de supprimer et de purger toutes les bases de données (en particulier la base de données mysql, où elles sont stockées) et de corriger votre base de données de configuration au cas où elles seraient corrompues:
apt-get --purge remove mysql-server*; /usr/share/debconf/fix_db.pl
Quelques conseils avec ceci: 1) Vous DEVEZ avoir le drapeau vu et le mot de passe _à nouveau. 2) Vous NE DEVEZ PAS mettre de guillemets autour du mot de passe. Il ira dans une requête MySQL sans guillemets, vous devez donc le citer vous-même si nécessaire. Cela signifie également qu'il n'y a pas d'espace (je pense) 3) Si vous avez des problèmes, faites la préconfiguration à la main, puis exécutez directement l'installation MySQL (dans un terminal / tty normal) et voyez ce que debconf vous dit. Il vous indiquera des avertissements et des erreurs.