Skip to content

Installing Netatalk 2 on Alpine Linux

Daniel Markstedt edited this page Apr 22, 2024 · 19 revisions

Prerequisites

Packages required for bootstrapping the build system:

apk add autoconf automake libtool pkgconfig

Packages required for building:

apk add avahi-dev build-base cups cups-dev gcc libgcrypt-dev openssl-dev

Optional packages:

apk add acl-dev cracklib-dev krb5-dev libtirpc-dev openldap-dev

Berkeley DB

As of Alpine 3.13.0, BDB is a deprecated package, so building BDB from code is required on Alpine. These are the rough steps:

  1. Get the latest v5 tarball of BDB, e.g.: v5.3.28
  2. Extract the tarball
  3. From the source root, cd to the build_unix dir
  4. Run the ../dist/configure script
  5. Run make then make install
  6. Configure netatalk with e.g.: ./configure --with-bdb=/usr/local/BerkeleyDB.5.3

Build

First, bootstrap the autotools build system:

./bootstrap

Second, configure the build system:

./configure --with-bdb=/usr/local/BerkeleyDB.5.3 --enable-gentoo

Or, if you installed all the optional packages:

./configure --with-bdb=/usr/local/BerkeleyDB.5.3 --enable-gentoo --enable-krbV-uam --with-cracklib --
with-libtirpc

Third, compile and link the code:

make

Finally, install the compiled binaries:

make install

Run

Note: netatalk 2.3.2 and earlier has a bug that prevents the openrc init script on more recent Alpine (and Gentoo) systems. Please apply this patch if needed.

By default, the init script will launch afpd and cnid_metad. If you want the AppleTalk service to start up as well, edit your local netatalk.conf file and set ATALKD_RUN=yes etc.

One off start/stop of netatalk daemons

rc-service netatalk start
rc-service netatalk stop

Enable and disable startup on system boot

rc-update add netatalk default
rc-update del netatalk default
Clone this wiki locally