Build your own Time Capsule with debian linux

หลังจากที่ได้เครื่อง Mac มาแล้ว สิ่งที่ต้องทำก็คือการเล่น ไม่ว่าจะลองนู่นลองนี่ ลงนู่นลงนี่ เพื่อให้คุ้นมือ แต่ก่อนอื่นขณะที่เรายังเป็นมือใหม่ สิ่งสำคัญก็คือการ Backup เครื่อง เพราะถ้าเราทำหายนะกับเครื่องมากน้อยแค่ไหนมันก็จะกลับสู่สภาพเดิมได้อย่างปลอดภัย โดยใช้ Feature อย่าง Time Machine ที่ติดมากับเครื่องนั้นก็จะจัดการให้เราได้ การ Backup ด้วย Time Machine นั้นสามารถทำได้ 2 วิธีคือ 1.เสียบ external harddisk และ 2.ใช้ Time Capsule การใช้ external harddisk ก็ง่ายๆไม่มีอะไรมาก จะไม่ขอพูดแล้วกันนะครับ มาดูส่วนที่ 2 กัน การใช้ Time Capsule

ข้อดี

  1. สะดวกไม่ต้องเสียบสายไว้กับเครื่องเคลื่อนย้ายได้ตลอด
  2. ไม่เสียช่องเสียบ USB,FireWire

ข้อด้อย

  1. ความเร็วในการใช้งานจะช้ากว่า
  2. ต้องมีเครื่อง Server

เมื่อพร้อมแล้วก็มาเริ่มกันเลย ขั้นแรกทำการติดตั้ง Netatalk เนื่องจาก Apple จะใช้โปรโตคอล AFP เป็นหลัก

$sudo apt-get install netatalk

ถ้าต้องการความสะดวกสบาย ใช้งานภายในบ้าน จะสามารถเซ็ทให้ไม่ต้องใส่รหัสผ่านก็สามารถทำได้โดย ถ้าต้องการใส่รหัสผ่านให้ข้ามขั้นตอนนี้ไป

$sudo vi /etc/netatalk/afpd.conf

ใส่คำสั่งต่อไปนี้ลงไปในไฟล์

- -tcp -noddp -uamlist uams_guest.so

จากนั้นก็ทำการตั้งค่า Volume ที่จะทำการแชร์

*เนื่องจากระบบ Time Machine จะทำการ Backup เรื่อยๆจนเต็มความจุ ดังนั้นจึงขอแนะนำให้แยก Volume ออกจากระบบ File Server ทั่วไป

$sudo vi /etc/netatalk/AppleVolumes.default

ใส่พารามิเตอร์สำหรับการแชร์ (ในกรณีีที่ใช้รหัสผ่าน)

/home/username/TimeMachine TimeMachine allow:username1,username2 cnidscheme:cdb options:usedots,upriv,tm

(ในกรณีที่ไม่ต้องใส่รหัสผ่าน)

/home/username/TimeMachine TimeMachine options:usedots,upriv,tm

เสร็จแล้วก็ restart netatalk

$sudo /etc/init.d/netatalk restart

หลักจากที่ทำเสร็จแล้วเราก็ต้องประกาศในเครื่อง Mac รู้ว่าเรามี Time Capsule แล้วนะ โดยเราจะใช้โปรแกรม avahi ซึ่งเป็นโปรแกรมที่รองรับโปรโตคอล mDNS หรือ Bonjour ของ Apple นั่นเอง

$sudo apt-get install avahi-daemon

เมื่อติดตั้งเสร็จแล้ว ก็ทำการแก้ไขไฟล์ nsswitch.conf

$sudo vi /etc/nsswitch.conf

เพิ่มคำว่า mdns ลงไปในบรรทัดที่เขียนว่า hosts: ตามนี้ hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdnsจากนั้นก็ไปตั้งค่าใน avahi เพื่อบอก service ที่เรามี

$sudo vi /etc/avahi/services/afpd.service

ใส่ข้อความตามนี้ลงไป

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->

<!DOCTYPE service-group SYSTEM "avahi-service.dtd">

<service-group> <name replace-wildcards="yes">%h Time Capsule</name>

<service> <type>_afpovertcp._tcp</type> <port>548</port> </service> <service> <type>_adisk._tcp</type> <port>9</port> <txt-record>sys=waMA=xx:xx:xx:xx:xx:xx</txt-record> <txt-record>dk2=adVF=0x83,adVN=TimeMachine,adVU=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</txt-record> </service> <service> <type>_device-info._tcp</type> <port>0</port> <txt-record>model=TimeCapsule</txt-record> </service> </service-group>

waMA=xx:xx:xx:xx:xx:xx ให้แทนที่ด้วย mac address ของ server นะครับ adVU=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ให้ใส่ UUID ของ Volume ที่เราใช้ ถ้าไม่ทราบให้ใช้คำสั่ง

$sudo blkid

เสร็จแล้วก็ restart avahi-daemon สักที

$sudo /etc/init.d/avahi-daemon restart

เพียงเท่านี้ก็เรียบร้อยแล้วครับ เวลาใช้งานก็จะเห็นเป็น Time Capsule เลยครับ

Thank.

http://www.kremalicious.com/2008/06/ubuntu-as-mac-file-server-and-time-machine-volume/

http://marc.info/?l=netatalk-devel&m=121076211716326