Bonjour,
Je suis a la recherche d'informations pour lancer un script en fin de
demarrage:
- pour MDK, RH, Fedora, Slackware, Suse il y a rc.local. Pour quelles
autres distros rc.local existe ? rc.local est un peu "systeme D" . Pour
chacune de ces distro (pour ceux qui connaissent), comment inserer
proprement un script dans la sequence de boot (aidez-moi un peu en
indiquant le repertoire /etc/rc.d/xx/ , et aussi comment faire si on
veut cibler un runlevel particulier, et aussi si on veut que les scripts
d'un meme runlevel soient lancés dans un certain ordre. Ces trois info
me semblent interessantes et limite importantes)
- pour Debian et Gentoo, ca se passe respaectivement a base de
"update-rc.d script defaults" et "rc.update add script defaults". Reste
a savoir comment avoir les scripts dans un certain ordre ( c'est dans
/etc/inittab qu'on regle le default ? )
- enfin, pour chacunes des distros, comment retirer un script (il y a
toujours possibilité de l'effacer physiquement, mais c'est pas 'propre')
Je demande tout cela parcequ'en fonction des distribs, on peut trouver
une procedure differente. Ce n'est pas une methode uniforme comme
"shutdown -r now" pour rebooter par exemple .... A moins que je me
trompe :-)
Les resultats de cette requete seront synthetisés (euh ... on en fera
une synthese) et seront ensuite publié sur http://fcolc.rktmb.org .
Merci d'avance.
Dans le message <news:cdid5t$ejs$, *Rakotomandimby Mihamina* tapota sur f.c.o.l.configuration :
Bonjour,
Bonjour,
Je suis a la recherche d'informations pour lancer un script en fin de demarrage:
- pour MDK, RH, Fedora, Slackware, Suse il y a rc.local.
Sur SUSE c'est plutôt le fichier /etc/rc.d/boot.local. Le fichier rc.local existe, mais c'est un lien symbolique.
Pour quelles autres distros rc.local existe ?
/etc/rc.local existe sur les *BSD, SunOS/Solaris. Oups, le hors charte. :P
/etc/rc.d/rc.local existe sur les dernières versions d'IPCop et sur les précédentes on plaçait ce qu'il fallait dans le fichier /etc/rc.d/rc.sysinit.
On retrouve aussi /etc/rc.d/rc.local sur toutes les Red Hat like, comme les SME, les PLD, les YDL, Aurox, ...
Pour chacune de ces distro (pour ceux qui connaissent), comment inserer proprement un script dans la sequence de boot (aidez-moi un peu en indiquant le repertoire /etc/rc.d/xx/ , et aussi comment faire si on veut cibler un runlevel particulier, et aussi si on veut que les scripts d'un meme runlevel soient lancés dans un certain ordre. Ces trois info me semblent interessantes et limite importantes)
Sur la Red Hat et sur les Red Hat like (MDK, SME, etc), on place les scripts dans le répertoire /etc/rc.d/init.d et on utilise l'outil chkconfig pour activer ou supprimer le script au démarrage. Pour savoir dans quel runlevel sera activé le script, on doit placer dans les en-têtes de chaque script les lignes suivantes :
#!/bin/sh # # mon_service Ce magnifique script a le pouvoir vous faire patienter # au démarrage en vous servant un café # # chkconfig: 2345 80 10 # description: mon_service is THE service
La ligne chkconfig a 3 paramètres, le premier la liste des runlevels, le deuxième la priorité de lancement au démarrage par rapport aux autres scripts et le troisième la priorité d'arrêt à l'arrêt ou au reboot. La ligne description une description sommaire du service.
- pour Debian et Gentoo, ca se passe respaectivement a base de "update-rc.d script defaults" et "rc.update add script defaults". Reste a savoir comment avoir les scripts dans un certain ordre
Sur debian, on place les scripts dans le répertoire /etc/init.d et on utilise l'outil update-rc.d de la manière suivante :
Le paramètre start est suivit de la liste des runlevels espacés et terminés par un point et de la même manière avec le paramètre stop.
Sur Gentoo, les scripts sont eux aussi à placer dans le répertoire /etc/init.d et la gestion des runlevels a été revue et améliorée. Il y a principalement 4 runlevels qui sont només et non numérotés, boot, default, nonetwrok et single. L'ordre de lancement des services se fait de manière intelligente en indiquant dans chacun des scripts de quoi ils dépendent, de quoi ils ont besoin, avant ou après quel service et quel type de service ils représentent. Exemple du service named :
$ cat /etc/init.d/named
[...]
depend() { need net use logger provide dns }
Le service a besoin du service réseau (need net) et ne sera donc lancé que quand le service réseau sera opérationnel. Il utilise le service syslog (use logger). Et il fournit le service dns (provide dns).
Autre exemple, avec le service apache :
$ cat /etc/init.d/apache
[...]
depend() { need net use mysql dns logger netmount postgres after sshd }
Apache a besoin du réseau pour être lancé. Il utilise MySQL, le service DNS, syslog, les systèmes de fichiers réseau et Posgres, et ces services devront être alors lancés s'ils sont disponibles sur le système. Et enfin Apache devra être lancé après que le service sshd ait été lancé.
Enfin, pour mettre en place le script au démarrage, on utilise l'outil rc-update (et pas rc.update) :
$ rc-update add mon_service default
Et automatiquement les dépendances des services sera mis à jour.
( c'est dans /etc/inittab qu'on regle le default ? )
Non, cf ce qui a été dit précédement.
- enfin, pour chacunes des distros, comment retirer un script (il y a toujours possibilité de l'effacer physiquement, mais c'est pas 'propre')
Systèmes Red Hat :
$ chkconfig --del mon_service
Debian :
$ update-rc.d mon_service remove
Gentoo :
$ rc-update del mon_service default
Merci d'avance.
De rien.
-- TiChou
Dans le message <news:cdid5t$ejs$1@news-reader5.wanadoo.fr>,
*Rakotomandimby Mihamina* tapota sur f.c.o.l.configuration :
Bonjour,
Bonjour,
Je suis a la recherche d'informations pour lancer un script en fin de
demarrage:
- pour MDK, RH, Fedora, Slackware, Suse il y a rc.local.
Sur SUSE c'est plutôt le fichier /etc/rc.d/boot.local. Le fichier rc.local
existe, mais c'est un lien symbolique.
Pour quelles autres distros rc.local existe ?
/etc/rc.local existe sur les *BSD, SunOS/Solaris. Oups, le hors charte. :P
/etc/rc.d/rc.local existe sur les dernières versions d'IPCop et sur les
précédentes on plaçait ce qu'il fallait dans le fichier
/etc/rc.d/rc.sysinit.
On retrouve aussi /etc/rc.d/rc.local sur toutes les Red Hat like, comme les
SME, les PLD, les YDL, Aurox, ...
Pour chacune de ces distro (pour ceux qui connaissent), comment inserer
proprement un script dans la sequence de boot (aidez-moi un peu en
indiquant le repertoire /etc/rc.d/xx/ , et aussi comment faire si on
veut cibler un runlevel particulier, et aussi si on veut que les scripts
d'un meme runlevel soient lancés dans un certain ordre. Ces trois info
me semblent interessantes et limite importantes)
Sur la Red Hat et sur les Red Hat like (MDK, SME, etc), on place les scripts
dans le répertoire /etc/rc.d/init.d et on utilise l'outil chkconfig pour
activer ou supprimer le script au démarrage. Pour savoir dans quel runlevel
sera activé le script, on doit placer dans les en-têtes de chaque script les
lignes suivantes :
#!/bin/sh
#
# mon_service Ce magnifique script a le pouvoir vous faire patienter
# au démarrage en vous servant un café
#
# chkconfig: 2345 80 10
# description: mon_service is THE service
La ligne chkconfig a 3 paramètres, le premier la liste des runlevels, le
deuxième la priorité de lancement au démarrage par rapport aux autres
scripts et le troisième la priorité d'arrêt à l'arrêt ou au reboot.
La ligne description une description sommaire du service.
- pour Debian et Gentoo, ca se passe respaectivement a base de
"update-rc.d script defaults" et "rc.update add script defaults". Reste
a savoir comment avoir les scripts dans un certain ordre
Sur debian, on place les scripts dans le répertoire /etc/init.d et on
utilise l'outil update-rc.d de la manière suivante :
Le paramètre start est suivit de la liste des runlevels espacés et terminés
par un point et de la même manière avec le paramètre stop.
Sur Gentoo, les scripts sont eux aussi à placer dans le répertoire
/etc/init.d et la gestion des runlevels a été revue et améliorée. Il y a
principalement 4 runlevels qui sont només et non numérotés, boot, default,
nonetwrok et single.
L'ordre de lancement des services se fait de manière intelligente en
indiquant dans chacun des scripts de quoi ils dépendent, de quoi ils ont
besoin, avant ou après quel service et quel type de service ils
représentent.
Exemple du service named :
$ cat /etc/init.d/named
[...]
depend() {
need net
use logger
provide dns
}
Le service a besoin du service réseau (need net) et ne sera donc lancé que
quand le service réseau sera opérationnel. Il utilise le service syslog (use
logger). Et il fournit le service dns (provide dns).
Autre exemple, avec le service apache :
$ cat /etc/init.d/apache
[...]
depend() {
need net
use mysql dns logger netmount postgres
after sshd
}
Apache a besoin du réseau pour être lancé.
Il utilise MySQL, le service DNS, syslog, les systèmes de fichiers réseau et
Posgres, et ces services devront être alors lancés s'ils sont disponibles
sur le système.
Et enfin Apache devra être lancé après que le service sshd ait été lancé.
Enfin, pour mettre en place le script au démarrage, on utilise l'outil
rc-update (et pas rc.update) :
$ rc-update add mon_service default
Et automatiquement les dépendances des services sera mis à jour.
( c'est dans /etc/inittab qu'on regle le default ? )
Non, cf ce qui a été dit précédement.
- enfin, pour chacunes des distros, comment retirer un script (il y a
toujours possibilité de l'effacer physiquement, mais c'est pas 'propre')
Dans le message <news:cdid5t$ejs$, *Rakotomandimby Mihamina* tapota sur f.c.o.l.configuration :
Bonjour,
Bonjour,
Je suis a la recherche d'informations pour lancer un script en fin de demarrage:
- pour MDK, RH, Fedora, Slackware, Suse il y a rc.local.
Sur SUSE c'est plutôt le fichier /etc/rc.d/boot.local. Le fichier rc.local existe, mais c'est un lien symbolique.
Pour quelles autres distros rc.local existe ?
/etc/rc.local existe sur les *BSD, SunOS/Solaris. Oups, le hors charte. :P
/etc/rc.d/rc.local existe sur les dernières versions d'IPCop et sur les précédentes on plaçait ce qu'il fallait dans le fichier /etc/rc.d/rc.sysinit.
On retrouve aussi /etc/rc.d/rc.local sur toutes les Red Hat like, comme les SME, les PLD, les YDL, Aurox, ...
Pour chacune de ces distro (pour ceux qui connaissent), comment inserer proprement un script dans la sequence de boot (aidez-moi un peu en indiquant le repertoire /etc/rc.d/xx/ , et aussi comment faire si on veut cibler un runlevel particulier, et aussi si on veut que les scripts d'un meme runlevel soient lancés dans un certain ordre. Ces trois info me semblent interessantes et limite importantes)
Sur la Red Hat et sur les Red Hat like (MDK, SME, etc), on place les scripts dans le répertoire /etc/rc.d/init.d et on utilise l'outil chkconfig pour activer ou supprimer le script au démarrage. Pour savoir dans quel runlevel sera activé le script, on doit placer dans les en-têtes de chaque script les lignes suivantes :
#!/bin/sh # # mon_service Ce magnifique script a le pouvoir vous faire patienter # au démarrage en vous servant un café # # chkconfig: 2345 80 10 # description: mon_service is THE service
La ligne chkconfig a 3 paramètres, le premier la liste des runlevels, le deuxième la priorité de lancement au démarrage par rapport aux autres scripts et le troisième la priorité d'arrêt à l'arrêt ou au reboot. La ligne description une description sommaire du service.
- pour Debian et Gentoo, ca se passe respaectivement a base de "update-rc.d script defaults" et "rc.update add script defaults". Reste a savoir comment avoir les scripts dans un certain ordre
Sur debian, on place les scripts dans le répertoire /etc/init.d et on utilise l'outil update-rc.d de la manière suivante :
Le paramètre start est suivit de la liste des runlevels espacés et terminés par un point et de la même manière avec le paramètre stop.
Sur Gentoo, les scripts sont eux aussi à placer dans le répertoire /etc/init.d et la gestion des runlevels a été revue et améliorée. Il y a principalement 4 runlevels qui sont només et non numérotés, boot, default, nonetwrok et single. L'ordre de lancement des services se fait de manière intelligente en indiquant dans chacun des scripts de quoi ils dépendent, de quoi ils ont besoin, avant ou après quel service et quel type de service ils représentent. Exemple du service named :
$ cat /etc/init.d/named
[...]
depend() { need net use logger provide dns }
Le service a besoin du service réseau (need net) et ne sera donc lancé que quand le service réseau sera opérationnel. Il utilise le service syslog (use logger). Et il fournit le service dns (provide dns).
Autre exemple, avec le service apache :
$ cat /etc/init.d/apache
[...]
depend() { need net use mysql dns logger netmount postgres after sshd }
Apache a besoin du réseau pour être lancé. Il utilise MySQL, le service DNS, syslog, les systèmes de fichiers réseau et Posgres, et ces services devront être alors lancés s'ils sont disponibles sur le système. Et enfin Apache devra être lancé après que le service sshd ait été lancé.
Enfin, pour mettre en place le script au démarrage, on utilise l'outil rc-update (et pas rc.update) :
$ rc-update add mon_service default
Et automatiquement les dépendances des services sera mis à jour.
( c'est dans /etc/inittab qu'on regle le default ? )
Non, cf ce qui a été dit précédement.
- enfin, pour chacunes des distros, comment retirer un script (il y a toujours possibilité de l'effacer physiquement, mais c'est pas 'propre')
Systèmes Red Hat :
$ chkconfig --del mon_service
Debian :
$ update-rc.d mon_service remove
Gentoo :
$ rc-update del mon_service default
Merci d'avance.
De rien.
-- TiChou
TiChou
Dans le message <news:, *TiChou* tapota sur f.c.o.l.configuration :
[...]
J'ai oublié de parler en détail le fonctionnement des scripts sur la SuSE...
Les scripts sont à placer dans le répertoire /etc/init.d. L'outil de la SuSE pour manipuler les scripts est insserv mais il existe aussi l'outil Red Hat chkconfig. Avec insserv, pour ajouter un service au démarrage :
$ insserv mon_service
Pour le retirer :
$ insserv -r mon_service
Le script doit comporter dans ses en-têtes :
#!/bin/sh # ### BEGIN INIT INFO # Provides: café # Required-Start: network # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: mon_service version 0.0.1 # Description: Mon service qu'il est beau mais qu'il fonctionne mieux # sous Gentoo. ### END INIT INFO
Et une dernière chose, sur certaines distributions (sur Debian et SuSE de souvenir) on peut trouver un fichier script d'exemple (un squelette, skeleton en anglais).
-- TiChou
Dans le message <news:pwet.20040720133640@florizarre.tichou.org>,
*TiChou* tapota sur f.c.o.l.configuration :
[...]
J'ai oublié de parler en détail le fonctionnement des scripts sur la SuSE...
Les scripts sont à placer dans le répertoire /etc/init.d.
L'outil de la SuSE pour manipuler les scripts est insserv mais il existe
aussi l'outil Red Hat chkconfig.
Avec insserv, pour ajouter un service au démarrage :
$ insserv mon_service
Pour le retirer :
$ insserv -r mon_service
Le script doit comporter dans ses en-têtes :
#!/bin/sh
#
### BEGIN INIT INFO
# Provides: café
# Required-Start: network
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: mon_service version 0.0.1
# Description: Mon service qu'il est beau mais qu'il fonctionne mieux
# sous Gentoo.
### END INIT INFO
Et une dernière chose, sur certaines distributions (sur Debian et SuSE de
souvenir) on peut trouver un fichier script d'exemple (un squelette,
skeleton en anglais).
Dans le message <news:, *TiChou* tapota sur f.c.o.l.configuration :
[...]
J'ai oublié de parler en détail le fonctionnement des scripts sur la SuSE...
Les scripts sont à placer dans le répertoire /etc/init.d. L'outil de la SuSE pour manipuler les scripts est insserv mais il existe aussi l'outil Red Hat chkconfig. Avec insserv, pour ajouter un service au démarrage :
$ insserv mon_service
Pour le retirer :
$ insserv -r mon_service
Le script doit comporter dans ses en-têtes :
#!/bin/sh # ### BEGIN INIT INFO # Provides: café # Required-Start: network # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: mon_service version 0.0.1 # Description: Mon service qu'il est beau mais qu'il fonctionne mieux # sous Gentoo. ### END INIT INFO
Et une dernière chose, sur certaines distributions (sur Debian et SuSE de souvenir) on peut trouver un fichier script d'exemple (un squelette, skeleton en anglais).