linux training in Thailand
| Home | Articles | Download | Free Linux Tips | Resources | Training | Web Link | Linux Training English|
| Courses | Schedule | Price & Promotion | Map | Customer Ref. | Instructors | Certification | FAQ | Registration Form |
สถาบันฯ ขอแจ้งปิดทำการระหว่างวันที่ 27 -31 กรกฏาคม 2558 และเปิดทำการปกติวันที่ 3 สิงหาคม 2558
We are on vacations 5 days in July 27-31, 2015 Please contract Line ID : nok_fly or e-mail : info@itdestination.com
ITDestination จะปิดปรับปรุงเว็บไซต์ ตั้งแต่วันที่ 7 - 9 มิถุนายน 2556
อาจจะทำให้ใช้งานไม่ได้ในบริการ Webboard Freetips และ E-Learning จึงขออภัยในความไม่สะดวกมา ณ ที่นี้
สถาบันฯ ขอแจ้งปิดทำการวันที่ 22-28 กุมภาพันธ์ 2560 และจะเปิดทำการปกติในวันที่ 1 มีนาคม 2560
กรณีติดต่อส่งข้อความมาที่ Facebook: LinuxITDestination หรือ e-mail: info@itdestination.com ซึ่งจะติดต่อกลับประมาณ 17.00 น.
ผู้ลงทะเบียนอบรมสามารถทำข้อสอบ online ในช่วงที่มาอบรมเพื่อทบทวนความรู้ ทำได้ไม่จำกัดจำนวนครั้ง มีข้อเฉลยที่ถูกต้องแนะนำ
สอบถามรายละเอียดโทร 089 890-5494 >>> อ่านรายละเอียด... คลิ๊ก

ติดตั้ง RedHat Fedora สไตล์อัลเตอร์ ตอน สร้างแผ่นซีดี KickStart

โดย ธีรภัทร มนตรีศาสตร์,RHCE,LPIC-2

ผู้เขียนได้แนะนำการติดตั้ง RedHat/Fedora ผ่านระบบเครือข่าย และกลไกการทำงานของระบบการติดตั้งแบบเบ็ดเสร็จ KickStart Installation ไปในสองตอนที่ผ่านมา โดยหลักการของการติดตั้งผ่านระบบเครือข่ายนั้นเป็นการใช้คุณสมบัติที่โปรแกรม Anaconda มีอยู่ในตัวให้ทำการติดตั้งระบบปฏิบัติการลีนุกซ์ผ่านระบบเครือข่ายแทนการติดตั้งด้วยซีดีรอมธรรมดา โดยอาศัยเว็บเซิร์ฟเวอร์หรือไฟล์เซิร์ฟเวอร์ ( NFS หรือ FTP Server ) เป็นแหล่งเก็บและแจกจ่ายไฟล์แพคเกจที่ต้องใช้ขณะติดตั้งทั้งหมดไว้ ซึ่งผู้ติดตั้งสามารถเลือกได้ว่าจะบูตด้วยแผ่นซีดีชุดติดตั้งแผ่นแรก หรือจะสร้างแผ่นบูตเพื่อการติดตั้งขึ้นใหม่จากไฟล์ boot.iso ก็ได้เพื่อเริ่มต้นการติดตั้งจากตัวเครื่องลูกข่าย ถึงแม้ระบบจะสามารถติดตั้งผ่านระบบเครือข่ายได้แล้วก็ตาม แต่ขั้นตอนการกำหนดค่าต่างๆ ระหว่างดำเนินการติดตั้งนั้น ผู้ติดตั้งยังคงต้องเป็นผู้ป้อนค่าต่างๆ ที่เครื่องลูกข่ายเอง เช่น การจัดแบ่งพาร์ทิชั่น การกำหนดรหัสผ่านของ root เป็นต้น ทำให้กระบวนการติดตั้งยังไม่เป็นไปโดยอัตโนมัติ เพื่อแก้ไขปัญหานี้ กลไกการติดตั้งแบบเบ็ดเสร็จหรือที่เรียกว่า KickStart Installation จึงถูกนำมาเสริมให้เกิดความสะดวกมากยิ่งขึ้น โดยนำการกำหนดค่าทั้งหลายที่จำเป็นต้องป้อนในขณะทำการติดตั้งระบบปฏิบัติการเหล่านั้น ไประบุไว้ในไฟล์ ks.cfg ที่เก็บไว้บนแผ่นฟล๊อปปี้ดิสก์ จากนั้นเมื่อจะทำการติดตั้งก็เพียงแค่สั่งให้โปรแกรม Anaconda ไปอ่านไฟล์นี้ในแผ่นดิสก์ ขั้นตอนการติดตั้งทั้งหมดก็จะดำเนินไปเองโดยผู้ติดตั้งไม่ต้องคอยป้อนค่าต่างๆ ที่หน้าเครื่องลูกข่ายอีกเลย อย่างไรก็ตามวิธีการดังที่กล่าวมานี้ยังไม่ค่อยสมบูรณ์นัก เนื่องจากผู้ติดตั้งยังคงต้องใช้ทั้งแผ่นซีดีรอมในการบูตเครื่องและต้องใส่แผ่นฟล็อปปี้ดิสก์เป็นลำดับต่อมา จากนั้นต้องดักพิมพ์คำสั่งว่า linux ks=floppy ในจังหวะแรกให้ทันภายในระยะเวลาที่กำหนดอีกด้วย หากมีเครื่องเป็นจำนวนมากที่ต้องทำการติดตั้งคงไม่ใช่งานที่สนุกเท่าไรนัก ดังนั้นในครั้งนี้จะเป็นการปรับปรุงขึ้นอีกเล็กน้อย โดยจะนำทั้งสองส่วนข้างต้นที่ได้กล่าวไปแล้วมารวมเข้าด้วยกัน โดยสร้างแผ่นซีดีรอมที่ใช้บูตเพื่อการติดตั้งนี้ขึ้นมาใหม่พร้อมกับบรรจุไฟล์ ks.cfg เอาไว้ภายในเพื่อให้ทุกขั้นตอนเป็นไปโดยอัตโนมัติมากยิ่งขึ้น

รูปที่ 1 การทำงานร่วมกันของโปรแกรมติดตั้งกับไฟล์ Kickstart


สิ่งที่จำเป็นต้องใช้
ก่อนที่จะเริ่มลงมือควรเตรียมเครื่องมือและสิ่งต่างๆ ที่จำเป็นให้พร้อมเสียก่อน ในที่นี้จะกล่าวถึงเฉพาะสิ่งที่จำเป็นต่อการสร้างแผ่นบูตที่รวมเอาไฟล์ Kickstart ไว้ด้วยเท่านั้น ประกอบด้วย
  1. แผ่นซีดีรอมชุดติดตั้งแผ่นแรก ซึ่งจะมีไฟล์ boot.iso อยู่ภายในแผ่นนี้
  2. ไฟล์ Kickstart Configuration ( ks.cfg ) ซึ่งได้เขียนคำสั่งที่ระบุรายละเอียดขั้นตอนการติดตั้งเครื่องลูกข่ายที่ต้องการไว้ตามต้องการแล้ว
  3. เครื่องพีซีที่มีเครื่องบันทึกแผ่นซีดี ( CD-Writer ) ติดตั้งระบบปฏิบัติการลีนุกซ์ RedHat/Fedora ไว้พร้อมทั้งคอนฟิกให้ใช้งาน CD-Writer ไว้เรียบร้อยแล้ว
ขั้นตอนการสร้าง Kickstart CD
เป้าหมายของเราคือการนำไฟล์ ks.cfg เข้าไปผนึกรวมเป็นส่วนหนึ่งของ boot.iso ซึ่งเป็นอิมเมจของแผ่นบูตเพื่อการติดตั้งที่ทาง RedHat/Fedora มีไว้ให้แล้ว แต่ไม่ใช่เพียงแค่นั้นเพราะจะต้องแก้ไขคอนฟิกของโปรแกรม isolinux ซึ่งเป็นโปรแกรมบูตโหลดเดอร์ของแผ่นซีดีรอมนี้อีกด้วย ดังนั้นจึงมีขั้นตอนทั้งสิ้นดังนี้
  1. เปิดไฟล์ ISO image ออกเพื่อการแก้ไขภายใน
  2. นำไฟล์ ks.cfg เข้าไปเก็บไว้ภายใน ISO image
  3. แก้ไขไฟล์คอนฟิกของ isolinux ภายใน ISO image
  4. สร้างไฟล์ ISO image ขึ้นใหม่จากกลุ่มไฟล์ที่ได้รับการแก้ไขแล้ว
  5. เบิร์น ISO image ใหม่ลงสู่แผ่นซีดีรอม
ปฏิบัติการ 10 ขั้นตอน
ขั้นตอนการปฏิบัติจะเป็นการทำงานที่เครื่องพีซีลีนุกซ์ทั้งหมด โดยเริ่มต้นที่
  1. สำเนาไฟล์ boot.iso จากแผ่นซีดีชุดติดตั้งแผ่นที่1 และ ks.cfg ที่เตรียมไว้แล้ว นำไปไว้ที่ /root
  2. สร้างไดเร็คทอรี่ใหม่เพื่อใช้เป็น mount point ของ ISO image ในที่นี้กำหนดเป็น /root/kscd
  3. ทำการเม้าต์ไฟล์ boot.iso เข้ากับ mount point ที่เตรียมไว้ด้วยคำสั่ง mount
    ( ดังรูปที่ 2 และ 3)

    รูปที่ 2 สร้างไดเร็คทอรี่ /root/kscd และไฟล์เริ่มต้นที่นำมาใช้




    รูปที่ 3 การเม้าต์ boot.iso เข้าสู่ /root/kscd

  4. สร้างไดเร็คทอรี่ /root/newimage ไว้สำหรับแก้ไขกลุ่มไฟล์ของ ISO image แล้วสำเนาไฟล์ทั้งหมดจาก /root/kscd มาที่นี่


    รูปที่ 4 สำเนาไฟล์เพื่อนำมาแก้ไข

  5. ตรวจสอบความถูกต้องของไฟล์ ks.cfg อีกครั้งให้มั่นใจว่าไม่มีข้อผิดพลาดใดๆ แล้วสำเนาไฟล์นี้เก็บไว้ที่ /root/newimage


    รูปที่ 5 สำเนาไฟล์ ks.cfg เข้าสู่ต้นฉบับของ ISO image

  6. ปรับค่า Permission ของไฟล์ isolinux.cfg ให้สามารถแก้ไขได้ แล้วใช้โปรแกรมเท็กอีดิตเตอร์ที่ถนัดแก้ไขข้อความให้เริ่มต้นติดตั้งแบบ Kickstart โดยอัตโนมัติ


    รูปที่ 6 แก้ไขไฟล์ isolinux.cfg

  7. การแก้ไขไฟล์ isolinux.cfg ให้พิจารณาข้อความบรรทัดต่อไปนี้
    1. บรรทัดแรก เปลี่ยนจากคำว่า default linux เป็น default ks เพื่อให้เข้าสู่การติดตั้งแบบ Kickstart โดยอัตโนมัติ
    2. บรรทัดข้อความว่า timeout 600 เปลี่ยนเป็น timeout 100 เพื่อลดระยะเวลารอคอยให้ผู้ติดตั้งพิมพ์บรรทัดคำสั่งหรือกดปุ่มต่างๆ จาก 60 วินาทีเหลือแค่ 10 วินาทีจะได้ไม่ให้เสียเวลานานเกินไป
    3. บรรทัดข้อความว่า display boot.msg เปลี่ยนเป็น snake.msg เพื่อเปลี่ยนหน้าจอบูตของแผ่นซีดีเป็นรูปงู ( Anaconda )
    4. บรรทัดข้อความ append ในกลุ่มคอนฟิก label ks ( โปรดดูรูปที่ 7 ประกอบ) เปลี่ยนคำว่า ks เป็น ks=cdrom:ks.cfg เพื่อบังคับให้โปรแกรม anaconda ทำการติดตั้งแบบ Kickstart โดยอ่านไฟล์คำสั่งจากแผ่นซีดีรอมนี้เองชื่อไฟล์ ks.cfg เมื่อปรับแก้เสร็จแล้วให้บันทึกไฟล์นี้ไว้



    รูปที่ 7 ข้อความที่แก้ไขแล้วของไฟล์ isolinux.cfg
  8. ลำดับต่อไปเป็นการสร้างกลุ่มไฟล์ที่ได้รับการปรับปรุงแล้วใน /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 ซึ่งเป็นต้นฉบับเล็กน้อย

  9. ให้นำแผ่นซีดีรอมเปล่า ( 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

  10. หลังจากสร้างแผ่นซีดีรอมสำเร็จแล้วให้นำไปทดสอบความถูกต้องโดยนำไปเปิดอ่านด้วยเครื่องพีซีจะต้องเห็นข้อมูลครบถ้วน จากนั้นนำไปบูตที่เครื่องลูกข่ายที่ต้องการติดตั้ง RedHat/Fedora ผ่านระบบเครือข่ายจะต้องบูตได้และเริ่มต้นติดตั้งตามที่ได้ระบุไว้ในไฟล์ isolinux.cfg และ ks.cfg

เป็นเพียงทางเลือกหนึ่งเท่านั้น
มาถึงตอนนี้จะเห็นว่าทันทีที่บูตเครื่องด้วยแผ่นซีดีนี้เพียงแผ่นเดียวการติดตั้งลีนุกซ์ก็จะเริ่มต้นและดำเนินการติดตั้งไปจนจบเองโดยอัตโนมัติ ผู้ติดตั้งสามารถดึงแผ่นซีดีนี้ออกไปใช้บูตเครื่องอื่นๆ เพื่อติดตั้งต่อไปได้ทันทีหลังจากโปรแกรมติดตั้งเริ่มเข้าสู่เครือข่าย ทำให้ประหยัดเวลาของผู้ติดตั้งโปรแกรมได้มาก และไม่จำเป็นต้องสร้างแผ่นซีดีรอมนี้หลายแผ่นให้สิ้นเปลืองแต่อย่างใด งานที่เหลือจึงมีแค่รอให้เครื่องแต่ละเครื่องติดตั้งเสร็จแล้วปิดเครื่องเท่านั้น ข้อสังเกตที่อยากจะฝากไว้ก็คือ ไฟล์ ks.cfg ที่เตรียมไว้นั้นสามารถมีได้หลายไฟล์โดยตั้งชื่อให้แตกต่างกันเพื่อให้มีทางเลือกในการติดตั้งได้หลากหลายโดยใช้แผ่นซีดีรอมเพียงแผ่นเดียว และประกอบกับในขั้นตอนที่ 7.4 สามารถเตรียม label เป็นทางเลือกได้หลาย label เพื่อให้ผู้ติดตั้งสามารถเลือกไฟล์ ks.cfg ได้ตามต้องการ การติดตั้งผ่านระบบเครือข่ายและการใช้ Kickstart Installation ยังมีลูกเล่นอีกมากมาย คอยติดตามตอนต่อไปนะครับว่าจะแหวกแนวไปทางไหนได้อีก