Using Linux to provide Macintosh services
Linux provides a low-cost means to provide a wealth of services to your network of Macintosh machines.
Linux is a handy piece of glue to tie together a network of disparate machines/OSs. Much work has been done by Linux developers to ensure that Linux machines can coexist with NetWare, the other 'nixes, Windows, and MacOS. In this article, I will outline how to use a Linux box (either an old Intel box or an old Macintosh) to provide file/print/mail services for a network of Macintosh machines. This can even be a headless box with no monitor tucked away in a closet or under a desk and administered remotely.
Files and resources
File and print services for Macintoshes are provide by the netatalk package. You can download source code from ftp://ftp.cobaltnet.com/pub/users/asun/release/. If you like RPMs, an RPM for Red Hat-style systems (Red Hat, Mandrake, LinuxPPC, YellowDog Linux) can be downloaded from http://rpmfind.net/. They also have versions for Sparc and Alpha, as well as a SuSE version for ix86.
A number of netatalk RPMs exist, even at rpmfind.net. I know for sure the following ix86 RPM works. I'm hoping the PPC one also works, because it is the same version:
- ftp://rpmfind.net/linux/powertools/6.2/i386/i386/netatalk- 1.4b2+asun2.1.3-7.i386.rpm
- ftp://rpmfind.net/linux/linuxPPC/contrib/software/System_Envir onment/Daemons/netatalk-1.4b2+asun2.1.3-7.ppc.rpm
You can also find a netatalk guide at http://thehamptons.com/anders/netatalk. The referenced guide goes into detail about setting up netatalk. There is also an abbreviated guide for the impatient. Some steps in this guide seem unnecessary, so I've omitted them here.
Be careful about the various versions floating around the Web. Two or three that I downloaded did not work properly with shadow passwords, and I could only log in as the "guest" user. The ix86 RPM version mentioned above works fine.
In this article, I'm going to assume you've already gotten Linux up and running with networking and that you have downloaded the aforementioned RPM. I will highlight the configuration needed for a basic installation that provides a public, shared area and lets each user access their home directory on the server (Each user will need an account on the Linux server.) In addition, I will show you the configuration file for sharing two networked printers: a Nec Silentwriter 95 B&W postscript printer and an HP693C color inkjet. From these examples, you should be able to expand your services as needed by your organization.
At the Linux kernel level, you will also need to make sure you have Appletalk support either in your kernel or as a module. If it's a module, you can activate it with:
insmod appletalk (as root)
First there is a config file, /etc/atalk.config, which you can leave as is or edit to give your server a name. By default it gets the Linux server's network name, I edited it like this:
# Appletalk configuration
# Change this to increase the maximum number of clients that can
# Change this to set the machine's atalk name:
# Set which daemons to run:
# Control whether the daemons are started in the background
As you can see, you can also control the number of clients and which daemons are run. papd is for print services, whereas afpd is file services.
For file services, you need to edit AppleVolumes.default to describe the shares you are making available to the client machines. In addition, because of the way the Macintosh splits files into the data and a resource fork, you need to describe the relationship between extensions and files, so the Macintosh will correctly recognize the files. The included AppleVolumes.system has a number of extensions, described in the following sections.