FAI ve benzeri sistemler işletme ortamında yardımcı olurken (ve onlar hakkında bilgi sahibi olmalıdır), ne yazık ki her derde deva değiller.
Örneğin, uzaktaki makineler üzerinde, belki de barındırılan, kiralanan sunucular, güvenilir veya özel bir ağa sahip olmayan ortak sunucular veya EC2 gibi bir bulut ortamı üzerinde çalışıyorsa ne olur? Orada hiçbir tür PXE ağı yok. Kukla ve Şef, ona yardım edebilecek daha genel amaçlı araçlar gibi görünüyor.
cat << EOF | DEBIAN_FRONTEND=noninteractive DEBCONF_DB_FALLBACK=Pipe /usr/bin/apt-get install somepackage
Name: ...
Template: ...
Value: ...
Owners: ...
Variables:
....
....
EOF
Daha önce kurulmuş bir sistemde debconf DB'den doğru değerleri alabilirsiniz. Bu teknik, her şeyi tek bir kabuk betiğine yapıştırmanıza izin verir. Örneğin, /var/cache/debconf/passwords.dat adresinden (Debian ve 5.1 ve Ubuntu'daki 5.0'larla birlikte çalışabilme yeteneğine dikkat edin, fazladan girişler hiçbir şeye zarar vermez):
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
Başka bir yöntem, belki de daha kolay: (debconf-get-selection'dan veya debconf-show'dan debconf-utils paketinden gelen yanıtları toplayın):
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-seçimleri yaptıktan sonra cevaplarınızı kontrol edin: cat /var/cache/debconf/passwords.dat
Ve test sırasında, tüm veritabanlarını (özellikle bunun depolandığı mysql veritabanını) kaldırdığınızdan ve temizlediğinizden ve config DB'nizi bozduklarında düzeltdiğinizden emin olun:
apt-get --purge remove mysql-server*; /usr/share/debconf/fix_db.pl
Bununla ilgili birkaç ipucu: 1) Görülen bayrağa ve _again şifresine sahip olmalısınız. 2) Şifrenin etrafına tırnak koymamanız GEREKİR. Bir MySQL sorgusundan alıntı yapılmayacaktır, bu yüzden gerekirse kendiniz alıntı yapmanız gerekir. Bu da boşluk olmadığı anlamına gelir (bence) 3) Sorun yaşarsanız, önceden ayarlamayı elle yapın ve MySQL kurulumunu doğrudan kendiniz çalıştırın (normal bir terminalde / tty'de) ve debconf'un size ne söylediğini görün. Size orada uyarıları ve hataları söyleyecektir.