Linux Netatalk-HOWTO: Suggestions
by Anders Brownworth
Version 2.1.1
January 29, 2002
Quick Start

Linux Netatalk-HOWTO

The following are a few suggestions about hardware and software to use for an Intel - Linux - Netatalk setup. Note: These are suggestions only. Just about any hardware and software configuration can be made to run netatalk. This document assumes you are running Intel Linux. (Linux for other platforms does exist, such as MkLinux for the PowerPC, SparcLinux for the Sun Sparc etc. etc.)

  • Personally I like to stick to a nice name-brand machine such as a Dell or a Gateway. Support for one of my Gateway machines has been great, and my Dells just don't break. (this is not to say that Gateways are bad, just the one I had!)

  • Don't waste your money on a power-house machine if you don't need one. Generally Pentiums are nice and snappy. A 266Mhz pentium will compile a current kernel in about 4 minutes and a 500Mhz PIII comes in under 2 minutes. Seeing as this is probably the most CPU intensive thing most people do with their Linux box, I say you're very good with a 400Mhz machine generally.

  • You'll get more speed out of a server spending less on the CPU and more on I/O and RAM. You want to get your hands on the fastest hard disk you can as this is always the slowest link in the chain. There is no point in going whole hog on a quad 800Mhz Xeon and then having an IDE hard drive to wait for. SCSI disks generally sustain faster throughput, so spend your money here. RAIDs are great for read speed and ther is a fairly impressive Linux software RAID in the kernel.

  • The other I/O consideration would be a good network card. I have had nothing but good luck with 3Com cards. There are other cards out there which are also suitable, but I like the 3Com products so much that I run a purly 3Com shop. If you have a 100Mbit network, go with a 100Mbit card. If you are on a switch, so much the better! (and set your card to full duplex!)

  • RAM is a very important consideration. Usually boxes out there are greatly understaffed in the RAM department. Each connection you wish to make to your netatalk machine requires RAM. For file services, you will need atalkd (about 316K) and afpd (about 336K) running. Each connection you make will require an additional afpd process (about 584K) so for every two seats, you will need over 1 meg of RAM for Appletalk alone. Get more RAM than you think you need because growing room is always good. RAM is cheap.

    Here's a typical process list from a server with 1 Mac client attached and several usefull services:

     #   name        RAM   discription
     2 - afpd        936K  Appletalk Filing Protocol daemon.
     3 - agetty      760K
     1 - smbd        440K  (Samba, file and print services for Windows)
     1 - nmbd        368K  (another Samba daemon)
     1 - rpc.nfsd    324K
     1 - papd        320K  AppleTalk printing daemon.
     1 - atalkd      316K  The AppleTalk daemon.
     1 - rpc.mountd  296K
     1 - init        292K
     1 - crond       288K
     1 - inetd       272K
     1 - lpd         268K
     1 - klogd       264K
     1 - rpc.portmap 248K
     1 - update      196K
  • Obviously we want to run Linux. The choice lies in the distribution to run. I have run RedHat, Slackware, and Debian Linux and favor Debian over all for several reasons which I will not go into. All of these packages are very solid and run netatalk very nicely.

  • There are several versions of Netatalk floating around these pages. The older package is Netatalk-1.4b2 which only supports classic Appletalk only is probably not somthing you want to fool with. The latest code is called netatalk+asun which among many other enhancements includes AppleshareIP or Appletalk over TCP/IP support. You probably want to use this code.

  • Kernel version is also an important consideration. For my production machines, I stick with a 2.2.* kernel. Kernels prior to 2.0.25 can be taken down with the "ping of death" attack. It's a bug that has existed in almost every operating system out there. Newer betas will most likely take advantage of newer kernel features only available in say the 2.3.* and up kernels, so if you plan on running a test server, you should look at newer kernels. The 2.2.* kernels are considered production while the 2.3.* kernels are considered testing kernels.

Origional document: []