Chociaż FAI i podobne systemy są pomocne w środowisku przedsiębiorstwa (i powinien o nich wiedzieć), niestety nie są panaceum.
Na przykład, co jeśli pracuje na zdalnych komputerach, być może hostowanych, wynajmowanych, kolokowanych serwerach bez zaufanej lub dedykowanej sieci lub środowisku chmurowym, takim jak EC2? Nie będzie tam działał żaden rodzaj netboota PXE. Jednak Puppet i Chef wydają się być bardziej uniwersalnymi narzędziami, które mogą mu pomóc.
cat << EOF | DEBIAN_FRONTEND=noninteractive DEBCONF_DB_FALLBACK=Pipe /usr/bin/apt-get install somepackage
Name: ...
Template: ...
Value: ...
Owners: ...
Variables:
....
....
EOF
Prawidłowe wartości można uzyskać z bazy danych debconf w systemie, który został już skonfigurowany. Ta technika pozwala ci umieścić całość w jednym skrypcie powłoki. Na przykład z /var/cache/debconf/passwords.dat (zwróć uwagę na możliwość pracy zarówno z 5.0 na Debianie, jak i 5.1 oraz Ubuntu, dodatkowe wpisy nic nie zaszkodzą):
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
Inna metoda, być może łatwiejsza: (zbierz odpowiedzi z debconf-get-selections lub debconf-show z pakietu 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
Po uruchomieniu selekcji zestawu debconf sprawdź swoje odpowiedzi: cat /var/cache/debconf/passwords.dat
Podczas testowania pamiętaj o usunięciu i wyczyszczeniu wszystkich baz danych (zwłaszcza bazy danych mysql, w której jest ona przechowywana) i napraw konfigurację DB na wypadek ich uszkodzenia:
apt-get --purge remove mysql-server*; /usr/share/debconf/fix_db.pl
Kilka wskazówek z tym: 1) MUSISZ mieć widoczną flagę i _ponowne hasło. 2) NIE WOLNO umieszczać cudzysłowów wokół hasła. Przejdzie do zapytania MySQL bez cudzysłowu, więc w razie potrzeby musisz go zacytować. Oznacza to również brak spacji (tak myślę) 3) Jeśli masz problemy, zrób ręczne przetwarzanie, a następnie uruchom instalację MySQL bezpośrednio (w normalnym terminalu / tty) i zobacz, co mówi ci debconf. Znajdziesz tam ostrzeżenia i błędy.