netatalk.io

Installing Netatalk 2 on Fedora


Netatalk 2.2 works well on Fedora (tested on Fedora 38 and 39 for x86-64) with just a few wrinkles. The steps are the same for Fedora Workstation and Fedora Server. This guide does not replace the full documentation; instead it supplements it.

Prepare the environment

First up, the prerequisites. Install them with this command:

dnf install openssl-devel libgcrypt-devel libdb-devel automake libtool avahi-devel cups-devel

Compiling and installing

After that, untar netatalk and go into its directory. (I’m using 2.2.10 here as an example, adjust the filenames as required for other versions).

Type tar jxvf netatalk-2.2.10.tar.bz2 to untar and then cd netatalk-2.2.10

When configuring, use the --enable-redhat-systemd option: ./configure --enable-redhat-systemd

Build netatalk (you can change the number 4 to the number of CPU cores you have to get the fastest possible compile): make -j4

And install (you must be root here or use sudo): make install

Once installed, you’ll need to remove Fedora’s default blacklist of the atalk kernel module, by typing the following, either when logged in as root or with sudo: rm /etc/modprobe.d/appletalk-blacklist.conf

This will allow Fedora to load the atalk kernel module.

Some quick configuration examples

The configuration files after install can be found in /usr/local/etc/netatalk.

For afpd.conf, here’s an example server line that I use.

"Gozer" -transall -uamlist uams_guest.so,uams_clrtxt.so,uams_dhx2.so

This names the server “Gozer” when it appears in the Chooser on connected Macs and allows either guest access or access by logging in with a valid username and password on your Fedora system. This works well for Mac System 7 and 8 clients (both real and emulated) all the way up to present day macOS Sonoma (press Command-K in the Finder and type afp:// followed by the IP address or DNS name of your Fedora system). If you are not going to connect with a System 7 client, it is strongly recommended to remove uams_clrtxt.so from your server config line for security reasons.

To set up shared volumes, edit AppleVolumes.default. Here is an example line that I use.

/data/A2 Apple_II

This causes a volume named “Apple_II” to appear to connected machines, and its files come from the UNIX path /data/A2.


This is a mirror of the Netatalk GitHub Wiki. Please visit the original page if you want to correct an error or contribute new contents.

Last updated 2024-04-08