• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

Leopard as an AFP file server

We (bf and I) have decided to have a go at writing some software for System 7.5 and OS 9. We've now found ourselves with several Macs running various versions of the classic Mac OS on our network.

We have an Ubuntu server running Netatalk, and connecting via AppleShare over TCP/IP is working flawlessly. However, since the server is using ext3 on its hard drives, we're running into problems with resource fork information being lost when copying files from Mac to server and then to another Mac. For the time being we're getting around this by encoding stuff with StuffIt Pro.

However, if I can use a Mac as a file server, that might be easier all around. I have a PowerMac G4 Digital Audio that runs Leopard very well. I know that I can put OS 9 on it, but I'd really like to keep OS X running on it. I know that some AFP stuff changed in more recent versions of OS X. With that in mind, what problems (if any) should I expect in trying to set up that machine as a file server for our Classic Mac OS clients? Do I need to format one of the drives in a particular way in order to preserve OS 9's resource fork data, or will the standard journaled HFS+ format work without issue?

 
Mac OS X can be compatible with Classic OS files (such as type/creater, icon, resource fork, etc) to a certain degree.

But a system set aside to boot and serve OS 9 would be a better idea. It just ... works better.

Given that you wish to use Leopard, you can. 10.5 will not network to anything under 9.2. There is no need to reformat anything. The operating system itself manages Classic OS file data: journaled HFS+ is perfectly fine and has no bearing on the management of the file data.

 
Wait...does 10.5 not support AppleShare over TCP/IP?

If that's the case, is there a way to run something within Classic? Does the HFS/HFS+ support available for Debian-based Linux (e.g. Ubuntu) handle things reliably enough to just use that?

 
Use the X.5 machine as an FTP server, and run fetch on the classic machines you wish to send/receive from.

 
It does. All AppleShare past OS 9 (i.e. OS X) is AFP over TCP/IP. Jaguar and Panther have support for AFP over AppleTalk (I don't cover 10.0 or 10.1 in the Guide). AFP over AppleTalk is not supported over serial ports in OS X.

The AFP protocol in 10.5 is not supported by any OS version under Mac OS 9.2. It's still AFP over TCP/IP -- the earliest Mac OS to use AFP over TCP/IP is 7.5.3 (I like to use 7.5.5) with OT 1.3 and AppleShare Client 3.7.4. Though a "true" AFP over TCP/IP could likely be afforded with purchase of Shareway IP (used to be $50, is now $35 apparently). Mac OS 8.6 can get AFP over TCP/IP via the installation of AppleShare IP 5.0, but Mac OS 9 used a limited licensed version of Shareway IP.

See the link in my signature for more details, especially "The Chart".

Mac OS X does not have support for LocalTalk, FWIW. If you are going to be doing dev work for Classic OS hardware it's best to use a Classic OS server -- especially since 9.2 can go all the way up to 10.6.

RE: prior post -- FTP does work pretty well but then you have to do numerous binhexing procedures...unless that is handled automatically via the ftp client. And FTP server software can be run...on just about anything that'll run it...so running 10.5 for "just an FTP server" is interesting to say the least...

 
I've yet to setup my own netatalk server, but it seems like netatalk would have some way to preserve the resource fork/metadata?

http://netatalk.sourceforge.net/3.0/htmldocs/upgrade.html#idp5680832

http://forums.freebsd.org/showthread.php?t=29258 (See post #2.)

Just found this guide for installing netatalk on Ubuntu. Section 2 mentions a daemon called "cnid_metad" which is suppose to handle the metadata. (Knowing what version of netatalk you're running might also help.)

Again, I'm no expert with netatalk. But if you want to try and get it working, I'll try to help. ;)

Edit: Here's another article mentioning cnid_metad. Might come in handy.

 
The two machines I'm using with Classic OS right now are:

Pismo PowerBook, OS 9.2.2

SE/30, System 7.5.5 with OT 1.1.2 and AppleShare 3.7.4

I have a file share set up on an iMac running 10.5, and AFP is turned on for that share. Neither Classic client can see it in the Chooser (turned on AppleTalk on the Airport card on the Mac, BTW), nor can either client connect via AppleShare over IP.

Netatalk is working, per my original post. The current problem is that the server is using ext3, and only HFS and HFS+ volumes can preserve the resource fork of files copied from an HFS/+ volume.

So, the way I see it, I have a few options:

  • Run an older version of OS X with AppleShare support - what version would be best?
  • Run an OS 9 file server - can I do this with Classic in OS X? What about something like Basilisk?
  • Create an HFS+ partition on the Ubuntu server and map to that via Netatalk - how reliable is HFS+ support in Linux?

I think the third option is what I'd like to do if I can't use Leopard. I have a PowerMac G4 that can run OS 9, but I'd really like to stick with Leopard on it if I can. Does anyone have experience with HFS+ support in Linux?

 
What I was trying to say, Netatalk is suppose to be able to handle the metadata, regardless whether you're using HFS/+ or not on the Ubuntu server.

http://forums.freebsd.org/showpost.php?p=163559&postcount=2

... for the file server it is not exactly necessary to have the same file system as the clients. It has to store the files correctly, though (incl. resource forks and other metadata).... This is a full fledged AFP server that can do everything that a modern Mac OS X AFP server can do... Netatalk transparently deals with resource forks...
If Netatalk isn't preserving the metadata, it may be possible that something was mis-configured. Doing a HFS+ partition would probably work too, last time I messed with HFS+ in Linux it worked fine as long as it wasn't Journaled. (I think it could only read from HFS+ Journaled partitions.) But this was back in Linux 2.6 with Slackintosh 12.1. The Linux 3.x kernel probably has better support now. (Speaking of which, I recall mounting my OSX partition with the Lubuntu 12.04 Live CD on my PBG4 with no problems.)

 
What I was trying to say, Netatalk is suppose to be able to handle the metadata, regardless whether you're using HFS/+ or not on the Ubuntu server.
That is correct. I ran netatalk on a Debian box with no issues. I served files to my Quadra and Beige G3 without incident.

 
I have a file share set up on an iMac running 10.5, and AFP is turned on for that share. Neither Classic client can see it in the Chooser (turned on AppleTalk on the Airport card on the Mac, BTW), nor can either client connect via AppleShare over IP.
AppleTalk must be turned on via the method they are connecting with -- like Ethernet -- and AppleTalk can only be active on one service at a time.

10.5 will network to 9.2 via Ethernet. It's either not set up correctly in hardware or software, or both. See the Guide.

So, the way I see it, I have a few options:

  • Run an older version of OS X with AppleShare support - what version would be best?
  • Run an OS 9 file server - can I do this with Classic in OS X? What about something like Basilisk?
  • Create an HFS+ partition on the Ubuntu server and map to that via Netatalk - how reliable is HFS+ support in Linux?

I think the third option is what I'd like to do if I can't use Leopard. I have a PowerMac G4 that can run OS 9, but I'd really like to stick with Leopard on it if I can. Does anyone have experience with HFS+ support in Linux?
Is there any particular reason you'd like to stick to Linux?

As for the "older version of OS X" for compatibility -- see the Guide, with The Chart. For running an AFP file server under Classic under OS X, couldn't tell you. Interesting question though, but I don't have any machines that run Classic so I couldn't tell you...Well, right I don't. 10.4 was the last to support Classic so you could try connecting to something old like a System 7.0.1 Mac with MacTCP -- which would be incompatible with "raw" 10.4 Tiger.

 
It would still be incompatible even under Classic, because Classic routes through the kernel's networking for shared drives, not through its own. The last version of OS X that fully supported EtherTalk-based AFP (AFP 1.x/2.x) was 10.2. On that version, you could use the Chooser in Classic to mount a classic AppleTalk server, and OS X would use it. That doesn't work with 10.4 at all, and 10.3 only supports AFP 2.2, which doesn't work with many servers.

 
^ good info. Know where you got that from? I'd love to read up more to add more info like that to the Guide.

By AFP 2.2 do you mean like AppleShare WS 2.0, or something like that? WS 3.5 works great with System 6...

 
I'm sure it's in Apple technical docs somewhere, but this is just from personal experience. 10.2 is the last version that works with any AppleTalk server you throw at it.

AFP 2.2 is the version of the protocol, not the version of the server software. 3.0 was introduced with 10.0. I forget where 2.x was brought in.

 
Really, the main justification for sticking with Linux (if possible) is that we already have a Linux file server running. I also have a Server 2008 R2 file server, but I think getting that working would be a much bigger hassle than Linux. I don't have a machine I can use for a straight up Classic OS AppleShare server. I have my SE/30, although right now it has very little disk space. I have a 300GB SCSI drive, but it uses a different connector and I need to figure out how to hook it up.

Even if I got that up and running, the SE/30 only has a 10mbit connection, and I'd like to have something a little faster for file serving. I do have my PowerMac, but as I've mentioned I'd like to keep that running OS X if possible.

Do Basilisk and/or SheepShaver have good networking support with OS X as the host OS? I could set up a VM and use AppleShare there...

 
It take a little work, but I've used SheepShaver on my PBG4 and got AppleTalk working well within Mac OS X Tiger. (Guide works for Leopard/Lion too, I think I used IPNetShareX instead of IPNetRouterX.)

If you can share Netatalk's current settings, maybe we can figure out why metadata isn't being preserved. ;)

 
I agree with using either Mac OS X 10.2.8 Server or Client FileSharing via AppleTalk and AppleTalk over IP is the best for setup for what you want. If your Mac can run Jaguar.

This allows my Classic II and Mac SE Mac OS 7.1 clients to connect to a large archive Jaguar Server has on it's vast HDD, via phone net.
Jag server just appears in the chooser on these Macs.
Jaguar can connect all the way up to Yosemite and Yosemite on down can connect to Jaguar.
 
Back
Top