Most of the interesting stuff is here, but I also ran into lots of issues he doesn’t document.
At least until my comment there is approved I’m going to paste it here for safe keeping:
Wow, for something that is supposed to be easy for newbies I sure had a heck of a time getting this to work on Intrepid. Anyone who cares can find out more about the system I did this on at TechArcana.
To start with there was this dbus crash bug that I mentioned earlier. To get around that I actually needed to temporarily comment out the start-stop-daemon –start line in /etc/init.d/dbus so I could get installation of avahi et. al. to complete. I looked for ways to untangle the mass of dependencies around the avahi-daemon package — after all, you shouldn’t need dbus, and especially not dbus-x11 to get avahi running (I have avoided installing any X11 stuff on my server)… but it ain’t easy, at least the way the ubuntu package sources are constituted.
Then there was the crazy behavior of netatalk upon initial installation. Before I had a chance to edit /etc/default/netatalk, “starting netatalk (this might take a while)…” was all too true. In other words, it never completed. Most things I could do on my existing ssh connections would lock up in an un-killalble way and I couldn’t make any new connections. So I went downstairs to the server, and for some reason I decided to unplug one of my two bonded ethernet connections, which brought everything back. I have no idea which of the things we turned off in /etc/default/netatalk was responsible for this behavior.
Finally, there was what happened when I tried backing up a 2nd machine to my TimeMachine volume: write permission problems. It didn’t get around to trying (and failing) to create “kicoo.luannocracy.com_002332ceca1e.sparsebundle” because first it would fail to write “.002332ceca1e”. Before any of this I had created a TimeMachine group on the server containing all the users that need to do backups, and given the group write permission on the folder. So what was going wrong? I took a wild guess that the files .AppleDB, .AppleDesktop, and .AppleDouble in that directory had something to do with it. They had all been created by the first user to do a backup, and this other user didn’t have write permission on them. So I changed their group to TimeMachine and was able to continue with the next user.
A couple things still don’t seem to work so well. For one thing, it seems to take a rather long time (10-12 sec) to establish the connection to the netatalk server, considering everybody’s on the same fast, local network. For another, despite having set up avahi, I somehow still can’t “ssh hydra.local” from the client machines. I wonder what’s missing — dbus doesn’t seem like a likely culprit here.
A note about building .debs: you don’t need sudo until it’s time to install them. That’s what the “fake” in “-rfakeroot” is all about . Strickly speaking, it’s better not to enable full root privs except when they need them.
Note: you may see some “afpd: bad function 4F” messages in your syslog. Apparently they are not meaningful and there’s a way to suppress them.
Note 2: you may find that your unicode filenames don’t work so well unless you enable the UTF8-MAC encoding in Netatalk.
Note 3: I also tried this hint for speeding up time machine’s performance over the network, with a compromise band size of ~100M. I didn’t measure anything, but I find I am seldom annoyed anymore by long, slow backups.