thomas.siemion.photography ➣

Time Machine mit Netatalk nutzen

Netatalk mit Verschlüsselung übersetzen

Da Debian und Ubuntu standardmäßig nur ein Netatalk ohne Verschlüsselung liefern, muß man es selbst übersetzen.
Der Versuch, das aus den Quelltexten zu machen, ist aufwendig.

Netatalk aus den Quelltextpaketen zu übersetzen ist in 10 oder 11 einfachen Schritten gemacht.

Sollten Sie schon ein Netatalk über die Paketverwaltung installiert haben, müssen Sie dieses mit
sudo apt-get purge netatalk
löschen.
  1. sudo apt-get update
  2. mkdir -p ~/src/netatalk
  3. cd ~/src/netatalk
  4. sudo apt-get install devscripts cracklib2-dev dpkg-dev libssl-dev
  5. apt-get source netatalk
  6. sudo apt-get build-dep netatalk
  7. cd netatalk-2.0.3
  8. sudo DEB_BUILD_OPTIONS=ssl dpkg-buildpackage -us -uc
  9. sollte der vorherige Befehl mit einem Fehler wegen nicht passender Copyrights abbrechen, fühern Sie bitte
    mv debian/copyright_newhints debian/copyright_hints
    aus
  10. sudo debi
  11. echo "netatalk hold" | sudo dpkg --set-selections

Ok, damit ist eine verschlüsselte Version des Netatalks übersetzt, installiert, gestartet und der Paketverwaltung gesagt, daß sie die selbst übersetzte Version nicht updatet.

Netatalk konfigurieren

Nicht benötigte Dienste abschalten

Unter OS X wird der Dienst atalkd nicht mehr benötigt und kann abgeschaltet werden. Als Nebeneffekt startet Netatalk dadurch deutlich schneller.
Änderen Sie dazu in /etc/default/netatalk die Zeile
ATALKD_RUN=yes
in
ATALKD_RUN=no

Netatalk Freigaben einrichten

In der Datei /etc/netatalk/AppleVolumes.default definieren Sie die von Netatalk freigegebenen Verzeichnise.
Je freigegebenem Verzeichnis eine Zeile nach dem Schema:
/Unix/Pfad 	"Ein Kommentart für den Mac-User"

Tragen Sie hier das Verzeichnis ein, das Sie für die Nutzung mit Time Machine freigeben wollen.
Starten Sie jetzt noch mit
sudo /etc/init.d/netatalk restart
Netatalk neu.

Time Machine konfigurieren

Als erstes müssen wir der Time Machine beibiegen, daß sie auch nicht unterstützte Volumes zur Auswahl anbietet. Führen Sie dazu im Terminal
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
aus und starten Sie den Rechner neu.
Verbinden Sie ihren Mac jetzt mit der Netatalk-Freigabe, die Sie für Time Machine nutzen wollen.
Im Finder unter "Gehe zu" -> "Mit Server verbinden ...". Oder einfach ⌘ K.
Wählen Sie in der Sytemeinstellung Time Machine "Volume wechseln ..." Ihre Netatalk-Freigabe aus.

Sparsebundle erstellen

Update
Um den Dateinamen des Sparsebundles zu ermitteln führen Sie im Terminal
nameOfBundle=`hostname | \
 awk -F '.' '{print $1}'`_`ifconfig en0 | \
 egrep -e 'ether' | \
 awk '{print $2}' | \
 tr -d ':'`.sparsebundle
aus. Mit
hdiutil create \
 ./$nameOfBundle \
 -size 320g \
 -type SPARSEBUNDLE \
 -nospotlight \
 -verbose \
 -volname 'timemachine_backup' \
 -fs 'Case-sensitive Journaled HFS+' \
 -imagekey sparse-band-size=262144
erstellen Sie das Sparsebundle im aktuellen Verzeichnis. (Abgeschrieben bei)
Mit dem Parameter -size bestimmen Sie die maximale Größe des Sparsebundles. Mit dem Parameter -volname den Namen.
Kopieren Sie die erzeugte Datei auf Ihre Netatalk-Freigabe.
Das war's.

Mac OS X Lion, 10.7

Mit Lion 10.7 funktioniert die oben beschriebene Lösung nicht, da die Netatalk Versionen vor 2.2.0 die Funktion "replay cache" im AFP 3.3-Protokoll nicht bieten.
Um Netatalk auch mit Lion als Timemachine-Volume nutzen zu können, müssen Sie das Netatalk aus den Quell-Code selbst übersetzen.
  1. Installieren der zum Übersetzen benötigten Linux-Pakete:
    apt-get install devscripts cracklib2-dev dpkg-dev libssl-dev 
    	libkrb5-dev krb5-multidev libdb-dev libgcrypt11-dev
  2. Laden Sie von http://netatalk.sourceforge.net/ das Source-Paket der Version 2.2.0 herunter
  3. entpacken Sie das Archiv mit
    tar xfvz netatalk-2.2.0.tar.gz
  4. und wechseln Sie in das Source-Verzeichnis mit
    cd netatalk-2.2.0
  5. ./configure --enable-debian \
    --enable-pgp-uam \
    --enable-krb4-uam \
    --enable-krbV-uam  \
    --enable-overwrite

    konfiguriert das Netatalk so, daß es Startup-Scripte für ein Debian / Ubuntu System erzeugt und vorhandene Dateien überschreibt.
  6. ein
    make -j4
    kompiliert alle zum Netatalk gehörenden Programme. Tipp: ersetzen Sie die 4 durch die Anzahl der Prozessorkerne Ihres Servers.
  7. mit
    sudo make install
    werden alle Dateien installiert
  8. Nicht ganz Debian-like ist das Verzeichnis der Konfigurationsdateien, die befinden sich unter /usr/local/etc/netatalk/.
    Um ein Verzeichnis zur Verwendung als Timemachine-Volume freizugeben, fügen Sie an die Datei /usr/local/etc/netatalk/AppleVolumes.default eine Zeile nach folgendem Muster an:
    /Unix/pfad   "Ein Kommentar für den Mac-User"   options:tm,usedots,upriv
  9. mit
    /etc/init.d/netatalk start
    wird das Netatalk gestartet und sollte als als Timemachine-Volume zu verwenden sein