FAIおよび同様のシステムは企業環境では役立ちますが(そして彼はそれらについて知っておくべきです)、残念ながら万能薬ではありません。
たとえば、ホストされている、レンタルされているサーバー、信頼できるネットワークや専用ネットワークのない同じ場所にあるサーバー、またはEC2のようなクラウド環境など、リモートマシンで作業している場合はどうでしょうか。PXEネットブートの種類はそこでは動作しません。ただし、PuppetとChefは、彼を支援できるより汎用的なツールのようです。
cat << EOF | DEBIAN_FRONTEND=noninteractive DEBCONF_DB_FALLBACK=Pipe /usr/bin/apt-get install somepackage
Name: ...
Template: ...
Value: ...
Owners: ...
Variables:
....
....
EOF
すでに設定されているシステムのdebconf DBから正しい値を取得できます。この手法により、1つのシェルスクリプトにすべてを貼り付けることができます。たとえば、/ var / cache / debconf / passwords.datから(Debianと5.1の5.0とUbuntuの両方で機能することに注意してください。追加のエントリは何も傷つけません):
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
別の方法、おそらくもっと簡単:(debconf-get-selectionsから回答を集めるか、debconf-utilsパッケージからdebconf-showを集めてください):
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
debconf-set-selectionsを実行した後、答えを確認してください:cat /var/cache/debconf/passwords.dat
そして、テスト中に、すべてのデータベース(特に、これが格納されているmysqlデータベース)を削除してパージし、破損した場合に備えて構成DBを修正してください。
apt-get --purge remove mysql-server*; /usr/share/debconf/fix_db.pl
これに関するいくつかのヒント:1)確認済みフラグと_againパスワードが必要です。2)パスワードを引用符で囲まないでください。引用符なしでMySQLクエリに入力されるため、必要に応じて自分で引用する必要があります。また、スペースがないことも意味します(私は思う)3)問題がある場合は、手動でpreseedを実行してから、MySQLインストールを(通常の端末/ ttyで)自分で直接実行し、debconfの内容を確認します。そこに警告とエラーが表示されます。