ในขณะที่ไฟและระบบที่คล้ายกันมีประโยชน์ในสภาพแวดล้อมขององค์กร (และเขาควรรู้เกี่ยวกับพวกเขา) แต่น่าเสียดายที่ไม่ใช่ยาครอบจักรวาล
ตัวอย่างเช่นถ้าเขาทำงานกับเครื่องระยะไกลอาจโฮสต์เซิร์ฟเวอร์ให้เช่าเซิร์ฟเวอร์ colocated โดยไม่มีเครือข่ายที่เชื่อถือได้หรือเฉพาะหรือสภาพแวดล้อมคลาวด์เช่น EC2 netboot 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 บนระบบที่ตั้งค่าไว้แล้ว เทคนิคนี้ช่วยให้คุณสามารถเก็บทุกอย่างไว้ในเชลล์สคริปต์เดียว ตัวอย่างเช่นจาก /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-selections หรือ 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-selections ให้ตรวจสอบคำตอบของคุณ: cat /var/cache/debconf/passwords.dat
และในขณะที่ทำการทดสอบให้แน่ใจว่าได้ลบและกำจัดฐานข้อมูลทั้งหมด (โดยเฉพาะฐานข้อมูล mysql ซึ่งเป็นที่จัดเก็บไว้) และแก้ไข DB config ของคุณในกรณีที่เกิดความเสียหาย:
apt-get --purge remove mysql-server*; /usr/share/debconf/fix_db.pl
เคล็ดลับเล็ก ๆ น้อย ๆ นี้: 1) คุณต้องมีการตั้งค่าสถานะที่เห็นและรหัสผ่าน _again 2) คุณต้องไม่ใส่เครื่องหมายคำพูดล้อมรอบรหัสผ่าน มันจะเข้าสู่การสืบค้น MySQL ที่ไม่มีคำตอบดังนั้นคุณต้องพูดด้วยตัวคุณเองถ้าจำเป็น นั่นก็หมายความว่าไม่มีช่องว่าง (ฉันคิดว่า) 3) หากคุณมีปัญหาให้ทำสิ่งที่ต้องทำด้วยมือแล้วเรียกใช้ MySQL ติดตั้งโดยตรงด้วยตัวคุณเอง (ในเทอร์มินัลปกติ / tty) และดูว่า debconf บอกอะไรคุณ มันจะบอกคุณคำเตือนและข้อผิดพลาดที่นั่น