Install the following packages by "sudo apt-get install".
- libssl-dev (DHX auth aka DHCAST128)
- libgcrypt11-dev (DHX2 auth)
- libkrb5-dev (Kerberos V auth)
- libpam0g-dev (PAM)
- libwrap0-dev (TCP Wrapper)
- libdb-dev (dbd CNID backend)
- libmysqlclient-dev (mysql CNID backend)
- libavahi-client-dev (Bonjour support)
- libacl1-dev (ACL support)
- libldap2-dev (enhanced ACL support)
- libcrack2-dev (password ckeck)
- systemtap-sdt-dev (DTrace-compatible)
- libdbus-1-dev (used by afpstats command)
- libdbus-glib-1-dev (used by afpstats command)
- libglib2.0-dev (used by afpstats command)
- tracker (used for spotlight indexing)
- libtracker-sparql-0.14-dev (used for spotlight indexing) (version number may differ)
- libtracker-miner-0.14-dev (used for spotlight indexing) (version number may differ)
If tracker's version is unknown, you can know using command "dpkg-query -l tracker" or "aptitude search tracker".
Note that 12.04 only has libtracker 0.14 availabile at this writing. 0.16 has not been backported.
If libavahi-compat-libdnssd-dev package is installed, remove it, in order to avoid conflict between Avahi and mDNSResponder.
You can type it as one command:
sudo apt-get install build-essential libssl-dev libgcrypt11-dev libkrb5-dev libpam0g-dev libwrap0-dev libdb-dev libavahi-client-dev libacl1-dev libldap2-dev libcrack2-dev systemtap-sdt-dev libdbus-1-dev libdbus-glib-1-dev libglib2.0-dev tracker libtracker-sparql-0.14-dev libtracker-miner-0.14-dev zlib1g-dev
Extract a tarball.
tar xvf netatalk-3.x.x.tar.bz2 cd netatalk-3.x.x
You should read the help message, in order to know configure options.
If the applicable libraries are installed, many options will be detected automatically.
$ ./configure --help
Do configure! The following options are not auto-detected.
./configure \ --with-init-style=debian \ --with-cracklib \ --enable-krbV-uam \ --with-pam-confdir=/etc/pam.d \ --with-dbus-sysconf-dir=/etc/dbus-1/system.d \ --with-tracker-pkgconfig-version=0.14
The version 0.14 --with-tracker-pkgconfig-version=0.14 must match the pkg-config version of the installed Tracker libraries. Use the following commands for finding the version info:
pkg-config --list-all | grep tracker ...
On successful completion, you will see a report similar to the following:
Compilation summary: CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include CFLAGS = -D_U_="__attribute__((unused))" -g -O2 LIBS = -ldl -lcrack PTHREADS: LIBS = CFLAGS = -pthread TRACKER: LIBS = -Wl,--export-dynamic -pthread -ltracker-sparql-0.16 -lgio-2.0 -lgmodule-2.0 -lgobject-2.0 -lglib-2.0 CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/tracker-0.16 -I/usr/include/tracker-0.16/libtracker-sparql SSL: LIBS = -L/usr/lib64 -lcrypto CFLAGS = -I/usr/include/openssl LIBGCRYPT: LIBS = -lgcrypt CFLAGS = PAM: LIBS = -lpam CFLAGS = WRAP: LIBS = -lwrap CFLAGS = BDB: LIBS = -L/usr/lib64 -ldb-5.3 CFLAGS = GSSAPI: LIBS = -Wl,-Bsymbolic-functions -Wl,-z,relro -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err CFLAGS = ZEROCONF: LIBS = -lavahi-common -lavahi-client CFLAGS = -D_REENTRANT LDAP: LIBS = -lldap CFLAGS = LIBEVENT: bundled TDB: bundled MySQL: LIBS = -L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm -ldl CFLAGS = -I/usr/include/mysql -DBIG_JOINS=1 -fno-strict-aliasing -g -DNDEBUG Configure summary: INIT STYLE: debian AFP: Extended Attributes: ad | sys ACL support: yes Spotlight: yes CNID: backends: dbd last tdb mysql UAMS: DHX (PAM SHADOW) DHX2 (PAM SHADOW) RANDNUM (afppasswd) Kerberos V clrtxt (PAM SHADOW) guest Options: Zeroconf support: yes tcp wrapper support: yes quota support: yes admin group support: yes valid shell check: yes cracklib support: yes ACL support: auto Kerberos support: yes LDAP support: yes AFP stats via dbus: yes dtrace probes: yes Paths: Netatalk lockfile: /var/lock/netatalk init directory: /etc/init.d dbus system directory: /etc/dbus-1/system.d pam config directory: /etc/pam.d Documentation: Docbook: no
Docbook is not needed because it is for developers only.
Make and watch for errors.
Begin with stopping the Netatalk service:
sudo service avahi-daemon stop
sudo service netatalk stop
sudo make install
Check features and paths, using "afpd -V".
$ /usr/local/sbin/afpd -V afpd 3.1.2 - Apple Filing Protocol (AFP) daemon of Netatalk This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Please see the file COPYING for further information and details. afpd has been compiled with support for these features: AFP versions: 2.2 3.0 3.1 3.2 3.3 3.4 CNID backends: dbd last tdb mysql Zeroconf support: Avahi TCP wrappers support: Yes Quota support: Yes Admin group support: Yes Valid shell checks: Yes cracklib support: Yes EA support: ad | sys ACL support: Yes LDAP support: Yes D-Bus support: Yes Spotlight support: Yes DTrace probes: Yes afp.conf: /usr/local/etc/afp.conf extmap.conf: /usr/local/etc/extmap.conf state directory: /usr/local/var/netatalk/ afp_signature.conf: /usr/local/var/netatalk/afp_signature.conf afp_voluuid.conf: /usr/local/var/netatalk/afp_voluuid.conf UAM search path: /usr/local/lib/netatalk// Server messages path: /usr/local/var/netatalk/msg/
Finally, restart the Netatalk service:
sudo service avahi-daemon start
sudo service netatalk start
I used the following configuration on Ubuntu:
./configure --with-default-backend=dbd --with-pam --with-ssl --with-libgcrypt --enable-zeroconf --with-acls --with-cracklib --with-tracker-pkg-config=tracker-sparql-0.14 --with-tracker-miner-pkg-config=tracker-miner-0.14
Make sure you get all the necessary packages, it's easiest to cut-and-paste to the command line. If you get errors you'll probably need the "-dev" bits. It's understood by the "Gurus" but not obvious to the casual administrator that when you build a package rather than downloading a pre-buit package you need the dev packages to get them to connect.
Of course the developers have all that installed, they're the developers! But they forget the rest of us aren't. We're just looking for a well built tool.
You really want the latest build, not the old one in Ubuntu's repositories.
I've been setting up Netatalk at home and work.
For those who don't know, Netatalk is a linux service that provides native Macintosh compatible file sharing. It's pretty excellent, and it's the basis for Mac file sharing on many home servers. If you're building your own home server and want to support Macs, especially with Time Machine, this is what you need.
Netatalk has two flavors, 2.2 and 3, to choose from. Version 3, at this writing at 3.1, is generally what you will use. It's updated frequently to be compatible with modern Macs, support the latest Time Machine changes, and the latest system updates.
The only major failing of a Linux based Netatalk/Samba (Window File Sharing) server is that trying to share the same files over both does not always work smoothly. They are seperate projects and the two teams have not worked out all the connection differences yet, however 3 is much better at this than 2.2 was. In a home network scenerio having both share the same files works reasonably well, but since Macs can connect to Windows shares, it's a little redundant.
Netatalk 2.2, which is slowly winding down, is useful to the classic Mac and Apple II collector. It provides AppleTalk and can be configured for NetBoot an Apple IIgs. The file system on the server contains a number of hidden files, so it's advisible to NOT share it in any other manner.
When you configure Netatalk, you will be able to specify what Apple server it imitates. Depending on what it reports as, most versions of MacOS X will provide a default icon.
Apple Cinema Display = Any invalid or blank string
Airport Express = AirPort4 AirPort4,102 AirPort4,107
Airport Extreme = AirPort Airpor5 AirPort5,104 AirPort5,105 AirPort5,108 AirPort5,114 AirPort5,117
AppleTV = AppleTV AppleTV1,1
AppleTV 2 = AppleTV2
eMac = PowerMac4,4 PowerMac6,4
iBook G4 = PowerBook6,3 PowerBook6,5 PowerBook6,7
Aluminum 20" iMac = iMac7,1 iMac8,1
Aluminum 24" iMac = iMac9,1
G4 iMac 15" = PowerMac4,2
G4 iMac 17" = PowerMac4,5 PowerMac6,1
G4 iMac 20" = PowerMac6,3
Unibody G5 iMac 17" = PowerMac8,1 PowerMac8,2
Unibody G5 iMac 17" w/ iSight = PowerMac12,1
iMac 24" = iMac4,1 iMac4,2
Unibody iMac 21" = iMac11,2 iMac12,1
Unibody iMac 27" = iMac10,1 iMac11,1 iMac11,3 iMac12,2
iPad = iPad iPad1,1
iPhone = M68AP iPhone1,1
iPhone3G = N82AP iPhone1,2
iPhone4 = N90AP iPhone iPhone3,1
iPodTouch = N45AP iPod1,1
iPod Touch 2 = N72AP iPod2,1
iPod Touch 4 = N81AP iPod4,1
Black MacBook = MacBook1,1,Black MacBook2,1,Black MacBook3,1,Black MacBook4,1,Black
White Unibody MacBook = MacBook6,1 MacBook7,1
Aluminum Unibody MacBook = MacBook5,1
White MacBook = MacBook1,1 Macbook2,1 MacBook3,1 MacBook4,1 MacBook5,2 MacBook1,1,White MacBook2,1,White MacBook3,1,White MacBook4,1,White
MacBook Air = MacBookAir1,1 MacBookAir2,1
MacBook Air Unibody 11" = MacBookAir3,1 MacBookAir4,1 MacBookAir5,1
MacBook Air Unibody 13" = MacBookAir3,2 MacBookAir4,2 MacBookAir5,2
MacBook Pro 13" = MacBookPro5,5 MacBookPro7,1 MacBookPro8,1 MacBookPro9,1
Retina MacBook Pro 15" = MacBookPro
Unibody MacBook Pro 15" = MacBookPro5,1 MacBookPro5,3 MacBookPro5,4 MacBookPro6,2 MacBookPro8,2 MacBookPro9,2
Unibody Macbook Pro 17" = MacBookPro5,2 MacBookPro6,1 MacBookPro8,3
Silver MacBook Pro = Laptop
Mac Mini 2009+ w/o Disk Drive = Macmini Macmini5,1 Macmini5,2 Macmini5,3
Mac Mini 2009+ w/ Disk Drive = Macmini4,1
Mac Mini 2005-2009 = PowerMac10,1 PowerMac10,2
MacPro = MacPro MacPro1,1 MacPro2,1 MacPro3,1 MacPro4,1 MacPro5,1
PowerBook G4 12" = PowerBook6,1 PowerBook6,2 PowerBook6,4 PowerBook6,8
PowerBook G4 15" = PowerBook5,2 PowerBook5,4 PowerBook5,6 PowerBook5,8
PowerBook G4 17" = PowerBook5,1 PowerBook5,3 PowerBook5,5 PowerBook5,7 PowerBook5,9
Titanium PowerBook = PowerBook3,2 PowerBook3,3 PowerBook3,4 PowerBook3,5
Graphite G4 PowerMac = PowerMac
Quicksilver G4 PowerMac = PowerMac3,5
Time Capsule = AirPort6 AirPort6,106 TimeCapsule TimeCapsule6 TimeCapsule6,106 TimeCapsule6,109 TimeCapsule6,113 TimeCapsule6,116
XServe = RackMac RackMac1,1 RackMac1,2 RackMac3,1 Xserve Xserve1,1 Xserve2,1 Xserve3,1
I hope this list helps you customize your Netatalk expierence.
Check out the instructions for repairing the vaccum advance unit on an old Prestolite system (and increasing your gas milage).
Also, selecting a transfer case for the Eagle and Jeep owner who isn't building a trail rig.