Linux Netatalk-HOWTO: Tips
by Anders Brownworth
March 13, 2000
Quick Start

Linux Netatalk-HOWTO

The following are a few tips people have forwarded to me. If you run into a problem and solve it, please feel free to drop me a note at [] and I will post it for the edification of all.

  • If you can't log in as anyone but guest, you probably have a shadow password system and you need to add -DSHADOWPW to your etc/afpd/Makefile and recompile netatalk.

  • If you are having problems getting atalkd to start up, try rebooting your system. For some reason atalkd will only fire up once per cycle of atalk in the kernel. Alternativly, if you have atalk compiled into your kernel as a module, you could just unload it and re-load it.

  • Bob Badaracco patched pap to make it run faster. He made printer status requests happen asyncronously so they don't hold up the download process. Bob's patches (papfix.tar.gz) are available in the software archive.

  • If you have multiple network adapters (2 or more ethernet cards), then you MUST modify your atalkd.conf file to get netatalk to work. If you only want to support Appletalk phase 2 traffic on one network adapter, you have to add one line containing only the name of the preferred network adapter (ie: eth1) to atalkd.conf.

  • Michael Dexter writes:

    OS: RedHat 5.2
    RPM: netatalk-1.4b2+asun2.1.2-1.i386.rpm from RedHat Contrib directory

    It installed fine but lacked documentation. No kernel rebuilds or the like.

    To share a drive, I added the following to etc/atalk/AppleVolumes.default

    ~ Home
    /usr/pub "Linux Share"

    Thus making /usr/pub available under the Chooser as "Linux Share" under the hostname.

    To print, I added the following to papd.conf


    The printer is attached as a Generic PostScript device and shows up as "6MP"

  • Adam writes:

    I had problems with client machines crashing whenever I started copying a file to and/or from my netatalk server. I discovered that Virex 5.9 was the cause of this. I downloaded the 5.9.1 update and this fixed the problem. ;)

  • Todd Miller and Appleshare IP on RedHat Hurricane:

    I had problems connecting to a Redhat Linux 5.1 box using Netatalk 1.4b2-asun2.1.0-5.i386.rpm. Every time I went to connect, I would get a message that the server dropped the connection after entering the password.

    I fixed this by installing netatalk-1.4b2+asun2.0a18.2-phh4.i386.rpm that I found in the hurricane/group/networking directory.

  • Tony Nugent comments on the Intel Netatalk RPM for Redhat 5.0:

    There's a big problem with the netatalk i386.rpm from the original release - it doesn't work.

    There's an updated/patched rpm in the contribution/update directory at the RedHat ftp site that seems to work just fine:

    We used the first (non-"devel") package - no idea what the differences are. There is a source rpm, but we didn't bother to persue it:

    It is NOT mentioned in the RedHat 5.0 errata file:

  • Jonathan Benson supplies these notes on printing with RedHat 5.0.

    For multiple printers I had to create individual null devices.

    Using the 'printtool' that comes with RedHat 5.0 create a local printer of the appropriate type (generally postscript), and be sure to point the printer device to a 'null' file in the printers spool directory (eg. /var/spool/lpd/myprinter/null).

    Once that's done go to it's spool directory and do the following:

    • Create a .paprc file for the printer

    • Modify the 'general.cfg' file to say: (changes are bolded)

      # General config options for printing on this queue
      # Generated by PRINTTOOL, do not modify.
      export DESIRED_TO=ps
      export PAPERSIZE=a4
      export ASCII_TO_PS=YES

    • Modify the 'filter' file to read:

      #   any post-filter to run (like smbclient?)
          if [ "$PRINTER_TYPE" = "SMB" ]; then
             bestpath="$bestpath | ${FPIDIR}/smbprint ${SPOOLDIR}/acct"
          if [ "$PRINTER_TYPE" = "ATALK" ]; then
             cd ${SPOOLDIR}
             bestpath="$bestpath | /usr/local/etc/filters/ofpap"
          if [ "$DEBUG_FILTER" != "" ]; then
            echo "Best path of depth $bestdepth is $bestpath" >> /var/tmp/filter.debug
    • Create a null device using:

      mknod null c 1 3
      chmod 666 null

    And there you have a printer that works via Appletalk and prints any type of file that the magic filters support! :)

  • If you get socket: Invalid argument when trying to start atalkd, it probably means that your kernel lacks appletalk support. Reboot with one that does.

  • If you seem to be unable to get anything but the home directories to show up in the volumes list, and you are sure your AppleVolumes.* files are written correctly, you should make sure that they exist where your Makefile says they do, or re-compile with the Makefile pointing to where they are. (line 14 in the Makefile in the root of the source)

  • If the changes you make in your AppleVolumes.* files don't appear to have any effect, or the rc.atalk script fails on "nbprgstr", you probably need to check your paths in the Netatalk source Makefile and recompile. If you have to recompile, make sure you move the old executables in /usr/local/atalk/etc and /usr/local/atalk/bin to a backup directory before you run a make install or the binaries will not be installed properly.

  • Origional document: []