Friday, October 24, 2008

Intrepid Ibex broke my Netatalk

I mostly use Macs, but all of my media files are stored on a home server that runs Ubuntu. I had been using Gutsy and sharing my files using netatalk, an open source implementation of Apple's AppleTalk protocol, and everything was working swimmingly.

However, as soon as the beta for the newest version of Ubuntu--known as Intrepid Ibex--was released, I upgraded to it and was shocked to find that I could no longer connect through netatalk using my Macs (they're running 10.5 Leopard). Every time I tried, it would fail with this error:
A volume failed to mount.
The volume [directory name] could not be mounted
I fiddled with configurations on both ends to no avail, so I decided to try a workaround: I uninstalled the version of netatalk from the Intrepid repos (sudo aptitude remove netatalk) and then downloaded outdated deb binaries for netatalk and its only other major dependency, libdb4.2, from the Gutsy repos.

Install (sudo dpkg -i [package name]) libdb4.2 first (it'll give you a warning about downgrading from a higher version), then netatalk, and then let the service start. You should now be able to connect to your shares again.

Leave me a comment if this doesn't fix your problem and I might be able to help.


Sam said...

I followed the instructions from the link above, with success in about 5 mins. Having previously fiddled at length, I was very impressed!

Hunter K. said...

yeah, that looks like a good tutorial for folks that don't mind doing a little compiling. I may do that myself next time I reinstall. Thanks for the link.

Hunter K. said...

Just to follow up, I tried compiling some binaries of netatalk using the directions Sam posted and they suffered from the same errors I was getting before, which indicates that the issue is with netatalk itself and not Ubuntu as I had originally suspected. I'm going to do some digging and see if I can figure out what has happened between Gutsy and Intrepid (they use the same version of netatalk, after all) to cause this breakage.

Kevin Peter said...

I was having this problem after upgrading from 8.10 to 9.04, and after looking at syslog, I finally figured out that it had to do with the .AppleDB directory, which stores the metadata database.

The problem was that netatalk had been upgraded from 2.0.3 to 2.0.4 beta, and the database format was now invalid. So I just had to delete the .AppleDB directory, and it all worked again.

I used the following command to delete all the .AppleDB directories under the current working directory: sudo find ~/ -name '.AppleDB' -exec rm -rfv {} \;

Hunter K. said...

@Kevin Porter
That's awesome news and makes a lot of sense. Thanks for the info!

Analytics Tracking Footer