Daemontools et ucspi-tcp
 27/04/2007
 Christian CALECA 
Liste des cours

Accueil ] [ Daemontools et ucspi-tcp ] [ Qmail & co. ] [ Vpopmail ] [ Essais divers ] [ courier-imap ] [ POP3 ] [ outils admin ] [ Ezmlm-idx ] [ qmailadmin ] [ Filtrage des mails ] [ Livraison locale ] [ Conclusions ]


Présentation

D.J.Bernstein a prévu quelques utilitaires ingénieux pour faire fonctionner son Qmail. Bien qu'il soit possible de se passer de ces utilitaires, il ne semble pas convenable de le faire, parce qu'ils apportent des avantages que l'on ne peut reproduire autrement.

Les daemontools

Présentation

Les daemontools servent à superviser des services. Ils permettent de :

Fonctionnement

qmail

Les répertoires "supervise" seront créés automatiquement par les daemontools.

L'installation des daemontools ajoute une ligne au fichier "/etc/inittab", pour faire démarrer "svscanboot". Svscanboot démarre svscan. Svscan démarre un processus "supervise" pour chaque sous-répertoire contenu dans /service. C'est "supervise" qui exécute les scripts "run" et vérifie que les services sont toujours en vie.

Il y a bien d'autres outils dans les daemontools. Pour une liste complète, voyez http://cr.yp.to/daemontools.html .

Les logs sont gérés par "multilog".

Comme les services démarrés de cette façon deviennent quelque peu collants (un Kill n'aura qu'un effet très éphémère, le "supervise" qui y est attaché le relançant immédiatement), la commande "svc" sera d'un grand secours si l'on souhaite forcer l'arrêt d'un service et commander ensuite son redémarrage.

"Softlimit" permet de définir une limite de ressources de mémoire pour chaque processus lancé, afin d'éviter les "DoS".

"envdir" permet de définir un environnement particulier pour l'exécution d'un service.

"tai64nlocal" est un utilitaire dont je vous laisse la surprise. Son utilité vous apparaîtra certainement de façon évidente, lors de l'analyse des logs produits par multilog...

Nous aurons par la suite l'occasion de rencontrer ces composants des daemontools.

ucspi-tcp

Il s'agit principalement d'un "tcp server", à la manière de inetd ou de xinetd. Ses principaux avantages sont les suivants :

"tcpserver" a besoin d'un fichier au format .cdb (base de données). Ce fichier est construit à partir d'un simple fichier texte. L'outil qui permet de construire la base .cdb à partir du fichier texte est "tcprules".

Recommandations

Il est fort intéressant et utile de passer du temps à consulter les informations fournies par l'auteur à propos de ces deux boîtes à outils.


Accueil ] [ Suivante ]