Netatalk und HFS

Inhalt des Vortrags

Mit dem Softwarepaket Netatalk stehen sämtliche AppleShare File- und Printserver Dienste unter Linux zur Verfügung. Mit dem Dateiformat HFS (Hierarchical File System) können Macintosh Volumes zum Lesen und Schreiben unter Linux gemountet werden. HylaFAX ist ein freier Fax Server (und Unix Client) für Linux, es gibt Clients für Mac und Win32.
Dieser Vortrag zeigt die Einsatzgebiete, die Konfiguration sowie die Vorteile und Einschränkungen dieser Lösung.

Einsatzgebiete und -möglichkeiten

1) Netatalk

Die Einsatzmöglichkeit von Linux als Server für Macintosh-Netzwerke bietet sich im wesentlichen für zwei Anwendungsgebiete an:

1.1) Linux als Ersatz für oder Ergänzung zu einem Apple Server in einem vorwiegend von Macintosh Computern dominierten Netzwerk.

Linux bietet aufgrund seiner Performance, vor allem aber aufgrund seiner Stabilität gegenüber Macintosh Servern eine überragende Leistung.
Des weiteren können unter Linux mittels SMB (Samba) auch Windows Computer bedient werden, wofür bei einem herkömmlichen Apple Server entweder serverseitig oder clientseitig zusätzliche Aufwendungen in Kauf genommen werden müssen. Mit AppleShare IP 6.0 von Apple bietet sich diese Möglichkeit auch mit einem Apple Server, allerdings ist AppleShare IP 6.0 noch nicht veröffentlicht und zur Zeit mit Mac OS 8.5 noch nicht voll kompatibel, basiert des weiteren noch auf der von Apple nicht mehr weiterentwickelten Component Technology OpenDoc.

Mit Netatalk wird ein Linux Server zu einem vollwertigen AppleShare Server. Es muß keine Clientsoftware auf den Macintosh Rechnern installiert werden und die Macintosh User können auf die ihnen vertraute, einfach Art auf Netzwerk Ressourcen zugreifen (siehe Abb. 1). Mit dem asun Patch ist Netatalk auch ein hervorragend schneller AppleShare IP Server.
Auswahl der Verzeichnisse

Abb. 1: Auswahl der AppleShare Server Verzeichnisse eines Linux Servers auf einem Macintosh unter Mac OS 8. Der Unix Hostname des Linux Rechners ist auch der AppleShare Servername.

Wenn man bedenkt, daß mit einem Linux Rechner eine äußerst stabile Unix Maschine zur Verfügung steht, die im Handumdrehen auch für Intranet- und Internet-Dienste (E-mail, Web, FTP und News Server), sowie als Faxserver verwendet werden kann oder wahrscheinlich bereits verwendet wird, so ist klar ersichtlich, welche Vorteile diese Lösung bietet:
Mit einer einzigen Linux Maschine können also NFS, Windows und Macintosh Clients bedient werden, sowie alle Standard Unix Anwendungen rund um das Internet eingesetz werden und das mit einer extrem hohen Zuverlässigkeit und Performance.

1.2) Linux zur Anbindung von Macintosh Clients in einer heterogenen Umgebung mit vorwiegend Unix und Windows Maschinen.


Mit Netatalk kann jede Unix Maschine schnell und einfach zu einem vollwertigen AppleTalk Server für Macintosh Clients werden.
Wenn auch ein Netzwerk von Unix oder Windows Maschinen dominiert wird, müssen die Macintosh User, z.B. das Creative Department eines Unternehmens nicht hintangestellt werden.


2) HFS

Mit dem Hierarchical File System können Macintosh Medien (Volumes, in der Apple Terminologie) wie Floppy Disks, SCSI Festplatten und CD-ROMs unter Linux gemountet werden.

Auf beschreibbare Medien kann auch unter Linux geschrieben werden, wobei allerdings die Einschränkungen des Macintosh Dateisystems beachtet werden müssen (31 Zeichen lange Dateinamen, keine Verwendung des Doppelpunktes).

Die mit HFS gemounteten Volumes können selbstverständlich mittels Netatalk geshared werden, was vor allem für CD-ROMs besonders interessant ist. HFS+ (das alternative, neue Dateisystem seit Mac OS 8.1) wird leider noch nicht unterstützt.

3) HylaFAX

HylaFAX 4.0pl2 ist ein freier Fax Server und Client von SGI (Silicon Graphics Inc.). Die Installation der Serversoftware ist relativ umfangreich, da der Funktionsumfang enorm ist.
Die Software funktioniert praktisch mit jedem Modem, einkommende Faxe werden als Multipage-TIFF in einem Spoolverzeichnis abgelegt, können aber auch sofort auf einem Drucker (Normalpapierfax!) ausgegeben werden. Der Administrator wird auf Wunsch per e-mail bei ankommenden Faxen benachrichtigt.

In der HylaFAX Distribution ist ebenfalls ein Client für Unix Maschinen beinhaltet.

Für den Macintosh gibt es mit MacFlex eine klassische Auswahlerweiterung als HylaFAX Client, d.h. der Linux Server wird als Drucker ausgewählt. MacFlex ist zwar aus dem Jahre 1996 funktioniert aber auch mit Mac OS 8.5 und bietet grundlegende Funktionen wie Telefonbuch, Postscript Coversheet und e-mail Benachrichtigung als Quittung. Einen Hotkey (zum Umschalten von Drucker auf Fax ohne die Auswahlerweiterung umzustellen) gibt es leider nicht.

Der WHFC (Windows HylaFAX Client) ist etwas rudimentärer als MacFlex, man muß vorher mit einem Druckertreiber eine Postscript Datei erzeugen und diese mit WHFC verschicken. Außerdem gibt es Probleme mit WHFC und Word 97 auf Windows 95.

Voraussetzungen

1) Hardware

Einzige hardwaretechnische Voraussetzung ist eine Ethernet-Verbindung zwischen dem Linux Server und den Macintosh Clients bzw. Apple LaserWritern. LocalTalk und PhoneNet wird nicht unterstützt.
Falls sich ältere Macintosh Computer oder Apple Drucker in LocalTalk (PhoneNet) Anbindung im Netz befinden, empfielt sich der Einsatz einer software- oder hardwaretechnischen Ethernet Bridge (Apple LaserWriter Bridge, Dayna EtherPrint,...) oder die Installation der Apple InternetRouter Software auf einem Macintosh mit aktivem Ethernet und LocalTalk Anschluß.


2) Software

2.1) Linux

Der Linux Server benötigt eine Kernelversion 1.2.x oder höher, sowie die Netatalk Software (siehe Quellen).
Die aktuelle (Stand Oktober 1998) Netatalk Version ist 1.3.3, die aktuelle Beta 1.4b2 ist allerdings stabil und bietet einige Vorteile, wie Custom Folder Icons und die automatische Verwendung des Unix User Home Directories als individuelles AppleShare Volume (siehe Abb. 2).
Mit dem asun Patch (komplette Netatalk-asun Distribution auf meinem Webserver) wird Netatalk zum AppleShare IP Server.
Linux Verzeichnisse

Abb. 2 Linux Verzeichnisse (inkl. dem User Home Directory) mit Custom Icons auf einem Macintosh unter Mac OS 8.x

2.2) Macintosh


Prinzipiell können Macintosh Computer bis zurück zu Systemsoftware 6.0.x auf Linux AppleShare Server zugreifen. Da allerdings erst ab System 7.5 Volumes von über 2 GB unterstützt werden, empfiehlt es sich bei den heute üblichen großen Serverplatten die Macintosh Systemsoftware bei den Clients zu aktualisieren. Auch mit dem neuen Mac OS 8.x gibt es keine Probleme.

Selbstverständlich können Macintosh Computer auch über TCP/IP auf sämtliche Unix Dienste (Telnet, WWW, ...) der Linux Maschine zugreifen.
Sie können sowohl MacTCP als auch OpenTransport TCP/IP verwenden, die letzte Systemsoftware, welche noch MacTCP unterstützt, ist Mac OS 7.5.5. Alle neueren Macintosh Computer mit PCI Motherboards sowie PowerBooks benötigen OpenTransport. Für AppleShare IP braucht man den AppleShare Client ab Version 3.8 und OpenTransport.


Konfiguration

Die Installation und Konfiguration von Netatalk und HFS ist sehr einfach und kann vom Linux Administrator in kurzer Zeit durchgeführt werden, auch HylaFAX stellt keine wissenschaftlichen Anforderungen an den Administrator ist aber etwas langwieriger. Es soll an dieser Stelle keine Installationsanleitung gegeben werden, hierfür konsultieren Sie bitte das Linux Netatalk-HOWTO sowie die beiden Printing HOWTOs (AppleTalk und Ghostscript) und die HylaFAX Homepage, siehe Literatur.
  1. Linux Kernel
    Bei der Konfiguration des Linux Kernels muß AppleTalk Unterstützung aktiviert werden (Configure AppleTalk DDP support - yes). Man kann AppleTalk auch als Modul laden.

  2. Netatalk
    Netatalk wird als Sourcecode entpackt und wie gewohnt mit »make« und »make install« nach /usr/local/atalk installiert.

  3. Network Services
    In der /etc/services Datei unter Linux müssen folgende Zeilen für die AppleTalk Services angefügt werden.

    #
    # AppleTalk
    #
    rtmp 1/ddp # Routing Table Maintenance Protocol
    nbp 2/ddp # Name Binding Protocol
    echo 4/ddp # AppleTalk Echo Protocol
    zip 6/ddp # Zone Information Protocol

  4. atalkd
    Der AppleTalk Daemon wird mit dem File /usr/local/atalk/etc/atalkd.conf konfiguriert, in dem lediglich die Zeile

    eth0

    steht (der Ethernet-Anschluß an dem sich das Macintosh Netzwerk befindet). Nach dem ersten Start sucht sich atalkd die restlichen Informationen.
    atalkd.conf kann auch für Router (Zonen, in der Apple Terminologie) konfiguriert werden, Details entnehmen Sie bitte dem Linux Netatalk-HOWTO.

  5. AppleShare Volumes
    Die von Linux zur Verfügung gestellten Verzeichnisse und deren Namen für die Macintosh User werden in /usr/local/atalk/etc/AppleVolumes.default festgelegt, z.B.:

    ~
    /home/ftp/pub Linux_Public_FTP
    /2nd_HD/MAC Linux_Server


    Das Unix Home Directory des jeweiligen Users erscheint zusätzlich zu diesen Verzeichnissen in der Macintosh Auswahl (siehe Eintrag »~« in der ersten Zeile). Benutzerrechte (Eigentümer, Gruppe, Rest) werden unter Unix wie üblich vergeben und gelten selbstverständlich auch für Macintosh Netzwerk-Clients.

  6. Starten der Dienste
    Mit der Datei /usr/local/atalk/etc/rc.atalk werden sämtliche AppleTalk Dienste gestartet, um sie beim Systemstart unter Linux automatisch zu starten, fügt man am besten diese Datei in rc.local ein.
    Die Macintosh Benutzer können sodann wie gewohnt mit der Auswahl auf die von Linux zur Verfügung gestellten Ressourcen zugreifen.

  7. Drucker
    Es können sowohl netzwerkfähige Apple LaserWriter (auf denen dann natürlich auch die Linux Maschine drucken kann), als auch direkt am Linux Computer angeschlossene Drucker für die Macintosh User gespoolt werden.
    Die LaserWriter können dabei auch mit individuellen *.ppd (Postscript Printer Description) Dateien versehen werden und werden von Linux auch nicht exklusiv übernommen (»gefangen genommen«, siehe Abb. 3). Genaueres zur Druckerinstallation entnehmen Sie bitte den beiden Printing HOWTOs (AppleTalk und Ghostscript).
    Druckerauswahl

    Abb. 3: Die Drucker Auswahl auf einem Macintosh unter Mac OS 8. Der über Ethernet angeschlossene Apple LaserWriter erscheint sowohl mit seinem eigentlichen Namen als auch mit dem Namen des Linux Spoolers. Am Symbol kann man sehen, daß der Druckertreiber des Macintosh Betriebssystems die Linux Maschine als Spooler erkennt.

  8. HFS liegt gegenwärtig in der Version 0.95 vor, wird als Source entpackt und mit »make« compiliert. Das fertige Modul wird in /lib/modules/<kernelversion>/fs/hfs.o installiert und mit /sbin/modprobe hfs geladen. Das Modul muß nach einem Kernelupdate neu compiliert werden. HFS+ wird nicht unterstütz.
    Beim Linux Kernel 2.2 wird HFS voraussichtlich bereits im Kernel integriert sein, das HFS Modul wurde auch schon längere Zeit nicht mehr weiterentwickelt.

  9. HylaFAX in der Version 4.0 patch-level 2 gibt es auf dem FTP Server von SGI. Es befinden sich auf der HylaFAX Homepage auch eine umfangreiche Anleitung und FAQ-o-matic.

Vor- / Nachteile, Einschänkungen

1) Linux vs. Apple Server

Linux ist wesentlich stabiler als jeder Macintosh Computer. Auch die Performance (Geschwindigkeit) ist bei vergleichbarer Hardware in der Regel höher.
Mit Linux steht ein modernes, vollwertiges Unix Betriebssystem für weitere Netzwerkdienste zur Verfügung. So kann auf einer Maschine nicht nur AppleShare gefahren werden, sondern es können auch Windows Computer bedient werden, sowie sämtliche TCP/IP Services aus der Unix Welt zum Einsatz kommen. Mit dem neuen AppleShare IP 6.0 von Apple sind zwar ebenfalls eine Reihe von Internet Servicen enthalten, allerdings sind diese eben auch nur so stabil wie das Betriebssystem.
Einen Faxserver beinhaltet auch AppleShare IP 6.0 nicht.

Sämtliche angesprochene Software für Linux ist kostenlos. Des weiteren stellt Linux relativ geringe Hardwareanforderungen, d.h. es kann ein vergleichsweise günstiger Hochleistungsserver aufgebaut werden.

Die Fernwartung einer Unix Maschine (über Telnet) ist ein weiterer grosser Vorteil. Apple Macintosh Server können zwar über die kostenpflichtige Software Netopia Timbuktu (früher Farallon) ebenfalls ferngewartet werden, allerdings ist das grafische Benutzerinterface langsam und abgestürzte Macintosh Server (was leider gelegentlich vorkommt) können nicht mehr angesprochen werden und müssen vor Ort durch einen Hardreset neugestartet werden.

Zu Bedenken ist allerdings, daß Macintosh Datei- und Verzeichnisnamen nur 31 Zeichen lang sein dürfen und der Doppelpunkt nicht verwendet werden darf. Wenn man am Macintosh Sonderzeichen für Dateinnamen verwendet, werden diese unter Unix in Ihren ASCII Code übersetzt (beispielsweise wird »/« zu »:2f«).
Wenn unter Linux für den Macintosh unverständlich lange Namen oder ein »:« verwendet wird, führt das auf dem Macintosh zu Zugriffsproblemen auf diese Dateien oder Verzeichnisse.

Außerdem ist Netatalk nicht immer zum Austausch von Binärdaten zwischen Macintosh und Linux geeignet, solche Files müssen eventuell mittels FTP übertragen werden.

Die grafische Benutzeroberfläche eines Apple Macintosh Server erleichtert die Administration deutlich.

2) Linux vs. Windows NT

Linux ist schneller und stabiler als Windows NT. Weiters garantiert die weltweite, offene Verbreitung von Linux eine schnelle Behebung von eventuellen Software- (z.B. »Ping of Death«, »Dancing Icons«) oder Hardwarefehlern (z.B. Pentium-Bug). Bei einem proprietären System wie Windows NT ist man in der Regel immer auf den Hersteller angewiesen.

Linux stellt wesentlich geringere Leistungsanforderungen an die Hardware als Windows NT, leistungsfähige Server können somit günstiger realisiert werden.
Die Performance des Linux AppleShare IP Servers ist um etwa 100% besser als die eines Windows NT Servers, dessen SFM (Services for Macintosh) nachwievor nur herkömmliches AppleShare anbieten. Ich habe Benchmarks sowohl mit Verzeichnissen mit vielen kleinen Dateien, als auch mit einzelnen großen Files gemacht. Die Linux Maschine ist immer ca. doppelt so schnell.

Da Linux ein vollwertiges Unix Betriebssystem ist, können sämtliche Unix Anwendungen ohne Einschränkungen genutzt werden.

Linux, Netatalk, Samba, HylaFAX,... sind kostenlos - egal wieviele Clients man einsetzt! Vergleichen Sie hierzu die Lizenzkosten bei einer Windows NT Installation mit MS Exchange- und Faxserver.

Der Support für Linux wird von vielen Firmen weltweit meist weit günstiger angeboten als jener für Windows NT.

Die Fernwartung einer Linux Maschine mittels Telnet ist schnell und einfach.

Die Möglichkeit Macintosh HFS Volumes unter Linux zu mounten und zu sharen ist auf nicht-MacOS-Maschinen einzigartig. Ein Einsatzgebiet wäre beispielsweise eine Bilddatenbank in einer Agentur.

Linux verfügt allerdings nicht über eine so elegante grafische Oberfläche wie Windows NT und sämtliche Windows Programme können (wenn überhaupt) nur über Softwareemulation verwendet werden, was aber für einen Servereinsatz unerheblich ist. Eine Textfile-basierende Konfiguration hat gegenüber einer proprietären (Registry!!!) Point-and-click Konfiguration durchaus auch ihre Vorteile.

3) Allgemeine Einschränkungen

ARA (AppleTalk Remote Access) Einwahl via Modem ist nur mit Apple-eigenen Fileservern möglich.

Ein generelles Problem von Nicht-Apple-Fileservern ist, daß auf dem Client die Gesamtkapazität eines Volumes über 2 GB nicht richtig angezeigt wird.

Fehlermeldungen eines gespoolten Druckers dringen nicht immer bis zum Client vor.

Die HylaFAX Clients (vor allem der Windows Client) sind im Vergleich zu teuren Lösungen etwas brustschwach, allerdings ist der Funktionsumfang und die Administration der Serversoftware hervorragend.

Literatur und Webseiten:

netatalk - the AppleTalk Protocol Suite for Unix (http://www.umich.edu/~rsug/netatalk/):
Die WWW Homepage von netatalk, hier gibt es Links zum Sourcecode, FAQs und andere interessante Quellen.

Linux Netatalk-HOWTO (http://thehamptons.com/anders/netatalk/):
Eine Umfangreiche Installations- und Konfigurationsanleitung für AppleShare Fileserver Dienste.

AppleTalk printing HOWTO (http://www.giub.unibe.ch/~eugster/appleprint.html):
Installation und Konfiguration eines AppleTalk Druckers an einer Unix Maschine mit Unix als Printer Spooler für das Macintosh Netzwerk.

Ghostscript/Netatalk HOWTO (http://artoo.hitchcock.org/~flowerpt/projects/linux-netatalk/ghostscript.html):
Installation und Konfiguration eines parallel (oder seriell) angeschlossenen Druckers an einer Linux Maschine mit Linux als Printer Spooler für das Macintosh Netzwerk.

The HFS for Linux Page (http://www-sccm.stanford.edu/~hargrove/HFS/):
HFS (Hierarchical File System) ist das Apple Macintosh native Filesystem. Mit HFS for Linux hat die Linux Maschine Schreib- und Leserechte auf Macintosh Medien.

HylaFAX Home Page (http://www.vix.com/hylafax/):
HylaFAX ist ein freier Unix Faxserver und -client von SGI.

Unix Macintosh und Windows Services
(http://www.eats.com/linux_mac_win.html):
Hier gibt es auch Clients für HylaFAX.

Downloads und Links ebenfalls auf meinem Webserver
http://www.bmpsystems.com

Linux NET-2/3-HOWTO by Terry Dawson, terry@perf.no.itg.telecom.com.au
Allgemeine Information zu Netzwerkprotokollen unter Linux. Ist in jeder Linux Distribution enthalten.

Linux Ethernet-HOWTO by Paul Gortmaker
Allgemeine Information zu Linux und Ethernet. Ist in jeder Linux Distribution enthalten.

Linux Network Administrator's Guide by Olaf Kirch, O'Reilly & Associates, Inc. March 1995
Universelles (allerdings leider mittlerweile etwas veraltetes) Werk zu allen Linux Netzwerkthemen, auch in deutscher Sprache erhältlich.


--
© 1998 - bmp System Support
Bernard M. Piller - bernard@bmpsystems.com - http://www.bmpsystems.com