G3 PowerBook Pismo mit Mac OS X 10.4 als TimeCapsule Ersatz einsetzen


ACHTUNG! Leider ist es mir nicht möglich, eine aktuelle Version von netatalk auf 10.4 Tiger zu installieren. Netatalk lässt sich nicht ohne Portierung auf Mac OS X installieren. Es gibt eine Portierung von Netatalk 2.0.5 unter darwinports.com, allerdings unterstützt Netatalk 2.0.5 kein DHX2. DHX2 wird aber seit TimeMachine unter 10.7 vorausgesetzt, sonst akzeptiert TimeMachine das Server-Laufwerk nicht.
Ich gehe daher einen anderen Weg und installiere auf meinem Pismo G3 PowerBook Xubuntu 10.04 Linux (Anleitung).


Diese Anleitung beschreibt, wie ein Apple PowerBook Pismo mit G3 Prozessor und Mac OS X 10.4 Tiger so erweitert werden kann, dass es Festplatten über das AFP 3.3 Protokoll im Netzwerk verfügbar macht.
Mac OS X 10.4 unterstützt nur das Apple Filing Protocol in der Version 3.2. Mac OS X 10.5 bereits Version 3.2+. Das Plus ist entscheidend, denn ab Version 3.2+ können Netzlaufwerke für Apples Backupsoftware TimeMachine verwendet werden.
netatalk wurde für Unix/POSIX Systeme entwickelt und es finden sich zahlreiche Anleitungen im Internet, wie sich unter Linux eine Do It Yourself TimeCapsule einrichten lässt.
Mein Versuch ist es nun, anstatt Linux zu installieren, die Erweiterung netatalk direkt unter Mac OS X 10.4 zu installieren. Das ganze möchte ich mit einer möglichst leicht verständlichen Anleitung dokumentieren, so dass es anderen nicht so versierten Anwendern möglich ist, sich einen eigenen TimeCapsule Server mittels eines alten G3 Macs zu installieren, auf dem 10.4 läuft.
Wahrscheinlich läuft das Ganze auch unter 10.3 und früheren Versionen von Mac OS X, allerdings habe ich das nicht getestet.
Wer hingegen bereits 10.5 installiert hat (setzt einen G4 Prozessor voraus) benötigt diese Anleitung nicht. Hier genügt es, die Laufwerke mittels AFP im Netzwerk verfügbar zu machen.
Update: Ab Mac OS X 10.7 wird das Sicherheitsprotokolls DHX2 von TimeMachine vorausgesetzt. Leider verfügen ältere Versionen von Mac OS X vor 10.7 nicht über DHX2. Daher muss der Server mindestens 10.7 am Laufen haben, sonst werden seine Laufwerke nicht von TimeMachine unterstützt.
Es gilt also: Wer bereits 10.7 Lion (oder höher) installiert hat, benötigt diese Anleitung nicht. Hier genügt es, die Laufwerke mittels AFP im Netzwerk verfügbar zu machen.

Internetquellen, nach denen diese Anleitung entstanden ist:

1. Xcode installieren. XCode befindet sich zwar auf der Mac OS X 10.4 Tiger Installations CD (Verzeichnis Xcode Tools) um aber die aktuellste für Tiger verfügbare Version zu erhalten sollte XCode von Apple heruntergeladen werden. Beim Aufrufen des Links erscheint eine Aufforderung, sich als Apple Developer zu registrieren bzw. einzuloggen, soweit dies noch nicht geschehen ist. Das ist schnell und kostenlos passiert.
Es ist dringend empfohlen, nur die aktuellste Version von XCode für Tiger (2.5) zu installieren. Die vorherigen Versionen enthalten Bugs und verursachen definitiv Probleme bei der Installation von netatalk.

2. netatalk herunterladen. Ich habe mich für Version 2.2.5 entschieden, ob/wie neuere/andere Versionen Funktionieren, ist mir nicht bekannt. Es muss aber min. Version 2.0.5 sein, sonst wird TimeMachine nicht unterstützt. Version 2.2 bringt die Unterstützung des Sicherheitsprotokolls DHX2, dass seit 10.7 Lion Voraussetzung für TimeMachine Netzwerklaufwerke ist.
netatalk 2.2.5 herunterladen.

3. Oracle Berkeley DB Version 4.6.x oder höher herunterladen. Ich habe mich für Version 4.6.21 entschieden. Es ist die einzige 4.6.x Version die zum Zeitpunkt noch verfügbar war und mit 11.3 MB etwa nur halb so groß wie Version 4.8.3.
Download von Oracle Berkeley DB, alle verfügbaren Versionen.

Berkeley DB installieren

Die heruntergeladene Datei db-4.6.21.tar.gz doppelklicken. Nach zwei Entpackungs-Vorgängen erscheint ein Ordner db-4.6.21.
Innerhalb dieses Ordners wird das Verzeichnis build_unix gesucht.
Nun Terminal unter Programme > Hilfsprogramme > Terminal starten und den Ordner build_unix in das Terminal ziehen, mit dem Cursor an den Anfang der Zeile wandern und hier cd und ein Leerzeichen eingeben. Es sollte nun etwas ähnliches wie
cd /Users/Benutzername/Desktop/db-4.6.21/build_unix/
in der Zeile stehen. Dann return drücken.

Jetzt den Befehl ../dist/configure eingeben (mit return abschließen).

Daraufhin sollten einige Ausgaben im Terminal erscheinen, nach ca. 1 Minute ist der Befehl abgearbeitet und es kann wieder eine Eingabe gemacht werden.
Jetzt den Befehl make eingeben (natürlich auch wieder mit return abschließen – das sag‘ ich jetzt nicht mehr). Bis der Befehl abgearbeitet wurde, vergeht diesmal deutlich mehr Zeit. Man kann z. B. in Ruhe einen Kaffee trinken gehen.

Nach dem Kaffee kann endlich die Berkeley Database installiert werden mit dem Befehl
sudo make install
Das Terminal erwartet nun noch die Passworteingabe eines Admins (standardmäßig das Passwort des eingelogten Users).

Nach deutlich kürzerer Wartezeit wird die Berkeley DB in das Verzeichnis /usr/local/BerkeleyDB.4.6/lib installiert. Das ist wichtig, denn bei der Installation von netatalk muss angegeben werden, wo sich die Berkeley Datenbank befindet.

netatalk installieren

So, die nächste Herausforderung ist nun die Installation von netatalk selber, alle benötigten Softwarepakete, die netatalk voraussetzt wurden in den vorherigen Schritten bereits installiert.

Hierzu wechseln wir in das Verzeichnis netatalk-2.2.5, welches neben dem db-4.6.21 Verzeichnis auf dem Desktop liegen sollte. Hierzu wechseln wir solange mit dem Befehl cd .. in das nächsthöhere Verzeichnis, bis wir uns im Verzeichnis Desktop befinden.
Nun einfach cd netatalk-2.2.5 eingeben und wir befinden uns im Installationsverzeichnis von netatalk.

Der Befehl
./configure --with-bdb=/usr/local/BerkeleyDB.4.6
bereitet das Installationspaket vor, das nach etwa zwei bis drei Minuten fertig ist.

mit dem Befehl
make
wird kompiliert. Das Dauert wieder ein zwei Minuten und bricht bei mir leider mit einem Fehler ab: (‚uint16_t‘ undeclared und ‚fflags‘ undeclared).

Wenn jemand Hilfe weiß, würde ich mich sehr über einen Kommentar freuen.

sudo make install
schließlich führt die Installation von netatalk durch.
Hier wird wieder das Admin-Passwort benötigt.

Alternative: Netatalk über MacPorts installieren

Hierzu zunächst XCode 2.5 von der Apple Developer Website herunter laden und installieren. Man muss sich (kostenlos) bei apple registrieren, um die xcode tools herunter laden zu können. Achtung: neuere als XCode 2.5 funktionieren nicht unter 10.4.
Es sollten auch nicht die XCode Tools von der 10.4 Installations-DVD verwendet werden, da diese veraltet sein können.

MacPorts für Tiger installieren.

Die Installation macht zunächst den Eindruck, sich zum Ende hin aufzuhängen. Hier einfach ein paar Minuten länger warten, dann beendet der Installer erfolgreich die Installation von macports.

Nun muss der Port-Tree im Terminal geupdated werden: sudo port selfupdate
Auch das dauert wieder länger und man möchte das Terminal neu starten, weil man denkt, es wäre abgestürzt.

Wenn der Cursor wieder erscheint port search netatalk eingeben. Es wird nach einer Weile netatalk @2.0.5 gefunden.

Mit dem Befehl sudo port install netatalk wird netatalk installiert. Das ganze dauert so lange, dass man ruhig schlafen gehen kann, am nächsten Morgen ist die Installation fertig :).

Um netatalk bei jedem Systemstart automatisch zu starten sudo port load netatalk eingeben.

Jetzt müssen Einstellungen von netatalk geändert werden. Hier zu den Befehl nano /opt/local/etc/netatalk/afpd.conf eingeben.

Es wird nun ein Textdokument geöffnet, dieses mit der Tastenkombination CTRL V ganz nach unten scrollen und das # in der Zeile # - -transall -uamlist uams_dhx.so,uams_dhx2.so -nosavepassword entfernen.

Mit CTRL X wird nano beendet, jetzt noch y zum Bestätigen eingeben und den Speicherort mittels return bestätigen.

Jetzt kann man versuchen, sich von einem entfernten Mac über den Finder mit dem netatalk-Server zu verbinden. Hierzu geht man im Finder auf Gehe zu > Mit Server verbinden … und gibt die afp:// gefolgt von der IP-Adresse des G3-Rechners ein. Das sieht zum Beispiel so aus: afp://192.168.1.123.

Die IP-Adresse bekommt man über Systemeinstellungen > Netzwerk > TCP/IP heraus.

Man wird eine Fehlermeldung erhalten, dass der Benutzername / das Passwort nicht stimmt. Dafür müssen wir auf dem G3-Server eine Datei mit dem Namen netatalk in dem Verzeichnis /etc/pam.d? anlegen. Das lässt sich im Terminal mit dem Werkzeug nano einfach erledigen: nano /etc/pam.d/netatalk

In dem erscheinenden Editor nun folgende Konfiguration eingeben:

auth required pam_nologin.so
auth sufficient pam_securityserver.so
auth sufficient pam_unix.so
auth required pam_deny.so
account required pam_permit.so
password required pam_deny.so
session required pam_uwtmp.so

(Kann mit Copy-Paste kopiert werden.)
Mit CTRL X beenden und mit y und return das Speichern bestätigen.

Jetzt ist es möglich sich, mit jedem User-Account, der sich auf dem G3-Mac befindet, anzumelden. Allerdings sind so noch nicht die angeschlossenen Laufwerke verfügbar. Zum Glück lässt sich dies recht einfach für alle User mit einem Mal realisieren.

Hierzu im Terminal auf das Hauptverzeichnis des Benutzers wechseln (mit cd .. um ins nächsthöhere Verzeichnis zu wechseln, mit cd Verzeichnisname in das entsprechende Verzeichnis wechseln. Es sollte vor dem Cursor etwas ähnliches wie /Users/Benutzername stehen.

Jetzt wird mit nano eine neue Textdatei mit dem Namen .AppleVolumes erstellt: sudo nano .AppleVolumes.

In die Datei wird der folgende Text geschrieben:

# Export the entire hard disk
/ "/"

(Kann auch wieder per Copy-Paste passieren.)

Speichern nicht vergessen (s. o.)

leider noch in Bearbeitung …