ฉันใช้ cfengine ตั้งแต่ 5 ปีในการติดตั้งเดเบียน (จากไม้ไปจนถึงเงินในปัจจุบัน) ด้วยการกัดฉันสร้าง debian-installer แบบกำหนดเอง ขอบคุณที่คาดเดาคำถามเดียวขึ้นมา: "ชื่อโฮสต์คืออะไร" หลังจาก cfengine นี้กำหนดค่าเซิร์ฟเวอร์ทั้งหมด (dns + dhcp ด้วย dnssec, samba, ntpd, ผู้ใช้เริ่มต้น (Samba) และรหัสผ่าน, ssh, openvpn, apache vHosts, สำรองข้อมูลด้วย rsnapshot บน LVM, webminmodules แบบกำหนดเอง ฯลฯ )
แม้เมื่อฉันติดตั้งเซิร์ฟเวอร์เดียวฉันก็ใช้ cfengine-สคริปต์จากกล่องเครื่องมือของฉันเช่นนี้:
control:
Repository = ( $(CFREPO) )
IfElapsed = ( 0 )
Syslog = ( on )
actionsequence = ( editfiles shellcommands )
CPTYPE = ( sum )
editfiles:
{ /etc/sysctl.conf
# don't spam on tty:
BeginGroupIfNoSuchLine "kernel.printk.*=.*2 4 1 7"
DeleteLinesMatching "^kernel.printk.*=.*"
Append "kernel/printk=2 4 1 7"
EndGroup
# no E(xplicit?) C(ongestion) N(otification)
BeginGroupIfNoSuchLine "net.ipv4.tcp_ecn.*=.*0"
DeleteLinesMatching "^net.ipv4.tcp_ecn.*=.*"
Append "net/ipv4/tcp_ecn=0"
EndGroup
BeginGroupIfNoSuchLine "net.ipv4.ip_forward.*=.*1"
DeleteLinesMatching "^net.ipv4.ip_forward.*=.*"
Append "net/ipv4/ip_forward=1"
EndGroup
DefineClasses "configchange_sysctl"
}
shellcommands:
configchange_sysctl::
"/sbin/sysctl -p /etc/sysctl.conf"
# vim: set ts=2:
ฉันชอบ cfengine เพราะสคริปต์ cf2 นั้นอ่านได้ค่อนข้างมนุษย์
ดังนั้นมันจึงคุ้มค่าที่จะทำงานกับเครื่องมือสำหรับการจัดการการกำหนดค่าอัตโนมัติ
/ Thorsten