-
Notifications
You must be signed in to change notification settings - Fork 90
Installing Netatalk on macOS
For building and installing from source yourself, find links to the official documentation below.
- Compile Netatalk from Source: macOS in the Manual
- INSTALL.md in the source tree
Apple started to switch from AFP to SMB file sharing from Mavericks (10.9) onwards. The built-in afp server was finally removed in Big Sur (11.0) so Netatalk comes in useful if you have a modern Intel or Apple Silicon Mac and wish to share files with a vintage Mac such as a PowerMac G3 or G4 running classic Mac OS 9.
When installing Netatalk on Macs running Mojave (10.14) onwards the dependencies are easily installed using Homebrew. To install Homebrew, open Terminal and paste the following:
/bin/bash -c "$(curl -fsS https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Below follows the build instructions for the legacy Autotools build system. In most cases, you want to follow the instructions in the links at the top of this page instead.
brew install berkeley-db libtool automake autoconf libevent libgcrypt mysql [email protected] libressl pkg-config
Then clone the Netatalk repository and cd to that folder:
git clone https://github.com/Netatalk/netatalk.git
cd /path/to/netatalk/clone
The paths for your SSL and BDB installations can be found by typing:
brew --prefix berkeley-db
brew --prefix [email protected]
or brew --prefix libressl
To compile run the following commands:
./bootstrap
./configure --with-ssl-dir=/path/to/openssl/installation --with-bdb=/path/to/bdb/installation
If ./configure
fails because it can't find libevent
, you may need to export the path to libevent
's pkgconfig
:
export PKG_CONFIG_PATH="/opt/homebrew/opt/libevent/lib/pkgconfig"
(2024-11-09: recently homebrew shifted from "/opt/homebrew/...." to "/usr/local/Homebrew/....." and moved "opt" to "usr/local/" so you might want to use "/usr/local/opt/....")
make
To install:
sudo make install
In case the build script didn't activate it for you, do this to make launchd to register the netatalk daemon.
sudo launchctl enable system/io.netatalk.daemon
launchctl start netatalk
Underneath the hood we use a controller script called netatalkd
that sets up the required environment.
To start netatalk daemons:
sudo netatalkd start
To stop netatalk daemons:
sudo netatalkd stop
Resources
OS Specific Guides
- Installing Netatalk on Alpine Linux
- Installing Netatalk on Debian Linux
- Installing Netatalk on Fedora Linux
- Installing Netatalk on FreeBSD
- Installing Netatalk on macOS
- Installing Netatalk on NetBSD
- Installing Netatalk on OmniOS
- Installing Netatalk on OpenBSD
- Installing Netatalk on OpenIndiana
- Installing Netatalk on openSUSE
- Installing Netatalk on Solaris
- Installing Netatalk on Ubuntu
Technical Docs
- CatalogSearch
- Kerberos
- Special Files and Folders
- Spotlight
- AppleTalk Kernel Module
- Print Server
- MacIP Gateway
Development