ผู้เขียนได้แนะนำการติดตั้ง RedHat/Fedora ผ่านระบบเครือข่าย และกลไกการทำงานของระบบการติดตั้งแบบเบ็ดเสร็จ KickStart Installation ไปในสองตอนที่ผ่านมา โดยหลักการของการติดตั้งผ่านระบบเครือข่ายนั้นเป็นการใช้คุณสมบัติที่โปรแกรม Anaconda มีอยู่ในตัวให้ทำการติดตั้งระบบปฏิบัติการลีนุกซ์ผ่านระบบเครือข่ายแทนการติดตั้งด้วยซีดีรอมธรรมดา โดยอาศัยเว็บเซิร์ฟเวอร์หรือไฟล์เซิร์ฟเวอร์ ( NFS หรือ FTP Server ) เป็นแหล่งเก็บและแจกจ่ายไฟล์แพคเกจที่ต้องใช้ขณะติดตั้งทั้งหมดไว้ ซึ่งผู้ติดตั้งสามารถเลือกได้ว่าจะบูตด้วยแผ่นซีดีชุดติดตั้งแผ่นแรก หรือจะสร้างแผ่นบูตเพื่อการติดตั้งขึ้นใหม่จากไฟล์ boot.iso ก็ได้เพื่อเริ่มต้นการติดตั้งจากตัวเครื่องลูกข่าย
ถึงแม้ระบบจะสามารถติดตั้งผ่านระบบเครือข่ายได้แล้วก็ตาม แต่ขั้นตอนการกำหนดค่าต่างๆ ระหว่างดำเนินการติดตั้งนั้น ผู้ติดตั้งยังคงต้องเป็นผู้ป้อนค่าต่างๆ ที่เครื่องลูกข่ายเอง เช่น การจัดแบ่งพาร์ทิชั่น การกำหนดรหัสผ่านของ root เป็นต้น ทำให้กระบวนการติดตั้งยังไม่เป็นไปโดยอัตโนมัติ เพื่อแก้ไขปัญหานี้ กลไกการติดตั้งแบบเบ็ดเสร็จหรือที่เรียกว่า KickStart Installation จึงถูกนำมาเสริมให้เกิดความสะดวกมากยิ่งขึ้น โดยนำการกำหนดค่าทั้งหลายที่จำเป็นต้องป้อนในขณะทำการติดตั้งระบบปฏิบัติการเหล่านั้น ไประบุไว้ในไฟล์ ks.cfg ที่เก็บไว้บนแผ่นฟล๊อปปี้ดิสก์ จากนั้นเมื่อจะทำการติดตั้งก็เพียงแค่สั่งให้โปรแกรม Anaconda ไปอ่านไฟล์นี้ในแผ่นดิสก์ ขั้นตอนการติดตั้งทั้งหมดก็จะดำเนินไปเองโดยผู้ติดตั้งไม่ต้องคอยป้อนค่าต่างๆ ที่หน้าเครื่องลูกข่ายอีกเลย
อย่างไรก็ตามวิธีการดังที่กล่าวมานี้ยังไม่ค่อยสมบูรณ์นัก เนื่องจากผู้ติดตั้งยังคงต้องใช้ทั้งแผ่นซีดีรอมในการบูตเครื่องและต้องใส่แผ่นฟล็อปปี้ดิสก์เป็นลำดับต่อมา จากนั้นต้องดักพิมพ์คำสั่งว่า linux ks=floppy ในจังหวะแรกให้ทันภายในระยะเวลาที่กำหนดอีกด้วย หากมีเครื่องเป็นจำนวนมากที่ต้องทำการติดตั้งคงไม่ใช่งานที่สนุกเท่าไรนัก
ดังนั้นในครั้งนี้จะเป็นการปรับปรุงขึ้นอีกเล็กน้อย โดยจะนำทั้งสองส่วนข้างต้นที่ได้กล่าวไปแล้วมารวมเข้าด้วยกัน โดยสร้างแผ่นซีดีรอมที่ใช้บูตเพื่อการติดตั้งนี้ขึ้นมาใหม่พร้อมกับบรรจุไฟล์ ks.cfg เอาไว้ภายในเพื่อให้ทุกขั้นตอนเป็นไปโดยอัตโนมัติมากยิ่งขึ้น
 รูปที่ 1 การทำงานร่วมกันของโปรแกรมติดตั้งกับไฟล์ Kickstart
สิ่งที่จำเป็นต้องใช้
ก่อนที่จะเริ่มลงมือควรเตรียมเครื่องมือและสิ่งต่างๆ ที่จำเป็นให้พร้อมเสียก่อน ในที่นี้จะกล่าวถึงเฉพาะสิ่งที่จำเป็นต่อการสร้างแผ่นบูตที่รวมเอาไฟล์ Kickstart ไว้ด้วยเท่านั้น ประกอบด้วย
- แผ่นซีดีรอมชุดติดตั้งแผ่นแรก ซึ่งจะมีไฟล์ boot.iso อยู่ภายในแผ่นนี้
- ไฟล์ Kickstart Configuration ( ks.cfg ) ซึ่งได้เขียนคำสั่งที่ระบุรายละเอียดขั้นตอนการติดตั้งเครื่องลูกข่ายที่ต้องการไว้ตามต้องการแล้ว
- เครื่องพีซีที่มีเครื่องบันทึกแผ่นซีดี ( CD-Writer ) ติดตั้งระบบปฏิบัติการลีนุกซ์ RedHat/Fedora ไว้พร้อมทั้งคอนฟิกให้ใช้งาน CD-Writer ไว้เรียบร้อยแล้ว
ขั้นตอนการสร้าง Kickstart CD
เป้าหมายของเราคือการนำไฟล์ ks.cfg เข้าไปผนึกรวมเป็นส่วนหนึ่งของ boot.iso ซึ่งเป็นอิมเมจของแผ่นบูตเพื่อการติดตั้งที่ทาง RedHat/Fedora มีไว้ให้แล้ว แต่ไม่ใช่เพียงแค่นั้นเพราะจะต้องแก้ไขคอนฟิกของโปรแกรม isolinux ซึ่งเป็นโปรแกรมบูตโหลดเดอร์ของแผ่นซีดีรอมนี้อีกด้วย ดังนั้นจึงมีขั้นตอนทั้งสิ้นดังนี้
- เปิดไฟล์ ISO image ออกเพื่อการแก้ไขภายใน
- นำไฟล์ ks.cfg เข้าไปเก็บไว้ภายใน ISO image
- แก้ไขไฟล์คอนฟิกของ isolinux ภายใน ISO image
- สร้างไฟล์ ISO image ขึ้นใหม่จากกลุ่มไฟล์ที่ได้รับการแก้ไขแล้ว
- เบิร์น ISO image ใหม่ลงสู่แผ่นซีดีรอม
ปฏิบัติการ 10 ขั้นตอน
ขั้นตอนการปฏิบัติจะเป็นการทำงานที่เครื่องพีซีลีนุกซ์ทั้งหมด โดยเริ่มต้นที่
- สำเนาไฟล์ boot.iso จากแผ่นซีดีชุดติดตั้งแผ่นที่1 และ ks.cfg ที่เตรียมไว้แล้ว นำไปไว้ที่ /root
- สร้างไดเร็คทอรี่ใหม่เพื่อใช้เป็น mount point ของ ISO image ในที่นี้กำหนดเป็น /root/kscd
- ทำการเม้าต์ไฟล์ boot.iso เข้ากับ mount point ที่เตรียมไว้ด้วยคำสั่ง mount
( ดังรูปที่ 2 และ 3)
 รูปที่ 2 สร้างไดเร็คทอรี่ /root/kscd และไฟล์เริ่มต้นที่นำมาใช้
 รูปที่ 3 การเม้าต์ boot.iso เข้าสู่ /root/kscd
- สร้างไดเร็คทอรี่ /root/newimage ไว้สำหรับแก้ไขกลุ่มไฟล์ของ ISO image แล้วสำเนาไฟล์ทั้งหมดจาก /root/kscd มาที่นี่
 รูปที่ 4 สำเนาไฟล์เพื่อนำมาแก้ไข
- ตรวจสอบความถูกต้องของไฟล์ ks.cfg อีกครั้งให้มั่นใจว่าไม่มีข้อผิดพลาดใดๆ แล้วสำเนาไฟล์นี้เก็บไว้ที่ /root/newimage
 รูปที่ 5 สำเนาไฟล์ ks.cfg เข้าสู่ต้นฉบับของ ISO image
- ปรับค่า Permission ของไฟล์ isolinux.cfg ให้สามารถแก้ไขได้ แล้วใช้โปรแกรมเท็กอีดิตเตอร์ที่ถนัดแก้ไขข้อความให้เริ่มต้นติดตั้งแบบ Kickstart โดยอัตโนมัติ
 รูปที่ 6 แก้ไขไฟล์ isolinux.cfg
- การแก้ไขไฟล์ isolinux.cfg ให้พิจารณาข้อความบรรทัดต่อไปนี้
- บรรทัดแรก เปลี่ยนจากคำว่า default linux เป็น default ks เพื่อให้เข้าสู่การติดตั้งแบบ Kickstart โดยอัตโนมัติ
- บรรทัดข้อความว่า timeout 600 เปลี่ยนเป็น timeout 100 เพื่อลดระยะเวลารอคอยให้ผู้ติดตั้งพิมพ์บรรทัดคำสั่งหรือกดปุ่มต่างๆ จาก 60 วินาทีเหลือแค่ 10 วินาทีจะได้ไม่ให้เสียเวลานานเกินไป
- บรรทัดข้อความว่า display boot.msg เปลี่ยนเป็น snake.msg เพื่อเปลี่ยนหน้าจอบูตของแผ่นซีดีเป็นรูปงู ( Anaconda )
- บรรทัดข้อความ append ในกลุ่มคอนฟิก label ks ( โปรดดูรูปที่ 7 ประกอบ) เปลี่ยนคำว่า ks เป็น ks=cdrom:ks.cfg เพื่อบังคับให้โปรแกรม anaconda ทำการติดตั้งแบบ Kickstart โดยอ่านไฟล์คำสั่งจากแผ่นซีดีรอมนี้เองชื่อไฟล์ ks.cfg เมื่อปรับแก้เสร็จแล้วให้บันทึกไฟล์นี้ไว้

รูปที่ 7 ข้อความที่แก้ไขแล้วของไฟล์ isolinux.cfg
- ลำดับต่อไปเป็นการสร้างกลุ่มไฟล์ที่ได้รับการปรับปรุงแล้วใน /root/newimage มาทำให้เป็นไฟล์ ISO image ใหม่ โดยใช้คำสั่งดังนี้
# cd /root
# mkisofs -o mykscd.iso -r -J -V "MyKScd" -b isolinux/isolinux.bin \
-c isolinux/boot.cat -no-emul-boot newimage
จะปรากฏไฟล์ mykscd.iso ขึ้นใน /root มีขนาดใหญ่กว่า boot.iso ซึ่งเป็นต้นฉบับเล็กน้อย
- ให้นำแผ่นซีดีรอมเปล่า ( CD-R หรือ CD-RW ) ที่จะใช้เป็นแผ่นซีดีบูตติดตั้งแบบ Kickstart ใส่ไว้ที่ไดร้ว CD-Writer แล้วพิมพ์คำสั่งต่อไปนี้เพื่อบันทึกข้อมูลจาก ISO image ใหม่
# cdrecord blank=fast dev=/dev/hdc
# cdrecord -raw dev=/dev/hdc mykscd.iso
โดยคำสั่งแรกเป็นการลบข้อมูลในแผ่น CD-RW ออกเสียก่อน จากนั้นจึงบันทึกข้อมูลจาก mykscd.iso ลงไป ในตัวอย่างเครื่องบันทึกซีดีรอมติดตั้งเป็น /dev/hdc
- หลังจากสร้างแผ่นซีดีรอมสำเร็จแล้วให้นำไปทดสอบความถูกต้องโดยนำไปเปิดอ่านด้วยเครื่องพีซีจะต้องเห็นข้อมูลครบถ้วน จากนั้นนำไปบูตที่เครื่องลูกข่ายที่ต้องการติดตั้ง RedHat/Fedora ผ่านระบบเครือข่ายจะต้องบูตได้และเริ่มต้นติดตั้งตามที่ได้ระบุไว้ในไฟล์ isolinux.cfg และ ks.cfg
เป็นเพียงทางเลือกหนึ่งเท่านั้น
มาถึงตอนนี้จะเห็นว่าทันทีที่บูตเครื่องด้วยแผ่นซีดีนี้เพียงแผ่นเดียวการติดตั้งลีนุกซ์ก็จะเริ่มต้นและดำเนินการติดตั้งไปจนจบเองโดยอัตโนมัติ ผู้ติดตั้งสามารถดึงแผ่นซีดีนี้ออกไปใช้บูตเครื่องอื่นๆ เพื่อติดตั้งต่อไปได้ทันทีหลังจากโปรแกรมติดตั้งเริ่มเข้าสู่เครือข่าย ทำให้ประหยัดเวลาของผู้ติดตั้งโปรแกรมได้มาก และไม่จำเป็นต้องสร้างแผ่นซีดีรอมนี้หลายแผ่นให้สิ้นเปลืองแต่อย่างใด งานที่เหลือจึงมีแค่รอให้เครื่องแต่ละเครื่องติดตั้งเสร็จแล้วปิดเครื่องเท่านั้น ข้อสังเกตที่อยากจะฝากไว้ก็คือ ไฟล์ ks.cfg ที่เตรียมไว้นั้นสามารถมีได้หลายไฟล์โดยตั้งชื่อให้แตกต่างกันเพื่อให้มีทางเลือกในการติดตั้งได้หลากหลายโดยใช้แผ่นซีดีรอมเพียงแผ่นเดียว และประกอบกับในขั้นตอนที่ 7.4 สามารถเตรียม label เป็นทางเลือกได้หลาย label เพื่อให้ผู้ติดตั้งสามารถเลือกไฟล์ ks.cfg ได้ตามต้องการ
การติดตั้งผ่านระบบเครือข่ายและการใช้ Kickstart Installation ยังมีลูกเล่นอีกมากมาย คอยติดตามตอนต่อไปนะครับว่าจะแหวกแนวไปทางไหนได้อีก
|