#!/bin/sh ### BEGIN INIT INFO # Provides: netatalk # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 1 ### END INIT INFO # # netatalk Netatalk 2.x initscript # Author: Thomas Kaiser set -e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="Netatalk" NAME=netatalk SCRIPTNAME=/etc/init.d/$NAME # Guard to prevent execution if netatalk was removed. test -x /usr/local/sbin/atalkd || exit 0 # Set defaults. Please change these options in /etc/default/netatalk AFPD_UAMLIST="-U uams_dhx2.so" AFPD_GUEST=nobody AFPD_MAX_CLIENTS=50 ATALK_ZONE= ATALK_NAME=`/bin/hostname --short` ATALK_BGROUND=no CNID_METAD_RUN=yes ATALK_MAC_CHARSET='MAC_ROMAN' ATALK_UNIX_CHARSET='LOCALE' # /etc/default/netatalk expects hostname in $HOSTNAME by default HOSTNAME=`/bin/hostname` # next netatalk 2.2 will not expect $HOSTNAME. # Read in netatalk configuration. if [ -f /etc/default/netatalk ]; then . /etc/default/netatalk fi # Start Netatalk servers. atalk_startup() { if [ x"$ATALKD_RUN" = x"yes" ]; then # Try to load the AppleTalk kernel module if it was intended. if grep -q '^appletalk$' /etc/modules; then /sbin/modprobe appletalk || echo "[could not load appletalk module]" fi # Start atalkd server. /usr/local/sbin/atalkd # register workstation /usr/local/bin/nbprgstr -p 4 "$ATALK_NAME:Workstation$ATALK_ZONE" /usr/local/bin/nbprgstr -p 4 "$ATALK_NAME:netatalk$ATALK_ZONE" echo -n " atalkd" fi # prepare startup of file services if [ "x$CNID_METAD_RUN" = "xyes" -a -x /usr/local/sbin/cnid_metad ] ; then echo -n " cnid_metad" /usr/local/sbin/cnid_metad $CNID_CONFIG fi if [ x"$AFPD_RUN" = x"yes" ]; then /usr/local/sbin/afpd $AFPD_UAMLIST -g $AFPD_GUEST -c $AFPD_MAX_CLIENTS \ -n "$ATALK_NAME$ATALK_ZONE" echo -n " afpd" fi if [ "x$ATALKD_RUN" = "xyes" ]; then if [ "x$PAPD_RUN" = "xyes" ]; then /usr/local/sbin/papd echo -n " papd" fi if [ x"$TIMELORD_RUN" = x"yes" ]; then /usr/local/sbin/timelord echo -n " timelord" fi if [ x"$A2BOOT_RUN" = x"yes" ]; then /usr/local/sbin/a2boot echo -n " a2boot" fi fi } case "$1" in start) if test "x$ATALK_BGROUND" = "xyes"; then echo "Starting Netatalk services in the background." atalk_startup >/dev/null & else echo -n "Starting Netatalk services (this will take a while): " atalk_startup echo "." fi ;; stop) echo -n "Stopping Netatalk Daemons:" echo -n " afpd" start-stop-daemon --stop --quiet --oknodo --exec /usr/local/sbin/afpd echo -n " cnid_metad" start-stop-daemon --stop --quiet --oknodo --exec /usr/local/sbin/cnid_metad echo -n " papd" start-stop-daemon --stop --quiet --oknodo --exec /usr/local/sbin/papd if test -x /usr/local/sbin/timelord; then echo -n " timelord" start-stop-daemon --stop --quiet --oknodo --exec /usr/local/sbin/timelord fi if test -x /usr/local/sbin/a2boot; then echo -n " a2boot" start-stop-daemon --stop --quiet --oknodo --exec /usr/local/sbin/a2boot fi echo -n " atalkd" start-stop-daemon --stop --quiet --oknodo --exec /usr/local/sbin/atalkd echo "." ;; restart) $0 force-reload ;; force-reload) echo -n "Restarting Netatalk Daemons (this will take a while)" $0 stop echo -n "." sleep 2 echo -n "." if $0 start; then echo "done." fi ;; *) echo "Usage: $0 {start|stop|restart|force-reload}" >&2 exit 1 ;; esac