How To: Ubuntu 12.4 als Mac File Server und Time Machine

Ich habe zwar einen Mac, aber leider bin ich doch nicht so reich um mir jedes Gerät von Apple zu kaufen. Die Time Machine von Apple ist ein sehr gutes Backup Programm, nur funktioniert die entweder nur mit einer angesteckten Festplatte oder mit der Time Capsule, die jetzt nicht wirklich billig ist. Da ich mein Macbook auch nicht immer auf meinem Schreibtisch stehen habe, sondern öfter mal im Wohnzimmer sitze, wäre ein Backup über WLAN optimal. Ich habe viele Filme und noch mehr Musik, die auf meine kleine Festplatte nicht drauf passen. Wie gesagt, die externe Festplatte will ich nicht immer in meiner Wohnung mitschleppen, dafür bin ich viel zu faul 🙂

Zum Glück habe ich eine Ubuntu Kiste laufen, die alle meine Probleme zu diesem Thema beseitigen kann. Die Zauberwörter heissen Netatalk und Avahi.

In diesem Tutorial zeige ich wie ein Ubuntu Rechner zu einem Mac file server und zu einem Time Machine Backup Server werden kann.                                   

Voraussetzungen:

Einen Rechner mit Ubuntu (getestet mit 12.4), der als Server fungiert
Einen Mac (getestet mit OSX Snow Leopard und Mountain Lion)

Benötigt wird:
-Netatalk
-Avahi

Netatalk

Als erstes wird Netatalk installiert. Netatalk ist eine Open Source Variante des AFP-Protokolls von Apple.

sudo apt-get install netatalk

Nachdem Netatalk installiert ist, müssen einige Anpassungen gemacht werden, dass der Dienst mit dem Mac sauber kommunizieren kann.

Als erstes wird die Datei afpd.conf angepasst:

sudo nano /etc/netatalk/afpd.conf

Folgendes wird am Dateiende eingefügt:

– -tcp -noddp -uamlist uam_guest.so,uams_dhx2_passwd.so -nosavepassword

Wird uam_guest.so weg gelassen, so erhält man einen Fehler im Ubuntu syslog.

INTERNAL ERROR: Signal 11 in pid 2413

Dies ist auf einen bug in Netatalk zurückzuführen.

Lässt man uams_dx2_passwd.so weg, bekommt man beim Verbinden die Meldung:

„Die Version des Servers, zu dem eine Verbindung hergestellt werden soll, wird nicht unterstützt.“

Mit ctrl + x wird die Änderung gespeichert.

Zum Schluss muss folgende Datei konfiguriert werden:

sudo nano  /etc/netatalk/AppleVolumes.default

Auch hier geht man wieder zum Dateiende und entfernt das # vor dem “Home Directory”. Falls kein # davor steht, einfach so lassen. “Home Directory” kann auch umbenannt werden, die Anführungszeichen sollten jedoch nicht gelöscht werden.

Somit wird das Homeverzeichnis des entsprechenden Benutzers, der sich eingeloggt hat, freigegeben.

Darunter werden die Benutzer angegeben, die sich einloggen können:

allow: Benutzer1, Benutzer2

Der Name des Benutzers muss natürlich angepasst werden.

Darunter können beliebige Pfade des Servers freigegeben werden

Bsp:

/media

Für die Time Machine wird darunter folgendes eingegeben:

/pfad/zum/TimeMachineOrdner “BeliebigerName”  cnidscheme:dbd options:usedots,upriv,tm  allow:BenutzerDerTimeMachine

Der Pfad des Time Machine Ordners, Sowie der Benutzer der Time Machine muss auch hier wieder angepasst werden. Ausserdem sollte der Benutzer Lese/Schreibrechte für den Time Machine Ordner besitzen.

Falls dies nicht der Fall ist, kann ein neuer Ordner Angelegt werden:

sudo mkdir /pfad/zum/TimeMachineOrdner      -> Ordner erstellen

sudo chown BenutzerDerTimeMachine:BenutzerDerTimeMachine /pfad/zum/TimeMachineOrdner     -> Rechtevergabe an den Benutzer

Zum Schluss wird die Änderung der Datei wieder mit ctrl + x gespeichert.

Damit die Änderungen wirksam werden, muss Netatalk neugestartet werden:

//restart service:
sudo service netatalk restart

Avahi einrichten

Der Avahi Dienst ist eine open source Variante des Bonjour Dienstes von Apple. Genauso wie Bonjour publiziert Avahi alle Freigaben im lokalen Netzwerk.

Bei Ubuntu 12.4 ist Avahi bereits standardmäßig installiert. Sollte dies aus irgendwelchen Gründen nicht der Fall sein, kann Avahi folgendermaßen installiert werden:

sudo apt-get install avahi-daemon
sudo apt-get install libnss-mdns

Da alles sauber laufen soll, müssen auch hier ein paar Änderungen gemacht werden. Die nsswitch.conf muss ein wenig verändert werden:

sudo nano /etc/nsswitch.conf

Bei der Zeile hosts: wird am ende noch ein mdns hinzugefügt. Die Zeile sollte am Ende so aussehen:

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

Die Datei wieder mit ctrl + x speichern und schliessen

Nun muss man Avahi noch sagen welche Services er im Netzwerk publizieren soll:

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

Sollte die Datei leer sein, bitte folgendes einfügen:

<?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>

Bei der dritten Zeile von unten aus gesehen (<txt-record>model=Xserve</txt-record>), kann man dem Ubuntu System ein Mac Icon verpassen, dass man dann beim Finder in der Seitenleiste sehen kann.Folgende Mac Modelle können ausgewählt werden.

model=XXX

RackMac (gleiches Icon wie Xserve), PowerBook, PowerMac, Macmini, iMac, MacBook, MacBookPro, MacBookAir, MacPro, AppleTV1,1, AirPort

Nun wurde der Avahi Dienst konfiguriert. Mit ctrl + x wieder abspeichern.

Damit alle Änderungen wirksam werden muss Avahi neugestartet werden:

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

Im Finder sollte nun in der Seitenleiste die Ubuntufreigabe zu sehen sein. Ist dies nicht der Fall, einfach mal die Ubuntukiste neustarten!

Einrichten der Time Machine

Auf dem Mac muss noch eine verstecke Option der Time Machine aktiviert werden. Ohne diese Aktivierung steht das Volume auf dem Mac nicht zur Verfügung. Dafür muss das Terminal geöffnet werden. Das Terminal findet man unter Programme/Dienstprogramme oder man sucht es mit Spotlight und gibt Terminal ein.

Ist das Terminal geöffnet fügt man folgendes ein und drückt danach Enter:

defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

Nun geht man in die Systemeinstellungen und wählt Time Machine aus. Zuerst klickt man auf Volume auswählen und wählt dann bei „Verfügbare Volumes“ die TimeMachine Festplatte aus. Es wird nun nach dem Benutzernamen und Passwort des Benutzers des Ubuntu Rechners gefragt. Nach erfolgreicher Eingabe startet das TimeMachine Backup.
Ab jetzt startet das Time Machine Backup automatisch!

Quellen:
http://www.kde4.de/howtos/ubuntu-apple-fileserver-timemachine/
http://blog.bertelsen.co/2012/07/time-machine-server-on-ubuntu-1204.html

One response to “How To: Ubuntu 12.4 als Mac File Server und Time Machine

Leave a comment