Content-type: text/html
Manpage of distccd
distccd
Section: (1)
Updated: 21 juillet 2003
Index
Return to Main Contents
NOM
distccd - serveur de compilation C/C++ répartie
SYNOPSIS
distccd --daemon
[OPTIONS]
DESCRIPTION
distccd
est le serveur du compilateur réparti distcc(1). Il
exécute les tâches de compilation qui lui sont confiées
en réseau par ses clients.
distcc peut être exécuté soit sur TCP, soit par
une commande de connexion
telle que ssh(1) : les connexions TCP sont rapides mais peu sûres ;
les connexions SSH sont sécurisées mais plus lentes.
Lorsqu'on utilise une connexion SSH, distccd doit être installé sur
la machine volontaire mais ne doit pas s'exécuter en tant que démon :
il sera lancé par SSH à la demande.
Les connexions SSH ont plusieurs avantages : ni le client ni le serveur
ne restent à l'écoute d'aucun port ; les compilations s'exécutent avec
les privilèges de l'utilisateur qui les a demandées ; les utilisateurs
sans autorisation sont refoulés du serveur ; enfin le code
source et le résultat sont protégés pendant les transferts.
Lorsqu'on utilise une connexion TCP, distccd peut être exécuté soit
par un programme similaire à inetd, soit en tant que serveur autonome.
Le mode autonome est recommandé : il est légèrement plus efficace
et il permet à distccd de réguler le nombre de tâches qui lui parviennent.
Les options
--listen
et
--allow
permettent un contrôle d'accès simple, basé sur IP.
distcc peut être exécuté soit par le superutilisateur, soit par tout autre utilisateur.
S'il est exécuté par le superutilisateur, il abandonne ses privilèges et
prend soit l'identité indiquée par l'option
--user,
soit celle de l'utilisateur « distcc », soit celle de l'utilisateur
« nobody ».
distccd ne possède pas de fichier de configuration : son comportement
est dicté exclusivement par les options de la ligne de commande et
par les requêtes des clients.
SERVEUR AUTONOME
Il est recommandé d'exécuter distccd en tant que serveur autonome.
distccd se met à l'écoute des connexions sur le réseau et crée
plusieurs processus-enfants (« fork ») pour les servir.
Si vous avez installé distcc en utilisant un paquet,
vous pouvez peut-être démarrer le serveur de
la manière habituelle pour votre système d'exploitation, par
exemple :
-
# service distcc start
Pour exécuter distccd comme service autonome, lancez,
en tant que superutilisateur ou en tant qu'utilisateur ordinaire,
une commande telle que celle-ci :
-
# distccd --daemon
EXÉCUTION DEPUIS INIT
distccd peut être exécuté comme démon autonome sous
le contrôle d'un autre programme tel qu'init(8) ou
daemontools. Le superserveur lance distccd
quand le système démarre, et lors de son arrêt.
distccd doit être démarré de la même manière que s'il
était utilisé en serveur autonome, à ceci près que
l'option
--no-detach
doit être utilisée afin que le superserveur puisse
le surveiller.
Par exemple, pour ajouter distccd parmi les processus
sysvinit sous Linux, ajoutez la ligne suivante à
/etc/inittab :
-
dscc:2345:respawn:/usr/local/bin/distccd --verbose --no-detach --daemon
EXÉCUTION DEPUIS INETD
distccd peut être démarré par un superserveur réseau tel
qu'inetd ou xinetd. Dans ce cas, inetd reste en écoute sur le
réseau et invoque distccd quand une connexion est demandée.
Cette configuration est légèrement moins efficace que l'exécution
d'un serveur distccd autonome : distccd ne sera pas capable de
réguler le nombre de connexions acceptées ; cependant certaines
versions d'inetd peuvent être paramétrées à cette fin.
Pour un inetd typique d'Unix, une ligne semblable à la suivante
peut être ajoutée à /etc/inetd.conf :
-
distcc stream tcp nowait.6000 root/usr/local/bin/distccd distccd --inetd
inetd impose une limite à la fréquence des connexions à un service,
afin d'éviter les abus volontaires ou involontaires.
La limite par défaut imposée par l'inetd du « Linux NetKit »
est de 40 par minute, ce qui est bien trop bas pour distccd.
L'option .6000 remonte cette limite à 6000 par minute.
ARRÊT DE DISTCCD
Pour arrêter un serveur autonome, envoyez un signal SIGTERM
à son processus père. Pour ce faire, le moyen le plus fiable
est d'utiliser l'option
--pid-file
pour enregistrer le PID du serveur.
Un serveur arrêté de cette manière laisse aboutir
les compilations en cours.
OPTIONS
- --help
-
Affiche un résumé des commandes disponibles.
- --version
-
Affiche la version du démon, puis se termine.
- -j, --jobs TÂCHES
-
Fixe le nombre maximum de tâches à traiter
simultanément. La valeur par défaut est le nombre de processeurs
de la machine plus 2, afin de permettre à certains processus de
rester bloqué en attente d'E/S.
À n'utiliser qu'en mode démon.
- -N, --nice POLITESSE
-
Rend le démon plus poli lorsqu'il s'agit de céder le processeur
aux autres programmes s'exécutant sur la machine.
POLITESSE est le nombre ajouté à la priorité actuelle du
processus. Les valeurs de priorité possibles dépendent
du système d'exploitation mais s'étendent typiquement de 0 à 20.
Par défaut, la politesse est augmentée de 5.
- -p, --port PORT
-
Indique le port TCP à écouter à la place du port par défaut : 3632.
À n'utiliser qu'en mode démon.
- --listen ADRESSE
-
Ordonne au démon distccd de rester en écoute à l'adresse
IP ADRESSE. Cette option peut être utile pour contrôler
l'accès à un hôte disposant de plusieurs adresses.
À n'utiliser qu'en mode démon.
- -P, --pid-file FICHIER
-
Sauvegarde le PID du processus démon dans le fichier FICHIER.
À n'utiliser qu'en mode démon.
- --user UTILISATEUR
-
Si distccd est exécuté avec les droits du superutilisateur : prend
l'identité de l'utilisateur UTILISATEUR.
- -a, --allow ADDR_IP[/MASQUE]
-
Ordonne à distccd de n'accepter les connexions que depuis
l'adresse ADDR_IP.
Un masque CIDR peut être indiqué en option après une barre
oblique, par exemple : 192.168.0.0/24.
- --verbose
-
distccd inclut les messages de débogage dans son journal.
- --no-detach
-
Le démon ne se détache pas du shell qui l'a démarré.
- --no-fork
-
distccd ne génère pas de processus fils (« fork ») pour chaque
connexion, afin d'y attacher gdb.
N'utilisez pas cette option si vous n'en comprenez pas l'utilité !
- --log-file FICHIER
-
distccd envoie les messages au fichier FICHIER plutôt qu'à syslog.
Tenir le journal dans un fichier est sensiblement plus
rapide que de passer par syslog ; aussi est-ce recommandé.
- --log-stderr
-
distccd envoie les messages à stderr plutôt qu'à un fichier ou
à syslog. Cette option est destinée avant tout au débogage.
Ne pas utiliser dans le mode inetd.
- --wizard
-
Active toutes les options appropriées au démarrage de distcc sous
gdb : s'exécuter en tant que démon ; tenir un journal détaillé sur
stderr ; et ne pas se détacher ni générer de processus fils.
Réservé aux utilisateurs avertis.
- --inetd
-
distccd sert un client connecté à stdin/stdout. Comme son nom
l'indique, cette option doit être utilisée quand
distccd est lancé par un superserveur tel qu'inetd.
De lui-même, distccd se considère en mode inetd quand stdin
est un descripteur de connexion (« socket »).
- --daemon
-
distccd se lie à un descripteur de connexion (« socket ») et
reste en écoute, plutôt que de s'exécuter à partir d'inetd.
Cette option correspond au mode autonome.
De lui-même, distccd se considère en mode autonome
si stdin est un terminal (« tty ») ; --daemon
doit être indiqué explicitement
si distccd est exécuté depuis un script ou une connexion SSH
non-interactive.
DIAGNOSTIC
Par défaut, distccd tient un journal de ses messages
par l'intermédiaire de la fonction
daemon
de syslog, qui l'écrit normalement dans
/var/log/daemon
ou dans
/var/log/messages.
Les messages peuvent être enregistrés dans un fichier
différent grâce à l'option
--log-file.
VARIABLES D'ENVIRONNEMENT
- DISTCCD_PATH
-
Au démarrage de distccd, si cette variable a une valeur,
celle-ci est utilisée (telle quelle) comme chemin de recherche
(« PATH ») lors des exécutions de commandes. Les répertoires de
masquage ne sont pas retirés par le programme.
Cette variable permet de forcer le démon à appeler ccache : il
l'aurait normalement éliminé en partant du principe que ccache
est généralement utilisé avant distcc.
- DISTCC_SAVE_TEMPS
-
Lorsque cette valeur est fixée à 1, les fichiers temporaires sont
conservés après utilisation.
À noter : DISTCC_LOG est sans effet sur l'emplacement
des journaux du serveur.
VOIR AUSSI
distcc(1), ccache(1), gcc(1), make(1)
http://distcc.samba.org/
BOGUES
Le contrôle d'accès basé sur IP ne protège pas des agresseurs
capables de falsifier les connexions TCP, et ne différencie pas
les utilisateurs d'un même client.
Les connexions TCP ne sont pas protégées des agresseurs
capables d'observer et de modifier le trafic sur le réseau.
LICENCE
L'utilisation de distcc est libre. Il ne peut être copié, modifié ou
distribué que selon les termes de la licence publique générale GNU
(GPL : « GNU General Public Licence »),
version 2 ou suivantes.
Une copie [NDT : en anglais] de cette licence est incluse dans
le fichier COPYING.
AUTEUR
distcc a été écrit par Martin Pool <mbp@sourcefrog.net>, avec
la coopération de nombreux érudits dont Wayne Davison, Frerich Raabe,
Dimitri Papadopoulos, et d'autres cités dans le fichier NEWS.
Merci de signaler les bogues à <distcc@lists.samba.org>.
TRADUCTION
Lionel Sausin. Merci aux participants de la liste « debian-l10n-french ».
AVERTISSEMENT SUR LA TRADUCTION
Il est possible que cette traduction soit imparfaite ou périmée. En cas de doute, veuillez vous reporter au document original en langue anglaise fourni avec le programme.
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- SERVEUR AUTONOME
-
- EXÉCUTION DEPUIS INIT
-
- EXÉCUTION DEPUIS INETD
-
- ARRÊT DE DISTCCD
-
- OPTIONS
-
- DIAGNOSTIC
-
- VARIABLES D'ENVIRONNEMENT
-
- VOIR AUSSI
-
- BOGUES
-
- LICENCE
-
- AUTEUR
-
- TRADUCTION
-
- AVERTISSEMENT SUR LA TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 20:41:54 GMT, July 10, 2005