Ubuntu Server + Externe Festplatte = Time Capsule

Mit einem Ubuntu Server und einer Externen USB 2.0 Festplatte kann man sich auch ohne Apple’s Time Capsule eine komfortable Backuplösung via Netzwerk/WLAN bauen.

Mit dieser anleitung haben wir auf dem System einen AFP-Server und Bonjour installiert. AFP ist ein Netzwerkprotokoll, das Rechnern mit den Betriebssystemen Mac OS X den Dateizugriff über ein Netzwerk ermöglicht. Bonjour ermöglicht, die automatische Erkennung von anderen Computern ohne sich dabei um IP&Co kümmern zu müssen.

Was man dazu benötigt:

  • Einen alten Laptop o.ä. möglichst mit USB 2.0 oder einer Zusatzkarte
  • Natürlich eine Festplatte, die möglichst mindestens genau so groß ist, wie die interne des Macs
  • etwas Zeit 😉

Ich gehe davon aus das auf dem Laptop schon erfolgreich irgend ein Ubuntu installiert ist.
Als erstes sollte man folgende Pakete installieren.

  • netatalk //AFP-Server
  • avahi //Bonjour

sudo apt-get install avahi-daemon netatalk

Danach muss folgendes in die Datei /etc/avahi/services/afpd.service eingetragen werden

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

Im Ordner /etc/avahi/ liegt noch eine config datei, über die man den namen der via Bonjour angezeigt wird editieren.

Diese muss man aber nicht editieren. Wichiger sind die beiden Dateien

afpd.conf und AppleVolumes.default im Verzeichniss /etc/netatalk

in der Datei afpd.conf legt man die Grundlegend File-Server einstellungen fest:

„Ubuntu Server“ -uamlist uams_clrtxt.so -defaultvol /etc/netatalk/AppleVolumes.default
Name |User die zugriff haben sollen | Datei mit Freigaben

Mit meiner Config muss man sich mit einem Klartextpasswort authentifizieren.
Man kann aber auch hinter -uamlist

uams_guest.so

eintragen, dann kann man sich einfach als Gast einloggen.

Nun noch die Externe Festplatte an den Laptop anschließen, möglichst mit Ext3 oder ähnlichem formatiert und z.b unter /media/timecapsule mounten.

in der Datei AppleVolumes.default steht dann z.b. folgendes

/media/timecapsule „Time Capsule“
/home/username „Home Directory“

dann noch die beiden Dienste neustarten

/etc/init.d/avahi-daemon restartCleartextpassword
/etc/init.d/netatalk restart

nun sollte Server bereits im Finder unter Mac OS X erscheinen.
Um sich unter Mac OS X 10.5 Leopard einzuloggen muss man aber noch . In der
~/Libary/Preferences/com.apple.AppleShareClient.plist den Booleanwert

afp_cleartext_allow auf „Yes“ setzen.

Nun kann man den Ubuntu Server erstmal als normalen Fileserver mit AFP nutzen.

Time Machine AktivierenUm Timemachine unter Leopard noch für Netzwerklaufwerke zu aktivieren noch folgenden Befehl im Terminal eingeben.

defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

anschließend erscheint das Volume in den Time Machine Systemeinstellungen.Time Machine Einstellungen

Known Isuuses:

  • Ein großes Problem an der Sache ist noch, das Time Machine mit der Zeit die Gesamte Festplatte in beschlag nimmt, ich bin noch dabei herrauszufinden, ob man das irgendwie mit Quota begrenzen kann
  • Es ist teilweise zu hören, das Datenverluste auftreten, wenn das Volume voll ist, die kann ich noch nicht reproduzieren, da es wohl noch etwas dauert bis 750GB voll mit Backup sind
  • Bei mir war die Datenübertragung via WLAN zeitweise SEHR langsam 150-500kb/s in Verbindung mit einer Fritzbox 717, ich weiß nicht ob der Fehler an dem noch nicht eingerichteten avahi (Bonjour-Server) lag. Aber nachdem ich von WPA auf WPA2 geschaltet habe und den avahi-daemon eingerichtet hatten, liefen die Daten mit den vollen 2,5Mbytes/s über die Luft.

Das Time Machine Bild ist aus der englischen Wikipedia übernommen

8 Responses to “Ubuntu Server + Externe Festplatte = Time Capsule”

  1. Stephan Zeissler

    Wer seine Passwörter nicht Klartext übers Netz schicken will, sollte Natatalk wie unter [1] beschrieben installieren. In der afpd.conf muss man dann noch „uams_dhx.so“ (anstatt wie oben beschrieben uams_clrtxt.so) nehmen und schon ist Leo glücklich.

    Meine afpd.conf sieht zZ so aus:
    „Moon“ -uamlist uams_guest.so,uams_dhx.so -savepassword

    Vielleicht hilft das wem der wie ich 2 tage rumprobiert das ganze ohne cleartext zu konfigurieren.

    Gruß,
    Stephan

  2. andybreuhan

    Ja danke guter hinweis, aber ich fands mit verschlüsselung zu kompliziert und ich denke in einem normalen Heimnetz nicht notwendig.

  3. gato

    Bei mir geht da gar nix. Habe Leopard und ein voll gepatchtes Ubuntu 7.10. Das tolle ist, ich seh im Finder die Freigaben (VNC und AFP) aber wenn ich auf den AFP-Share klicke, kommt oben die Meldung „Verbindung fehlgeschlagen“ und wenn ich auf „Verbinden als…“ klicke, kommt „Möglicherweise ist der Server nicht vorhanden oder zurzeit nicht in Betrieb. Überprüfen Sie den Servernamen oder die IP-Adresse und die Netzwerkverbindung, und versuchen Sie es erneut.“

    *ratlos*

  4. Martin

    Hallo,

    bei mir hilft das alles nix. Habe netatalk von Hand kompiliert auf Ubuntu Server 8.10 und will mit OSX 10.5.7 zugreifen. Ich sehe die Freigaben und kann sie anklicken. Meldung : „Der Vorgang konnte nicht abgeschlossen werden, da das Originalobjekt „Müller“ nicht gefunden wurde.“

    Müller gibts, in der AppleVolumes.default auch definiert, Freigaben und Rechte sind für User Müller und Gruppe Users (in der Müller ist) mit 770 freigeschaltet.

    Eine einzige Freigabe funktioniert. Gleiche Konditionen wie die anderen Freigaben, gleiche Einträge in AppleVolumes.default, gleiche Rechte. Nur der Name „Downloads“ ist hier der Unterschied (zu Müller zB)…

    Ratlosigkeit macht sich so langsam breit.

  5. Andy

    Hi,
    also ich gehe mal davon aus das die Freigabe eine ganz normale Linux Partition ist, also kein fuse. Versuch der freigabe mal 777er zugriffsrechte zu geben.
    Was oft hilft ist alle . Dateien zu löschen. Also vorallem .Apple…
    Probier das mal sonst muss ich morgen nochmal gucken.

Leave a Reply

  • (will not be published)

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>