script di avvio da debian/inet.d a Slackware/rc.d

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
freax
Linux 1.x
Linux 1.x
Messaggi: 177
Iscritto il: lun 19 gen 2009, 0:29
Slackware: 13
Desktop: kde4

script di avvio da debian/inet.d a Slackware/rc.d

Messaggio da freax »

mettendo su Fuppes va tutto ok , compilato da sorgente , installato , funziona , è ok , il problema è seguire questo tutorial non proprio pensato per rc.d

http://fuppes.ulrich-voelkel.de/wiki/in ... ith_Init.d

anche non avendo esperienza con gli script di avvio ho provato ad abbozzare il cambiamento più semplice e naturale ovvero da init.d a rc.d cambiando il valore delle variabili di conseguenza

Codice: Seleziona tutto

#! /bin/sh
### BEGIN INIT INFO
# Provides:          fuppesd
# Required-Start:    $local_fs $remote_fs
# Required-Stop:     $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      S 0 1 6
# Short-Description: UPnP Media Server
# Description:       Fuppes UPnP media server.
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
DESC="UPnP Media Server"
NAME=fuppesd
DAEMON=`which $NAME`
DAEMON_ARGS="--config-dir /etc/fuppes/ --database-file 
/var/lib/fuppes/fuppes.db --log-level 1"
SCRIPTNAME=/etc/rc.d/rc.$NAME
FUPPES_USER=fuppes
FUPPES_GROUP=fuppes

# Exit if the package is not installed
if [ ! -x "$DAEMON" ]; then
{
        echo "Couldn't find $DAEMON"
        exit 99
}
fi

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

#
# Function that starts the daemon/service
#
do_start()
{
	# Return
	#   0 if daemon has been started
	#   1 if daemon was already running
	#   2 if daemon could not be started
	start-stop-daemon --start --quiet --chuid 
$FUPPES_USER:$FUPPES_GROUP --exec $DAEMON --test > /dev/null \
		|| return 1
	start-stop-daemon --start --quiet --chuid 
$FUPPES_USER:$FUPPES_GROUP --exec $DAEMON -- $DAEMON_ARGS \
		|| return 2
}

#
# Function that stops the daemon/service
#
do_stop()
{
	# Return
	#   0 if daemon has been stopped
	#   1 if daemon was already stopped
	#   2 if daemon could not be stopped
	#   other if a failure occurred
	start-stop-daemon --stop --signal 2 --retry 5 --quiet --name 
$NAME
	RETVAL="$?"
	[ "$RETVAL" = 2 ] && return 2
	return "$RETVAL"
}

case "$1" in
  start)
	log_daemon_messaggio "Starting $DESC" "$NAME"
	do_start
	case "$?" in
		0|1) log_end_messaggio 0 ;;
		2) log_end_messaggio 1 ;;
	esac
	;;
  stop)
	log_daemon_messaggio "Stopping $DESC" "$NAME"
	do_stop
	case "$?" in
		0|1) log_end_messaggio 0 ;;
		2) log_end_messaggio 1 ;;
	esac
	;;
  restart|force-reload)
	log_daemon_messaggio "Restarting $DESC" "$NAME"
	do_stop
	case "$?" in
	  0|1)
		do_start
		case "$?" in
			0) log_end_messaggio 0 ;;
			1) log_end_messaggio 1 ;; # Old process is still 
running
			*) log_end_messaggio 1 ;; # Failed to start
		esac
		;;
	  *)
	  	# Failed to stop
		log_end_messaggio 1
		;;
	esac
	;;
  *)
	echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
	exit 3
	;;
esac

:
salta all'occhio questo

Codice: Seleziona tutto

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
che non ho ben capito cosa sia e di conseguenza a cosa serva e soprattutto come si possa sostituire in Slackware .

PS
lo script di avvio è posizionato in /etc/rc.d/ con permessi di esecuzione e si chiama rc.fuppesd

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: script di avvio da debian/inet.d a Slackware/rc.d

Messaggio da targzeta »

Quello che ti serve è lsb-base, che esiste "pacchettizzato" per debian ma non sembra esistere per Slackware.

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
fgcl2k
Linux 1.x
Linux 1.x
Messaggi: 137
Iscritto il: gio 29 ott 2009, 10:14
Nome Cognome: Federico
Slackware: 14.1 (64bit)
Kernel: 3.10.17
Desktop: KDE 4.13.3

Re: script di avvio da debian/inet.d a Slackware/rc.d

Messaggio da fgcl2k »

In Debian lsb-base contiene:

Codice: Seleziona tutto

$ dpkg -L lsb-base
/.
/etc
/etc/lsb-base
/usr
/usr/share
/usr/share/doc
/usr/share/doc/lsb-base
/usr/share/doc/lsb-base/changelog.Debian.gz
/usr/share/doc/lsb-base/README.Debian.gz
/usr/share/doc/lsb-base/copyright
/lib
/lib/lsb
/lib/lsb/init-functions
L'unico file "utile" è /lib/lsb/init-functions che contiene varie funzioni richiamate dagli init-script.

Avatar utente
freax
Linux 1.x
Linux 1.x
Messaggi: 177
Iscritto il: lun 19 gen 2009, 0:29
Slackware: 13
Desktop: kde4

Re: script di avvio da debian/inet.d a Slackware/rc.d

Messaggio da freax »

proverò ad usare lo script di Archlinux pubblicato nello stesso howto che usa rc.d e cerco di adattare quello allora .

Rispondi