What's it for?

Netatalk is a Unix implementation of Apple's suite of networking protocols. This allows a Unix machine to act as an AppleTalk router or file and print server, and in turn to use Apple printers.

What it will run on/with?

Linux 1.3.x comes with AppleTalk support in the kernel, and netatalk 1.3.3 contains support for Linux. The AppleTalk device you are using must be able to use Ethernet (ie. it has to have Apple's EtherTalk and an apropriate network card), or your Linux box must have a LocalTalk connection (highly unlikely, although I think this is possible (??))

Where to get it

A Slackware binary is available from

The current source (version 1.3.3) is at

There are a few patches which may be necessary to get it to run properly: From memory I haven't applied any, and mine seems to go OK.

Where to get help on it

Basic installation/configuration can be found in README and README.LINUX with the sourcecode distribution. The Slackware distribution places these in /usr/doc/netatalk-1.3.3-3

The FAQ for netatalk is at: This FAQ is not for Linux specifically, but for all the OSes that netatalk supports

There is a mailing list for netatalk at To join the mailing list, send mail to

There are also a number of web pages that deal with Netatalk:
The Netatalk home page.
An interesting page about installing Netatalk onto a linux machine.
A HOWTO for adding a `PostScript' printer for your Mac, using lpd and Ghostscript, allowing Macs to print to any type of printer that GhostScript supports (doesn't even have to be on the Linux box itself)
All about adding HFS (Mac filesystem) support to your kernel. Mount and export Mac hard drives and CDROMs.
A HOWTO for Netatalk on Linux
Some tips on installation and configuration.

How to install it

You need AppleTalk DDP compiled into the kernel - in 1.3.x and above. You may need to make a link from /usr/include/sys/uio.h to ../linux/uio.h. In particular, this file changed from linux 1.2.x to 1.3.x, so if, for instance, you've installed Slackware 3.0.0, and upgraded your kernel to 1.3.x, you'll need to fix this.

Apart from that, the appropriate README tells it all - compile it up and drop the relevant binaries in the right spots. You may have a bit of fiddling to do to get the AppleTalk zoning and other information correct, but Netatalk can generally work this out anyway.

How to manage it

Netatalk users are the same as normal users on your Linux box. This means there is no extra administration required for users who want AppleTalk file services.

The user must make sure that the password for the Linux machine is no more than 8 characters - this is the limit that the Mac gives you on login, so if your password is longer you won't be able to log in. There are a few other provisos (given in the Tips link above).

Directory details

Because the Mac filesystem is organised as a B-tree, netatalk has had to do some strange things to the normal Unix filesystem to compensate. For starters, the user can create an .AppleVolumes file, which details the volumes that will be available to them from the Mac.

This is arranged as a simple list of directories and the volume name they appear as on the Mac desktop. As far as I know, you may not have spaces in either of these fields.

/home/mjch mjch
/home/ftp ftp
/ root
/mnt/dos dos

Netatalk also creates a few other directories in the home directory:

This directory contains information such as icon definitions and other stuff to do with application mapping (I think).
Network Trash Folder
Instead of deleting files immediately, the Mac dumps them to the trash, allowing you to recover them if you need to. This directory is the network equivalent of the desktop trash directory.

Every directory you use with netatalk has an .AppleDouble directory created in it. This directory is where netatalk stores the binary or resource fork of the Macintosh filesystem. For example, text data is stored in the main directory, and binaries would be stored in the .AppleDouble subdirectories. (Check this out by copying a Mac binary to your Linux box and see where it puts things).

Note that although Unix is able to handle files with spaces in their names, they are a pain to type in at the keyboard. It is probably a good idea to place all your Mac stuff under a single sub-directory rather than place it all in the home directory, unless you only use the account for AppleTalk access.

Under netatalk, you will not be able to see any `hidden' directories (those that start with `.', nor any files with filenames that are longer than 31 characters in length.

Also note that the Mac allows special characters to appear in filenames legally (as opposed to when things go wrong under DOS :). These are stored in the filename as `:xx' where xx is the hexadecimal value of the appropriate ASCII character.

[MJCH] Written and maintained by: Malcolm Herbert
Last modified: Tuesday October 01 1996