Christian

Kildau

Network Engineer


Welcome to my little blog. I am mostly techie over here, blogging about networking and system administration topics, but there will also be some Travel Reports from time to time…

How to Fix “The file server has closed down” issues in Mac OS and netatalk

August 23, 2010Christian Kildau4 Comments

Netatalk versions older than 2.1.3 had some issues with the TCP/IP Stack on Linux which resulted in errors like

Luckily they seem to have fixed this in 2.1.3 as the ChangeLog states: fix a serious error in networking IO code.

So the solution is as easy as upgrading. I am running Ubuntu, but two months after netatalk-2.1.3 has been released, they don’t even have it in unstable. Lucky Gentoo users you! I needed to fix this very quickly as it started to disrupt my workflow. Sadly I currently don’t have the time to dig into the packaging system of Debian or Ubuntu, so I looked up Debian’s configure options and just compiled from source:

1
2
3
4
5
6
7
8
9
10
11
cp -a /etc/netatalk/ ~
aptitude purge netatalk
apt-get build-dep netatalk
wget http://sourceforge.net/projects/netatalk/files/netatalk/2.1.3/netatalk-2.1.3.tar.bz2/download
tar xjvf netatalk-2.1.3.tar.bz2
cd netatalk-2.1.3
./configure  --with-shadow --enable-fhs --enable-tcp-wrappers --enable-timelord --enable-overwrite --with-pkgconfdir=/etc/netatalk --enable-krb4-uam --enable-krbV-uam --with-cnid-dbd-txn --with-libgcrypt-dir --with-cracklib=/var/cache/cracklib/cracklib_dict --enable-debian --disable-srvloc --enable-zeroconf --with-ssl-dir --enable-pgp-uam --prefix=/usr/local/netatalk/
make
sudo make install
mv ~/netatalk /etc/
/etc/init.d/netatalk start

This saves a copy of your running netatalk configuration to your home directory, removes netatalk, downloads all necessary libraries to build netatalk, downloads netatalk from SourceForge, extracts it, configures it, builds it, installs it, restores the configuration and starts it as usual.

I am running netatalk 2.1.3 for a week now and the error seems to be gone

If you know how to easily create a Debian package, feel free to post in the comments.

This article has 4 comments
  1. frogstar_robot
    2010/09/02

    Inside your untarred source dir do:

    dh_make -c gpl2 -f ../netatalk-2.1.3.tar.bz2

    then edit debian/rules and add above the stanza with the ./configure statement:

    DEB_CONFIGURE_EXTRA_FLAGS :=
    –with-shadow –enable-fhs
    –enable-tcp-wrappers
    –enable-timelord –enable-overwrite
    –with-pkgconfdir=/etc/netatalk
    –enable-krb4-uam –enable-krbV-uam
    –with-cnid-dbd-txn
    –with-libgcrypt-dir
    –with-cracklib=/var/cache/cracklib/cracklib_dict
    –enable-debian –disable-srvloc –enable-zeroconf
    –with-ssl-dir –enable-pgp-uam

    add $(DEB_CONFIGURE_EXTRA_FLAGS) just after $(CROSS) in the ./configure statement

    Be sure you are at the top of your unpacked netatalk source and do:

    fakeroot dpkg-buildpackage -b

    Cross fingers.

  2. frogstar_robot
    2010/09/02

    Have discovered two things I have to change in the above instructions to get a .deb to build

    change the ./configure line in rule to read:

    ./configure $(DEB_CONFIGURE_EXTRA_FLAGS) –prefix=/usr –mandir=$${prefix}/share/man –infodir=$${prefix}/share/info

    and do

    export DH_ALWAYS_EXCLUDE=/usr/include/netatalk/at.h
    prior to running dpkg-buildpackage -b

    Next thing is to find out how well the package so built works….

  3. Chris
    2010/09/04

    Thank you for sharing! Package installed fine for me!

  4. Gideon
    2011/01/31

    Thanks! This really seems to have been the solution… I started getting annoying “file server has closed down” errors…


Leave a Reply