Vor einer Weile hatte ich das Einrichten eines CentOS-Systems als Ziel für Time Machine Sicherungen beschrieben. Leider hat die beschriebene Lösung zwei Haken:

  • Sie funktioniert mit Mac OS X 10.5 (Leopard), bei Mac OS X 10.6 (Snow Leopard) gibt’s damit wohl Probleme.
  • Durch das Freischalten von offiziell nicht unterstützten Netzwerk-Volumes für das Backup funktioniert zwar selbiges, beim Restore während einer Neuinstallation wird das Time Machine Volume jedoch nicht gefunden. Das ist sehr schade, weil es den Wert des Backups doch in nicht geringem Ausmaß reduziert.

Ursache der Notwendigkeit eines Hacks, um auf netatalk-Volumes sichern zu können, war eine benötigte Erweiterung des AFP-Protokolls über welche Apples Time Capsule verfügte, netatalk jedoch nicht. Glücklicherweise ist die Open Source Welt meistens recht flexibel und so bringt das frisch veröffentlichte netatalk 2.0.5 die benötigte Erweiterung mit und kann dadurch ohne Tricksereien und guten Gewissens als Ziel für Time Machine Backups verwendet werden.

Bei der Einrichtung des AFP-Volumes in /etc/netatalk/AppleVolumes.default ist als Option lediglich der Parameter tm anzuhängen, danach taucht das Volume automatisch in der Auswahl der möglichen Time Machine Volumes auf:

/backup/tm TimeMachine cnidscheme:cdb options:upriv,tm

Die im vorherigen Artikel zu diesem Thema beschriebenen Schritte zur Einrichtung von netatalk und avahi sind weiterhin gültig.

Diese Variante läuft jetzt schon ein paar Tage problemlos mit Mac OS X 10.6.2 und netatalk 2.0.5 auf CentOS 5.4 x64, die USB-Platte hat damit als Backupmedium ausgedient. Passendes Paket für CentOS gibt’s diesmal vorerst keins, ich habe netatalk am Paketmanagement vorbei aus den Sourcen kompiliert und installiert. Bei Gelegenheit werde ich mich mal mit der Paketierung auseinandersetzen.

Zum Ersetzen einer richtigen Time Capsule fehlt damit nur noch der Wireless- und der Router-Teil. Wer’s braucht kann das aber auch noch von CentOS mit erledigen lassen. Oder eine Time Capsule kaufen.

[Update 6. Januar 2009]

Nach einer Rekonfiguration meiner Backup-Implementierung und Neueinbindung des Time Machine Volumes stellte sich leider raus, dass dieses nicht mehr als Time Capsule gefunden wurde. An der netatalk-Konfiguration hat sich zwischenzeitlich nichts geändert, sodass diese Situation einigermaßen stinkt. Lösen konnte ich das Problem durch Spezifikation des Time Machine Volumes als Avahi-Service. Dazu wurde in /etc/avahi/services/afpd.service ein weiterer Service definiert:

<service>
  <type>_adisk._tcp</type>
  <port>9</port>
  <txt-record>sys=waMA=de:ad:be:ef:00:42</txt-record>
  <txt-record>dk2=adVF=0x83,adVN=TimeMachine,adVU=8f8e20e6-f027-4e45-9a7c-e090c89da36d</txt-record>
</service>

Dabei enthalten die Parameter waMA die MAC-Adresse des Servers und adVN den Namen des Time Machine Volumes (siehe AppleVolumes.default). Danach wurde das netatalk Volume wieder freudig als Time Machine akzeptiert und ist seitdem in Verwendung.

Einen kleinen Haken hat die Sache dennoch: Beim Durchsuchen des CentOS-Servers nach Volumes mit dem Finder werden nur das Time Machine Volume und das Home Volume angezeigt, weitere Volumes aus AppleVolumes.default jedoch nicht. Das ist zwar unschön, aber kein Beinbruch: Meine benötigten Volumes werden permanent und automatisch verbunden, das Verbinden mit CMD-K klappt auch noch. Vielleicht werde ich mich der Sache auch mal annehmen oder auch der Bequemlichkeit erliegen und eine richtige Time Capsule erwerben.