Using Linux to provide Macintosh services

Linux provides a low-cost means to provide a wealth of services to your network of Macintosh machines.

By Stew Benedict | Posted Oct 7, 2000
Page 1 of 3
Print ArticleEmail Article
  • Share on Facebook
  • Share on Twitter
  • Share on LinkedIn

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.

Why Linux?

There are several reasons to go with a Linux solution. For starters, Linux is free or nearly free. (You can download a distribution from the Web, or pick one up for a few bucks.) Second, it's open source, which means all the source code is available; so, should you want to, you can modify for your needs. Third, you can run Linux on old hardware that may not be up to snuff for your current projects, provided you don't run X. (X is the GUI, windowed environment for Linux, much like Microsoft's Windows or MacOS.) Finally, Linux is known for its stability. Uptimes for Linux servers are usually quite long, measured in months or more, aside from power failures or planned hardware upgrades.

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:

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.

Getting started

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 
connect:
AFPD_MAX_CLIENTS=5
# Change this to set the machine's atalk name:
ATALK_NAME=OmniBook
# Set which daemons to run:
PAPD_RUN=yes
AFPD_RUN=yes
# Control whether the daemons are started in the background
ATALK_BGROUND=yes

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.

Comment and Contribute
(Maximum characters: 1200). You have
characters left.
Get the Latest Scoop with Enterprise Networking Planet Newsletter