TimeMachine auf Debian squeeze mit netatalk 2.2

Beim Aufsetzen meines neuen Heimservers als Ersatz für das qnap TS-412 (mit dem ich aus verschiedenen Gründen unzufrieden bin) wollte ich die praktische TimeMachine-Funktion nicht verlieren und habe mich etwas schlau gemacht.

Unter Linux gibt es netatalk, mit dessen Hilfe AppleTalk etc. zur Verfügung steht. Mac OS (ab 10.7 alias „Lion“) verlangt nach mindestens Version 2.2, unter Debian squeeze gibt es diese Version aber noch nicht. Also habe ich sie kurzerhand selbst kompiliert. Folgendes sollten wir vorher machen, um die Dependencies zu installieren:

aptitude install avahi-daemon avahi-utils \
  libavahi-client-dev libcrack2-dev libgcrypt11-dev \
  libssl-dev libwrap0-dev libkrb5-dev libdb4.8-dev \
  db4.8-util libpam-cracklib

Nach dem Herunterladen der aktuellen netatalk-Version (bei mir 2.2.1) von http://netatalk.sourceforge.net/ und dem Entpacken wird das Paket dann mit folgenden Befehlen kompiliert und installiert:

./configure \
  --with-shadow \
  --with-pam \
  --enable-fhs \
  --enable-tcp-wrappers \
  --enable-timelord \
  --enable-overwrite \
  --with-pkgconfdir=/etc/netatalk \
  --enable-krb4-uam \
  --enable-krbV-uam \
  --with-cnid-dbd-txn \
  --with-libgcrypt-dir \
  --with-cracklib=/var/cache/cracklib/cracklib_dict \
  --enable-ddp \
  --enable-zeroconf \
  --enable-debian
make
make install

Die configure-Optionen habe ich aus dem Debian-Source-Päckchen der Version auf squeeze übernommen und sinngemäß ergänzt bzw. korrigiert, da sich die Optionen der neueren Version etwas unterscheiden.

Hier muss man unter Ubuntu 12.04 LTS einsteigen:

Anschließend ist noch etwas Konfigurationsarbeit zu tun. Zunächst sollte ein Verzeichnis oder vielleicht besser eine gemountete, eigene Partition für TimeMachine-Backups vorhanden sein. Anschließend aktivieren wir in der Datei /etc/default/netatalk folgende Optionen:

ATALKD_RUN=yes
ATALK_BGROUND=yes

Danach sollten wir noch folgendes tun:

echo "- -tcp -noddp -uamlist uams_dhx.so,uams_dhx2.so -nosavepassword -mimicmodel RackMac" >> /etc/netatalk/afpd.conf

echo "
# TimeMachine Volume
/opt/timemachine/$u TimeMachine options:tm,usedots,upriv allow:@users" >> /etc/netatalk/AppleVolumes.default

Letzteres sorgt dafür, dass /opt/timemachine/$u ($u = Username des vom Mac aus an dem Share angemeldeten Benutzers) als Volume „TimeMachine“ freigegeben wird. Erlaubt sind alle Benutzer, die Mitglied der Gruppe users sind (allow:@users).

Nun kann netatalk gestartet werden:

/etc/init.d/netatalk start

netatalk – genauer gesagt der atalkd – benötigt einige Zeit um zu starten. Der Start erfolgt im Hintergrund. Man sollte jetzt etwa eine Minute vergehen lassen vor dem Versuch, mit dem Mac eine Verbindung zum Volume herzustellen.

Damit das Ganze auch nach einem Neustart wieder funktioniert, müssen wir noch folgendes tun:

update-rc.d netatalk defaults

Ein Gedanke zu „TimeMachine auf Debian squeeze mit netatalk 2.2

  1. Ich hab’s grad mal auf einem Ubuntu 12.04 ausprobiert. Man kann sich das Kompilieren von netatalk sparen, weil schon Version 2.2.1 an Bord ist. Also reicht es, einfach netatalk aus dem Paketmanagement zu installieren und dann an der Stelle in den Artikel einzusteigen, an der die Datei „/etc/default/netatalk“ editiert wird. 😉

Schreibe einen Kommentar