Install Netatalk v3 on Debian
NB: This page is a work in progress (WIP). If you see this disclaimer, please be aware the the walkthrough presented below may be incomplete or may contain errors resulting in a broken install.
As of the date of creation of this page (27th April 2013), Netatalk v3 has yet to reach any of the currently-available Debian branches (stable, testing, unstable or experimental)---in fact, the latest version offered is 2.2.2-1. Given the significant improvements in v3, it seemed prudent to offer a walkthrough on obtaining, compiling and installing Netatalk v3 from source on this platform.
This walkthrough comprises the steps taken by someone unfamiliar with either Debian or compiling, and results in a working install of Netatalk v3.0.3 capable of sharing the Debian user folders, and shared volumes, via a relatively secure authenticated login. It does not comprise any steps allowing for Bonjour auto-discovery, as the target machine was being optimised for energy-savings.
All steps were undertaken via an SSH connection from a local client machine, so some acquaintance with use of the Command Line Interface is advisable, though probably not necessary, as this should be fairly straight-forward.
Obtaining the Netatalk 3 source code
The source code for Netatalk 3 is made available on the home page of the Netatalk website. For the purposes of the following section, the gzip version is used. You can download it any way you choose, but ultimately the downloaded file has to be transferred to a dedicated folder on the target machine. In this section, Wget will be used. If this isn't already installed, it can be obtained through apt-get or aptitude.
Start by logging on to your Debian machine, creating the dedicated folder within which the following steps will be performed and navigating into it. Then, download the source code:
wget -O ./netatalk3source.tar.gz insert_url_here
This will create a file called netatalk3source.tar.gz in your current directory. Decompress it with:
tar -x -f ./netatalk3source.tar
You will now have a new directory entitled Netatalk 3.0.3, and the original netatalk3source.tar file. You can keep the latter file for future install purposes, or delete it: the choice is yours.
You should now navigate into the new directory, and proceed to the next section.
Compiling Netatalk 3 with the required dependencies
You now need to install the required dependencies before proceeding:
apt-get install libgcrypt11-dev libdb4.8-dev
Once this has finished, you can proceed with configuring the proposed install:
./configure --enable-debug --with-cnid-dbd-backend --with-init-style=debian --with-acls
This will take some moments, depending on the speed of the machine. On successful completion, you will see a report similar to the following:
Using libraries: LIBS = -ldl CFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -D_U_="__attribute__((unused))" -g -O2 PTHREADS: LIBS = CFLAGS = -pthread LIBGCRYPT: LIBS = -lgcrypt CFLAGS = BDB: LIBS = -L/usr/lib64 -ldb-4.8 CFLAGS = LIBEVENT: bundled Configure summary: INIT STYLE: debian AFP: Extended Attributes: ad | sys ACL support: yes CNID: backends: dbd last tdb UAMS: DHX2 ( SHADOW) clrtxt ( SHADOW) guest Options: Zeroconf support: no tcp wrapper support: no quota support: yes admin group support: yes valid shell check: yes cracklib support: no ACL support: yes Kerberos support: auto LDAP support: no dbus support: no dtrace probes: no Paths: Netatalk lockfile: /var/lock/netatalk init directory: /etc/init.d
Crucially, confirm that DHX2 appears under the UAMS section of the report---this is essential for the authenticated login of clients. All being well, you can proceed with installation.
Installing Netatalk 3 using Checkinstall
Configuring Netatalk 3 for client access