Making debian linux support Time Machine in OS X 10.7 Lion
เมื่อไม่กี่วันที่ผ่านมากทาง Apple ได้ปล่อย OS X 10.7 Lion ออกสู่ App Store ทางเราก็ไม่รอช้าจัดการโหลดมาเล่นซะ
ก่อนทำการติดตั้งก็จัดการ Backup ไว้ก่อนด้วย Time Capsule ที่เราทำขึ้นมาก่อนหน้านี้ ที่นี่
พอติดตั้งเสร็จปุ๊บ เพื่อความปลอดภัยก็ทำการ Backup ซ้ำอีกที ขี้เกียจโหลด Lion มาใหม่ แต่อ้าว ทำไมขึ้นแบบนี้ล่ะ
ไปหาข้อมูลมาก็พบว่า Lion ได้เปลี่ยนไปใช้ AFP 3.3 ซึ่งจะต้องใช้ Netatalk 2.2 ขึ้นไป
แต่ package ในตัว debian squeeze ของเรายังไม่มี จะไปเอา source มา compile ก็ยังเป็น beta
หาไปหามาก็ไปเจอดราม่าเล็กๆของทีมงาน netafp แต่ก็จะไม่ขอกล่าวละกัน เอาเป็นว่าไปเจอ source ของ netatalk 2.2.0-p6 ที่ github
ฉะนั้นแล้วอย่ารอช้ารีบโหลดด่วน เดี๋ยวเผื่อมันจะหายไปภายหลัง
จัดการโหลด source มาจาก https://github.com/jrmithdobbs/netatalk-2-2-0-p6 ตามคำสั่งต่อไปนี้
$git clone https://github.com/jrmithdobbs/netatalk-2-2-0-p6.git
เสร็จแล้วก็เข้าไป configure และ compile
$cd netatalk-2–2–0-p6
$./configure — enable-debian
$make
$sudo make install
*หมายเหตุ ถ้าติดตั้งครั้งที่แล้วเรียบร้อยให้ถอนการติดตั้งก่อนนะครับ ตามนี้
$sudo apt-get remove netatalk
แล้วก็ทำการแก้ไขไฟล์ /usr/local/etc/netatalk/afpd.conf
$sudo vi /usr/local/etc/netatalk/afpd.conf
ใส่คำสั่งนี้ในไฟล์
- -tcp -noddp -nozeroconf -uamlist uams_randnum.so,uams_dhx.so,uams_dhx2.so -nosavepassword -advertise_ssh -udp
*ที่เซ็ท -nozeroconf ก็เพราะว่าใน netatalk 2.2 มันจะทำการประกาศตัวเองอยู่แล้ว ซึ่งเราจะใช้ avahi แบบเดิมแทนเพราะสามารถเนียนเป็น Time Capsule ได้
ต่อมาก็แก้ไขไฟล์ /usr/local/etc/netatalk/AppleVolumes.default
$sudo vi /usr/local/etc/netatalk/AppleVolumes.default
ใส่พารามิเตอร์ตามนี้นะครับ หลังๆรู้สึกว่าถ้าแชร์แบบใช้ user จะเข้ากันได้ดีกว่านะครับ สามารถ restore ตั้งแต่ตอนใส่แผ่นได้เลย(ส่วน Lion ยังไม่รู้)
/home/username/TimeMachine TimeMachine allow:username1,username2 cnidscheme:dbd 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,adVF=0x100</txt-record>
<txt-record>dk0=adVF=0x83,adVN=TimeMachine</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 นะครับ
เพียงเท่านี้เราก็มี Time Capsule เนียนๆใช้แล้วครับ แถมยังรองรับ OS X 10.7 Lion ด้วย