[Ubuntu] TimeMachine Backup mit Netatalk + Avahi

Hallo,

viele Besitzer eines Macbooks/iMacs mögen sich vielleicht fragen, wie man TimeMachine dazu bringt zu sichern wenn man
a) kein QNAP-NAS o.ä besitzt
und
b) nicht auf eine USB-HDD sichern möchte

Die Lösung hierfür lautet:

Ubuntu System mit Netatalk und Avahi!

Here we go:

Zuerst holt man sich das Pgpgpg-Package, damit erkennt das System Pakete, die mit einem Schlüssel versehen wurden.
Ist möglicherweise Schwachsinn, bei mir hats einmal nicht ohne funktioniert, aber schaden kanns auf jeden Fall auch nicht.

sudo apt-get install pgpgpg

Installation Netatalk

  • Sources Verzeichnis erstellen

sudo mkdir -p ~/src/netatalk
cd ~/src/netatalk

  • Netatalk Sources über Repositorys laden

sudo apt-get source netatalk
sudo apt-get build-dep netatalk
cd netatalk-2.0.5/

  • Netatalk zusammenbauen

Anmerkung: Netatalk wird hier mit ssl gebuildet, dies ist unbedingt erforderlich, da neuere Versionen von OSX nur noch Anmeldung am Share per ssl zulassen!
sudo DEB_OPTIONS=ssl dpkg-buildpackage -us -uc
sudo debi
echo “netatalk hold” | sudo dpkg –set-selections

Netatalk konfigurieren

  • Anpassen der defaults

Folgende Anpassungen in der Datei /etc/default/netatalk vornehmen:

sudo vi /etc/default/netatalk

ATALKD_RUN=no
PAPD_RUN=no
CNID_METAD_RUN=no
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no

  • Danach müssen die Apple Volumes definiert werden, dazu folgende Datei edieren:

sudo vi /etc/netatalk/AppleVolumes.default

  • Wenn man die Home-Verzeichnisse der User freigeben möchte folgende Zeile einfügen:

~/ “$u” allow:user1 cnidscheme:cdb //Der User hier ist durch einen gültigen User auf dem Ubuntu Server zu ersetzen

  • Erstellen des TimeMachine-Ordners im Homelaufwerk von User1

cd /home/user1

mkdir TimeMachine

  • Eintragen des TimeMachine-Volumes

sudo vi /etc/netatalk/AppleVolumes.default

/home/user1/TimeMachine TimeMachine allow:user1 cnidscheme:cdb options:tm,upriv

  • Netatalk neustarten

sudo /etc/init.d/netatalk restart

Nsswitch.conf konfigurieren

sudo vi /etc/nsswitch.conf

folgende Line ans Ende hinzufügen:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns

Avahi konfigurieren

  • neue Datei erstellen:

sudo vi /etc/avahi/services/afpd.service

  • folgendes reinkopieren:

<?xml version=”1.0″ standalone=’no’?><!–*-nxml-*–>
<!DOCTYPE service-group SYSTEM “avahi-service.dtd”>
<service-group>
<name replace-wildcards=”yes”>%h</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=Xserve</txt-record>
</service>
</service-group>

  • Avahi neustarten

sudo /etc/init.d/avahi-daemon restart

Portfreigaben einrichten

sudo ufw allow afpovertcp

sudo ufw allow 14013/tcp

  • auf macbook folgende zeile über terminal eingeben:

defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

Leave a Reply

Your email address will not be published. Required fields are marked *