ทำำดิสโทรใช้เองด้วย remastersys
โดย
TrendyTeddy'
ผมเขียนบทความน้ีแบ่งออกเป็ น 3 ตอน จะกล่าวถึงการใช้งาน Remastersys เคร่ ืองมือท่ีแม้มือใหม่ก็สามารถสร้างดิสโทรในแบบของตัวเองได้ โดยตอนท่ี 1 น้ีจะกล่าวถึง 1. 2. 3. 4.
ร้้จักวิธีทำาดิสโทร Remastersys ประโยชน์/ข้อจำากัดของ Remastersys การติดต้ังและเรียกใช้
เอกสารชุดน้ี (ตอนท่ี 1-3) อนุญาตให้คัดลอก และเพิ่มเติมแก้ไขเน้ ือหาได้อย่างเสรี ตามสัญญาแบบ GPL. จะเพ่ ือความร้้ ใช้ส่วนตัว ในองค์กร หรือต่อยอดทำาค่้มือประกอบการอบรมเพ่ ือผลทางธุรกิจก็ตาม 1.ร้้จักวิธีทำำดิสโทร
1. สร้างระบบขึ้นมาใหม่ 2. ต่อยอดจากชาวบ้านเขา เช่น Ubuntu พัฒนาต่อยอดจาก debian ไม่ได้คิดใหม่มาเอง 3. ปรับแต่งจากดิสโทรแม่ ซึง ่ เป็ นวิธีท่ีง่ายสุดและเป็ นท่ีนิยม
ภายใต้ขอ ้ 1.3 ยังแบ่งออกเป็ นวิธี 1.3.1 สร้างจากส่วนพ้ ืนฐาน (from scratch) เป็ นการสร้างดิสโทรโดยทำาจากส่วนพ้ ืนฐานของดิสโทรแม่ท่ีจะมาทำา และปรับแต่งตามวัตถุประสงค์ของผ้้ จัดทำา NimbleX2 ปรับแต่ง Slax ตามแบบท่ีตอ ้ งการจากส่วนประกอบพ้ ืนฐาน ผ่านเว็บ SUSE Studio เคร่ ืองมือปรับแต่ง OpenSuse ในแบบท่ีต้องการผ่านเว็บ Linux Mint Chrunchbang Linux X-Edition, PB ใช้วิธีน้ี สำาหรับวิธีแบบ Manual ในการปรับแต่งด้วยวิธีน้ีบน Ubuntu สามารถศึกษาได้ท่ี https://help.ubuntu.com/community/LiveCDCustomization 1.3.2 ปรับแต่งจากไฟล์อิมเมจต้นฉบับ เป็ นการนำาไฟล์อิมเมจ (.iso) มาปรับแต่งในแบบท่ีต้องการตามวัตถุประสงค์ ไม่ว่าจะทำาด้วยมือ, scripts หรือใช้เคร่ ืองมือช่วย ถ้าใช้กับ Ubuntu ก็เช่น UCK, Reconstructor หรือถ้าเป็ น Fedora ก็เช่น Reservior 1.3.3 ทำาอิมเมจจากไฟล์ระบบ เป็ นทำา Live CD แบบย้อนกลับ คือแทนท่ีจะปรับแต่งจากส่วนประกอบพ้ ืนฐาน หรือไฟล์อม ิ เมจต้นฉบับ แต่ใช้วิธีคัดลอกจากไฟล์ระบบท่ีใช้งานอย่้ทำาให้กลับกลายเป็ น Live CD 2.Remastersys เว็บไซต์หลัก http://www.geekconnection.org/remastersys/ubuntu.html Remastersys เป็ นเคร่ ืองมือสำารองไฟล์ระบบ Ubuntu และทำากลับให้เป็ น Live CD ติดต้ังได้ใหม่ ตามท่ีกล่าวไว้ในข้อ 1.3.3
3.ประโยชน์/ข้อจำำกัดของ Remastersys 3.1 ประโยชน์ • เป็ นวิธีการท่ีง่าย ไม่จำาเป็ นต้องร้้ในเชิงเทคนิ ค • นำาระบบท่ีใช้งานอย่้ ทำากลับเป็ น Live CD ได้เลย. • ใช้ได้กับ distro ท่ีมีพ้ืนฐานจาก Ubuntu หรือ Debian 3.2 ข้อจำากัด
• ขนาดไฟล์อิมเมจ (.iso) เม่ ือทำาการบีบอัดแบบ squashfs แล้ว ต้องมีขนาดไม่เกิน 4GB อันเป็ นข้อ จำากัดของ ISO9660 • ค่าปรับแต่ง เช่น ร้ปลักษณ ห ์ รือค่าคอนฟิ คบางอย่างอาจหายไปซึง ่ วิธีแก้ไข เองด้วย Remastersys ตอนท่ี 3 • ใช้ไม่ได้กับ kernels ท่ี compile เอง 4.กำรติดตัง ้ และเรียกใช้ 4.1 เพิ่มแหล่งซอฟท์แวร์ของ Remastersys เรียก Terminal ขึ้นมาใช้ Applications > Accessories > Terminal เปิ ดไฟล์ /etc/apt/sources.list ขึน ้ มาแก้ไข sudo gedit /etc/apt/sources.list สำาหรับ Ubuntu 7.10 และก่อนหนา ้ ให้เพิ่มบรรทัดน้ีเข้าไปท้ายไฟล์ # Remastersys deb http://www.geekconnection.org/remastersys/repository remastersys/ สำาหรับ Ubuntu 8.04 และท่ีใหม่กว่า ***ท่ีใช้ grub เป็ น boot loader*** ให้เพิ่มบรรทัดน้ีเข้าไปท้ายไฟล์ # Remastersys deb http://www.geekconnection.org/remastersys/repository ubuntu/ สำาหรับ Ubuntu 9.10 และ ***ท่ีใช้ grub2 เป็ น boot loader*** ให้เพิ่มบรรทัดน้ีเข้าไปท้ายไฟล์ # Remastersys deb http://www.geekconnection.org/remastersys/repository karmic/ จากน้ันก็เซฟไฟล์ และปิ ด text editor ไป 4.2 ติดต้ัง ส่ัง update รายช่ ือซอฟท์แวร์และติดต้ัง Remastersys ด้วยคำาส่ัง sudo apt-get update && sudo apt-get install remastersys ***หมายเหตุ ถ้ามีการเตือนว่า remastersys มาจาก untrusted source ให้กดยอมรับการติดต้ังไป*** 4.3 เรียกใช้ ไปท่เี มน้ System > Adminstration > Remastersys Backup
คราวหนา ้ จะมาต่อเก่ียวกับการใช้งาน Remastersys ครับ Teddy
ทำาดิสโทรใช้เองด้วย remastersys ตอนท่ี 2
24. November 2009 - 9:23 — TrendyTeddy คร้ังน้ีมาต่อกับวิธีการใช้งาน Remastersys ครับ เป็ นส่วนการใช้งานในเมน้ต่างๆ สำาหรับตอนท่ี 1 อ่านได้ท่ี http://www.ubuntuclub.com/node/1549 ตอนท่ี 2 น้ีจะกล่าวถึง 1. 2. 3. 4. 5.
เมน้หลัก Remastersys ศัพท์เฉพาะ ร้้จักการใช้งานแต่ละเมน้ อธิบายความแตกต่างระหว่างโหมด ข้อแนะนำาก่อนเริ่ม backup
1.เมน้หลัก Remastersys Backup - Backup Complete System including User Data สำารองระบบ Dist - Make a Distributable copy to share with friends สร้าง Live CD/CDFS Distcdfs - Make a Distributable copy cd filesystem only สร้างเฉพาะ CDFS Distiso - Make a Distributable iso file only สร้างไฟล์ iso จาก CDFS ท่ีมีอย่้กอ ่ นแล้ว Modify - Modify the remastersys config file to customize options ต้ังค่า Clean - Remove temporary files ลบไฟล์ท่ีไม่จำาเป็ นซึ่งอย่้ใน /tmp/* Info - About Remastersys Backup เก่ียวกับ remastersys Quit - Quit Remastersys Backup ออกจากโปรแกรม หรือกด cancel เพ่ อ ื ออกจากโปรแกรมได้เช่น กัน 2.ศัพท์เฉพำะ CDFS - CD filesystem ไฟล์ท้ังระบบซึ่ง remastersys ทำาการสำารอง โดยวิธีคัดลอกตามต้นฉบับ ISO (ISO9660) - ไฟล์อิมเมจประเภทหนึ่ง คล้ายกับ .nrg/.img/.bin/.mdf 3.ร้้จักกำรใช้งำนแต่ละเมน้ Backup ทำาการสำารองระบบ โดยใช้ค่า config ท่ีกำาหนดไว้จาก Modify รวมถึงโฟลเดอร์และข้อม้ลของ User เป็ นโหมดปรกติสำาหรับการสำารองท้ังระบบ Dist ทำาการสำารองระบบ โดยไม่รวมโฟลเดอร์ของ User เพ่ ือท่ีจะสามารถทำาเป็ น live CD ใช้กับเคร่ ืองอ่ ืนใน โหมด live ได้ เหมาะสำาหรับคนท่ีต้องการสร้าง live CD ของตัวเอง Distcdfs สร้างเฉพาะ CDFS ซึ่งมีประโยชนใ์นการปรับตกแต่งในแบบท่ีต้องการได้เพิ่มเติมได้ เช่น เข้าไปแก้ค่าคอน ฟิ คต่างๆ Distiso เป็ นข้น ั ตอนท่ีตอ ่ จาก Distcdfs ในกรณีท่ีต้องการสร้างไฟล์ .iso จาก CDFS Modify a Username = custom กำาหนดช่ ือผ้ใ้ ช้เม่ ืออย่้ในโหมด live b Title = Custom Live CD กำาหนด label ของ CD/DVD c Filename = custom.iso กำาหนดช่ ือไฟล์อม ิ เมจ.iso d Working Directory =/home/remastersys โฟลเดอร์ท่ีใช้ทำาการสร้าง Live CD/CDFS e Files to Exclude = ไฟล์ท่ี q Go back to main menu กลับส่้เมน้หลัก
4.อธิบำยควำมแตกต่ำงระหว่ำงโหมด Backup = สำารองท้ังระบบ > live CD ISO ท่ีมีย้สเซอร์รวมเข้าไปด้วย Dist = สำารองส่วนระบบ ไม่รวมย้สเซอร์ > live CD ISO ลักษณะเหมือน Ubuntu live CD Distcdfs = เป็ นการสร้าง Dist CDFS โดยไม่สร้าง .iso ขึ้นมา Distiso = ต้องมี CDFS อย่้ก่อนแล้ว ถึงจะรัน Distiso ได้ > live CD ISO ลักษณะเหมือน Ubuntu live CD 5.ข้อแนะนำำก่อนเริม ่ backup 1.ติดต้ัง/ถอดถอนโปรแกรม และเคลียร์แพกเกจแคช เลือกติดต้ังหรือถอดถอนโปรแกรมตามต้องการโดยวิธีท่ีถนัด การเคลียร์แพกเกจแคช เพ่ ือไม่ให้รวมในเน้ ือท่ีเม่ ือทำาการสำารอง สามารถทำาได้ง่ายๆ โดยรัน sudo apt-get clean 2.ปิ ดโปรแกรมอ่ ืนๆ และเน็ตเวิร์คแชริ่ง รวมถึงให้ unmount ท่ีเช่ อ ื มต่อกับดิสก์อ่ืนๆ หรือ ส่ ือบันทึกต่างๆ เช่น CD/DVD, USB, external harddisk หากสร้างจุด mount point พิเศษ ให้ unmount ด้วย ตัวอย่าง เช่น บางคน สร้าง mount point เพ่ อ ื เข้าถึงพาร์ตช ิ ่ันของ DATA ท่ีเก็บข้อม้ลแชร์ระหว่าง Linux/ Windows ให้ unmount ก่อนทำาการ back up ถ้าหาก mount point สร้างเป็ นโฟลเดอร์เจาะจง ให้ใส่ช่ือโฟล์เดอร์น้ันใน Modify > Files to Exclude เช่น /DATA จะไม่รวมโฟลเดอร์ ซึ่งเป็ น mount point ท่ีเราสร้างเองน้ันรวมเข้ากับ back up 3.ต้ังค่าใน Modify ก่อนเริ่ม backup ............ ท้ายน้ีผมได้ทำาดิสโทรฉบับปรับแต่งจากพ้ ืนฐาน (from scratch) ซึง ่ ทำาเป็ นระบบแบบ vanilla เหมาะสำาหรับคนท่ีชอบ Ubuntu ฉบับตกแต่งได้เองแบบอิสระ เพ่ ือเอาไปใช้งานตามแบบของคุณเอง ท้ังน้ีผมรวม Remasterys เข้าไปด้วย อ่านรายละเอียดเพิ่มเติมได้ท่ี http://forum.ubuntuclub.com/forum/topic,12065.0.html คร้ังหนา ้ เป็ นตอนสุดท้าย ซึง ่ เป็ นเทคนิ คเบ้ ืองต้นในการปรับแต่งค่าคอนฟิ คระบบต่างๆ ให้ได้อย่าง PE/XE/PB/APE ขอให้สนุกกับการทำาดิสโทรครับ Teddy
ทำำดิสโทรใช้เองด้วย remastersys ตอนสุดท้ำย 25. November 2009 - 23:53 — TrendyTeddy ตอนสุดท้ายกับการทำาดิสโทรใช้เองด้วย remastersys สำาหรับตอนท่ี 1 อ่านได้ท่ี http://www.ubuntuclub.com/node/1549 สำาหรับตอนท่ี 2 อ่านได้ท่ี http://www.ubuntuclub.com/node/1551 เน่ อ ื งจากเน้ ือหาของการปรับแต่งมีมาก อาจจะเพียงกล่าวและยกตัวอย่างส้ันๆ เป็ นคอนเซ็ปต์ในการศึกษา และทดลองทำานะครับ ท้ังน้ีเม่ ือมีประสบการณก ์ ารปรับแต่งมากขึน ้ ก็จะสามารถสร้างดิสโทรในแบบท่ี ต้องการตรงใจยิ่งขึ้น โดยตอนน้ีจะกล่าวถึง • สิ่งท่ีควรร้้ก่อนปรับแต่ง • การปรับแต่งอย่างง่ายด้วยการคัดลอกไฟล์ไว้ใน /etc/skel • ตัวอย่างการปรับแต่งระดับค่าคอนฟิ ค 1.สิง ่ ทีค ่ วรร้้ก่อนปรับแต่ง
1.1 โฟลเดอร์ CDFS ท่ี Remastersys สร้างไว้ย่้ท่ีไหน ด้จากส่วนท่ีกำาหนดไว้ใน Remastersys > Modify > Working Directory เข้าไปยังโฟลเดอร์ท่ีกำาหนดไว้ให้เป็ น Working Directory และหาโฟลเดอร์ท่ีช่อ ื ISOTMP ไฟล์ระบบซึ่ง Remastersys ทำาการสำารองจะอย่้ท่ีน่ัน 1.2 ร้้จักท่ีอย่้ของไฟล์ระบบท่ีสำาคัญๆ ท่เี ก่ียวกับการปรับแต่ง แม้ ว่าจะไม่จำาเป็ นต้องร้้ถึงระบบท้ังหมดถึงจะปรับแต่งได้ หากมีเวลาศึกษาก็สามารถลงรายละเอียดได้ว่าจะ ปรับแต่งอะไรบ้างก็จะเป็ น ประโยชนค ์ รับ /etc /etc/skel /usr/share ตัวอย่างกลุ่มโฟลเดอร์ท่ีเก็บข้อม้ลเก่ียวกับร้ปลักษณ์ /usr/share/icons /usr/share/themes /usr/share/backgrounds /usr/share/fonts โฟลเดอร์ท่ีเก่ียวกับค่ารีจิสทรีของโปรแกรมต่างๆ /usr/share/gconf **ข้อควรจำำ หากต้องแก้ไขไฟล์หรือโฟลเดอร์ใดๆ ท่ีอย่ใ้ นท่ีนอกเหนื อจาก /home ของเราแล้วน้ัน จะต้อง ใช้สิทธิผ้ด้แลระบบเสมอ** 1.3.วิธีตรวสอบว่าแต่ละแพกเกจมีโครงสร้างอย่้ตรงไหนในไฟล์ระบบ dpkg -L ช่ อ ื แพกเกจ การใช้ dpkg -L มีประโยชนใ์นการหาท่ีอย่้ของไฟล์ต่างๆ ซึง ่ เป็ นของแพกเกจน้ันๆ นำามาซึ่งการคอนฟิ คได้ อย่างถ้กท่ี
2.กำรปรับแต่งอย่ำงง่ำยด้วยกำรคัดลอกไฟล์ไว้ใน /etc/skel เม่ ือ ทำาดิสโทรหรือแบคอัพด้วย remastersys จะพบปั ญหาหนึ่ง คือ live CD/DVD ท่ีทำาไว้ไม่จำาค่าคอนฟิ ค เดิม ปั ญหาน้ีเกิดขึ้นเพราะ ค่าคอนฟิ คต่างๆ ของ Ubuntu จะคืนส่้ค่าปริยายท้ังหมด การปรับแต่งค่าโดยปรับแต่งจาก /etc หรือ /usr/share ท้ังหมดอาจเป็ นเร่ ืองยาก แต่เราสามารถเขียนทับ ค่าปริยายคอนฟิ คต่างๆ ท่ีเราทำากับเคร่ ืองต้นฉบับไปส่้ live CD/DVD ท่ีเราสร้างขึ้นอย่างง่ายๆ ด้วยการคัด ลอกค่าคอนฟิ คท่เี กิดขึ้นภายใน /home/ย้สเซอร์/.โฟลเดอร์ หรือ .ไฟล์คอนฟิ ค ไปไว้อย่้ใน /etc/skel ให้ลองเปิ ด nautilus file manager ขึน ้ มาด้ แล้วเข้าส่้ Home folder ของเรา กด Ctrl+H จะพบว่ามี โฟล์เดอร์ และไฟล์ท่ีขึ้นต้นด้วย "." อย่้ โฟลเดอร์และไฟล์เหล่าน้ีเป็ นไฟล์ท่ีถ้กซ่อนไว้จากการมองเห็น ซึ่งมัก จะเป็ นท่ีเก็บค่าคอนฟิ คของโปรแกรมต่างๆ เฃ่น .conf .local .ช่ อ ื โปรแกรม การคัดลอก ทำาโดยเปิ ด nautilus ด้วยสิทธิผ้ด้แลระบบ หรือจะใช้ terminal คัดลอกไฟล์หรือโฟลเดอร์ เหล่าน้ันไปยัง > ไฟล์ระบบท่ี remastersys สร้าง/etc/skel หลักการ ทำางานของ /etc/skel มีดังน้ีคอ ื เม่ ือมีการ add user ใหม่ ไม่ว่าจะเป็ นระบบ live หรือระบบท่ีติด ต้ังใช้อย่้ โปรแกรม adduser จะคัดลอกข้อม้ลจาก /etc/skel ไปส่้โฟลเดอร์ใหม่น้ันด้วย เท่าน้ีค่าคอนฟิ คท่ีต้องการจะอย่้ในโฟลเดอร์ของเรา ระบบจะอ่านจากค่าเหล่าน้ีเป็ นลำาดับแรก แต่การปรับ แต่งระดับ /etc/skel อาจจะหายไปหากเผลอทำาการลบข้อม้ลท่อ ี ย่้ใน "." โดยไม่ต้ังใจ ถ้าเป็ นไปได้การปรับ แต่งจากท่ีอย่้จริงของค่าคอนฟิ คจะแก้ปัญหาน้ี **tricks: หากยังไม่เข้าใจระบบดีนัก ให้ใช้การปรับแต่งแบบคัดลอกค่าคอนฟิ คลงใน /etc/skel เป็ นวิธีท่ี ง่ายสุดครับ** 3.ตัวอย่ำงกำรปรับแต่งระดับค่ำคอนฟิค 3.1. /usr/share/gconf/defaults/ ค่าคอนฟิ คของ panel อย่้ท่ี 05_panel-default-setup.entries ค่าท่ัวไปของ gnome desktop อย่้ท่ี 10_libgnome2-common ในน้ีสามารถปรับแต่งร้ปลักษณไ์ด้ทุกอย่างให้เป็ นค่าต้ังต้น 3.2. /usr/share/gnome-background-properties ชุด wallpapers ท่ีเห็นน้ัน ถ้กควบคุมไฟล์ XML ท่ีอย่ใ้ นน้ี เราสามารถสร้างเพิ่มและเลียนแบบเพ่ ือสร้างชุด wallpapers ในแบบของเราได้
3.3. chroot เข้ายัง CDFS เพ่ ือปรับแต่งบางด้านท่ีใช้การคอนฟิ คแบบธรรมดาไม่ได้ sudo mount --bind /dev/pts /path/to/CDFS /dev/pts sudo chroot /path/to/CDFS <chroot prompt> #เซ็ตค่าปริยายเก่ียวกับการสลับภาษาแต่กำาเนิ ด dpkg-reconfigure console-setup #ทำาให้ gedit อ่านภาษาไทยท่ีเข้ารหัส TIS-620 ได้เลย gconftool-2 --direct \ --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \ --type list --list-type string \ --set /apps/gedit-2/preferences/encodings/auto_detected [UTF-8,TIS-620,CURRENT,ISO8859-15,UTF-16] #แสดงธงชาติเวลาสลับภาษา แต่ต้องไปแก้ค่า panel ให้แสดง KeyboardApplet ด้วย gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults \ --type bool --set /desktop/gnome/peripherals/keyboard/indicator/showFlags true #หากอยากจะติดต้ัง/ถอดถอนโปรแกรมใน chroot aptitude <การออกจาก chroot> umount -l /proc umount -l /dev/pts exit ..... ส่งท้าย: PE/XE/PB ไม่ได้มีความลับอะไรเลย นอกจากการปรับแต่งจาก Ubuntu ดังน้ันถ้าร้้จักปรับแต่ง ก็ จะได้ดิสโทรตามวัตถุประสงค์ในร้ปลักษณท ์ ่ีตอ ้ งการ เพ่ ือคุณจะได้ดิสโทร "ใช้ท่ช ี อบ" เริ่มจากการปรับแต่ง ในแบบของคุณเอง ไม่ต้องรอใคร Teddy