Init script Portmap Debian


 

Lecture du script de démarrage du démon Portmap

 

Edit : Je ne détaillerai pas tout le script, il y a redondance


#!/bin/sh
#
# start/stop portmap daemon.

### BEGIN INIT INFO
# Provides:          portmap
# Required-Start:    $network
# Required-Stop:     $network
# Default-Start:     S 2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: The RPC portmapper
# Description:       Portmap is a server that converts RPC (Remote
#                    Procedure Call) program numbers into DARPA
#                    protocol port numbers. It must be running in
#                    order to make RPC calls. Services that use
#                    RPC include NFS and NIS.
### END INIT INFO

test -f /sbin/portmap || exit 0
test si le programme existe sinon sortie du script

. /lib/lsb/init-functions
indications du programme des fonctions de démarrage

OPTIONS=""
la variable $OPTIONS est nulle

if [ -f /etc/default/portmap ]; then
si le fichier de configuration /etc/default/portmap existe alors

. /etc/default/portmap
lecture du fichier de configuration

elif [ -f /etc/portmap.conf ]; then
si le test précédent n'est pas vrai alors on vérifie l'existence du fichier /etc/portmap.conf

. /etc/portmap.conf

fi
fin des deux test précédent

case "$1" in
start)
log_begin_msg "Starting portmap daemon..."
affichage de "Starting portmap daemon"

pid=`pidof portmap`
recherche du numéro de processus de portmap ( avec la commande pidof ) et inscription dans la variable $pid

if [ -n "$pid" ] ; then
si la variable $pid n'est pas nulle alors

log_begin_msg "Already running."
affichage du message "Already running"

log_end_msg 0
affichage du message de fin

exit 0
sortie du script

fi
start-stop-daemon --start --quiet --oknodo --exec /sbin/portmap -- $OPTIONS
on lance le programme portmap ( à l'aide de la commande start-stop-daemon )

log_end_msg $?
affichage du résultat de la commande précédente

if [ -f /var/run/portmap.upgrade-state ]; then
si /var/run/portmap.upgrade-state existe alors

log_begin_msg "Restoring old RPC service information..."
affichage de "Restoring old RPC service information..."

sleep 1 # needs a short pause or pmap_set won't work. :(
pause de 1 seconde

pmap_set
renvoie de l'entrée de la commande dans /var/run/portmap.upgrade-state

log_end_msg $?
affichage du résultat de la commande précédente

rm -f /var/run/portmap.upgrade-state
suppression du fichier ( avec l'option force ) /var/run/portmap.upgrade-state

else
sinon

if [ -f /var/run/portmap.state ]; then
sleep 1 # needs a short pause or pmap_set won't work. :(
pmap_set
rm -f /var/run/portmap.state
fi
fi

mkdir -p /lib/init/rw/sendsigs.omit.d
création du répertoire /lib/init/rw/sendsigs.omit.d

rm -f /lib/init/rw/sendsigs.omit.d/portmap
suppression de /lib/init/rw/sendsigs.omit.d/portmap

ln -s /var/run/portmap.pid /lib/init/rw/sendsigs.omit.d/portmap
création d'un lien symbolique ( raccourci ) entre /var/run/portmap.pid et /lib/init/rw/sendsigs.omit.d/portmap

;;
stop)
log_begin_msg "Stopping portmap daemon..."
pmap_dump >/var/run/portmap.state
start-stop-daemon --stop --quiet --oknodo --exec /sbin/portmap
log_end_msg $?
;;
force-reload)

$0 restart
redémarrage du script ( le nom du script est contenu dans la variable $0 )

;;
restart)
$0 stop
$0 start
;;
*)
log_success_msg "Usage: /etc/init.d/portmap {start|stop|force-reload|restart}"
exit 1
;;
esac

exit 0