XBMC hat vor wenigen Wochen mit XBMCbuntu Einzug in mein Netzwerk gehalten. Ursprünglich plante ich nur Musik, Videos und Filme meiner OS X und iOS Geräte auf den Fernseher und die angeschlossenen Boxen zu streamen. Mittlerweile bietet der PC, auf dem XBMCbuntu läuft, diverse andere Dienste an. Seit gestern stellt er auch eine Alternative zu Apples Time Capsule dar und empfängt nun fleißig Time Machine Backups. Wie einige vielleicht wissen, ist es seit OS X 10.7 nicht ohne weiteres möglich, die Time Machine zum Backup auf nicht Apple Storages zu bringen. Arbeitet man nach dieser Anleitung, stellt das aber keinen großen Akt mehr dar.
Ich fasse noch einmal zusammen, was gebraucht wird und gemacht werden muss:
- Ein Linux (bei mir Ubuntu bzw. XBMCbuntu)
- Eine Festplatte, die genug Platz für das Backup bietet und mit einem Dateisystem formatiert ist, welches von Linux beschrieben werden kann (bei mir ext4)
- netatalk (spielt den AppleShare File Server)
- avahi-daemon (gibt das Vorhandensein per Bonjour im Netzwerk bekannt)
Schritt 1 — netatalk und avahi-daemon installieren »
Schritt 1 — netatalk und avahi-daemon installieren
Die Installation der beiden Dienste gestaltet sich recht einfach. Gebraucht werden ein Terminal und root-Rechte.
sudo apt-get install netatalk
sudo apt-get install avahi-daemon libnss-mdns
Alternativ für netatalk:
wget https://launchpad.net/~stefanor/+arc...~ppa1_i386.deb
sudo dpkg -i netatalk_2.2~beta4-0~ppa1_i386.deb
Das sollte schon alles gewesen sein.
Schritt 2 — netatalk konfigurieren »
Schritt 2 — netatalk konfigurieren
Nun wird netatalk, der AFP Server, konfiguriert. Hierfür brauch wieder root-Rechte und einen Texteditor. In /etc/default/netatalk wird zu erst festgelegt, welche Dienste durch netatalk gestartet werden sollen. Editiert einfach die folgenden Zeilen.
ATALKD_RUN=no
PAPD_RUN=no
CNID_METAD_RUN=yes
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no
Anschließend wird in /etc/netatalk/afpd.conf festgelegt, wie bzw. womit sich euer Mac bei netatalk authentifizieren soll. Editiert hierfür folgende auskommentierte Zeile.
Original # -passwdfile [...]
Neu -passwdfile /etc/netatalk/afppasswd
Fügt nun noch am Ende der selben Datei folgende Zeile ein.
- -transall -tcp -noddp -uamlist uams_randnum.so,uams_dhx.so -nosavepassword -advertise_ssh
Abschließen erstellt ihr afppasswd. Das macht ihr wieder auf dem Terminal.
touch /etc/netatalk/afppasswd
Mit dieser Konfiguration kann sich jeder auf dem Linux-System vorhandene User einloggen.
Schritt 3 — Freigaben für netatalk konfigurieren »
Schritt 3 — Freigaben für netatalk konfigurieren
Damit netatalk auch etwas anbieten kann, müssen am Ende der Datei /etc/netatalk/AppleVolumes.default mit einem Texteditor und root-Rechten einige Zeilen angepasst bzw. eingefügt werden.
/Pfad/zu/Freigabe ANGEZEIGTERNAME allow:user1,user2 cnidscheme:dbd options:usedots,upriv,tm
In meinem Fall sieht die Zeile so aus:
/mnt/tm tm_XBMCbuntu allow:tony cnidscheme:dbd options:usedots,upriv,tm
Das sollte alles sein, was in Schritt 3 zu erledigen ist.
Schritt 4 — Freigabe mittels avahi-daemon im Netzwerk bekannt geben »
Schritt 4 — Freigabe mittels avahi-daemon im Netzwerk bekannt geben
Diesen Schritt halte ich für optional. Im Prinzip funktioniert das Konstrukt nämlich jetzt schon. Mit einem richtig konfigurierten avahi-daemon wird die Benutzung allerdings erheblich angenehmer, da eure Freigabe mittels des Protokolls Bonjour (Opfert ein Lamm für die Typen, die sich das einfallen lassen haben!) im Netzwerk verbreitet und automatisch angezeigt wird. Interessant ist für uns die Datei /etc/nsswitch.conf, die wir mit einem Texteditor und root-Rechten bearbeiten.
Anfangs bearbeitet ihr folgende Zeile.
Original: hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
Neu: hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns
Damit OS X die Freigabe so anzeigt, wie ihr wollt, geht es in der Datei /etc/avahi/services/afpd.service weiter. Dorthin kopiert ihr den folgenden Code.
<?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>
<type>_adisk._tcp</type>
<port>9</port>
<txt-record>sys=waMA=MACAddressUbuntu,adVF=0x100</txt-record>
<txt-record>dk0=adVF=0x83,adVN=Name</txt-record>
</service>
</service-group>
Zur Erleuterung:
- %h — Darf jeden beliebigen Namen haben.
- MACAddressUbuntu — Die MAC-Adresse eures Linux-Systems
- Name — Muss der gleiche Name sein, wie der, den ihr als Anzeigename in AppleVolumes.default gewählt habt. In meinem Fall also tm_XBMCbuntu
Schritt 4 hat sich damit auch erledigt.
Schritt 5 — Rebootet eure Maschinen »
Schritt 5 — Rebootet eure Maschinen
Abschließend rebootet ihr euren Mac und das Linux-System. Im Finder eures Macs sollte nun die Freigabe zu sehen sein und Time Machine und das Linux-System sollten sich vertragen.
Ein großes Dankeschön an Adnup für seine Anleitung, die ich hier noch einmal verwurstet habe. Ich hoffe, das macht ihm nichts.