November 8, 2010
Netatalk - Netzwerk mit Apple Filing Protocol

AFP steht für Apple Filing Protocol und beschreibt wie der Name schon sagt ein Protokoll über denen Apple Computer übers Netzwerk auf Laufwerke zugreifen können. Es steht somit in naher Verwandschaft mit NFS und SMB, oder auch prinzipiell FTP.

Nun habe ich schon eine Weile mit NFS geliebäugelt, aber es nicht wirklich reibungslos in meine Arbeitsumgebung bestehend aus einem Macbook und einem Linux-powered Server; einbinden können, auch wenn Apple von Haus aus NFS unterstützt.

Samba kam für mich nicht in Frage, da es relativ langsam ist und sich vielleicht für kleinere Dateioperationen eignet, aber mich nicht vollends zufrieden stellt.

Also warum nicht mit Apples eigenem Protokoll rumdoktern?

Gut, dass es netatalk, eine freie Implementation des AFP, auch für Linux und BSD gibt.

Ziel des Ganzen sollte es sein, wahlweise per Wifi (802.11n/g) oder Ethernet (1000Base-T), auf einen Speicherort auf dem Server zuzugreifen, dort per TimeMachine eine Sicherung zu hinterlegen und auch Dateien von Ordnern des Servers abzurufen.

Grundfunktionen eines Fileservers eben.

Deswegen wurde flugs netatalk über den Paketmanager installiert, doch es stellte sich heraus, dass das Paket keine gesicherten Verbindungen zuließ.

Daher musste ich nochmal das Paket manuell mit cracklib aus den Quellen heraus kompillieren.

Dann ging es an die Arbeit.

in /etc/netatalk/default die Einträge wie folgt gestalten

ATALKD_RUN=no

PAPD_RUN=no

TIMELORD_RUN=no

A2BOOT_RUN=no

CNID_METAD_RUN=yes

AFPD_RUN=yes

ATALKD und PAPD bräuchte man nur, wenn man noch über AFP drucken will, was aber bei mir nicht der Fall ist.

Dann weiter in der /etc/netatalk/afpd.conf den letzten Eintrag in

- -transall -uamlist uams_randnum.so,uams_dhx.so -nosavepassword -advertise_ssh

ändern, damit auch eine sichere Verbindung benutzt wird.

Zuletzt muss man in der Datei /etc/netatalk/AppleVolumes.default die Einträge für die Volumes, also die freigebenen Speicher eintragen, dass sich wie folgt bei mir gestaltet:

/media/TM “mawteach” cnidscheme:cdb options:tm

~ $v cnidscheme:cdb options:usedots,noadouble,nohex

/media/TM ist dabei mein TimeMachine-Volume, der Eintrag options:tm macht das für den Apple Rechner klar.

cnidscheme legt die Datenbank fest, in dem AFP seine IDs für die Dateien speichert, wo man die Wahl zwischen der cdb und dbd von Berkley hat.

Da ich in Hinblick auf Datensicherung mehr Wert auf Zuverlässigkeit als Datendurchsatz lege, favorisiere ich dbd.

Die Optionene usedots, noadouble und nohex sind fast selbsterklärend. noadouble legt fest, dass keine kleinen nervigen Cachedateien namens .appledouble in allen Ordner, auf die man zugreift, angelegt werden - ähnliche wie bei Windows die thumb.db

Nun ist man im Grunde schon fertig. netatalk neustarteten und man kann die Volumes über den Finder ( + k) einbinden.

Um es aber noch ein bisschen komfortabler zu machen, sollte man mit Avahi rumspielen, was ich dann auch getan hab.

So meldet sich jetzt meine Linux-Box als Apple Server an, Time Machine erstellt vollautomatisch Backups, ich kann mein komplettes Home auf dem Fileserver ablegen und der Wechsel von Ethernet zu Wifi geht nahtlos.

Mehr dazu findet ihr auf:

http://www.kremalicious.com/2008/06/ubuntu-as-mac-file-server-and-time-machine-volume/

http://scottlinux.com/?p=933

http://www.kde4.de/?page_id=389