After going to the Apple Store with a friend and seeing the $300+ Apple Time Capsule I decided to see if I could do the same thing with Netatalk. Turns out I could but if you’re using Debian stable like me you need to get at netatalk 2.2.x before it’ll work with OSX Lion 10.7.x. After seeing a variety of other examples out there on the net and getting a little confused as to why they were doing certain things I decided to just post how I did it. Also, rather than install things from source I like to use debian packages to keep servers clean. But there was a small problem due to a netatalk make bug that debian’s package didn’t account for. So I will post those packages I backported to stable for this.
Packages
Debian 6.0 (Squeeze) AMD64
Debian 6.0 (Squeeze) i386
Netatalk Time Capsule Server Setup
After you’ve installed the packages create a service group by creating /etc/avahi/services/afpd.service and adding the contents below: (this might not be necessary with netatalk 2.2)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <? xml version = "1.0" standalone = 'no' ?> <!--*-nxml-*--> <! DOCTYPE service-group SYSTEM "avahi-service.dtd"> < service-group > < name replace-wildcards = "yes" >%h</ name > < service > < type >_afpovertcp._tcp</ type > < port >548</ port > </ service > < service > < type >_device-info._tcp</ type > < port >0</ port > < txt-record >model=Xserve</ txt-record > </ service > </ service-group > |
Make a directory to store your time machine data:
mkdir /var/timemachine
Now mark the volume saying it is a supported time machine share:
touch /var/timemachine/.com.apple.timemachine.supported
Define a volume in /etc/netatalk/AppleVolumes.default with the allowed user, usedots to support hidden files, uprivs for afp3 privileges that osx lion needs, and tm to enable time machine support. (highlighted below)
1 2 3 | # By default all users have access to their home directories. ~/ "Home Directory" /var/timemachine TimeMachine allow:joe cnidscheme:dbd options:usedots,upriv,tm |
Now that things are configured we need to restart avahi.
/etc/init.d/avahi-daemon restart
And restart netatalk
/etc/init.d/netatalk restart
Apple OSX 10.7.x Lion Setup
Now set your OSX installation so it sees unsigned time machine volumes.
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
You should now see your volume in Time Machine Preferences under “Select Disk…”.