Debian Live บน USB

หากต้องการใช้งาน debian บน USB flash drive เพื่อพกพาไปใช้งานบนคอมพิวเตอร์เครื่องอื่น โดยไม่ต้องติดตั้งลงบนเครื่องนั้นๆ เราสามารถทำได้โดย การสร้างอิมเมจเพื่อติดตั้งลง USB สำหรับขั้นตอนการติดตั้งนั้นสามารถทำได้ 2 วิธีคือ ใช้ command line และ GUI โดยในที่นี้จะแนะนำผ่านทาง command line ซึ่งมีขั้นตอนดังต่อไปนี้

ติดตั้งแพกเกจสำหรับสร้างอิมเมจเพื่อติดตั้งลง USB

$ sudo aptitude install live-helper

หลังจากนั้นเริ่มการสร้างอิมเมจโดยที่ใช้ lh config เพื่อปรับแต่งค่าต่างๆ ที่เราต้องการใช้งาน เนื่องจากเมื่อเราสร้างอิมเมจเสร็จแล้วจะไม่สามารถเพิ่มแพกเกจได้อีก ดังนั้นจึงต้องเพิ่มแพกเกจที่จะใช้งงานให้ครบ สำหรับ lh config มีออปชันอยู่ด้วยกันหลายออปชันให้เลือกใช้งานในที่นี้ผมขอแสดงที่ผมใช้ก็แล้วกันครับ

$ mkdir debian-live
$ cd debian-live
$ lh config -b usb-hdd --distribution sid -a i386 --hostname hadsadee --username sdayu --apt aptitude \
-p "gnome" --packages "g++ make autotool-dev autoconf libcv-dev libhighgui-dev libcvaux-dev xfonts-thai subversion" \
--mirror-binary "http://ftp.th.debian.org/debian/" --mirror-bootstrap "http://ftp.th.debian.org/debian/" \
--mirror-chroot "http://ftp.th.debian.org/debian/" --archive-areas "main contrib non-free"  \
--bootappend-live "persistent quickreboot" --virtual-root-size 1000

-b usb-hdd สำหรับการใช้งานบน USB
--distribution sid เลือก distribution ของ debian ในทีนี้เลือก sid แต่สามารถเลือก lenny หรือ squeeze ก็ได้ตามใจชอบ
-a i386 เลือกสถาปัตยกรรมซีพียูที่ต้องการใช้งาน มี i386 กับ amd64 ให้เลือก
--hostname hadsadee ตั้งชื่อ host
--username sdayu ตั้งชื่อ live user
--apt aptitude กำหนดว่าจะใช้ apt-get หรือ aptitude
-p "gnome" เป็นรายการแพกเกจที่ live-helper เตรียมไว้ให้ สามารถดูได้จาก $ ls /usr/share/live-helper/lists/ ในที่นี้เลือกใช้ gnome
--packages "g++ make ... " นอกเหนือจากรายการแพกเกจที่ live-helper เตรียมไว้ให้เราสามารถเพิ่มแพกเกจที่ต้องการเพิ่มเติมได้
--mirror-binary --mirror-bootstrap --mirror-chroot เป็นการเลือก mirror ที่ใช้สำหรับติดตั้งแพกเกจต่างๆ หากไม่กำหนด ก็จะใช้ค่าปริยายของระบบ
--archive-areas "main contrib non-free" บอกขอบเขตที่ต้องการติดตั้งแพกเกจ หากไม่กำหนดแพกเกจจะมาจาก main เท่านั้น
--bootappend-live "persistent quickreboot" เพิ่มออปชันสำหรับ boot โดยในที่นี่ต้องการใช้งาน persistent เพื่อบันทึกข้อมูล

เมื่อเสร็จจากกระบวนการขั้นต้นแล้วก็เริ่มสร้างอิมเมจได้ทันที

$ sudo lh build

ใช้เวลาค่อนข้างนาน ขึ้นอยู่กับความเร็วอินเทอร์เน็ตและจำนวนแพกเกจที่ต้องการติดตั้ง หากไม่มีข้อผิดพลาดเกิดขึ้นจะปรากฏไฟล์เพิ่มเติมคือ binary.img binary.list และ binary.packages หลังจากนั้นเตรียมการติดตั้งบน USB ได้ทันที สำหรับการติดตั้งอิมเมจลง USB นั้น ด้วยวิธีที่นำเสนอนี้จะต้องเป็น USB ที่ว่างไม่มีข้อมูล เพราะจะลบพาร์ทิชันเดิมทิ้งแล้วสร้างใหม่

$ sudo fdisk -l # ดูว่า USB ใช้ส่วนติดต่อ device ชื่ออะไร /dev/sdX
$ sudo dd if=binary.ing of=dev/sdX

เพียงแค่นี้ก็สามารถใช้งานได้แล้ว หากไม่ได้ disable auto log in ไว้ เมื่อ boot แล้วจะไม่ต้อง log in อีก

แต่หากต้องการให้สามารถเขียนข้อมูลลงโฮมไดเร็กทอรีของตัวเองได้นั้น ต้องการพื้นที่ใน USB ที่เหลือ แล้วฟอร์แมตและตั้งชื่อว่า home-rw หลังจากนั้นจึงเริ่ม boot การใช้วิธีนี้จะ boot เข้า GUI ได้ แต่ในเวอร์ชันนี้ยังไม่สามารถใช้งานโฮมไดเร็กทอรีได้ทันที จึงให้เปิด linux console ขึ้นมาก่อน log in โดยใช้ชื่อที่ตั้งไว้ตอนแรก ใส่ password ว่า live

hadsadee login: sdayu
Password: 
/ $ sudo -i
/ # chmod a+rw /home
/ # chown sdayu: /home/sdayu

แล้วลอง log in ทาง GUI น่าจะใช้งานได้ปรกติ สำหรับการติดตั้งนี้ใช้ ext4 สำหรับ file system แบบอื่นยังไม่ได้ทดลอง

สำหรับผู้ที่ต้องการใช้งานผ่านทาง GUI สามารถติดตั้งแพกเกจ live-magic แล้วทดลองสร้างอิมเมจได้ทันที หาก build แล้วต้องการติดตั้งแพกเกจเพิ่มจะต้องเริ่ม build ใหม่ แต่เราไม่ต้องลบไดเรกทอรีทิ้ง เพียงแต่ ใช้คำสั่ง $ sudo lh clean เพื่อลบ chroot ที่ build ไว้ครั้งก่อนออก จากนั้นจึงสั่ง lh config ใหม่เพื่อเพิ่มแพกเกจ แล้ว build ใหม่ ซึ่งจะไม่ใช่การดาวน์โหลดใหม่ทั้งหมด เนื่องจากจะใช้แพกเกจที่ได้ดาวน์โหลดไว้แล้ว

ข้อมูลเพิ่มเติม
man lh_config
Debian Live Manual

Topic: 
Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้