1#! /bin/sh 2# 3# Start/stop the Netatalk daemons. 4# 5# Netatalk daemons. 6# If you use AppleTalk, Make sure not to start atalkd in the background: 7# its data structures must have time to stablize before running the 8# other processes. 9# 10 11# 12# kill the named process(es) 13# 14killproc() { 15 pid=`/usr/bin/ps -e | 16 /usr/bin/grep $1 | 17 /usr/bin/sed -e 's/^ *//' -e 's/ .*//'` 18 [ "$pid" != "" ] && kill $pid 19} 20 21# default 22ATALK_NAME=`hostname|cut -d. -f1` 23ATALK_UNIX_CHARSET='LOCALE' 24ATALK_MAC_CHARSET='MAC_ROMAN' 25 26CNID_METAD_RUN=yes 27AFPD_RUN=yes 28AFPD_MAX_CLIENTS=20 29AFPD_UAMLIST="-U uams_dhx.so,uams_dhx2.so" 30AFPD_GUEST=nobody 31CNID_CONFIG="-l log_note" 32 33ATALKD_RUN=no 34PAPD_RUN=no 35TIMELORD_RUN=no 36#A2BOOT_RUN=no 37ATALK_ZONE= 38ATALK_BGROUND=no 39 40# old netatalk.conf expected hostname in $HOSTNAME by default 41HOSTNAME=`hostname` 42 43. :ETCDIR:/netatalk.conf 44 45 46# 47# Start the netatalk server processes. 48# 49 50atalk_startup() { 51 echo 'starting netatalk daemons: \c' 52 if [ x"${ATALKD_RUN}" != x"no" ]; then 53 if [ -x :SBINDIR:/atalkd ]; then 54 :SBINDIR:/atalkd; echo ' atalkd\c' 55 fi 56 57 if [ -x :BINDIR:/nbprgstr ]; then 58 :BINDIR:/nbprgstr -p 4 "${ATALK_NAME}:Workstation${ATALK_ZONE}"; 59 :BINDIR:/nbprgstr -p 4 "${ATALK_NAME}:netatalk${ATALK_ZONE}"; 60 echo ' nbprgstr\c' 61 fi 62 63 if [ x"${PAPD_RUN}" = x"yes" -a -x :SBINDIR:/papd ]; then 64 :SBINDIR:/papd; echo ' papd\c' 65 fi 66 67 if [ x"${TIMELORD_RUN}" = x"yes" -a -x :SBINDIR:/timelord ]; then 68 :SBINDIR:/timelord; echo ' timelord\c' 69 fi 70 fi 71 72 if [ x"${CNID_METAD_RUN}" = x"yes" -a -x :SBINDIR:/cnid_metad ]; then 73 :SBINDIR:/cnid_metad $CNID_CONFIG 74 echo ' cnid_metad\c' 75 fi 76 77 if [ x"${AFPD_RUN}" = x"yes" -a -x :SBINDIR:/afpd ]; then 78 :SBINDIR:/afpd ${AFPD_UAMLIST} -g ${AFPD_GUEST} \ 79 -c ${AFPD_MAX_CLIENTS} -n "${ATALK_NAME}${ATALK_ZONE}"; echo ' afpd\c' 80 fi 81 82 echo '.' 83} 84 85 86case "$1" in 87 88'start') 89 if [ x"${ATALK_BGROUND}" = x"yes" -a x"${ATALKD_RUN}" != x"no" ]; then 90 echo "Starting netatalk in the background ... " 91 atalk_startup > /dev/null & 92 else 93 atalk_startup 94 fi 95 ;; 96 97# 98# Stop the netatalk server processes. 99# 100'stop') 101 102 echo 'stopping netatalk daemons:\c' 103 104 if [ -x :SBINDIR:/papd ]; then 105 killproc papd; echo ' papd\c' 106 fi 107 108 if [ -x :SBINDIR:/afpd ]; then 109 killproc afpd; echo ' afpd\c' 110 fi 111 112 if [ -x :SBINDIR:/cnid_metad ]; then 113 killproc cnid_met; echo ' cnid_metad\c' 114 fi 115 116 if [ -x :SBINDIR:/timelord ]; then 117 killproc timelord; echo ' timelord\c' 118 fi 119 120 # kill atalkd last, since without it the plumbing goes away. 121 if [ -x :SBINDIR:/atalkd ]; then 122 killproc atalkd; echo ' atalkd\c' 123 fi 124 125 echo '.' 126 ;; 127 128# 129# Usage statement. 130# 131 132*) 133 echo "usage: $0 {start|stop}" 134 exit 1 135 ;; 136esac 137