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

จากครั้งที่แล้วได้กล่าวถึงการติดตั้ง RedHat/Fedora ผ่านระบบเน็ตเวิร์กไปแล้วนั้น สรุปได้ว่ามีส่วนประกอบหลักๆ 2 ส่วน คือ การนำไฟล์ทั้งหมดที่มีในซีดีรอม 3-4 แผ่นของ RedHat/Fedora ไปสำเนาเก็บไว้ที่ FTP Server เพื่อส่งให้แก่โปรแกรม Anaconda ในขณะที่กำลังทำการติดตั้งเครื่องลูกข่ายผ่านระบบเน็ตเวิร์กแทนที่จะติดตั้งผ่านแผ่นซีดีรอมเท่านั้นเอง อีกส่วนหนึ่งที่ได้กล่าวถึงไปแล้วก็คือ การสร้างแผ่นซีดีรอมที่ใช้บูตเครื่องลูกข่ายเพื่อการติดตั้ง ซึ่งไม่มีอะไรยุ่งยากเพียงแค่นำไฟล์ boot.iso ที่อยู่ในแผ่นซีดีรอมแผ่นแรกของโปรแกรมชุดติดตั้ง RedHat/Fedora มาเบิร์นลงในแผ่นซีดีรอมแล้วนำไปบูตที่เครื่องลูกข่ายที่ต้องการที่จะติดตั้งได้ทันที ถึงแม้จะสามารถทำการติดตั้ง RedHat/Fedora ผ่านระบบเน็ตเวิร์กได้แล้วก็ตาม แต่ยังขาดในเรื่องความสะดวกอยู่อีกมาก ทั้งนี้เนื่องจากผู้ติดตั้งจำเป็นต้องคอยเลือกตัวเลือกหรือป้อนค่าต่างๆ โดยตลอดทุกขั้นตอนการติดตั้ง เช่น การเลือกแพคเกจ การจัดแบ่งพาร์ทิชั่น การกำหนดรหัสผ่านของ root เป็นต้น ยิ่งมีการติดตั้งเครื่องลูกข่ายจำนวนมากๆ ในเวลาเดียวกันยิ่งทำให้ประสิทธิภาพลดลง อาจจะทำให้การติดตั้งผ่านระบบเน็ตเวิร์กมีประโยชน์ลดลงไปเนื่องจากเสียเวลาไปกับขั้นตอนเหล่านี้ คำถามที่เกิดขึ้นจากปัญหาข้างต้นนี้ คือ จะทำอย่างไรที่จะให้เจ้าโปรแกรมงูน้อยนักติดตั้งที่ชื่อ Anaconda ของเรา เริ่มต้นการติดตั้งด้วยตัวของมันเองได้โดยอัตโนมัติ โดยให้เครื่องลูกข่ายมีคุณสมบัติเป็นไปตามที่เรากำหนดเอาไว้แล้วล่วงหน้า พูดง่ายๆ ก็คือ ให้มันสามารถตอบคำถามระหว่างการติดตั้งได้โดยอัตโนมัติโดยไม่ต้องคอยให้คนมาตอบให้นั่นเอง
KickStart คืออะไร
การติดตั้งแบบ KickStart ( คิ๊ก-สตาร์ต ) เป็นกลไกการติดตั้งที่ผู้พัฒนาโปรแกรม Anaconda ได้ผนวกรวมเอาไว้เพื่อสนับสนุนการติดตั้งที่มียินยอมให้มีการระบุข้อมูลต่างๆ ที่จำเป็นต่อการกำหนดคุณสมบัติของตัวระบบปฏิบัติการลีนุกซ์ที่จะกระทำการติดตั้งไว้ล่วงหน้า โดยไฟล์ที่ใช้บันทึกรายละเอียดของการติดตั้งนี้จะมีชื่อว่า ks.cfg เมื่อโปรแกรม anaconda เริ่มต้นทำงานปรกติจะดำเนินการโดยมีหน้าจอโต้ตอบ ( แสดงผลแบบข้อความหรือกราฟฟิกแล้วแต่กรณี ) เพื่อให้ผู้ติดตั้งเลือกตัวเลือกต่างๆ หรือป้อนข้อมูลที่จำเป็นต่อการติดตั้งระบบปฏิบัติการ เมื่อได้ข้อมูลครบถ้วนแล้วจึงจะเริ่มติดตั้งโปรแกรมระบบปฏิบัติการต่อไป แต่ถ้าเป็นการเริ่มต้นติดตั้งโดยบังคับให้ Anaconda อ่านไฟล์ ks.cfg โปรแกรมจะเริ่มตีความคำสั่งต่างๆ ภายในไฟล์นี้เพื่อนำไปใช้ประกอบขั้นตอนการติดตั้งแทนที่จะรับค่าจากผู้ติดตั้งด้วยการโต้ตอบทางคอนโซล หากไม่พบคำสั่งกำหนดค่าที่จำเป็นต้องใช้บางส่วนจะเลือกใช้ค่าปรกติของโปรแกรม ( Default ) และดำเนินการต่อไป แต่มีบางคำสั่งหากไม่ระบุไว้โปรแกรมจะไม่สามารถดำเนินการต่อไปได้เลย จะแสดงข้อผิดพลาดให้ทราบแล้วยกเลิกการติดตั้งทันที ดังนั้นผู้ใช้งาน KickStart จึงควรกำหนดค่าต่างๆ ให้ครบถ้วนเพื่อป้องกันข้อผิดพลาดที่อาจเกิดขึ้นได้ ประโยชน์ของการติดตั้งแบบ KickStart นี้ เห็นได้ค่อนข้างชัดเจนในตัวเองอยู่แล้ว ได้แก่
  • ช่วยให้ผู้ติดตั้งสามารถกำหนดให้การติดตั้งเครื่องลูกข่ายเป็นไปตามที่ต้องการได้โดยการกำหนดไว้ล่วงหน้า
  • กรณีที่นำไปใช้ติดตั้งกับเครื่องจำนวนมาก จะช่วยให้เครื่องทุกเครื่องจะมีคุณลักษณะเหมือนกันทุกประการ เช่น มีการจัดแบ่งพาร์ทิชั่น รหัสผ่านของ root ค่า Time Zone เป็นต้น
  • ช่วยให้สามารถติดตั้งซ้ำในเครื่องเดิมให้มีคุณลักษณะเหมือนเดิมได้สะดวกมากขึ้นไม่ต้องจดบันทึกวิธีการเซ็ตเอาไว้
  • ช่วยลดความผิดพลาดจากการเลือกตัวเลือกหรือป้อนค่าระหว่างการติดตั้ง ซึ่งทำให้สามารถลดความต้องการผู้เชี่ยวชาญในการติดตั้งลงได้ เช่น อาจให้ลูกค้าช่วยทำการ reinstall กรณีที่เครื่องมีปัญหา
  • เมื่อนำไปประยุกต์ใช้กับการติดตั้งผ่านระบบเน็ตเวิร์กจะช่วยลดขั้นตอนการติดตั้งลงไปได้มากเป็นไปตามเจตนารมณ์ของการติดตั้งเครื่องจำนวนมากพร้อมๆ กันเช่นนี้

  • ks.cfg ทุกขั้นตอนติดตั้งรวมไว้ในไฟล์เดียว ผู้ติดตั้งระบบสามารถสร้างไฟล์ ks.cfg ขึ้นเพื่อใช้เก็บ "คำตอบ" สำหรับทุกๆ คำถามที่จะปรากฏขึ้นในขณะดำเนินการติดตั้งระบบ ไฟล์ ks.cfg นี้มีลักษณะเป็นไฟล์ข้อความธรรมดา ภายในบรรจุชุดคำสั่งเฉพาะ ( Statement ) ที่โปรแกรม anaconda สามารถตีความหมายได้เอาไว้ในแบบ 1 บรรทัดต่อ 1 คำสั่ง เราสามารถนำไฟล์ ks.cfg เข้าสู่ขั้นตอนการติดตั้งของโปรแกรม Anaconda ได้หลายวิธี แบ่งออกตามแหล่งที่เก็บไฟล์และวิธีการติดตั้งที่เลือกใช้ ไม่ว่าจะเป็นการติดตั้งด้วยซีดีรอม โลคอลฮาร์ดดิสก์ NFS FTP หรือ HTTP Server แหล่งที่เก็บไฟล์ ks.cfg แบ่งออกได้สองลักษณะใหญ่ๆ คือ บนแผ่นบูตดิสก์ และบนระบบเครือข่าย ซึ่งในกรณีที่เก็บบนบูตดิสก์ไม่ว่าจะเป็นแผ่นดิสก์หรือแผ่นซีดีรอมก็ตามไม่ได้หมายความว่าจะนำไฟล์ไปวางรวมกับไฟล์อื่นๆ เท่านั้นแล้วจะทำงานได้ แต่จำเป็นต้องมีการกำหนดในคอนฟิกของการบูตให้อ่านไฟล์ Kickstart นี้ด้วย เนื่องจาก RedHat/Fedora รุ่นใหม่ๆ จะไม่สามารถสร้างแผ่นบูตแบบฟล๊อปปี้ดิสก์ได้อีกแล้ว รูปแบบของการทำ Kickstart ในปัจจุบันจึงเหลือเพียงสองทางคือ นำไฟล์ ks.cfg ไปใส่รวมไว้ในแผ่นซีดีรอมที่ใช้บูตเพื่อการติดตั้งเลย กับอีกวิธีหนึ่งคือใช้ซีดีรอมบูตขึ้นเพื่อการติดตั้งตามปรกติแต่ผู้ติดตั้งต้องสั่งผ่านบูตพร้อมพ์เพื่อให้ไปอ่านไฟล์ ks.cfg จากแผ่นฟล๊อปปี้ดิสก์อีกต่อหนึ่ง ซึ่งนิยมใช้กันมากเนื่องจากง่ายกว่าวิธีแรก และยังใช้วิธีนี้เพื่อการทดสอบอีกด้วย สำหรับการนำไฟล์ ks.cfg ไปเก็บเอาไว้ในระบบเครือข่าย ถือว่าเป็นลักษณะการทำงานโดยพื้นฐานของระบบ Kickstart เลย โดยถ้าบังคับให้โปรแกรม anaconda ทำงานแบบ Kickstart จะมุ่งค้นหาไฟล์ ks.cfg จาก NFS Server เป็นหลัก นอกจากนี้เมื่อทำงานร่วมกับระบบ BOOTP/DHCP ก็จะมีการอ้างอิงถึง NFS เซิร์ฟเวอร์เพื่อการติดตั้ง RedHat/Fedora โดยเฉพาะที่เรียกว่า next server ตื่นเถิด KickStart แล้วเราจะทำให้เจ้างูน้อย Anaconda เชื่อฟังคำสั่งที่ระบุไว้ในไฟล์ ks.cfg ได้อย่างไร ในขณะที่เริ่มต้นการติดตั้งแบบ Kickstart ด้วยการบูตซีดีรอมชุดติดตั้งแผ่นแรก หรือบูตด้วยแผ่นบูตเพื่อการติดตั้งแล้ว จะปรากฏเครื่องหมาย boot: ที่เรียกว่าบูตพร้อมพ์ขึ้น เราจึงสามารถป้อนคำสั่งเพื่อกำกับให้ไปอ่านไฟล์ Kickstart ได้ ตัวอย่างเช่น
    คำสั่งที่ป้อนอ่านไฟล์ ks.cfg จาก
    boot: linux ks=floppy แผ่นฟล๊อปปี้ดิสก์ /dev/fd0 หรือไดร้ว A: นั่นเอง
    boot: linux ks=nfs:oak.mycom.com/mydir/ks.cfgNFS Server ตามตำแหน่งที่กำหนด
    boot: linux ks=cdrom:/mydir/ks.cfg แผ่นซีดีรอมตามตำแหน่งที่กำหนด

    คำสั่งภายใน KickStart
    คำสั่งภายในไฟล์ ks.cfg ที่ใช้ในการตอบคำถามระหว่างการติดตั้งนั้นมีอยู่เป็นจำนวนมาก แบ่งออกเป็นกลุ่มๆ ได้ตามจำนวนหน้าจอที่มีการโต้ตอบกับผู้ใช้งานนั่นเอง รูปแบบของคำสั่งที่กำหนดไว้นี้สามารถศึกษาได้โดยละเอียดจาก The Official Red Hat Linux x86 Installation Guide ซึ่งเป็นเอกสารที่เปิดให้ดาวน์โหลดได้จากเว็บไซต์ของ Red Hat ( http://www.redhat.com ) วิธีที่จะสร้างไฟล์ ks.cfg นี้สามารถทำได้ตั้งแต่ศึกษาคำสั่งและอ๊อปชั่นต่างๆ แล้วนำมาเขียนเป็นชุดคำสั่งด้วยโปรแกรมแก้ไขข้อความธรรมดา ( vi หรือ nano ) ซึ่งคงจะยุ่งยากและอาจเกิดข้อบกพร่องขึ้นได้ วิธีที่สองคือ ใช้โปรแกรมชื่อ Kickstart Configuration ช่วยในการสร้างไฟล์ ks.cfg นี้ขึ้น ซึ่งโปรแกรมนี้เป็นโปรแกรมที่ใช้งานบน GNOME Desktop มีอินเทอร์เฟสแบบกราฟฟิกทำให้ใช้งานได้ง่ายมาก ไม่จำเป็นต้องจดจำคำสั่งต่างๆ เพียงแค่เลือกคลิ๊กๆ ด้วยเมาส์ก็สามารถปรับแต่งตัวเลือกของการติดตั้งได้ตามที่ต้องการแล้ว เมื่อพอใจแล้วก็สามารถบันทึกเป็นไฟล์ ks.cfg ไว้ใช้ในขั้นตอนการติดตั้งได้ทันที ยังมีอีกวิธีหนึ่งที่ผู้เขียนนำมาใช้และได้ผลดี มีความสะดวกพอสมควร ก็คือ การนำเอาผลลัพธ์ของการติดตั้งเครื่องต้นแบบเครื่องใดเครื่องหนึ่งมาแก้ไขเพิ่มเติม ซึ่งเครื่องที่ติดตั้งต่อๆ มาก็จะมีคุณลักษณะเหมือนกับเครื่องต้นแบบนั่นเอง
    เล่นกับ KS เล่นไม่ยาก
    วิธีที่ผู้เขียนปฏิบัติดังกล่าวนี้ จะอาศัยหลักการที่เมื่อโปรแกรม Anaconda ทำการติดตั้งสำเร็จแล้วจะปรากฏไฟล์ anaconda-ks.cfg ขึ้นในไดเร็คทอรี่ /root ภายในเครื่องนั้น ซึ่งภายในไฟล์นี้จะเป็นการบันทึกคำตอบต่างๆ ทั้งหมดที่ผู้ติดตั้งได้เลือกไว้ โดยอยู่ในรูปของคำสั่งและตัวเลือกที่นำไปใช้กับการติดตั้งแบบ Kickstart ได้ "เกือบ" จะทันที ดังตัวอย่าง ที่ยังไม่สามารถนำไปใช้ได้ทันทีเนื่องจากข้อความคำสั่งบางส่วนยังถูกปิดไว้ ( Comment ) ด้วยเครื่องหมาย # ซึ่งเป็นส่วนของการแบ่งพาร์ทิชั่นนั่นเอง ดังนั้นจึงต้องแก้ไขไฟล์นี้ให้ครบถ้วนเสียก่อน จึงจะนำไปใช้งานได้
    # Kickstart file automatically generated by anaconda.
    
    install
    cdrom
    lang en_US.UTF-8
    langsupport --default=en_US.UTF-8 en_US.UTF-8 th_TH.UTF-8
    keyboard us
    xconfig --card "S3 Savage3D" --videoram 8192 --hsync 30-70  \
              --vsync 50-100 --resolution 800x600 --depth 16 --startxonboot \
    		  --defaultdesktop gnome
    network --device eth0 --bootproto static --ip 192.168.100.20 \
              --netmask 255.255.255.0 --gateway 192.168.100.252 \
    		  --nameserver 192.168.100.252 --hostname oak.mycom.com
    rootpw --iscrypted $1$l0eclzj9$ZdVQRRQmr1o9dB1h1cRlH.
    firewall --enabled --port=22:tcp --port=80:tcp --port=21:tcp --port=25:tcp
    selinux --permissive
    authconfig --enableshadow --enablemd5
    timezone Asia/Bangkok
    bootloader --location=mbr --append="rhgb quiet"
    # The following is the partition information you requested
    # Note that any partitions you deleted are not expressed
    # here so unless you clear all partitions first, this is
    # not guaranteed to work
    #clearpart --linux
    #part /boot --fstype "ext3" --size=100 --ondisk=hda --asprimary
    #part / --fstype "ext3" --size=6000 --ondisk=hda --asprimary
    #part /var --fstype "ext3" --size=2048 --ondisk=hda --asprimary
    #part swap --size=512
    #part /data3 --fstype "ext3" --size=100 --grow --ondisk=sdb
    #part /data2 --fstype "ext3" --size=100 --grow --ondisk=sda
    #part pv.20 --size=100 --grow --ondisk=hda
    
    %packages
    @ mysql
    @ editors
    @ system-tools
    @ gnome-software-development
    @ text-internet
    @ x-software-development
    @ legacy-network-server
    @ dns-server
    @ gnome-desktop
    @ dialup
    @ ftp-server
    @ network-server
    @ games
    @ legacy-software-development
    @ smb-server
    @ base-x
    @ graphics
    @ web-server
    @ printing
    @ kde-software-development
    @ kde-desktop
    @ mail-server
    @ server-cfg
    @ admin-tools
    @ development-tools
    @ graphical-internet
    -psgml
    -netpbm-progs
    openldap-servers
    -gimp-data-extras
    -xsane-gimp
    httpd-suexec
    radvd
    -gimp
    mysql-bench
    vnc-server
    telnet-server
    ypserv
    -emacs-leim
    squirrelmail
    -dia
    quagga
    system-config-boot
    tftp-server
    mysql-server
    php-mysql
    lynx
    kernel
    e2fsprogs
    grub
    dhcp
    
    %post
    
    เมื่อพิจารณาตัวอย่างไฟล์ anaconda-ks.cfg แล้ว ขอให้สังเกตบรรทัด install จะระบุให้ติดตั้งผ่านซีดีรอม ซึ่งเป็นไปตามการติดตั้งเครื่องต้นแบบนี้ ซึ่งเราจะสามารถปรับเปลี่ยนให้ติดตั้งโดยนำแพคเกจจากเซิร์ฟเวอร์ในเครือข่ายมาติดตั้งแทนที่จะใช้ซีดีรอมได้ ขอให้ดูวิธีเขียนเพิ่มเติมในหัวข้อถัดไป ส่วนที่น่าสนใจต่อมาก็คือ บรรทัดข้อความว่า xconfig จะกำหนดอ๊อปชั่นว่า --startxonboot ไว้ หมายถึง จะเข้าสู่ X Window หรือการแสดงผลแบบกราฟฟิกโดยอัตโนมัติ จะส่งผลกระทบได้ถ้านำไฟล์ ks นี้ไปใช้กับเครื่องที่มีฮาร์ดแวร์การแสดงผลแตกต่างกัน อาจจะทำให้ไม่ปรากฏภาพกราฟฟิกได้ จึงขอแนะนำให้ลบอ๊อปชั่นนี้ออกได้เพื่อป้องกันปัญหาดังกล่าว บรรทัดข้อความ network เป็นการกำหนดค่าคอนฟิกของ TCP/IP ซึ่งในตัวอย่างได้มีการกำหนดค่าต่างๆ เอาไว้แบบคงที่ ( static configuration ) ตั้งแต่ตอนที่ทำการติดตั้งเครื่องต้นแบบ หากนำค่าเหล่านี้กำหนดให้แก่เครื่องที่จะติดตั้งตามมาในภายหลังด้วยวิธี kickstart จะทำให้ทุกเครื่องใช้ค่าตามนี้ทั้งหมดคงไม่ใช่สิ่งที่เราต้องการแน่ๆ ดังนั้นจึงควรกำหนดให้แต่ละเครื่องมีคอนฟิกแบบ dynamic เป็นค่าปรกติเสียก่อน ซึ่งต้องแก้ไขบรรทัดนี้เป็น
    network --bootproto dhcp --device eth0

    กลุ่มบรรทัดคำสั่งที่มีการปิดไว้ด้วยเครื่องหมาย # เริ่มตั้งแต่ clearpart เรื่อยลงมาถึงคำสั่ง part หลายๆ บรรทัดนั้น เป็นการกำหนดสร้างพาร์ทิชั่นบนเครื่องที่จะทำการติดตั้ง ซึ่งจะมีลักษณะของการแบ่งพาร์ทิชั่นนี้จะเป็นไปตามเครื่องต้นแบบ ถ้าเราต้องการให้เหมือนกันทุกพาร์ทิชั่นก็เพียงแค่ลบเครื่องหมาย # นี้ออกไปเท่านั้นเอง คำสั่ง clearpart เป็นการสั่งให้ Anaconda จัดการ "ทำลาย" พาร์ทิชั่นในฮาร์ดดิสก์ออกไป โดยเลือกได้ว่าจะ "ทำลาย" ทั้งหมด หรือเฉพาะพาร์ทิชั่นที่เป็นของลีนุกซ์เท่านั้น ดังนั้นจึงเป็นไปได้ 3 กรณี คือ
    1. ไม่ลบพาร์ทิชั่นใดๆ ทั้งนั้น ทำได้โดยไม่ต้องใช้คำสั่งนี้ ( ค่าปรกติของ Anaconda )
    2. ลบพาร์ทิชั่นทั้งหมดโดยไม่สนใจว่าจะเป็นพาร์ทิชั่นของระบบปฏิบัติการใดกันบ้าง ใช้คำสั่งว่า clearpart --all เช่น มีทั้งวินโดวส์และลีนุกซ์ติดตั้งอยู่จะถูกลบออกทั้งหมดก่อนที่จะเริ่มติดตั้งต่อไป
    3. ลบเฉพาะพาร์ทิชั่นที่เป็นของระบบปฏิบัติการลีนุกซ์เท่านั้น ( เช่น Linux Native ,Swap ) ทำได้ด้วยคำสั่งเหมือนในไฟล์ตัวอย่าง คือ clearpart --linux กรณีเช่นนี้จะมีผลต่อการติดตั้งเครื่องลูกข่ายด้วย Kickstart ที่เดิมมีวินโดวส์ผสมกับลีนุกซ์อยู่ทั้งสองระบบ Anaconda จะยังคงรักษาพาร์ทิชั่นของวินโดวส์ไว้ให้ด้วย ( ในทางกลับกันถ้าเป็นการติดตั้งที่ต้องการล้างฮาร์ดดิสก์ทั้งหมดอาจจะไม่ตรงความต้องการก็ได้ เช่น ในห้องฝึกอบรมลีนุกซ์ของผู้เขียนเอง )
    ส่วนคำสั่ง part เป็นการสร้างพาร์ทิชั่นขึ้นทีละพาร์ทิชั่นตามลำดับ ตัวคำสั่งมีอ๊อปชั่นย่อยๆ ที่ทำหน้าที่อธิบายคุณสมบัติของแต่ละพาร์ทิชั่นที่สร้างขึ้น มีความหมายที่ตรงไปตรงมาอยู่แล้ว เช่น
     part    /boot     --fstype    "ext3"    --size=100    --ondisk=hda    --asprimary

    เป็นการสร้าง mount point ชื่อ /boot เป็นระบบไฟล์ชนิด ext3 ขนาด 100MB โดยสร้างบนฮาร์ดดิสก์แบบ IDE ตัวแรก ( /dev/hda ) และกำหนดให้เป็น Primary Partition ส่วนคำว่า --grow หมายถึง ให้นำเนื้อที่ดิสก์ที่เหลืออยู่มาใช้งานทั้งหมด เหมือนในตัวอย่างที่กำหนดให้ mount point ชื่อ /data2 และ /data3 ใช้เนื้อที่ของฮาร์ดดิสก์แบบ SCSI /dev/sda และ /dev/sdb ทั้งหมดตามลำดับ สำหรับการเลือกแพคเกจจะใช้เครื่องหมาย @ นำหน้ากลุ่มของแพคเกจ ( Package Group ) เหมือนกับหน้าจอติดตั้งที่ให้ผู้ติดตั้งคลิ๊กเลือกกลุ่มของซอฟต์แวร์ได้ตามที่ต้องการ แต่ก็ยังเปิดโอกาสให้เราเพิ่มหรือลดแพคเกจเป็นรายตัว ( Individual Selection ) ได้ตามความต้องการนอกเหนือจากการเลือกเป็นกลุ่มตามค่าปรกติอีกด้วย โดยเพิ่มชื่อของแพคเกจได้โดยตรง ( ตัวอย่างเช่น openldap-servers ) หรือถ้าจะไม่ติดตั้งบางแพคเกจก็ใส่เครื่องหมายลบ ( - ) หน้าชื่อแพคเกจ ( เช่น -gimp ) ข้อควรระวังคือ ถ้าชื่อของแพคเกจมีตัวอักษรพิมพ์ใหญ่ก็จะต้องสะกดให้ถูกต้องตรงตามชื่อแพคเกจด้วย ส่วน %post เป็นช่องทางที่เปิดโอกาสให้ผู้ติดตั้งแบบ Kickstart สามารถเพิ่มเติมคำสั่งบางอย่างที่จะกระทำหลังจากเสร็จสิ้นขั้นตอนการติดตั้งแล้ว โดยเขียนคำสั่งต่อเนื่องลงไปในบรรทัดถัดลงมาได้เลย ยกตัวอย่างเช่น ต้องการสร้างชื่อยูสเซอร์ไว้ทันที และกำหนดให้ mysql และ apache ทำงานทันทีเมื่อเริ่มเปิดเครื่องเป็นครั้งแรก %post
    /usr/sbin/useradd webmaster
    /sbin/chkconfig mysql on
    /sbin/chkconfig httpd on


    การทดสอบระบบ Kickstart
    boot: linux ks=floppy
    กหากคำสั่งภายในถูกต้องโปรแกรม Anaconda จะเริ่มเข้าสู่การติดตั้งโดยไม่มีการสอบถามข้อมูลใดๆ อีกเลยจนกระทั่งสิ้นสุดการติดตั้ง ( ยกเว้นการขอเปลี่ยนแผ่นซีดีรอม ) ถ้าเป็นไปตามนี้แสดงว่าระบบ Kickstart ของเราทำงานได้ในขั้นเบื้องต้นแล้ว




    เมื่อ KS ทำงานร่วมกับ Network Installation ดังที่ได้ทราบแล้วว่า Kickstart มีส่วนสนับสนุนการติดตั้งให้มีความสะดวก รวดเร็วมากยิ่งขึ้นได้ โดยลดการที่ต้องตอบคำถามระหว่างการติดตั้งลงได้ นอกจากนี้ Kickstart ยังมีส่วนที่เชื่อมโยงการติดตั้งแบบอัตโนมัตินี้เข้ากับการติดตั้งผ่านระบบเครือข่ายอีกด้วย เนื่องจากมีคำสั่งภายในของ ks.cfg ที่สนับสนุนด้านนี้โดยเฉพาะอยู่ด้วย ซึ่งอยู่ในกลุ่มคำสั่ง install install
    nfs --server oak.mycom.com --dir /export/fc3
    install
    url --url ftp://oak.mycom.com//pub/fc3


    install
    url --url http://oak.mycom.com/download/fc3
    จากตัวอย่าง oak.mycom.com เป็นเครื่องเซิร์ฟเวอร์ที่เปิดให้บริการ NFS ,FTP หรือ HTTP ไว้ตามที่ต้องการ สามารถอ้างด้วยหมายเลขไอพีก็ได้เช่นกัน จะเห็นว่าการอ้างชื่อและชนิดของเซิร์ฟเวอร์ไว้เช่นนี้จะทำให้ขาดความยืดหยุ่นในหลายด้าน ได้แก่ ไม่สามารถเลือกคอนฟิกที่แตกต่างกันได้สำหรับแต่ละเครื่องลูกข่าย หากต้องการเปลี่ยนโฮสต์ที่เป็นเซิร์ฟเวอร์จะต้องแก้ไขไฟล์ ks.cfg อย่างไรก็ตามวิธีนี้เป็นวิธีง่ายที่สุดในการประยุกต์ให้ระบบ kickstart เชื่อมโยงไปสู่การติดตั้งผ่านระบบเครือข่าย พักตรงนี้ดีกว่า
    KickStart Installation มีบทบาทสำคัญที่ช่วยให้การติดตั้ง RedHat/Fedora เป็นไปโดยอัตโนมัติ ช่วยลดภาระผู้ติดตั้งในการตอบคำถามต่างๆ ระหว่างขั้นตอนการติดตั้ง และยังทำให้เราสามารถทำการติดตั้งเครื่องลีนุกซ์ให้ได้คุณสมบัติเหมือนเดิมทุกครั้งที่ต้องการ ดังนั้นเมื่อนำมาใช้งานร่วมกับการติดตั้งผ่านระบบเน็ตเวิร์กจึงช่วยให้สามารถติดตั้งเครื่องจำนวนมากพร้อมๆ กันได้ โดยทำให้ทุกเครื่องมีผลเหมือนกันทั้งหมด ซึ่งเหมาะอย่างยิ่งกับการติดตั้งสำหรับห้องทดลองหรือศูนย์อบรมคอมพิวเตอร์ เรื่องราวของเรายังไม่จบเพียงแค่นี้ ในตอนต่อไปจะเป็นการนำระบบ KickStart รวมไว้ในแผ่นบูตเพื่อการติดตั้งอย่างถาวร และการระบุไฟล์ KS สำหรับแต่ละเครื่องโดยเฉพาะ โปรดติดตามตอนต่อไปครับ
    แหล่งข้อมูลอ้างอิง
    Red Hat Inc. ,"The Official Red Hat Linux x86 Installation Guide" ,2004