Хоча FAI та подібні системи корисні у корпоративному середовищі (і він повинен знати про них), вони, на жаль, не є панацеєю.
Наприклад, що робити, якщо він працює на віддалених машинах, можливо, розміщених, орендованих серверах, кольорових серверах без надійної або виділеної мережі або хмарному середовищі на зразок EC2? Там не працює жодна PXE-мережа. Лялька та шеф-кухар здаються інструментами загального призначення, які можуть йому допомогти.
cat << EOF | DEBIAN_FRONTEND=noninteractive DEBCONF_DB_FALLBACK=Pipe /usr/bin/apt-get install somepackage
Name: ...
Template: ...
Value: ...
Owners: ...
Variables:
....
....
EOF
Правильні значення можна отримати з БД debconf у вже налаштованій системі. Цей прийом дозволяє вам вставити все в один сценарій оболонки. Наприклад, з /var/cache/debconf/passwords.dat (зверніть увагу на можливість роботи з 5.0 і Debian, і 5.1 та 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-select ili debconf-show з пакету 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
Після запуску debconf-set-select, перевірте свої відповіді: cat /var/cache/debconf/passwords.dat
І під час тестування не забудьте видалити та очистити всі бази даних (особливо базу даних mysql, де це зберігається) та виправити конфігураційну БД у випадку їх пошкодження:
apt-get --purge remove mysql-server*; /usr/share/debconf/fix_db.pl
Кілька порад щодо цього: 1) У вас ОБОВ'ЯЗКОВО мати побачений прапор та пароль _again. 2) Ви НЕ МОЖЕТЕ ставити лапки навколо пароля. Він перейде в запит MySQL без котирування, тому вам доведеться його цитувати самостійно, якщо потрібно. Це також означає, що немає пробілів (я думаю) 3) Якщо у вас виникли проблеми, виконайте попередню подачу вручну, а потім запустіть інсталяцію MySQL безпосередньо самостійно (у звичайному терміналі / tty) і подивіться, що вам каже decon. Він повідомить вам попередження та помилки там.