Während FAI und ähnliche Systeme in einer Unternehmensumgebung hilfreich sind (und er sollte sich damit auskennen), sind sie leider kein Allheilmittel.
Was ist zum Beispiel, wenn er auf Remotecomputern arbeitet, z. B. auf gehosteten, gemieteten Servern, gemeinsam genutzten Servern ohne vertrauenswürdiges oder dediziertes Netzwerk oder in einer Cloud-Umgebung wie EC2? Dort funktioniert kein PXE-Netboot. Marionette und Koch scheinen jedoch allgemeinere Werkzeuge zu sein, die ihm helfen könnten.
cat << EOF | DEBIAN_FRONTEND=noninteractive DEBCONF_DB_FALLBACK=Pipe /usr/bin/apt-get install somepackage
Name: ...
Template: ...
Value: ...
Owners: ...
Variables:
....
....
EOF
Auf einem bereits eingerichteten System können Sie die korrekten Werte aus der debconf-Datenbank abrufen. Mit dieser Technik können Sie das Ganze in einem einzigen Shell-Skript zusammenfassen. Zum Beispiel aus /var/cache/debconf/passwords.dat (beachten Sie, dass zusätzliche Einträge unter Debian und 5.1 und Ubuntu nicht schaden):
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
Eine andere, vielleicht einfachere Methode: (Sammeln Sie Antworten aus debconf-get-selections oder debconf-show aus dem Paket 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
Nachdem Sie debconf-set-selections ausgeführt haben, überprüfen Sie Ihre Antworten: cat /var/cache/debconf/passwords.dat
Stellen Sie beim Testen sicher, dass Sie alle Datenbanken (insbesondere die mysql-Datenbank, in der diese gespeichert ist) entfernen und bereinigen und die Konfigurationsdatenbank reparieren, falls sie beschädigt wurde:
apt-get --purge remove mysql-server*; /usr/share/debconf/fix_db.pl
Ein paar Tipps dazu: 1) Sie MÜSSEN das seen-Flag und das Passwort _again haben. 2) Sie dürfen das Passwort nicht in Anführungszeichen setzen. Es wird ohne Anführungszeichen in eine MySQL-Abfrage eingegeben, sodass Sie es bei Bedarf selbst angeben müssen. Das bedeutet auch keine Leerzeichen (glaube ich). 3) Wenn Sie Probleme haben, führen Sie die Voreinstellung von Hand durch und führen Sie dann die MySQL-Installation direkt selbst aus (in einem normalen Terminal / tty) und sehen Sie, was Debconf Ihnen sagt. Dort werden Ihnen Warnungen und Fehler angezeigt.