Skip to content

Installing Netatalk on openSUSE

Daniel Markstedt edited this page Aug 31, 2025 · 12 revisions

Install Netatalk

At the time of writing, there are experimental netatalk packages available for openSUSE that can be sideloaded.

Build from source

For building and installing from source yourself, for instance to get a newer version, follow the guide below.

Install dependencies

zypper in -y bison cracklib-devel dbus-1-devel docbook-xsl-stylesheets file flex gawk gcc libacl-devel libavahi-devel libdb-4_8-devel libevent-devel libgcrypt-devel libmariadb-devel libtalloc-devel libtdb-devel libtracker-sparql-3_0-0 libxslt-tools meson ninja openldap2-devel pam-devel perl pkg-config systemd systemtap-sdt-devel tcpd-devel tracker unicode-ucd

Configure

meson setup build -Dbuildtype=release -Dwith-appletalk=true -Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d -Dwith-docbook-path=/usr/share/xml/docbook/stylesheet/nwalsh/1.79.2 -Dwith-init-hooks=false -Dwith-tests=true

Build

meson compile -C build

Run integration tests

meson test -C build

Install

meson install -C build

Check netatalk capabilities

netatalk -V
afpd -V

Uninstall

ninja -C build uninstall

Setting

Edit /usr/local/etc/afp.conf.

Ex:

[Global]

[Homes]

   basedir regex = /home

[Test Volume]

   path = /export/test1

[My Time Machine Volume]

   path = /export/timemachine
   time machine = yes

It's recommended to enable extended attributes of filesystem. It's no problem in case of btrfs.

If you use ext2,3 or 4, you should check it by getfattr and setfattr commands. If you use ACL, you shoud check it by getfacl and setfacl commands. If these are disabled, use tune2fs command or edit /etc/fstab file.

Ex:

 /dev/sdc2    /mountpoint    ext4    defaults,user_xattr,acl    0 2

You should check firewall. AFP's port number is 548. Zeroconf's port number is 5353.

Enabling and Starting

You must run Avahi ahead of Netatalk.

# systemctl enable avahi-daemon
# systemctl enable netatalk
# systemctl start avahi-daemon
# systemctl start netatalk

Spotlight Feature

If you use Spotlight feature, read Spotlight section in Netatalk Manual.

Set spotlight = yes.

Set spotlight = no for Time Machine's volume. The mining for sparsebundle is wasteful.

Ex:

[Global]

   spotlight = yes

[Homes]

   basedir regex = /home

[Test Volume]

   path = /export/test1

[My Time Machine Volume]

   path = /export/timemachine
   time machine = yes
   spotlight = no

Interoperation with Samba

Recent Netatalk and Samba can store metadata in the compatible format.

Using this way, the following access becomes possible.

  • from Mac to Netatalk
  • from Mac to Samba
  • from Windows to Samba

Netatalk

Using vol preset option, the same configuration is set for all volumes.

Using ea = samba, Extended Attributes become compatible with Samba.

Edit /usr/local/etc/afp.conf.

Ex:

[Global]

   vol preset = my default values

[my default values]

   ea = samba

[Homes]

   basedir regex = /home

[Test Volume]

   path = /export/test1

[My Time Machine Volume]

   path = /export/timemachine
   time machine = yes

Samba

Setting various options in [global], the same configuration is set for all shares.

Three vfs objects (catia, fruit and streams_xattr) provide enhanced compatibility with Apple SMB clients and interoperability with a Netatalk.

Using hide files, the invisible files created via Netatalk are hidden from Windows. Use hide files, not veto files.

Don't use fruit:locking = netatalk because it has a bug.

Edit /etc/samba/smb.conf.

Ex:

[global]

   ea support = Yes
   vfs objects = catia fruit streams_xattr`

   fruit:encoding = native
   streams_xattr:prefix = user.
   streams_xattr:store_stream_type = no`

   hide files = /.DS_Store/Network Trash Folder/TheFindByContentFolder/TheVolumeSettingsFolder/Temporary Items/.TemporaryItems/.VolumeIcon.icns/Icon?/.FBCIndex/.FBCLockFolder/

   read only = No

[homes]

[Test Volume]

   path = /export/test1

[My Time Machine Volume]  
path = /export/timemachine  
Clone this wiki locally