PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba Startscript für SuSE 8.2



white-horse
21.09.03, 09:24
Hi,

ich habe Samba auf SuSE 8.2 installiert.

Habe nur kein Startscript für die /etc/init.d.

Gibts irgendwo eines zum Downloaden? Ich hätte es halt gerne SuSEkonform damit ich done und running usw. sehen kann.

Danke

Gruß

Stormbringer
21.09.03, 14:24
Hi,

hast Du es aus den sourcen installiert?
Dann wirst Du wohl ggf. ein paar Pfade anpassen müssen ...
Ansonsten heißt es nicht samba, sondern smb.
Hier das originale SuSE 8.2 /etc/init.d/smb Skript:


#! /bin/sh
# Copyright (c) 1999-2003 SuSE Linux AG, Nuernberg, Germany.
#
# Author: Lars Mueller <lmuelle@suse.de>
#
### BEGIN INIT INFO
# Provides: smb
# Required-Start: $network $remote_fs syslog
# X-UnitedLinux-Should-Start: cupsd winbind nmb
# Required-Stop:
# Default-Start: 3 5
# Default-Stop:
# Description: Samba SMB/CIFS file and print server
### END INIT INFO
#
# init.d/smb

DAEMON_DIR="/usr/lib/samba/"
SMBD_BIN="smbd"
SMB_CONF="/etc/samba/smb.conf"
SYSCONFIG_FILE="/etc/sysconfig/samba"
PID_FILE="/var/run/samba/smbd.pid"
SAM_STATE_FILE="/var/run/samba/samsmbd.state"

# Status shell functions
. /etc/rc.status
# Reset status of this service
rc_reset

# Check for existence of needed config files.
for configfile in ${SMB_CONF} ${SYSCONFIG_FILE}; do
if [ ! -f ${configfile} ]; then
echo -n "Samba configuration file ${configfile} does not exist."
# Tell the user this has skipped
rc_status -s
exit 6
fi
done

# Source Samba settings
. ${SYSCONFIG_FILE}

BIN_SUFFIX=$( echo ${SAMBA_SAM} | tr '[:upper:]' '[:lower:]')
# If a wrong or no BIN_SUFFIX is set, warn the user and set a default.
if [ x"${BIN_SUFFIX}" != x"classic" -a x"${BIN_SUFFIX}" != x"ldap" ]; then
echo "Unknown Samba Security Authentication Mechanism, ${SAMBA_SAM}."
echo "Please fix the sysconfig setting. Using default, classic for now."
BIN_SUFFIX="classic"
fi

# Get current sam if a state file exists.
test -f ${SAM_STATE_FILE} && \
curr_sam=$( cat ${SAM_STATE_FILE}) || \
curr_sam=${BIN_SUFFIX}

# Check for missing binary
if [ ! -x ${DAEMON_DIR}${BIN_SUFFIX}/${SMBD_BIN} ]; then
echo -n "Samba daemon, ${DAEMON_DIR}${BIN_SUFFIX}/${SMBD_BIN} is not installed."
# Tell the user this has skipped
rc_status -s
exit 5
fi

# wait for cupsd to be ready
function wait_for_cupsd
{
echo -n "Samba SMB: Waiting for cupsd to get ready"
SAMBA_CUPSD_TIMEOUT=30
rc_timer_on ${SAMBA_CUPSD_TIMEOUT} 42
for ((i=0; i<${SAMBA_CUPSD_TIMEOUT}; i++)); do
if lpstat -r &>/dev/null; then continue
else sleep 1
fi
done
rc_timer_off

lpstat -r &>/dev/null && rc_status -v || rc_status -s
rc_reset
}

# check and create TDB
function check_create_tdb
{
test -f /var/lib/samba/$1.tdb || \
echo "create /var/lib/samba/$1.tdb" | /usr/lib/samba/tdbtool >/dev/null
}

# be extra carefull cause connection fail if TMPDIR is not writeable
export TMPDIR="/var/tmp"

case "$1" in
start)
if grep -qi '^[[:space:]]*printing[[:space:]]*=[[:space:]]*cups' ${SMB_CONF} && chkconfig --check cups; then
wait_for_cupsd
fi
if [ ${BIN_SUFFIX} != ${curr_sam} ]; then
echo -n "Samba ${curr_sam} SMB daemon might run; I will try to stop it first."
killproc -p ${PID_FILE} ${DAEMON_DIR}${curr_sam}/${SMBD_BIN}
rc_status -v
fi
echo -n "Starting Samba ${BIN_SUFFIX} SMB daemon"
checkproc -p ${PID_FILE} ${DAEMON_DIR}${BIN_SUFFIX}/${SMBD_BIN} && \
echo -n " Warning: daemon already running."
check_create_tdb brlock
check_create_tdb locking
startproc -p ${PID_FILE} ${DAEMON_DIR}${BIN_SUFFIX}/${SMBD_BIN} -D -s ${SMB_CONF}
rc_status -v
echo ${BIN_SUFFIX} >${SAM_STATE_FILE}
;;
stop)
echo -n "Shutting down Samba ${curr_sam} SMB daemon"
checkproc -p ${PID_FILE} ${DAEMON_DIR}${curr_sam}/${SMBD_BIN} || \
echo -n " Warning: daemon not running."
killproc -p ${PID_FILE} ${DAEMON_DIR}${curr_sam}/${SMBD_BIN}
rc_status -v
rm -f ${SAM_STATE_FILE}
;;
try-restart)
$0 status >/dev/null && $0 restart
rc_status
;;
restart)
$0 stop
$0 start
rc_status
;;
force-reload)
$0 reload
rc_status
;;
reload)
echo -n "Reloading Samba ${curr_sam} SMB daemon"
checkproc -p ${PID_FILE} ${DAEMON_DIR}${curr_sam}/${SMBD_BIN} || \
echo -n " Warning: daemon not running."
killproc -p ${PID_FILE} -HUP ${DAEMON_DIR}${curr_sam}/${SMBD_BIN}
rc_status -v
;;
status)
echo -n "Checking for Samba ${curr_sam} SMB daemon"
checkproc -p ${PID_FILE} ${DAEMON_DIR}${curr_sam}/${SMBD_BIN}
rc_status -v
;;
*)
echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload}"
exit 1
;;
esac
rc_exit


Gruß

white-horse
21.09.03, 14:42
Danke schön.