Quick Tip: Netatalk 3.0.1 on Joyent SmartOS1 min read

I had to fiddle around with this a bit and thought it might be useful to others. I’m using a Joyent SmartOS zone as a file server for my Macs at home, and Netatalk is really the best way to share files to a Mac from a UNIX system.

Real quick, here’s how it was done:

  • download netatalk source, untar the source, cd into the source directory
  • ./configure --with-bdb=/opt/local --with-init-style=solaris --without-pam --prefix=/opt/local
  • vim distrib/initscripts/Makefile
  • find the line that begins with “servicedir” and change it to:
  • servicedir = /var/svc/manifest/network/
  • save & exit the makefile
  • make && sudo make install
  • vim /opt/local/etc/afp.conf and add your shares
  • sudo svcadm enable netatalk
  • verify that it’s running with: svcs netatalk

Special thanks to rmustacc in Freenode/#illumos for helping me get the SMF manifest installing to the correct path. I hope some of you find this helpful.


11 thoughts on “Quick Tip: Netatalk 3.0.1 on Joyent SmartOS1 min read

  1. Probably worth noting that in order to get the DHX2 UAM, you’ll need at least the “libgcrypt” and “openssl” pkgsrc packages installed, and the additional configure arguments:

    “–with-ssl-dir=/opt/local –with-libgcrypt”

    Without this you’ll likely have trouble with recent OS X clients.

    1. Joshua, thanks for the tips. I’ve incorporated this into the original post. My dataset already had both packages but I wasn’t using the minimalist SmartOS dataset. I haven’t had any problems with my Lion client but I know this can vary from version to version of OS X.

    2. OK I had to back the changes out. When I actually tried it, it wouldn’t compile.

      CC afppasswd.o
      CCLD afppasswd
      ld: fatal: library -lcrypto: not found
      ld: fatal: file processing errors. No output written to .libs/afppasswd
      collect2: error: ld returned 1 exit status

      1. libcrypto doesn’t get linked properly because the -L path points to /opt/local/lib/64 which dowsn exist. You can either fix the Makefile(s) of create a symlink.

Comments are closed.