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
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. 😉