Wednesday, March 5, 2008

Gestion des services sous LInux

Deux approches :
  • Debian / Ubuntu
  • Mandriva / Red Hat / Fedora
Lorsque le noyau du système est activé, le premier programme est '/sbin/init' avec un numéro de PID égal à 1. Tous les autres processus seront les enfants de 'init'.
Chaque service est associé à un script unique et géré (Start, run ...) par des liens symboliques. Ces liens sont placés dans des répertoires notés de 0 à 6 indiquant le 'runlevel', le niveau de démarrage.
  • Niveau 0 pour arrêter définitivement le système
  • Niveau 1 associé au mode maintenance
  • Niveaux 2 à 5 définissable selon les distributions. Debian et distributions dérivées ne font pas de différence
  • Niveau 6 pour l'arrêt et le redémarrage du système
  • Niveau S ou S, mode monoutilisateur (just la racine) pour réparer les autres répertoires
Enregistrement des services selon les runlevels :
  • Debian et en général : fichier /etc/initab
  • Cas Ubuntu : répetoire /etc/event.d et commande upstart
Gestion des services sous Debian et dérivés
Commande par nom du service dans répertoire /etc/init.d :
# /etc/init.d/<service> [start | stop| restart | reload | force-reloard| status]
'Start', 'stop', ... option pour les services
'reload' permet de charger les modifications de la configuration sans avoir à redémarrer le serveur si celui-ci est en prod. Un restart est plus 'efficace'.

Hors du répertoire, c'est la commande 'invoke-rc.d'
# invoke-rc <service&>

Exemple :
# /etc/init.d/apache2 status
ou
# invoke-rc.d apache2 status

Gestion des services sous Mandriva et Red Hat
On retrouve le principe ci-dessus mais dans un autre répertoire :
# /etc/rc.d/init.d/<service> [start | stop| restart | reload | force-reloard| status]
ou
# service <service&>

'service' remplaçant le mot-clé invode-rc.d


Pour les créations et suppression de liens symboliques vers les scripts :
  • Debian / Ubuntu : update.rc.d
  • Pour Mandriva / Red Hat : chkconfig
Les services sont gérables aussi à partir de l'interface graphique.
Sous Ubuntu : Système, Administration, Services.
Gestionnaire de services dans le centre de contrôle de Mandriva.


Pour avoir la liste des services actifs :
Sous Mandriva, Red hat Fedora
update-rc --status-all
(important d'attaché '--status-all'

No comments: