diff --git a/fr_FR.ISO8859-1/books/handbook/kernelconfig/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/kernelconfig/chapter.sgml
index 612d4b8ccf..15227f50b8 100755
--- a/fr_FR.ISO8859-1/books/handbook/kernelconfig/chapter.sgml
+++ b/fr_FR.ISO8859-1/books/handbook/kernelconfig/chapter.sgml
@@ -1,2039 +1,2039 @@
JimMockMis à jour et restructuré par JakeHambyContribution originale de Configurer le noyau de FreeBSD
&trans.a.fonvieille;
Synopsisnoyaucompiler un noyau sur mesureLe noyau est le coeur du système d'exploitation FreeBSD.
Il est responsable de la gestion de la mémoire, de la mise en
application des contrôles de sécurité,
du réseau, des accès disque, et bien plus. Bien que
FreeBSD devienne de plus en plus configurable dynamiquement, il est
toujours nécessaire occasionnellement de reconfigurer
et recompiler votre noyau.Après la lecture de ce chapitre, vous saurez:Pourquoi vous pourriez avoir besoin de compiler un noyau
sur mesure.Comment écrire un fichier de configuration du noyau, ou
modifier un fichier de configuration existant.Comment utiliser le fichier de configuration du noyau pour
créer et recompiler un nouveau noyau.Comment installer un nouveau noyau.Comment créer les entrées dans
/dev qui pourront être
nécessaires.Que faire si quelque chose se passe mal.Toutes les commandes listées dans les exemples de ce
chapitre doivent être exécutées en tant que
root afin de fonctionner.Pourquoi compiler un noyau sur mesure?Traditionnellement, FreeBSD a eu ce qui s'appelle un noyau
“monolithique”. Cela signifie que le noyau était
un gros programme, supportant une liste figée de
périphériques, et si vous vouliez modifier le
comportement du noyau alors vous deviez compiler un nouveau noyau, et
ensuite redémarrer votre ordinateur avec le nouveau noyau.Aujourd'hui, FreeBSD s'oriente rapidement vers un modèle
où une grande partie des fonctions du noyau est contenue dans des
modules qui peuvent être dynamiquement chargés
et déchargés si nécessaire.
Cela permet au noyau de s'adapter au nouveau matériel devenant
soudainement disponible (comme les cartes PCMCIA dans un
ordinateur portable), ou pour qu'une nouvelle fonctionnalité
qui n'était pas nécessaire lors de la compilation
du noyau y soit intégrée. On appelle cela un noyau
modulaire.En dépit de cela, il est encore nécessaire d'effectuer
certaines configurations de noyau en statique. Dans certains cas
c'est parce que la fonctionnalité est si proche du noyau
qu'elle ne peut être rendue dynamiquement chargeable. Dans d'autres
cas, cela peut tout simplement venir du fait que personne n'a
encore pris le temps d'écrire un module dynamiquement chargeable
pour cette fonctionnalité.Compiler un noyau sur mesure est l'un des plus importants
rites de passage que doit endurer tout utilisateur BSD. Cette
opération, tout en prenant du temps, apportera de nombreuses
améliorations à votre système FreeBSD.
A la différence du noyau GENERIC,
qui doit supporter une large gamme de matériels, un noyau sur
mesure ne contient que le support pour votre
configuration matérielle. Cela a de nombreux avantages,
comme:Un temps de démarrage plus court. Comme le noyau ne
recherchera que le matériel présent sur votre
système, le temps nécessaire au démarrage de
votre système peut diminuer de façon importante.Une utilisation plus faible de la mémoire. Un noyau sur
mesure utilise souvent moins de mémoire que le noyau
GENERIC, ce qui est important car le noyau
doit toujours résider en mémoire. Pour cette
raison, un noyau sur mesure est tout particulièrement utile
sur un système dont les ressources mémoire sont
limitées.Le support de matériels supplémentaires. Un noyau
sur mesure vous permet d'intégrer le support pour des
périphériques, qui ne sont
pas présents dans le noyau
GENERIC comme les cartes son.Compiler et installer un noyau sur mesurenoyaucompiler / installerCommençons par passer rapidement en revue le répertoire
de configuration du noyau. Tous les chemins d'accès
mentionnés seront relatifs au répertoire principal
/usr/src/sys, qui est également
accessible via le lien symbolique /sys.
Il comporte un certain nombre de sous-répertoires correspondants
à différentes parties du noyau, mais les plus
importantes, en ce qui nous concerne, sont
arch/conf, où vous
éditerez votre fichier configuration personnalisé, et
compile, qui est l'espace de travail où
votre noyau sera compilé. arch
représente une des architectures suivante: i386, soit
alpha, amd64,
ia64, powerpc,
sparc64, ou encore pc98
(une branche alternative de développement de l'architecture PC,
populaire au Japon). Tout ce qui se trouve dans un répertoire
particulier à une architecture est propre uniquement
à cette architecture; le reste du code est un code indépendant du type de machine et commun à
toutes les plates-formes sur lesquelles FreeBSD pourrait être
potentiellement porté. Remarquez l'organisation logique de
l'arborescence des répertoires, où chaque
périphérique, système de fichiers,
et option supportés a son propre sous-répertoire.
Les versions de &os; antérieures à 5.X ne
supportent que les architectures i386,
alpha et
sparc64.Les exemples de ce chapitre supposent que vous utilisez
l'architecture i386. Si ce n'est pas votre cas, effectuez les
ajustements appropriés au niveau des chemins
d'accès pour votre architecture.S'il n'y a pas de répertoire
/usr/src/sys sur votre système,
alors c'est que les sources du noyau n'ont pas été
installées. La manière la plus facile de les installer
est d'exécuter /stand/sysinstall en tant
que root, et sélectionner
Configure, puis
Distributions,
src, sys.
Si vous avez une aversion envers sysinstall
et que vous disposez d'un CDROM “officiel” de
FreeBSD, alors vous pouvez installer les sources depuis la
ligne de commande:&prompt.root; mount /cdrom
&prompt.root; mkdir -p /usr/src/sys
&prompt.root; ln -s /usr/src/sys /sys
&prompt.root; cat /cdrom/src/ssys.[a-d]* | tar -xzvf -Ensuite allez dans le répertoire
arch/conf et copiez
le fichier de configuration GENERIC dans un
fichier qui portera le nom que vous voulez donner à votre
noyau. Par exemple:&prompt.root; cd /usr/src/sys/i386/conf
&prompt.root; cp GENERIC MONNOYAUPar tradition, c'est un nom en majuscules, et si vous maintenez
plusieurs machines FreeBSD avec des configurations matérielles
différentes, c'est une bonne idée de lui donner le
- même nom que la machine. Nous l'appelerons
+ même nom que la machine. Nous l'appellerons
MONNOYAU pour les besoins de cet
exemple.Conserver votre fichier de configuration du noyau
directement sous /usr/src peut être une
mauvaise idée. Si vous avez des problèmes
il peut être tentant de juste effacer
/usr/src et recommencer à nouveau.
Après avoir fait cela ne prends que quelques secondes
pour vous rendre compte que vous venez
d'effacer votre fichier de configuration du noyau
personnalisé. N'éditez pas, non plus, directement le fichier
GENERIC, il peut être
écrasé à la prochaine mise à jour de l'arborescence
des sources, et vos modifications seraient
perdues.Vous voudrez peut être conserver votre fichier de
configuration du noyau ailleurs et alors créer un lien
symbolique vers le fichier dans le répertoire
i386.Par exemple:&prompt.root; cd /usr/src/sys/i386/conf
&prompt.root; mkdir /root/noyaux
&prompt.root; cp GENERIC /root/noyaux/MONNOYAU
&prompt.root; ln -s /root/noyaux/MONNOYAUEditez maintenant MONNOYAU avec votre
éditeur de texte préféré.
Si vous venez tout juste de finir l'installation, le seul
éditeur disponible sera probablement
vi, qui est trop complexe pour être
décrit ici, mais est bien expliqué dans de nombreux
ouvrages de la bibliographie.
Cependant, FreeBSD offre un éditeur plus simple appelé
ee qui, si vous êtes débutant,
sera votre éditeur de choix. N'hésitez pas à
modifier les commentaires d'entête pour y décrire
votre configuration ou les modifications que vous avez apportés
par rapport au noyau GENERIC.SunOSSi vous avez déjà compilé un noyau sur &sunos;
ou tout autre système d'exploitation BSD, l'essentiel de fichier
vous sera familier. Si vous venez d'un système d'exploitation
comme DOS, à l'inverse, le fichier de configuration
GENERIC vous paraîtra inintelligible, lisez
alors lentement et attentivement la section sur le fichier de
configuration.Si vous synchronisé
votre arborescence des sources avec les toutes
dernières sources du projet &os;, assurez-vous de
toujours lire le fichier /usr/src/UPDATING
avant d'effectuer une quelconque opération de mise
à jour. Ce fichier décrit les problèmes
importants ou les domaines demandant une attention
particulière dans le code mis à jour.
/usr/src/UPDATING correspond toujours
à votre version des sources de &os;, et est donc plus
à jour que ce Manuel.Vous devez maintenant compiler le code source du noyau. Il
existe deux procédures que vous pouvez utiliser dans ce but,
et celle que vous utiliserez dépendra de pourquoi vous
recompilez le noyau et de la version de &os; que vous
utilisez.Si vous avez uniquement installé
les sources du noyau, utilisez la procédure
numéro 1.Si vous utilisez une version de FreeBSD antérieure
à la 4.0, et que vous ne mettez pas
à jour vers la version 4.0 ou supérieure en utilisant la
procédure make world, employez la
procédure 1.Si vous compilez un nouveau noyau sans mettre à jour le
code source (peut être pour juste ajouter une nouvelle
option, comme IPFIREWALL) vous pouvez
utilisez n'importe quelle procédure.Si vous recompilez le noyau durant le processus
make world utilisez la procédure
numéro 2.cvsupCVS anonymeCTMCVSanonymeSi vous n'avez pas mis à jour
votre arborescence des sources depuis la dernière fois
où vous avez effectué avec succès un cycle
buildworld-installworld
(vous n'avez pas exécuté
CVSup,
CTM, ou utilisé
anoncvs), alors vous pouvez utiliser sans
risque la séquence config,
make depend, make,
make install.Procédure 1. Compiler un noyau suivant la
méthode dite “traditionnelle”Exécutez &man.config.8; pour générer
le code source du noyau.&prompt.root; /usr/sbin/config MONNOYAUPassez dans le répertoire de compilation.
&man.config.8; affichera le nom de ce répertoire
après avoir été exécuté
comme ci-dessus.&prompt.root; cd ../compile/MONNOYAUPour les versions de &os; antérieures à la
5.0, utiliser plutôt la forme suivante:&prompt.root; cd ../../compile/MONNOYAUCompilez le noyau.&prompt.root; make depend
&prompt.root; makeInstallez le nouveau noyau.&prompt.root; make installProcédure 2. Compiler un noyau suivant la
“nouvelle” méthode.Passez dans le répertoire
/usr/src.&prompt.root; cd /usr/srcCompilez le noyau.&prompt.root; make buildkernel KERNCONF=MONNOYAUInstallez le nouveau noyau.&prompt.root; make installkernel KERNCONF=MONNOYAUSous FreeBSD 4.2 et versions antérieures vous devez
remplacer KERNCONF= par KERNEL=.
Une version 4.2-STABLE qui a été
récupérée avant le 2 février
2001 ne reconnaît pas le paramètre
KERNCONF=./boot/kernel.oldLe nouveau noyau sera copié dans le répertoire
/boot/kernel avec le nom
/boot/kernel/kernel et l'ancien noyau sera renommé en
/boot/kernel.old/kernel. Maintenant, arrêtez
le système et redémarrez pour utiliser votre
nouveau noyau.
Si quelque chose se passe mal, il y a quelques instructions
de dépannage à
la fin de ce chapitre que vous pourrez trouver utiles. Assurez-vous de lire la section qui
explique comment revenir en arrière dans le cas où
votre nouveau noyau ne
démarre pas.Sous &os; 4.X et versions précédentes,
les noyaux sont installés sous le nom /kernel,
les modules dans /modules
et les anciens noyaux sont archivés en tant que
/kernel.old. Les autres fichiers
concernant le processus de démarrage, comme le chargeur
(&man.loader.8;) et la configuration du démarrage
sont conservés dans le
répertoire /boot.
Les modules tiers et personnalisés peuvent être
placés dans /boot/modules,
bien que les utilisateurs doivent être conscients
que garder ses modules synchronisés avec le noyau
compilé est très important.
Les modules qui ne sont pas destinés à fonctionner
avec le noyau compilé peuvent être instables et
- ne pas donner les resultats escomptés.
+ ne pas donner les résultats escomptés.
Si vous avez ajouté de nouveaux
périphériques (comme une carte son) et que vous utilisez FreeBSD 4.X ou une version antérieure, vous devrez peut
être rajouter des fichiers spéciaux de
périphériques dans votre répertoire
/dev avant de pouvoir les utiliser. Pour
plus d'informations, reportez-vous à la section Créer les fichiers
spéciaux de périphériques plus loin dans ce
chapitre.JoelDahlMis à jour pour &os; 5.X par Le fichier de configurationnoyauNOTESnoyauLINTNOTESLINTnoyaufichier de configurationLe format général du fichier de configuration
est assez simple. Chaque ligne est composée d'un
mot-clé et d'un ou plusieurs arguments. Pour simplifier,
la plupart des lignes ne contiennent qu'un seul argument.
Tout ce qui suit le caractère # est
considéré comme un commentaire et ignoré.
Les sections suivantes décrivent chaque mot-clé,
normalement dans l'ordre où ils apparaissent dans le fichier
GENERIC, quoique certains mots-clés
apparentés aient été regroupés
en une seule section (Réseau par exemple) bien qu'ils soient
en fait dispersés dans le fichier GENERIC.
Pour une liste exhaustive des
options et périphériques dépendants de
l'architecture utilisée, consultez le fichier
NOTES présent
dans le même répertoire que GENERIC.
Pour les options ne dépendant pas de l'architecture,
consultez le fichier
/usr/src/sys/conf/NOTES.Le fichier NOTES n'existe pas sous
&os; 4.X. Consultez à la place le fichier
LINT pour des explications
détaillées sur les options et les
périphériques présents dans le fichier
GENERIC. Le fichier
LINT a deux objectifs sous &os; 4.X:
fournir une référence pour choisir les options
du noyau quand on compile un noyau sur mesures, fournir une
configuration du noyau avec le plus d'options
paramétrables utilisant des valeurs différentes
de celles par défaut. La raison derrière cela
était qu'une telle configuration facilitait (et c'est
toujours le cas) grandement les choses quand il est question
de tester du code nouveau ou des modifications du code
existant qui peuvent être à l'origine de conflits
avec d'autres parties du noyau. L'organisation de la
configuration du noyau a cependant subit d'importants
changements sous la version 5.X; un exemple est le fait que
les options de paramétrage des pilotes aient
été déplacées dans un fichier
hints de manière à ce
qu'elles puissent être modifiées et
chargées dynamiquement au démarrage du
système, et le fichier LINT
pouvait ne plus contenir du tout ces options. Pour cela et
d'autres raisons, le fichier LINT a
été renommé en NOTES
et fut conservé principalement pour la première
raison à l'origine de son existence: documenter les
options disponibles à l'utilisateur.Sous &os; 5.X et les versions suivantes, vous pouvez
toujours générer un fichier LINT
compilable en tapant:&prompt.root; cd /usr/src/sys/i386/conf && make LINTnoyauexemple de fichier de configurationCe qui suit est un exemple de fichier de configuration du
noyau GENERIC avec divers commentaires aux
endroits nécessaires pour un peu plus de clarté.
Cet exemple devrait correspondre de façon très proche
à votre copie du fichier
/usr/src/sys/i386/conf/GENERIC.
#
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.ORG/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ../../conf/NOTES and NOTES files.
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
# $FreeBSD: /repoman/r/ncvs/src/sys/i386/conf/GENERIC,v 1.413 2004/08/11 01:34:18 rwatson Exp $Ce qui suit sont les mots-clés obligatoires requis dans
tous les noyaux que vous compilez:options du noyaumachinemachine i386C'est l'architecture de la machine. Elle doit être
alpha, amd64,
i386, ia64,
pc98, powerpc, ou encore
sparc64.options du noyaucpucpu I486_CPU
cpu I586_CPU
cpu I686_CPUCe qui précède définit le type de CPU
présent dans votre système. Il peut y avoir plusieurs
occurrences de la ligne CPU (si, par exemple, vous n'êtes pas sûr
de devoir utiliser I586_CPU
ou I686_CPU), cependant, pour un noyau
personnalisé, il est mieux de spécifier uniquement
le CPU que vous avez.
Si vous n'êtes pas sûr du type, vous pouvez lister
le fichier /var/run/dmesg.boot pour visualiser les
messages de démarrage.options du noyautype de cpuLe support I386_CPU est encore fourni
dans les sources de &os;, mais est désactivé
par défaut dans les branches -STABLE et -CURRENT. Cela
signifie que pour installer &os; sur un 386, vous avez
désormais les possibilités suivantes:Installer une vieille version de &os; et recompiler
à partir des sources comme décrit dans la
Compiler le système de base et le noyau sur une
machine plus récente et installer le tout sur le 386
en utilisant les fichiers pré-compilés du
répertoire /usr/obj
(voir la pour plus de
détails).Fabriquer votre propre version de &os; incluant le
support I386_CPU dans les noyaux
du CD-ROM d'installation.La première de ces options est probablement
la plus simple de toutes, mais vous aurez besoin de beaucoup
d'espace disque ce qui, sur une machine 386, peut
être difficile à trouver.options du noyauidentident GENERICC'est l'identification du noyau. Vous devriez changer cela
pour le nom, quel qu'il soit, que vous donnez à votre noyau,
par exemple MONNOYAU si vous avez suivi les
instructions des exemples précédents.
La valeur que vous donnez à la chaîne ident
s'affichera au démarrage du noyau, il est donc utile de donner
au nouveau noyau un nom différent si vous voulez le
différencier de votre noyau habituel (e.g., vous voulez compiler
un noyau expérimental).options du noyaumaxusersmaxusers nL'option maxusers définit la taille d'un
certain nombre de tables importantes du système. Ce nombre est
supposé être en gros égal au nombre d'utilisateurs
simultanés
que vous vous attendez à avoir sur votre machine.Depuis FreeBSD 4.5, le système auto-ajuste ce paramètre
pour vous si vous le fixez explicitement à
0L'algorithme d'auto-ajustement fixe
maxusers à une valeur égale
à la quantité de mémoire présente
sur le système, avec un minimum de 32 et un maximum de
384...
Sous &os; 5.X et versions suivantes, maxusers est par
défaut égal à 0
si rien n'est spécifié.
Si vous utilisez une version de &os;
antérieure à la 4.5, ou que vous désirez le
gérer par vous même, vous devrez fixer
maxusers à 4 au moins, en particulier si vous
utilisez le système X Window ou compilez des logiciels. La
raison de cela est que la valeur la plus importante que
dimensionne maxusers est le nombre maximal de
processus, qui est fixé à 20 + 16 *
maxusers, donc si vous positionnez
maxusers à 1, alors vous ne pouvez avoir que
36 processus en simultanés, comprenant les 18, environ, que le
système lance au démarrage et les 15, à
peu près, que vous créerez probablement au
démarrage du système X Window. Même une
tâche simple comme la lecture d'une page de manuel lancera
jusqu'à neuf processus pour la filtrer, la
décompresser, et l'afficher. Fixer maxusers
à 64 autorisera jusqu'à 1044 processus simultanés, ce
qui devrait suffire dans la plupart des cas. Si, toutefois,
vous obtenez le message d'erreur tant redouté proc
table full quand vous tentez d'exécuter un nouveau
programme, ou gérez un serveur avec un grand nombre
d'utilisateurs en simultanés (comme ftp.FreeBSD.org), vous pouvez toujours
augmenter cette valeur et recompiler le noyau.maxusers ne limite pas
le nombre d'utilisateurs qui pourront ouvrir une session sur
votre machine. Cette valeur dimensionne simplement
différentes tables à des valeurs raisonnables en fonction
du nombre maximal d'utilisateur que vous aurez vraisemblablement
sur votre système et combien de processus chacun d'entre eux
pourra utiliser. Un mot-clé qui limite
le nombre d'utilisateurs distants et de terminaux X en
simultané est pseudo-device pty
16. Avec &os; 5.X, vous n'avez pas
à vous soucier de ce nombre puisque le pilote
&man.pty.4; est capable d'auto-clonage, vous
devez donc utiliser la ligne device pty
dans votre fichier de configuration.# Floating point support - do not disable.
device npxnpx est sous FreeBSD l'interface avec le
- coprocesseur mathémathique, qu'il soit matériel
+ coprocesseur mathématique, qu'il soit matériel
ou émulé par logiciel. Cette option n'est
pas facultative.# Pseudo devices
device loop # Network loopbackC'est l'interface générique en boucle de TCP/IP.
Si vous employez telnet ou FTP sur localhost
(aussi connu en tant qu'adresse 127.0.0.1) la réponse vous parviendra via
ce pseudo-périphérique. Ceci est
obligatoire. Sous &os; 4.X, vous
devez utiliser la ligne pseudo-device
loop.Tout ce qui suit est plus ou moins optionnel. Voyez les
notes sous ou à côté de chaque
option pour plus d'information.#To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" #Default places to look for devices.Sous &os; 5.X et versions plus récentes
&man.device.hints.5; est utilisé pour configurer les
paramètres des pilotes de périphériques.
Le &man.loader.8; recherchera le fichier
/boot/device.hints au démarrage.
En utilisant l'option hints vous pouvez
compiler ces valeurs en statique dans votre noyau. Il
n'est alors pas utile de créer de fichier
device.hints dans
/boot.#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbolsLe processus normal de compilation de &os; n'inclus
pas d'information de débogage lors de la compilation
du noyau et retire la plupart des symboles une fois
que l'édition de liens du noyau résultant est
terminée, pour économiser de l'espace à
l'endroit où il va être installé.
Si vous avez l'intention de tester des noyaux dans la branche
-CURRENT ou effectuer des modifications personnelles sur
le noyau &os;, vous pourriez vouloir décommenter
cette ligne. Cela activera l'utilisation de l'option
qui autorisera les informations de
débogage quand le noyau sera passé à
&man.gcc.1;. La même chose peut être
accomplie par l'option de &man.config.8;,
si vous utilisez la méthode “traditionnelle”
pour la compilation de vos noyaux (Voir la pour plus
d'information).options SCHED_4BSD # 4BSD schedulerL'ordonnanceur (scheduler) traditionnel de
&os;. En fonction de la charge de travail de votre
système, vous pouvez gagner en performance en utilisant
le nouvel ordonnanceur ULE pour &os; qui a été
conçu tout spécialement pour les systèmes
SMP, mais il fonctionne également bien avec les
systèmes monoprocesseur. Si vous désirez le
tester, remplacez SCHED_4BSD par
SCHED_ULE dans votre fichier de
configuration.options INET #InterNETworkingSupport réseau. Conservez-le, même si vous
n'envisagez pas de vous connecter à un réseau.
La plupart des programmes utilisent le réseau “en
boucle” (i.e., établissent des connexions réseau
avec le PC lui-même), cette option est donc quasiment
obligatoire.options INET6 #IPv6 communications protocolsCeci active les protocoles de communication IPv6.options FFS #Berkeley Fast Filesystem C'est le système de fichiers de base sur disque dur.
Gardez ces options si vous démarrez depuis le disque
dur.options UFS_ACL #Support for access control listsCette option, uniquement présente sous &os; 5.X,
active le support des listes de contrôle d'accès
au système de fichiers (ACL).
Elles reposent sur l'utilisation
d'attributs étendus et d'UFS2,
cette fonctionnalité est décrite dans la . Les ACLs sont activées
par défaut, et leur support ne devraient pas être
retiré du noyau si elles ont été
précédemment utilisées sur un
système de fichiers, étant donné que cela
supprimera les listes de contrôle d'accès
changeant alors la façon dont sont protégés
les fichiers d'une manière imprévisible.options UFS_DIRHASH #Improve performance on big directoriesCette option inclut certaines fonctions pour accélérer les
opérations disque sur de gros répertoires,
aux dépens d'employer de la mémoire supplémentaire.
Vous conserverez normalement cela pour un gros serveur, ou une
station de travail très active, et vous l'enlèverez
si vous utilisez FreeBSD sur un petit système où
la mémoire prime et la vitesse d'accès disque est moins
importante, comme pour un coupe-feu.options SOFTUPDATES #Enable FFS Soft Updates supportCette option rajoutera le support des “Soft Updates”
dans le noyau, ce qui aidera l'accélération des
accès en écriture sur les disques.
Même quand cette fonction est fournit par le noyau, elle
doit être activée sur chaque disque.
Regardez le résultat de la
commande &man.mount.8; pour voir si les “Soft Updates” sont activées sur les disques de votre système.
Si vous ne voyez pas apparaître l'option
soft-updates alors vous devrez l'activer en
utilisant les commandes &man.tunefs.8; (pour les systèmes de fichiers existant) ou &man.newfs.8; (pour les nouveaux
systèmes de fichiers).options MD_ROOT #MD is a potential root deviceCette option active le support pour des disques virtuels en
mémoire utilisés comme périphérique
racine.options du noyauNFSoptions du noyauNFS_ROOToptions NFSCLIENT # Network Filesystem Client
options NFSSERVER # Network Filesystem Server
options NFS_ROOT # NFS usable as /, requires NFSCLIENTLe système de fichiers réseau. A moins que vous
n'envisagiez de monter des partitions d'un serveur de fichiers
&unix; par l'intermédiaire d'un réseau TCP/IP, vous pouvez
mettre en commentaire ces options.options du noyauMSDOSFSoptions MSDOSFS #MSDOS FilesystemLe système de fichiers &ms-dos;. A moins que vous
n'envisagiez de monter une partition DOS d'un disque dur au
démarrage, vous pouvez sans risque commenter cette option.
Le module sera automatiquement chargé la première
fois que vous monterez une partition DOS, comme décrit
plus haut. Par ailleurs, l'excellent logiciel
emulators/mtools
vous permet d'accéder à des disquettes DOS sans avoir
besoin de les monter (et ne requiert pas non plus
MSDOSFS).options CD9660 #ISO 9660 FilesystemLe système de fichiers ISO 9660 pour les CDROMs. Commentez
ces options si vous n'avez pas de lecteur de CDROM ou que vous
ne montez qu'occasionnellement des CDROMs (il sera chargé
dynamiquement dès que vous monterez un CDROM). Les CDROMs
audios n'ont pas besoin de ce système de fichiers.options PROCFS #Process filesystemLe système de fichiers pour les processus. C'est un
“pseudo-système” de fichiers monté sur
/proc qui permet à des programmes comme
&man.ps.1; de vous fournir plus d'informations sur les processus
qui tournent sur le système. Sous &os; 5.X et versions suivantes,
l'utilisation de PROCFS n'est pas
nécessaire la plupart du temps, comme la majeur partie
des outils de débogage et de monitoring ont
été adaptés pour s'exécuter sans
PROCFS: contrairement à &os; 4.X, les
nouvelles installations de &os; 5.X ne monteront pas par le
défaut le système de fichiers virtuel des processus.
De plus, les noyaux
&os; 6.X-CURRENT faisant usage de l'option PROCFS
doivent maintenant inclure le support
PSEUDOFS:options PSEUDOFS #Pseudo-filesystem frameworkL'option PSEUDOFS n'est pas disponible
sous &os; 4.X.options GEOM_GPT # GUID Partition Tables.Cette option apporte la possibilité d'avoir un grand nombre
de partitions sur un seul disque.options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]Compatibilité avec 4.3BSD. Conservez cette option; certains
programmes auront un comportement bizarre si vous la
commentez.options COMPAT_FREEBSD4 #Compatible with FreeBSD4Cette option est nécessaires aux systèmes
&i386; et Alpha fonctionnant sous &os; 5.X pour supporter
les applications compilées sur d'anciennes version de &os;
qui utilisent d'anciennes interfaces d'appel système.
Il est recommandé d'utiliser cette option sur tous
les systèmes &i386; et Alpha susceptibles d'exécuter
d'anciennes applications; les plateformes apparues sous &os; 5.0,
comme l'ia64 et &sparc64;, n'ont pas besoin de cette
option.options SCSI_DELAY=15000 #Delay (in ms) before probing SCSICette option oblige le noyau à attendre 15 secondes avant
de rechercher les périphériques SCSI présents
sur votre système. Si vous n'avez que des disques IDE,
vous pouvez l'ignorer, sinon vous voudrez peut-être
diminuer cette valeur, éventuellement à 5 secondes,
pour accélérer le démarrage du système.
Bien sûr, si vous le faites, et que FreeBSD a du mal à
reconnaître vos périphériques SCSI, vous
devrez l'augmenter à nouveau.options KTRACE #ktrace(1) supportCeci permet de tracer le processus du noyau, ce qui est
utile pour le débogage.options SYSVSHM #SYSV-style shared memoryCette option implémente la mémoire
partagée System V. L'usage le plus courant qui en est fait est
l'extension XSHM d'X, dont de nombreux logiciels gourmants en
graphique tireront automatiquement parti pour fonctionner plus
vite. Si vous utilisez X, vous utiliserez absolument cette
option.options SYSVSEM #SYSV-style semaphoresSupport des sémaphores System V. D'un usage moins courant,
mais n'augmente la taille du noyau que de quelques centaines
d'octets.options SYSVMSG #SYSV-style message queuesSupport des messages System V. Encore une fois, cette option
n'augmente que de quelques centaines d'octets la taille du
noyau.L'option de la commande &man.ipcs.1; donnera la liste des processus
utilisant chacun de ces mécanismes System V.options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensionsExtensions temps-réel ajoutées dans la norme
&posix; 1993. Certaines applications du catalogue des logiciels
portés les utilisent (comme
&staroffice;).options KBD_INSTALL_CDEV # install a CDEV entry in /devCette option concerne le clavier. Elle installe une
entrée CDEV dans le répertoire
/dev.options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~128k to driver.
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~215k to driver.
- Ceci aide le déboguage en affichant l'état des
+ Ceci aide le débogage en affichant l'état des
registres de manière plus simple à lire.options ADAPTIVE_GIANT # Giant mutex is adaptive.Giant est le nom d'un mécanisme
d'exclusion mutuelle (un mutex dormant) qui
protège l'accès à un ensemble important de
ressources du noyau. Aujourd'hui c'est un goulot
d'étranglement des performances inacceptable que l'on est
en train de remplacer activement par des verrous qui
protègent les ressources individuelles. L'option
ADAPTIVE_GIANT permet à Giant
d'être inclus dans l'ensemble des mutex lancés de
manière adaptative. C'est à dire, quand un thread
désire verrouiller le mutex Giant, mais que ce dernier
est déjà verrouillé par un thread sur un
autre CPU, le premier thread continuera à fonctionner et
attendra la libération du verrou. Normalement, le thread
retournera à l'état dormant et attendra une
nouvelle chance de pouvoir s'exécuter. Si vous
n'êtes pas sûr, laissez la configuration en
l'état.options du noyauSMPdevice apic # I/O APICLe périphérique apic active l'utilisation de
l'E/S APIC pour l'acheminement des interruptions. Le
périphérique apic peut être utilisé
dans les noyaux UP (monoprocesseur) et SMP, mais est requis pour
les noyaux SMP. Ajoutez options SMP pour
inclure le support pour plusieurs processeurs.device isaTous les PCs supportés par FreeBSD ont un contrôleur
ISA. Ne supprimez pas cette ligne même si vous ne disposez pas
de slot ISA. Si vous avez un système IBM PS/2 (Micro Channel Architecture),
FreeBSD fournit un support limité pour l'instant. Pour plus
d'informations au sujet du support MC, voir le fichier
/usr/src/sys/i386/conf/NOTES.device eisaRajoutez cela si vous avez une carte mère EISA.
Cela permet l'auto-détection et la configuration de tous les
périphériques présents sur le bus
EISA.device pciAjoutez cette option si vous avez une carte mère PCI.
Cela permet l'auto-détection des cartes PCI et gère
l'interface entre les bus PCI et ISA.device agpAjoutez cette option si vous avez une carte AGP dans votre
système. Cela activera le support AGP, et l'AGP GART pour
les cartes qui ont cette fonction.# Floppy drives
device fdcC'est le contrôleur de lecteur de disquettes.# ATA and ATAPI devices
device ataCe pilote supporte tous les périphériques
ATA et ATAPI. Vous n'avez besoin que d'une seule ligne
device ata pour que le noyau détecte tous les
périphériques PCI ATA/ATAPI sur les machines
modernes.device atadisk # ATA disk drivesCeci est requis avec device ata pour les
disques ATA.device ataraid # ATA RAID drivesCeci est nécessaire avec device
ata pour les disques RAID ATA.
device atapicd # ATAPI CDROM drivesCeci est nécessaire avec device ata
pour le support des lecteurs de CDROM ATAPI.device atapifd # ATAPI floppy drivesCeci est nécessaire avec device ata
pour le support des lecteurs de disquettes ATAPI.device atapist # ATAPI tape drivesCeci est nécessaire avec device ata
pour le support des lecteurs de bande ATAPI.options ATA_STATIC_ID #Static device numberingCela rend la numérotation des périphériques
statique, sans cela l'allocation des numéros de
périphériques sera dynamique.# SCSI Controllers
device ahb # EISA AHA1742 family
device ahc # AHA2940 and onboard AIC7xxx devices
device ahd # AHA39320/29320 and onboard AIC79xx devices
device amd # AMD 53C974 (Teckram DC-390(T))
device isp # Qlogic family
device mpt # LSI-Logic MPT-Fusion
#device ncr # NCR/Symbios Logic
device sym # NCR/Symbios Logic (newer chipsets)
device trm # Tekram DC395U/UW/F DC315U adapters
device adv # Advansys SCSI adapters
device adw # Advansys wide SCSI adapters
device aha # Adaptec 154x SCSI adapters
device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
device bt # Buslogic/Mylex MultiMaster SCSI adapters
device ncv # NCR 53C500
device nsp # Workbit Ninja SCSI-3
device stg # TMC 18C30/18C50Contrôleurs SCSI. Mettez en commentaires ceux que vous
n'avez pas sur votre système. Si vous n'avez qu'un
système IDE, vous pouvez supprimer toutes ces lignes.# SCSI peripherals
device scbus # SCSI bus (required for SCSI)
device ch # SCSI media changers
device da # Direct Access (disks)
device sa # Sequential Access (tape etc)
device cd # CD
device pass # Passthrough device (direct SCSI access)
device ses # SCSI Environmental Services (and SAF-TE)Périphériques SCSI. A nouveau, mettez en
commentaires tous ceux que vous n'avez pas, ou si vous n'avez
que du matériel IDE, vous pouvez tous les supprimer.Le pilote USB &man.umass.4; et quelques autres pilotes
utilisent le sous-système SCSI même si ce ne sont
pas de véritables périphériques SCSI. Par
conséquent assurez-vous de ne pas retirer le support SCSI
si un tel pilote fait partie de la configuration du
noyau.# RAID controllers interfaced to the SCSI subsystem
device amr # AMI MegaRAID
device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
device ciss # Compaq Smart RAID 5*
device dpt # DPT Smartcache III, IV - See NOTES for options
device hptmv # Highpoint RocketRAID 182x
device iir # Intel Integrated RAID
device ips # IBM (Adaptec) ServeRAID
device mly # Mylex AcceleRAID/eXtremeRAID
device twa # 3ware 9000 series PATA/SATA RAID
# RAID controllers
device aac # Adaptec FSA RAID
device aacp # SCSI passthrough for aac (requires CAM)
device ida # Compaq Smart RAID
device mlx # Mylex DAC960 family
device pst # Promise Supertrak SX6000
device twe # 3ware ATA RAIDContrôleurs RAID supportés. Si vous n'avez aucun de ces
derniers dans votre système, vous pouvez les mettre
en commentaires ou les supprimer.# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controllerLe contrôleur du clavier (atkbdc) permet
de gérer les E/S du clavier AT et des
périphériques de pointage PS/2. Ce contrôleur
est nécessaire au pilote de périphérique
du clavier (atkbd) et celui des
périphériques de pointage PS/2
(psm).device atkbd # AT keyboardLe pilote de périphérique atkbd,
associé au contrôleur atkbdc, fournit
un accès au clavier AT 84 touches ou au clavier AT étendu qui
est connecté au contrôleur de clavier de la machine.device psm # PS/2 mouseUtilisez ce périphérique si votre souris se
branche sur le port PS/2.device vga # VGA video card driverPilote de la carte graphique.# splash screen/screen saver
device splash # Splash screen and screen saver supportEcran/bannière de démarrage. Les
économiseurs d'écran ont également
besoin de ce pseudo-périphérique. Utilisez
la ligne pseudo-device splash avec
&os; 4.X.# syscons is the default console driver, resembling an SCO console
device scsc est le pilote par défaut pour la
console, qui ressemble à une console SCO. Comme la plupart
des programmes en mode plein-écran accèdent
à la console par l'intermédiaire d'une base de
données
de description des terminaux comme termcap,
cela n'a guère d'importance que vous choisissiez ce pilote
ou vt, le pilote compatible
VT220. Quand vous ouvrez une session,
positionnez votre variable d'environnement TERM à
scoansi si vous avez des problèmes pour
utiliser des programmes en mode plein-écran avec cette
console.# Enable this for the pcvt (VT220 compatible) console driver
#device vt
#options XSERVER # support for X server on a vt console
#options FAT_CURSOR # start with block cursorC'est le pilote de console compatible VT220, et,
rétrospectivement, compatible VT100/102. Il fonctionne
bien sur certains ordinateurs portables qui sont matériellement
incompatibles avec le pilote sc. Comme
précédemment, positionnez la variable d'environnement
TERM lorsque que vous ouvrez une session,
mais cette fois-ci à vt100 ou
vt220. Ce pilote peut aussi s'avérer
utile quand vous vous connectez à un grand nombre de
machines différentes par le réseau sur lesquelles
les entrées pour le périphérique
sc ne sont souvent pas définies dans
leurs fichiers termcap ou
terminfo — alors que le terminal
vt100 devrait être disponible sur
pratiquement toutes les plates-formes.# Power management support (see NOTES for more options)
device apm“Advanced Power Management support” - gestion
avancée de l'énergie. Utile pour les ordinateurs
portables, ceci est cependant désactivé par
défaut dans le noyau GENERIC sous
&os; 5.X et versions suivantes
# Add suspend/resume support for the i8254.
device pmtimerPilote du périphérique de gestion du temps pour
les événements de la gestion de l'énergie, comme l'APM ou
l'ACPI.# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
device cbb # cardbus (yenta) bridge
device pccard # PC Card (16-bit) bus
device cardbus # CardBus (32-bit) busSupport PCMCIA. Vous en avez besoin si vous utilisez un
ordinateur portable.# Serial (COM) ports
device sio # 8250, 16[45]50 based serial portsCela représente les ports séries, appelés
ports COM dans le monde &ms-dos;/&windows;.Si vous avez un modem interne sur le port COM4 et un port
série COM2, vous devrez changer l'IRQ du modem en 2 (pour
d'obscures raisons techniques, IRQ 2 = IRQ 9) pour y accéder
avec FreeBSD. Si vous avez une carte série multi-ports,
consultez la page de manuel de &man.sio.4; pour plus
d'informations sur les bonnes valeurs à ajouter à votre
fichier /boot/device.hints.
Certaines cartes vidéo (notamment celle à base de
circuits S3) utilisent des adresses d'E/S sous la forme
0x*2e8, et comme de nombreuses cartes
séries bon marché de décodent pas
complètement l'espace d'adresse d'E/S 16 bits, il y a
aura des conflits avec ces cartes, rendant le port
COM4
pratiquement inutilisable.Chaque port série doit avoir une IRQ unique (à
moins que vous n'utilisiez une carte multi-ports qui autorise
le partage d'interruption), donc les IRQs par défaut pour
les ports COM3 et COM4 ne peuvent être
utilisées.# Parallel port
device ppcC'est l'interface parallèle du bus ISA.device ppbus # Parallel port bus (required)Fournit le support pour le bus du port parallèle.device lpt # PrinterSupport pour les imprimantes parallèles.Les trois lignes précédentes sont
nécessaires pour permettre le support des imprimantes
parallèles.device plip # TCP/IP over parallelC'est le pilote pour l'interface réseau sur port
parallèle.device ppi # Parallel port interface devicePort d'E/S d'usage général (“geek
port”) + port d'E/S IEEE1284.#device vpo # Requires scbus and dalecteur zipCeci est pour le lecteur Zip de Iomega. Les options
scbus et da sont
également requises. Les meilleures performances sont
obtenues avec les ports configurés dans le mode EPP 1.9.#device pucDécommentez ce périphérique si vous
disposez d'une carte PCI série ou parallèle
idiote qui est supportée par le pilote
&man.puc.4;.# PCI Ethernet NICs.
device de # DEC/Intel DC21x4x (Tulip)
device em # Intel PRO/1000 adapter Gigabit Ethernet Card
device ixgb # Intel PRO/10GbE Ethernet Card
device txp # 3Com 3cR990 (Typhoon)
device vx # 3Com 3c590, 3c595 (Vortex)Divers pilotes de cartes réseaux PCI. Mettez en
commentaires ou supprimer les lignes de celles qui ne sont pas
présentes sur votre système.# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device miibus # MII bus supportLe support du bus MII est nécessaire pour certaines
cartes Ethernet PCI 10/100, à savoir celles qui utilisent des
interfaces compatibles MII ou implémentent une gestion de
l'interface opérant comme le bus MII. Ajouter
device miibus à la configuration du noyau
intègre le support pour l'API miibus générique et
tous les pilotes d'interfaces PHY, incluant un pilote
générique pour les interfaces PHYs qui ne sont pas
spécifiquements gérées par un
pilote individuel.device dc # DEC/Intel 21143 and various workalikes
device miibus # MII bus support
device bfe # Broadcom BCM440x 10/100 Ethernet
device bge # Broadcom BCM570xx Gigabit Ethernet
device dc # DEC/Intel 21143 and various workalikes
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
device re # RealTek 8139C+/8169/8169S/8110S
device rl # RealTek 8129/8139
device sf # Adaptec AIC-6915 (Starfire)
device sis # Silicon Integrated Systems SiS 900/SiS 7016
device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet
device ste # Sundance ST201 (D-Link DFE-550TX)
device ti # Alteon Networks Tigon I/II gigabit Ethernet
device tl # Texas Instruments ThunderLAN
device tx # SMC EtherPower II (83c170 EPIC)
device vr # VIA Rhine, Rhine II
device wb # Winbond W89C840F
device xl # 3Com 3c90x (Boomerang, Cyclone)Pilotes qui utilisent le code du contrôleur du bus
MII.# ISA Ethernet NICs. pccard NICs included.
device cs # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards
device ex # Intel EtherExpress Pro/10 and Pro/10+
device ep # Etherlink III based cards
device fe # Fujitsu MB8696x based cards
device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc.
device lnc # NE2100, NE32-VL Lance Ethernet cards
device sn # SMC's 9000 series of Ethernet chips
device xe # Xircom pccard Ethernet
# ISA devices that use the old ISA shims
#device lePilotes pour les cartes Ethernet ISA. Consultez le fichier
/usr/src/sys/i386/conf/NOTES pour savoir
quelles cartes sont supportées et par quel pilote.# Wireless NIC cards
device wlan # 802.11 support
device an # Aironet 4500/4800 802.11 wireless NICs.
device awi # BayStack 660 and others
device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device wl # Older non 802.11 Wavelan wireless NIC.Support pour diverses cartes réseau sans fil.device mem # Memory and kernel memory devicesLes périphériques mémoire
système.device io # I/O deviceCette option autorise à un processus d'obtenir les
permissions d'E/S. Ceci est utile pour l'écriture de
- programmes en mode utilisateur pouvant gerer directement le
+ programmes en mode utilisateur pouvant gérer directement le
matériel. Ceci est nécessaire pour
exécuter le système X Window.device random # Entropy deviceGénérateur de nombres aléatoire
sécurisé pour les applications de
chiffrement.device ether # Ethernet supportether ne sert que si vous avez une carte
Ethernet. Cela intègre le code générique
pour le protocole Ethernet. Sous &os; 4.X, utilisez
la ligne pseudo-device ether.device sl # Kernel SLIPsl est le support pour le protocole SLIP.
Il a été presque entièrement supplanté
par le protocole PPP, plus facile à mettre en oeuvre, mieux
adapté aux connexions par modem, et aussi plus puissant.
Avec &os; 4.X,
utilisez la ligne pseudo-device sl.device ppp # Kernel PPPC'est le support intégré au noyau du protocole PPP
pour les connexions par modem. Il y a aussi une version de PPP
sous forme de programme utilisateur qui utilise
tun et offre plus de souplesse et de
possibilités comme la connexion à la demande.
Avec &os; 4.X ,
utilisez la ligne pseudo-device ppp.device tun # Packet tunnel.Ceci est utilisé par le programme PPP en mode
utilisateur.
Voyez la section PPP de ce manuel pour plus
d'informations. Avec &os; 4.X, utilisez la ligne
pseudo-device tun.
device pty # Pseudo-ttys (telnet etc)C'est un “pseudo-terminal” ou un port simulant
une session. Il est utilisé par les sessions
telnet et rlogin
entrantes, par xterm, et d'autres
applications comme Emacs.Sous
&os; 4.X, vous devez utiliser la ligne
pseudo-device pty
nombre.
Le nombre après
pty indique le nombre de
ptys à créer.
Si vous avez besoin de plus que les 16
fenêtres xterm et/ou connexions
à distance simultanées par défaut, veillez
à augmenter ce nombre en conséquence, jusqu'à
un maximum de 256.device md # Memory disksPseudo-périphérique de disque
mémoire. Avec &os; 4.X, utilisez la ligne
pseudo-device md.device gif # IPv6 and IPv4 tunnelingCeci implémente l'encapsulation du protocole IPv6 par
dessus l'IPv4, l'IPv4 par dessus l'IPv6, l'encapsulation IPv4
par dessus l'IPv4, et IPv6 par dessus IPv6. Avec FreeBSD 4.4 le
périphérique gif
“s'auto-duplique” et vous devriez utiliser la
ligne pseudo-device gif). Les versions
antérieures de &os; 4.X nécessitent un
nombre, par exemple pseudo-device gif
4.device faith # IPv6-to-IPv4 relaying (translation)Ce pseudo-périphérique capture les paquets qui lui sont
envoyés et les détourne vers le “daemon” de
translation IPv4/IPv6. Avec &os; 4.X, utilisez la ligne
pseudo-device faith 1.# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
device bpf # Berkeley packet filterC'est le filtre de paquets de Berkeley. Ce
pseudo-périphérique permet de placer les interfaces
en mode “promiscuous” (indiscret), pour capturer
chaque paquet sur réseau de diffusion (e.g., un réseau
Ethernet). Ces paquets peuvent être enregistrés sur
le disque et/ou examinés avec le programme
&man.tcpdump.1;. Avec &os; 4.X, utilisez la ligne
pseudo-device bpf.Le périphérique &man.bpf.4;
est également utilisé par &man.dhclient.8; pour
obtenir une adresse IP du routeur par défaut (passerelle) et
ainsi de suite. Si vous utilisez DHCP, conservez cette ligne
non commentée.# USB support
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device usb # USB Bus (required)
#device udbp # USB Double Bulk Pipe devices
device ugen # Generic
device uhid # Human Interface Devices
device ukbd # Keyboard
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
device urio # Diamond Rio 500 MP3 player
device uscanner # Scanners
# USB Ethernet, requires mii
device aue # ADMtek USB Ethernet
device axe # ASIX Electronics USB Ethernet
device cue # CATC USB Ethernet
device kue # Kawasaki LSI USB Ethernet
device rue # RealTek RTL8150 USB EthernetSupport pour divers périphériques USB.# FireWire support
device firewire # FireWire bus code
device sbp # SCSI over FireWire (Requires scbus and da)
device fwe # Ethernet over FireWire (non-standard!)Support pour divers périphériques
Firewire.Pour plus d'informations et pour avoir la liste de
périphériques supplémentaires supportés par
FreeBSD, voyez le fichier
/usr/src/sys/i386/conf/NOTES.Configurations mémoire importantes
(PAE)
Extensions d'adressage physique—“Physical
Address Extensions” (PAE)
Configurations mémoire importantes
Les machines à configuration mémoire
importante ont besoin de pouvoir accéder à plus
d'espace mémoire utilisateur et noyau que la limite des
4 gigaoctets de l'espace d'adresse noyau+utilisateur
(“Kernel Virtual
Address”—KVA). En raison de
cette limite, Intel a ajouté le support d'adresses
physiques sur 36 bits pour l'espace d'adresses dans les
familles de microprocesseurs &pentium; Pro et
suivantes.L'extension de l'adressage physique&mdash,“Physical
Address Extension” (PAE) est une
caractéristique des microprocesseurs &intel; &pentium;
Pro et suivants autorisant les configurations mémoires
jusqu'à 64 gigaoctets. &os; fournit un support pour
cette caratéristique via l'option de configuration du
noyau , disponible sous les version 4.X de
&os; depuis la 4.9-RELEASE et sous &os; 5.X depuis la
5.1-RELEASE. En raison des limitations de l'architecture
mémoire &intel;, aucune distinction n'est faite entre
la mémoire au-dessus et en-dessous de 4 gigaoctets. La
mémoire allouée au-dessus de 4 gigaoctets est
simplement ajoutée à l'ensemble de la
mémoire disponible.Pour activer le support PAE dans le
noyau, ajoutez simplement la ligne suivante dans votre fichier
de configuration du noyau:options PAELe support PAE sous &os; est
uniquement disponible pour les processeurs IA-32
d'&intel;. Il doit être noté que le support
PAE sous &os; n'a pas été
énormément testé, et devrait être
considéré comme bêta comparé aux
autres fonctionnalités stables de &os;.Le support PAE sous &os; a quelques
limitations:Un processus est incapable d'accéder à
plus de 4 gigaoctets d'espace mémoire.Les modules KLD ne peuvent
être chargés dans un noyau avec
PAE activé, en raison des
différences entre la structure d'un module et du
noyau.Les pilotes de périphériques qui
n'utilisent pas l'interface &man.bus.dma.9;
seront à l'origine de corruption de données
avec un noyau PAE et ne sont pas
recommandés. Pour cette raison, le fichier de
configuration du noyau avec support
PAE qui est fourni avec
&os; 5.X exclut tous les pilotes connus
pour ne pas fonctionner avec un noyau avec support
PAE.Certains paramètres modifiables du
système déterminent l'utilisation des
ressources mémoire par la quantité de la
mémoire physique disponible. De tels
paramètres peuvent être inutilement
sur-alloués en raison de la grande quantité de
mémoire d'un système PAE.
Un bon exemple est le “sysctl”
, qui contrôle le
nombre maximal de “vnodes” alloués par le
noyau. Il est recommandé d'ajuster ce dernier et les
autres paramètres du même genre à des
valeurs raisonnables.Il pourra être nécessaire d'augmenter l'espace
d'adressage virtuel du noyau (“kernel virtual
address”—KVA) ou de
réduire le montant de la ressource spécifique
du noyau qui est fortement utilisée (voir plus haut)
afin d'éviter l'épuisement de l'espace
KVA. L'option du noyau
peut être employée
pour augmenter l'espace KVA.Pour des considérations de performance et de
stabilité, il est recommandé de consulter la
page de manuel &man.tuning.7;. La page de manuel
&man.pae.4; contient des informations à jour
sur le support PAE sous &os;.Créer les fichiers spéciaux de
périphériquesfichiers spéciaux de
périphériquesMAKEDEVSi vous utilisez FreeBSD 5.0 ou une version
ultérieure, vous pouvez sans risque passer cette
section. Ces versions utilisent &man.devfs.5; pour
allouer les fichiers spéciaux de
périphérique de façon transparente
pour l'utilisateur.A pratiquement chaque périphérique
correspond un “noeud” (ou fichier spécial de
périphérique) dans le répertoire
/dev.
Ces fichiers spéciaux ressemblent à des fichiers
ordinaires, mais sont en fait des points d'entrée particuliers
dans le noyau que les programmes utilisent pour accéder aux
périphériques. La procédure
/dev/MAKEDEV, qui est exécutée
à la première installation du
système d'exploitation, crée la plupart des fichiers
spéciaux de périphériques supportés.
Cependant, elle ne les crée pas tous,
donc quand vous ajoutez le support pour un nouveau
périphérique, cela vaut la peine de
vérifier que les entrées adéquates
sont dans ce répertoire , et sinon, ajoutez-les.
Voici un exemple simple:Supposons que vous ajoutez au noyau le support du lecteur de
CD-ROMs IDE. La ligne pour l'ajouter est:device acd0Cela signifie que vous devrez chercher des entrées
commençant par acd0 dans le répertoire
/dev, éventuellement suivies par une lettre,
comme c,, ou précédées
par la lettre r, qui désigne un
périphérique en mode caractère - “raw”.
S'il s'avère que ces fichiers n'existent pas, vous devez
vous rendre dans le répertoire /dev
et taper:MAKEDEV&prompt.root; sh MAKEDEV acd0Quand la procédure s'achève, vous trouverez qu'il
y a désormais des entrées acd0c
et racd0c dans /dev,
ce qui confirme qu'elle a bien fonctionné.Pour les cartes sons, la commande suivante crée les
entrées adéquates:&prompt.root; sh MAKEDEV snd0Quand vous créez des noeuds pour les
périphériques comme les cartes sons, si d'autres
personnes ont accès à votre machine, il est peut
être
souhaitable de protéger ces périphériques
d'un accès depuis l'extérieur en les ajoutant au
fichier /etc/fbtab. Voir la page de manuel
&man.fbtab.5; pour plus d'informations.Suivez cette simple procédure pour tous les autres
périphériques absents du noyau
GENERIC pour lesquels les entrées
n'existent pas encore.Tous les contrôleurs SCSI utilisent le même
ensemble d'entrées dans /dev, vous n'avez
donc pas besoin de les créer. Egalement, les cartes
réseaux et les pseudo-périphériques SLIP/PPP
n'ont pas d'entrées dans /dev, vous
n'avez donc pas à vous en préoccuper.Si quelque chose se passe malIl y a cinq types de problèmes qui peuvent survenir lors de
la compilation d'un noyau sur mesure. Ce sont:La commande config échoue:Si la commande &man.config.8; échoue quand
vous lui passez en paramètre la description de votre
noyau, vous avez probablement fait une simple erreur
quelque part. Heureusement &man.config.8;
affichera le numéro de la ligne qui lui a posé
problème, vous pouvez donc localiser rapidement la
ligne contenant l'erreur. Par exemple, si vous avez:config: line 17: syntax errorVérifiez que la ligne est
correctement écrite, en le comparant avec le noyau
GENERIC ou une autre
référence.La commande make échoue:Si la commande make échoue,
cela signale habituellement une erreur dans la description
de votre noyau, mais qui n'est pas suffisamment sérieuse pour que
la commande &man.config.8; la détecte.
A nouveau, vérifiez votre fichier de configuration, et si
vous n'arrivez toujours pas à résoudre le
problème, envoyez un courrier électronique à la
&a.questions; en joignant votre fichier de configuration
du noyau, le diagnostic devrait être rapide.L'installation du nouveau noyau échoue:Si le noyau se compile sans problème, mais ne peut
être installé (la commande make
install ou make installkernel
échoue), la première chose à vérifier
est si votre système fonctionne à un niveau de
sécurité égal à 1 ou
supérieur (voir &man.init.8;). L'installation
du noyau tente de retirer le drapeau rendant votre
noyau actuel immuable et positionner ce drapeau sur le
nouveau noyau. Comme le niveau de sécurité 1
et supérieur empêche de modifier l'état
immuable d'un fichier du système, l'installation du noyau
doit être effectuée au niveau de
sécurité 0 ou inférieur.Ce qui précède ne s'applique qu'à
&os; 4.X et les versions précédentes.
&os; 5.X, tout comme les versions suivantes, ne
positionne pas le drapeau immuable sur le noyau et un
échec d'installation du noyau indiquera
probablement un problème plus important.Le noyau ne démarre pas:Si votre nouveau noyau ne démarre pas, ou ne
reconnaît pas vos périphériques,
ne paniquez pas! Heureusement, FreeBSD dispose d'un
excellent mécanisme pour récupérer si le
noyau ne fonctionne pas. Sélectionnez simplement le noyau,
à partir duquel vous désirez démarrer,
à l'invite du chargeur de FreeBSD. Vous pouvez y
accéder quand le système décompte à
- partir de 10 au menu de démarrage. Au lieu de d'appuyez sur
+ partir de 10 au menu de démarrage. Au lieu de d'appuyer sur
Entrée, appuyez sur une autre touche,
puis tapez unload et ensuite
boot /boot/kernel.old/kernel,
ou le nom de fichier d'un autre noyau qui pourra démarrer
proprement. Quand on reconfigure un noyau, il est
toujours bon de conserver à portée de la main un
noyau dont on sait qu'il fonctionne.Après avoir démarré avec un
noyau en état de marche, vous pouvez revérifier votre
fichier de configuration et essayer de recompiler à
nouveau votre noyau. Une ressource utile est le fichier
/var/log/messages qui enregistre,
entre autres, tous les messages du noyau à chaque
démarrage réussi. En outre, la commande
&man.dmesg.8; affichera les messages du noyau pour le
dernier démarrage.Si vous avez des difficultés à compiler
un noyau, veillez à conserver un noyau
GENERIC, ou un autre noyau dont
vous savez qu'il fonctionne, sous la main, avec un nom
différent de sorte qu'il ne soit pas
écrasé à la prochaine compilation.
Vous ne pouvez pas faire confiance au noyau
kernel.old parce qu'en installant
un nouveau noyau, kernel.old est
remplacé par le dernier noyau installé dont
il n'est pas certain qu'il soit opérationnel. Aussi,
dès que possible, déplacez le noyau
opérationnel vers le
bon emplacement /boot/kernel où des commandes
comme &man.ps.1; pourront ne pas fonctionner correctement.
Pour cela, renommez le répertoire contenant le bon
noyau:&prompt.root; mv /boot/kernel /boot/kernel.bad
&prompt.root; mv /boot/kernel.good /boot/kernelPour les versions de &os; antérieure à
5.X, la commande correcte pour
déverrouiller un
noyau installé par make (pour mettre
définitivement en place un autre noyau) est:&prompt.root; chflags noschg /kernelSi vous vous apercevez que vous ne pouvez pas
effectuer cette opération, c'est que vous êtes
probablement sous un “&man.securelevel.8;”
supérieur à zéro. Editez la ligne
kern_securelevel dans
/etc/rc.conf et positionnez-la à
-1, puis redémarrez. Vous pouvez
repositionner l'ancienne valeur si vous êtes satisfait
de votre nouveau noyau.Et, si vous voulez “verrouiller” votre
nouveau noyau, ou tout autre fichier, de sorte qu'il ne
puisse être déplacé ou modifié,
utilisez:&prompt.root; chflags schg /kernelLe noyau est opérationnel, mais la commande
ps ne fonctionne plus du tout:Si vous avez installé une version du noyau
différente de celle avec laquelle ont
été compilés les utilitaires système,
par exemple, un noyau
5.X sur un système 4.X, de nombreuses commandes
d'affichage de l'état du système comme
&man.ps.1; and &man.vmstat.8; ne fonctionneront plus.
Vous devrez recompiler et
installer un système avec la même
version de l'arborescence des sources de celle
utilisée pour votre noyau.
C'est une des raisons pour lesquelles il n'est pas
judicieux d'utiliser des versions différentes du noyau et
du reste du système d'exploitation.
diff --git a/fr_FR.ISO8859-1/books/handbook/linuxemu/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/linuxemu/chapter.sgml
index f4ad79b60d..8ccfd039cc 100644
--- a/fr_FR.ISO8859-1/books/handbook/linuxemu/chapter.sgml
+++ b/fr_FR.ISO8859-1/books/handbook/linuxemu/chapter.sgml
@@ -1,3930 +1,3930 @@
JimMockRestructuré et en partie mis à jour
par Brian N.HandyContribution originelle de RichMurpheyCompatibilité binaire avec Linux
&trans.a.fonvieille;
Synopsiscompatibilité binaire avec Linuxcompatibilité binaireLinux&os; fournit une compatibilité binaire avec plusieurs autres
systèmes d'exploitation du type &unix;, y compris Linux.
A ce point, vous devez vous demander pourquoi exactement
&os; a besoin d'être capable d'exécuter des binaires Linux?
La réponse à cette question est très simple. De
nombreuses entreprises et de nombreux développeurs ne
développent que pour Linux, puisque que c'est la dernière
chose “à la mode” dans le monde de l'informatique.
Cela ne laisse aux utilisateurs de &os; que la possibilité
de réclamer auprès des ces mêmes entreprises
et développeurs des versions native pour &os; de leurs
applications. Le problème est, que la plupart de ces
entreprises ne réalisent pas vraiment combien de personnes
utiliseraient leur produit si il y aurait une version pour &os;
également, et la plupart continuent de développer uniquement
pour Linux. Donc que doit faire un utilisateur de &os;?
C'est là que la compatibilité binaire avec Linux entre en
scène.En bref, la compatibilité permet aux utilisateurs de
&os; d'exécuter environ 90% des applications Linux
sans aucune modification. Cela inclus des applications
comme &staroffice;,
la version Linux de &netscape;,
&adobe; &acrobat;,
RealPlayer,
VMware,
&oracle;,
WordPerfect, Doom,
Quake, et plus. On rapporte
également que dans certaines situations, les binaires Linux
sont plus performants sous &os; que sous Linux.Il existe cependant certaines caractéristiques
spécifiques à Linux qui ne sont pas
supportées sous &os;. Les binaires Linux ne
fonctionneront pas sous &os; s'ils utilisent massivement
des appels
&i386; spécifiques, comme activation du mode virtuel
8086.Après la lecture de ce chapitre, vous connaîtrez:Comment activer la compatibilité binaire avec
Linux sur votre système.Comment installer des bibliothèques partagées Linux
supplémentaires.Comment installer des application Linux sur votre
système &os;.Les détails de l'implémentation de la
compatibilité Linux sous &os;.Avant de lire ce chapitre, vous devrez:Savoir comment installer des logiciels tiers
().InstallationKLD (kernel loadable object)La compatibilité binaire avec Linux n'est pas
activée par défaut. La manière la plus simple
pour activer cette fonctionnalité est de charger le KLD
linux (Kernel LoaDable
object—objet chargeable par le noyau, ce que l'on
nomme couramment un module). Vous pouvez charger ce module
en tapant ce qui suit sous l'utilisateur
root:&prompt.root; kldload linuxSi vous désirez que la compatibilité Linux soit
toujours activée, alors vous devrez ajouter la ligne
suivante au fichier /etc/rc.conf:linux_enable="YES"La commande &man.kldstat.8; peut être utilisée
pour vérifier que le KLD est chargé:&prompt.user; kldstat
Id Refs Address Size Name
1 2 0xc0100000 16bdb8 kernel
7 1 0xc24db000 d000 linux.kooptions du noyauLINUXSi pour quelques raisons vous ne voulez ou pouvez charger le
KLD, alors vous pouvez lier statiquement la compatibilité
binaire Linux dans votre noyau en ajoutant options
COMPAT_LINUX à votre fichier de configuration du noyau.
Puis installez votre noyau comme décrit dans la
.Installer les bibliothèques LinuxLinuxinstaller les bibliothèques LinuxCela peut être fait de deux manières, soit
en utilisant le logiciel porté
linux_base, soit
en les installant à la main.Installation à l'aide du logiciel porté
linux_basecatalogue des logiciels
portésC'est de loin la méthode la plus simple pour
installer les bibliothèques. La procédure est
juste identique à l'installation d'un autre logiciel
porté à partir du
catalogue
des logiciels portés.
Faites ce qui suit:&prompt.root; cd /usr/ports/emulators/linux_base
&prompt.root; make install distcleanLa compatibilité binaire Linux devrait maintenant
fonctionner. Certains programmes pourront se plaindre de
versions mineures incorrectes de certaines bibliothèques
systèmes. Cela semble, en général, ne pas
vraiment être un problème.Il peut y avoir de multiples versions disponibles
du logiciel porté emulators/linux_base, correspondant
à différentes distributions et versions de Linux.
Vous devez installez la version la plus proche de ce que
nécessite les applications Linux que vous désirez
installer.Installer les bibliothèques à la mainSi vous n'avez pas le catalogue des logiciels
portés installé, vous pouvez à la
place installer les bibliothèques à la main.
Il vous faudra les bibliothèques partagées
Linux dont à besoin le programme et l'éditeur
de lien dynamiques. Vous devrez également
créer un répertoire racine
“masquant” (“shadow root”),
/compat/linux, pour les
bibliothèques Linux sur votre système &os;.
Toute bibliothèque partagée ouverte par les
programmes Linux exécutés sous &os; iront d'abord voir
dans cette arborescence. Ainsi, si un programme Linux
charge, par exemple, /lib/libc.so,
&os; essayera d'abord d'ouvrir
/compat/linux/lib/libc.so, puis si
cette bibliothèque n'existe pas,
/lib/libc.so. Les bibliothèques
partagées doivent donc être installées
sous l'arborescence /compat/linux/lib
plutôt que sous les chemins d'accès
mentionnés par la commande Linux
ld.so.Généralement, vous ne devrez cherchez à
savoir de quelles bibliothèques partagées
dépendent les binaires Linux que les premières
fois que vous installerez des programmes Linux sur votre
système &os;. Au bout d'un moment, vous disposerez
d'un jeu suffisant de bibliothèques partagées
Linux sur votre système pour être en mesure
d'exécuter les binaires Linux nouvellement
importés sans effort supplémentaire.Comment installer des bibliothèques
partagées supplémentairesbibliothèques
partagéesQue faire si vous avez installé le logiciel
porté linux_base et que votre
application se plaint toujours qu'il lui manque des
bibliothèques partagées?
Comment savoir quelles bibliothèques partagées
ont besoin les binaires Linux, et où se les
procurer? Il a habituellement deux possibilités
(pour suivre les instructions ci-dessous, vous devrez
être en session sous le compte super-utilisateur
root).Si vous avez accès à un système
Linux, déterminez de quelles bibliothèques
partagées l'application a besoin, et copiez-les sur
votre système &os;. Soit l'exemple suivant:Supposons que vous veniez de télécharger
le binaire Linux de Doom,
et que vous l'avez installé sur un système
Linux. Vous pouvez alors vérifier de quelles
bibliothèques partagées il a besoin pour
fonctionner avec la commande
ldd linuxdoom:&prompt.user; ldd linuxdoom
libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0
libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0
libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29liens symboliquesVous devrez récupérer tous les
fichiers mentionnés dans la dernière colonne,
et les installer sous /compat/linux,
en utilisant les noms de la première colonne comme
liens symboliques qui pointent dessus. Cela signifie
que vous aurez éventuellement les fichiers suivants
sur votre système &os;:/compat/linux/usr/X11/lib/libXt.so.3.1.0
/compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0
/compat/linux/usr/X11/lib/libX11.so.3.1.0
/compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0
/compat/linux/lib/libc.so.4.6.29
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Remarquez que si vous avez déjà
une bibliothèque partagée de même
numéro de version majeure que celle indiquée
par la première colonne du résultat
de la commande ldd, il est inutile
de copier le fichier donné par la dernière
colonne sur votre système, celui que vous
avez déjà devrait suffire.
Il est cependant recommandé de recopier
malgré tout la bibliothèque partagée
si c'est une version récente.
Vous pouvez supprimer l'ancienne version, du moment
que le lien symbolique pointe sur la nouvelle. Par
exemple, si vous avez les bibliothèques suivantes
sur votre système:/compat/linux/lib/libc.so.4.6.27
/compat/linux/lib/libc.so.4 -> libc.so.4.6.27et que vous avez un nouveau binaire qui
d'après le résultat de la commande
ldd semble avoir besoin d'une
version plus récente:libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29Si vous n'avez qu'une ou deux versions de retard
sur le dernier indice, alors ne vous souciez pas
d'installer la version
/lib/libc.so.4.6.29 plus
récente, parce que le programme devrait fonctionner
sans problème avec une version
légèrement antérieure.
Vous pouvez néanmoins décider de remplacer
libc.so, ce qui devrait vous
donner quelque chose comme:/compat/linux/lib/libc.so.4.6.29
/compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Le mécanisme de lien symbolique n'est
nécessaire que pour les binaires Linux.
L'éditeur de liens dynamiques de &os;
se charge lui-même de trouver les numéros
de versions majeures adéquats et vous
n'avez pas à vous en préoccuper.
Installer des binaires Linux ELFLinuxbinaires ELFUne étape supplémentaire est parfois
nécessaire pour les binaires ELF: le
“marquage”. Si vous tentez d'exécuter un
binaire ELF non marqué, vous obtiendrez un message
d'erreur ressemblant à ce qui suit:&prompt.user; ./mon-binaire-elf-linux
ELF binary type not known
AbortPour que le noyau &os; puisse distinguer un binaire ELF
&os; d'un binaire Linux, vous devez employer l'utilitaire
&man.brandelf.1;:&prompt.user; brandelf -t Linux mon-binaire-elf-linuxoutils GNULes outils GNU incorporent désormais automatiquement
les marques nécessaires dans les binaires ELF, vous
aurez donc de moins en moins besoin de passer par cette
étape à l'avenir.Configurer le résolveur de noms de domainesSi le DNS ne fonctionne pas, ou si vous avez les
messages:resolv+: "bind" is an invalid keyword resolv+:
"hosts" is an invalid keywordVous devrez configurer un fichier
/compat/linux/etc/host.conf
contenant:order hosts, bind
multi onOù l'ordre ci-dessus spécifie qu'il faut tout
d'abord regarder dans le fichier /etc/hosts
puis interroger le DNS. Quand le fichier
/compat/linux/etc/host.conf n'existe pas,
les applications Linux trouvent le fichier
/etc/host.conf de &os; et se plaignent de
sa syntaxe &os; incompatible. Supprimez
bind si vous n'avez pas configuré de
serveur de noms avec le fichier
/etc/resolv.conf.BorisHollasMis à jour pour &mathematica; 5.X par Installer &mathematica;applicationsMathematicaCe document décrit l'installation de la version Linux
de &mathematica; 5.X sur un
système &os;.La version Linux de &mathematica;
ou la version &mathematica; for Students
peut être commandée directement auprès de
Wolfram à l'adresse
.Utiliser l'installeur &mathematica;En premier lieu vous devez indiquer à &os;
que les binaires Linux de
&mathematica; utilisent l'ABI
Linux. La méthode la plus simple pour y parvenir est
le marquage par défaut des binaires ELF non marqués
comme étant des binaires Linux, ce marquage se faisant
avec la commande:&prompt.root; sysctl kern.fallback_elf_brand=3Avec cela &os; supposera que les binaires ELF non
marqués sont des binaires Linux, et donc vous devriez
être en mesure d'exécuter le programme d'installation
directement depuis le CDROM.Copiez ensuite sur votre disque dur le fichier
MathInstaller:&prompt.root; mount /cdrom
&prompt.root; cp /cdrom/Unix/Installers/Linux/MathInstaller /localdir/et dans ce fichier, remplacez /bin/sh
sur la première ligne par
/compat/linux/bin/sh. Cela permet de
garantir que l'installeur est exécuté par la
version Linux de &man.sh.1;. Ensuite, remplacez toutes les
- occurences de Linux) par
+ occurrences de Linux) par
FreeBSD) à l'aide d'un
éditeur de texte ou la procédure proposée
dans la section suivante. Cela indique à l'installeur
&mathematica;, qui fait appel
à la commande uname -s pour
déterminer le système d'exploitation, de traiter
&os; comme un système d'exploitation de type Linux.
Lancer maintenant la commande MathInstaller
- procèdera à l'installation de
+ procédera à l'installation de
&mathematica;.Modifier les exécutables &mathematica;Les procédures que
&mathematica; a créé
lors de l'installation doivent être modifiées
avant que vous ne puissiez les utiliser. Si vous avez choisi
/usr/local/bin comme
répertoires pour les exécutables
&mathematica;, vous trouverez alors
dans ce répertoire des liens symboliques vers les
fichiers nommés math,
mathematica,
Mathematica, et
MathKernel. Dans chacun d'entre eux,
remplacez Linux) par
FreeBSD) avec un éditeur de texte ou
la procédure suivante:#!/bin/sh
cd /usr/local/bin
for i in math mathematica Mathematica MathKernel
do sed 's/Linux)/FreeBSD)/g' $i > $i.tmp
sed 's/\/bin\/sh/\/compat\/linux\/bin\/sh/g' $i.tmp > $i
rm $i.tmp
chmod a+x $i
doneObtenir votre mot de passe pour &mathematica;Ethernetadresse MACQuand vous lancez &mathematica;
pour la première fois, un mot de passe vous sera
demandé. Si vous n'avez pas encore
récupéré votre mot de passe auprès
de Wolfram, lancez le programme mathinfo
présent dans le répertoire d'installation afin
d'obtenir l'identifiant de votre machine. Cet
identifiant de machine est basé uniquement sur
l'adresse MAC de votre première carte Ethernet, vous ne
pouvez donc pas utiliser votre copie de
&mathematica; sur une machine
différente.Quand vous vous enregistrez auprès de Wolfram,
par courrier électronique, téléphone, ou
fax, vous leur communiquerez l'“identifiant” de la
machine et ils vous donneront en réponse le mot
de passe correspondant qui a la forme de plusieurs groupes
de nombres.Exécuter l'interface de &mathematica; via le
réseau&mathematica; utilise des polices
de caractères spécifiques pour afficher des
caractères qui ne sont pas présents dans
l'ensemble standard de polices (caractère
- intégrale, somme, lettres grèques, etc.).
+ intégrale, somme, lettres grecques, etc.).
Le protocole X a besoin que ces polices
- de caratères soient installées
+ de caractères soient installées
localement. Cela signifie que vous devrez
copier sur votre machine locale ces polices à partir du
CDROM ou d'une machine avec
&mathematica; installé. Ces
polices sont normalement stockées dans
/cdrom/Unix/Files/SystemFiles/Fonts sur
le CDROM, ou dans
/usr/local/mathematica/SystemFiles/Fonts
sur votre disque dur. En fait les polices sont dans les
sous-répertoires Type1 et
X. Il existe différentes manières
de les utiliser, comme décrit ci-dessous.La première manière est de les copier dans
un des répertoires de polices de caractères existant
dans /usr/X11R6/lib/X11/fonts.
Il faudra alors éditer le fichier
fonts.dir, y ajouter les noms des
polices, et changer le nombre de polices sur la première
ligne. Alternativement, vous devriez pouvoir juste
exécuter &man.mkfontdir.1; dans le répertoire
dans lequel vous avez copié les polices de
caractères.La deuxième manière est de copier les
répertoires dans
/usr/X11R6/lib/X11/fonts:&prompt.root; cd /usr/X11R6/lib/X11/fonts
&prompt.root; mkdir X
&prompt.root; mkdir MathType1
&prompt.root; cd /cdrom/Unix/Files/SystemFiles/Fonts
&prompt.root; cp X/* /usr/X11R6/lib/X11/fonts/X
&prompt.root; cp Type1/* /usr/X11R6/lib/X11/fonts/MathType1
&prompt.root; cd /usr/X11R6/lib/X11/fonts/X
&prompt.root; mkfontdir
&prompt.root; cd ../MathType1
&prompt.root; mkfontdirMaintenant ajoutez les nouveaux répertoires de
polices à votre chemin de recherche des polices
de caractères:&prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/X
&prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/MathType1
&prompt.root; xset fp rehashSi vous utilisez le serveur
&xorg;, vous pouvez charger
ces répertoires de polices automatiquement en les
ajoutant à votre fichier
xorg.conf.Sous les serveurs &xfree86;,
le fichier de configuration se nomme
XF86Config.polices de caractèresSi vous n'avez pas déjà
de répertoire appelé
/usr/X11R6/lib/X11/fonts/Type1, vous
pouvez modifier le nom du répertoire
MathType1 dans l'exemple ci-dessus par
Type1.AaronKaplanContribution de RobertGetschmannRemerciements à Installer &maple;applicationsMaple&maple; est un programme
mathématique commercial similaire à
&mathematica;. Vous devez
acquérir ce logiciel auprès de
et vous
enregistrer pour obtenir un fichier de licence. Pour installer
ce logiciel sous &os;, veuillez suivre les étapes
suivantes:Exécutez la procédure
INSTALL fournie avec le logiciel.
Choisissez l'option “RedHat” quand le
programme vous le demandera. Un répertoire
d'installation typique devrait être:
/usr/local/maple.Si vous ne l'avez pas déjà fait,
demandez une licence pour
&maple; auprès de
Maple Waterloo Software () et
copiez-la sous
/usr/local/maple/license/license.dat.Installez le gestionnaire de licence
FLEXlm en exécutant la
procédure d'installation
INSTALL_LIC fournie avec
&maple;. Précisez
le nom de la machine au serveur de licence.Modifiez le fichier
/usr/local/maple/bin/maple.system.type
avec le correctif suivant: ----- snip ------------------
*** maple.system.type.orig Sun Jul 8 16:35:33 2001
--- maple.system.type Sun Jul 8 16:35:51 2001
***************
*** 72,77 ****
--- 72,78 ----
# the IBM RS/6000 AIX case
MAPLE_BIN="bin.IBM_RISC_UNIX"
;;
+ "FreeBSD"|\
"Linux")
# the Linux/x86 case
# We have two Linux implementations, one for Red Hat and
----- snip end of patch -----Remarquez qu'après
"FreeBSD"|\ aucun espace ne doit
être ajouté.Ce correctif demande à
&maple; de reconnaître
“FreeBSD” comme étant un type de
système Linux. La procédure
bin/maple fait appel à la
procédure
bin/maple.system.type qui à son
tour appelle uname -a pour déterminer
le nom du système d'exploitation. En fonction de ce
nom, la procédure déterminera quels binaires
utiliser.Lancez le serveur de licence.La procédure suivante, installée sous le
nom /usr/local/etc/rc.d/lmgrd.sh
est une façon pratique de lancer
lmgrd: ----- snip ------------
#! /bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin
PATH=${PATH}:/usr/local/maple/bin:/usr/local/maple/FLEXlm/UNIX/LINUX
export PATH
LICENSE_FILE=/usr/local/maple/license/license.dat
LOG=/var/log/lmgrd.log
case "$1" in
start)
lmgrd -c ${LICENSE_FILE} 2>> ${LOG} 1>&2
echo -n " lmgrd"
;;
stop)
lmgrd -c ${LICENSE_FILE} -x lmdown 2>> ${LOG} 1>&2
;;
*)
echo "Usage: `basename $0` {start|stop}" 1>&2
exit 64
;;
esac
exit 0
----- snip ------------Testez &maple;:&prompt.user; cd /usr/local/maple/bin
&prompt.user; ./xmapleCela devrait fonctionner. Assurez-vous d'écrire
à Maplesoft pour leur indiquer que vous désirez
une version native pour &os;!Pièges courantsLe gestionnaire de licence
FLEXlm peut être
difficile à utiliser. De la documentation
supplémentaire à ce sujet est disponible
à l'adresse .lmgrd est connu pour
être très capricieux au sujet
du fichier de licence et de planter si il y a un
quelconque problème. Un fichier de licence correct
devrait ressembler à ceci:# =======================================================
# License File for UNIX Installations ("Pointer File")
# =======================================================
SERVER chillig ANY
#USE_SERVER
VENDOR maplelmg
FEATURE Maple maplelmg 2000.0831 permanent 1 XXXXXXXXXXXX \
PLATFORMS=i86_r ISSUER="Waterloo Maple Inc." \
ISSUED=11-may-2000 NOTICE=" Technische Universitat Wien" \
SN=XXXXXXXXXLe numéro de série et la clé ont
été ici remplacés par des X.
chillig est le nom de la
machine.L'édition du fichier de licence est
possible tant que vous ne touchez pas à la ligne
“FEATURE” (qui est protégée
par la clé de la licence).DanPellegContribution de Installer &matlab;applicationsMATLABCe document décrit l'installation de la version
Linux de &matlab; version 6.5 sur un
système &os;. Le logiciel fonctionne plutôt
bien, à l'exception de la &jvm;,
machine virtuelle &java; (voir la
).La version Linux de &matlab; peut
être commandée directement auprès de
The MathWorks à l'adresse . Assurez-vous d'avoir
le fichier de licence ou les instructions pour le
créer. Pendant que vous y êtes, faites-leur savoir
que vous désireriez une version &os; native de leur
logiciel.Installer &matlab;Pour installer &matlab;, faites
ce qui suit:Insérez le CD d'installation et montez-le.
Ouvrez une session super-utilisateur
(root), comme recommandé par
la procédure d'installation. Pour lancer la
procédure d'installation tapez:&prompt.root; /compat/linux/bin/sh /cdrom/installLe programme d'installation est graphique.
Si vous obtenez une erreur disant que le programme
est incapable d'ouvrir une instance d'affichage, tapez
setenv HOME ~utilisateur,
où utilisateur est
l'utilisateur à partir duquel vous avez fait un
&man.su.1;.Quand on vous demande le répertoire racine
pour &matlab;, tapez:
/compat/linux/usr/local/matlab.Pour faciliter la suite de l'installation et
réduire les frappes inutiles, tapez à l'invite
de l'interpréteur de commandes ceci:
set MATLAB=/compat/linux/usr/local/matlabEditez le fichier de licence comme précisé
lors de l'obtention de la licence
&matlab;.Vous pouvez préparer d'avance ce fichier
en utilisant votre éditeur favori, et en le copiant
sous le nom $MATLAB/license.dat
avant que le programme d'installation ne vous demande de
l'éditer.Terminez le processus d'installation.A ce point, votre installation de
&matlab; est terminée. Les
étapes suivantes rajoutent le nécessaire
pour l'intégrer à votre système
&os;.Démarrage du gestionnaire de licenceCréez des liens symboliques pour les
procédures du gestionnaire de licence:&prompt.root; ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW
&prompt.root; ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMWCréez un fichier de démarrage nommé
/usr/local/etc/rc.d/flexlm.sh.
L'exemple ci-dessous est une version modifiée
du fichier $MATLAB/etc/rc.lm.glnx86
fourni. Les modifications concernent l'emplacement des
fichiers, et le lancement du gestionnaire de licence
sous l'émulation Linux.#!/bin/sh
case "$1" in
start)
if [ -f /usr/local/etc/lmboot_TMW ]; then
/compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u utilisateur && echo 'MATLAB_lmgrd'
fi
;;
stop)
if [ -f /usr/local/etc/lmdown_TMW ]; then
/compat/linux/bin/sh /usr/local/etc/lmdown_TMW > /dev/null 2>&1
fi
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
exit 0Le fichier doit être rendu
exécutable:&prompt.root; chmod +x /usr/local/etc/rc.d/flexlm.shVous devez remplacer
utilisateur dans la
procédure par un nom d'utilisateur valide sur
votre système (et non pas
root).Lancez le gestionnaire de licence avec la
commande:&prompt.root; /usr/local/etc/rc.d/flexlm.sh startLier l'environnement d'exécution &java;
(“&java; Runtime Environment”)Modifiez le lien vers le
“&java; Runtime
Environment” (JRE) pour un lien fonctionnant
correctement sous &os;:&prompt.root; cd $MATLAB/sys/java/jre/glnx86/
&prompt.root; unlink jre; ln -s ./jre1.1.8 ./jreCréation d'une procédure de lancement
pour &matlab;Placez la procédure de démarrage suivante
dans le répertoire
/usr/local/bin/matlab:
#!/bin/sh
/compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@"Puis tapez la commande
chmod +x /usr/local/bin/matlab.En fonction de la version
emulators/linux_base
utilisée, vous pouvez rencontrer des problèmes
lors de l'utilisation de cette procédure. Pour
éviter cela, éditez le fichier
/compat/linux/usr/local/matlab/bin/matlab,
et modifiez la ligne qui dit:if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then(dans la version 13.0.1, c'est la ligne 410) en:if test -L $newbase; thenCréer une procédure d'arrêt pour
&matlab;Ce qui suit est nécessaire pour corriger le fait
que &matlab; ne peut être quitter correctement.Créez un fichier
$MATLAB/toolbox/local/finish.m, et y
mettre la ligne suivante:! $MATLAB/bin/finish.sh$MATLAB doit être
écrit tel quel.Dans le même répertoire, vous
trouverez les fichiers
finishsav.m et
finishdlg.m, qui vous permettront
de sauvegarder l'environnement avant de quitter.
Si vous utilisez l'un d'eux, insérez la ligne
ci-dessus après la commande
save.Créez un fichier
$MATLAB/bin/finish.sh, qui contiendra
ce qui suit:#!/usr/compat/linux/bin/sh
(sleep 5; killall -1 matlab_helper) &
exit 0Rendez le fichier exécutable:&prompt.root; chmod +x $MATLAB/bin/finish.shUtilisation de &matlab;A ce point, vous êtes prêt à
taper la commande matlab et à commencer
à l'utiliser.MarcelMoolenaarContribution de Installer &oracle;applicationsOraclePréfaceCe document décrit le processus d'installation
d'&oracle; 8.0.5 et
d'&oracle; 8.0.5.1 Enterprise Edition
pour Linux sur une machine &os;.Installer l'environnement LinuxAssurez-vous d'avoir installé les deux logiciels
emulators/linux_base et
devel/linux_devtools du
catalogue des logiciels portés. Si vous rencontrez
des problèmes avec ces logiciels portés,
il se peut que vous ayez à utiliser les versions
pré-compilées ou des versions plus
anciennes disponibles dans le catalogue des logiciels
portés.Si vous désirez installer l'agent intelligent,
vous devrez également installer le
“package” Red Hat Tcl:
tcl-8.0.3-20.i386.rpm. La commande
générale pour installer des RPMs avec le logiciel
RPM (archivers/rpm) est:&prompt.root; rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm packageL'installation du package ne
devrait pas générer d'erreur.
- Créer l'environment &oracle;
+ Créer l'environnent &oracle;Avant de pouvoir installer
&oracle;, vous devez configurer un
environnement propre. Ce document ne décrit
que ce qu'il y a faire spécifiquement
pour utiliser &oracle; pour Linux
sous &os;, et non pas ce qui a été décrit
dans le guide d'installation
d'&oracle;.Optimisation du noyauoptimisation du noyauComme décrit dans le guide d'installation
d'&oracle;, vous devez
configurer une taille maximale pour la mémoire
partagée. Sous &os; n'utilisez pas l'option
SHMMAX. SHMMAX est
simplement calculée à partir de
SHMMAXPGS et PGSIZE.
Définissez donc l'option SHMMAXPGS.
Toutes les autres options peuvent être
configurées comme décrit dans le guide.
Par exemple:options SHMMAXPGS=10000
options SHMMNI=100
options SHMSEG=10
options SEMMNS=200
options SEMMNI=70
options SEMMSL=61Configurez ces options en fonction de l'utilisation
prévue d'&oracle;.Assurez-vous également de la présence des
options suivantes dans votre fichier de configuration du
noyau:options SYSVSHM #SysV shared memory
options SYSVSEM #SysV semaphores
options SYSVMSG #SysV interprocess communicationCompte &oracle;Créez un compte oracle
de la même manière que vous créerez
un autre compte utilisateur. Le compte
oracle n'a de spécial que
le fait que vous devez lui donner un interpréteur de
commandes Linux. Ajoutez
/compat/linux/bin/bash au fichier
/etc/shells et fixez l'interpréteur
de commande du compte oracle à
/compat/linux/bin/bash.EnvironnementEn plus des variables d'environnement normales
d'&oracle; comme
ORACLE_HOME et ORACLE_SID
vous devez fixer les variables d'environnement
suivantes:VariableValeurLD_LIBRARY_PATH$ORACLE_HOME/libCLASSPATH$ORACLE_HOME/jdbc/lib/classes111.zipPATH/compat/linux/bin
/compat/linux/sbin
/compat/linux/usr/bin
/compat/linux/usr/sbin
/bin
/sbin
/usr/bin
/usr/sbin
/usr/local/bin
$ORACLE_HOME/binIl est conseillé de définir toutes les
variables d'environnement dans le fichier
.profile. Un exemple complet est:ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=/oracle; export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH
ORACLE_SID=ORCL; export ORACLE_SID
ORACLE_TERM=386x; export ORACLE_TERM
CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip
export CLASSPATH
PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin
PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin
PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin
export PATHInstaller &oracle;En raison d'une particularité de l'émulateur
Linux, vous devez créer un répertoire appelé
.oracle dans /var/tmp
avant de lancer le programme d'installation.
Faites en sorte
que l'utilisateur oracle en soit le
propriétaire. Vous devriez être en mesure
d'installer &oracle; sans problème.
Si vous rencontrez cependant des problèmes,
contrôlez tout d'abord votre distribution
d'&oracle; et/ou configuration!
Après avoir installé &oracle;,
appliquez les correctifs décrits dans les deux
sous-sections suivantes.Un problème fréquent est que l'interface au
protocole TCP n'est pas correctement installée.
Avec comme conséquence l'impossibilité d'écouter
le trafic TCP. Les opérations suivantes aident
à résoudre ce problème:&prompt.root; cd $ORACLE_HOME/network/lib
&prompt.root; make -f ins_network.mk ntcontab.o
&prompt.root; cd $ORACLE_HOME/lib
&prompt.root; ar r libnetwork.a ntcontab.o
&prompt.root; cd $ORACLE_HOME/network/lib
&prompt.root; make -f ins_network.mk installN'oubliez pas de lancer à nouveau
root.sh!Appliquer un correctif au fichier root.shQuand on installe &oracle;,
certaines opérations, qui doivent être
effectuées en tant que root,
sont enregistrées dans une procédure
d'interpréteur de commandes appelée
root.sh. Cette procédure se
trouve dans le répertoire orainst.
Appliquez le correctif suivant au fichier
root.sh, pour faire en sorte qu'il
utilise le chemin correct pour chown, ou
exécute une procédure sous un interpréteur
de commandes Linux natif.*** orainst/root.sh.orig Tue Oct 6 21:57:33 1998
--- orainst/root.sh Mon Dec 28 15:58:53 1998
***************
*** 31,37 ****
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/bin/chown
#
# Define variables to be used in this script
--- 31,37 ----
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/usr/sbin/chown
#
# Define variables to be used in this scriptQuand vous n'installez pas
&oracle; à partir d'un CD,
vous pouvez modifier les sources de
root.sh. La procédure se nomme
rthd.sh et se trouve dans le
répertoire orainst dans l'arborescence
des sources.Patching genclntshLa procédure genclntsh
est utilisée pour créer une simple bibliothèque
partagée cliente. Elle est utilisée lors de la
construction des démos. Appliquez le correctif
suivant pour commenter la définition de la variable
d'environnement PATH:*** bin/genclntsh.orig Wed Sep 30 07:37:19 1998
--- bin/genclntsh Tue Dec 22 15:36:49 1998
***************
*** 32,38 ****
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lst
--- 32,38 ----
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lstExécuter &oracle;Après avoir suivi les instructions
précédentes, vous devriez être en mesure
d'exécuter &oracle; comme si
le programme tournait sous Linux.HolgerKippContribution de ValentinoVaschettoConversion en SGML par Installer &sap.r3;applications&sap.r3;Les installations de systèmes
&sap; sous &os; ne
seront pas supportées par l'équipe de support de SAP
— ils n'assurent que le support pour des plateformes
ceritifiées.PréfaceCe document décrit une façon d'installer un
système &sap.r3;
avec la base de données &oracle;
pour Linux sur une machine &os;, comprenant l'installation
de &os; et d'&oracle;. Deux
configurations différentes seront décrites:&sap.r3; 4.6B (IDES) avec
&oracle; 8.0.5 sous
&os; 4.3-STABLE&sap.r3; 4.6C avec
&oracle; 8.1.7 sous
&os; 4.5-STABLEMême si ce document tente de décrire toutes les
étapes importantes de façon détaillée,
il n'est pas destiné à remplacer les guides
d'installation d'&oracle; et
&sap.r3;.Veuillez consulter la documentation fournie avec
la version Linux de &sap.r3;
et les questions spécifiques à
&oracle;, ainsi que les
ressources d'&oracle; et de
&sap; OSS.LogicielsLes CD-ROMs suivants ont été utilisés pour
les installations de &sap;:&sap.r3; 4.6B, &oracle; 8.0.5NomNuméroDescriptionKERNEL51009113Noyau SAP Oracle /
Installation / AIX, Linux, SolarisRDBMS51007558Oracle / RDBMS 8.0.5.X /
LinuxEXPORT151010208IDES / DB-Export /
Disque 1 sur 6EXPORT251010209IDES / DB-Export /
Disque 2 sur 6EXPORT351010210IDES / DB-Export /
Disque 3 sur 6EXPORT451010211IDES / DB-Export /
Disque 4 sur 6EXPORT551010212IDES / DB-Export /
Disque 5 sur 6EXPORT651010213IDES / DB-Export /
Disque 6 sur 6De plus, nous avons utilisé le CD d'&oracle; 8
Serveur (version 8.0.5 de
pré-production pour Linux, noyau 2.0.33) qui n'est pas
vraiment nécessaire, et &os; 4.3-STABLE (une version
plus vieille de quelques jours que la 4.3-RELEASE).&sap.r3; 4.6C SR2, &oracle; 8.1.7NomNuméroDescriptionKERNEL51014004Noyau SAP Oracle /
Noyau SAP Version 4.6D / DEC, LinuxRDBMS51012930Oracle 8.1.7/ RDBMS /
LinuxEXPORT151013953Version 4.6C SR2 / Export
/ Disque 1 sur 4EXPORT151013953Version 4.6C SR2 / Export
/ Disque 2 sur 4EXPORT151013953Version 4.6C SR2 / Export
/ Disque 3 sur 4EXPORT151013953Version 4.6C SR2 / Export
/ Disque 4 sur 4LANG151013954Version 4.6C SR2 /
Langue / DE, EN, FR / Disque 1 sur 3En fonction des langues que vous désirez
installer, des CDs propres à ces langues pourront être
nécessaires. Ici nous utilisons juste l'allemand (DE) et
l'anglais (EN), donc seul le premier CD propre aux langues
sera nécessaire. Notez que le numéro des quatre
CDs EXPORT est identique (c'est différent du
numérotage des CDs 4.6B IDES). Au moment
de l'écriture de ces lignes, cette installation utilise
&os; 4.5-STABLE (du 20 mars 2002).Notes concernant &sap;Les notes suivantes devraient être lues
avant d'installer &sap.r3;
et ont prouvé leur utilité durant
l'installation:&sap.r3; 4.6B, &oracle; 8.0.5NuméroTitre0171356SAP sous Linux:
Remarques importantes0201147INST: 4.6C R/3 Inst. sur
UNIX - Oracle0373203Mise à jour / Migration
Oracle 8.0.5 -->
8.0.6/8.1.6 LINUX0072984Digital UNIX 4.0B pour
Oracle0130581Fin de l'étape
DIPGNTAB de R3SETUP0144978Votre système n'a pas
été installé correctement0162266Questions et conseils pour
R3SETUP sous Windows NT / W2K&sap.r3; 4.6C, &oracle; 8.1.7NuméroTitre0015023Initialisation de la
table TCPDB (RSXP0004) (EBCDIC)0045619R/3 avec plusieurs langues
ou
languages or
typefaces0171356SAP sous Linux: Remarques
importantes0195603RedHat 6.1 version
entreprise: problèmes connus0212876Le nouvel outil d'archivage
SAPCAR0300900Linux: matériel DELL0377187RedHat 6.2: remarques
importantes0387074INST: R/3 4.6C SR2
Installation sous UNIX0387077INST: R/3 4.6C SR2 Inst. sous
UNIX - Oracle0387078SAP sous UNIX: Dépendances
4.6C SR2Matériel nécessaireL'équipement suivant est suffisant
pour l'installation d'un système
&sap.r3;. Bien sûr
pour une utilisation en production, un choix
plus pointu du matériel est nécessaire:Composant4.6B4.6CProcesseur2 x 800MHz &pentium; III2 x 800MHz &pentium; IIIMémoire1Go ECC2Go ECCEspace disque50-60Go (IDES)50-60Go (IDES)Pour une utilisation en production, des processeurs &xeon;
avec un cache important, un accès disque rapide (SCSI,
contrôleur RAID matériel) et de la mémoire
ECC. L'espace disque nécessaire est important en
raison du système IDES pré-configuré, qui
créé une base de données de 27 Go
durant l'installation. Cet espace est également
suffisant pour démarrer des systèmes
destinés à la production.&sap.r3; 4.6B, &oracle; 8.0.5Le matériel suivant fut utilisé: une carte
mère bi-processeurs avec 2 processeurs &pentium; III
800 MHz, une carte SCSI &adaptec; 29160 Ultra160
(pour utiliser un lecteur de bande 40/80 Go DLT et un
lecteur de CDROM), une carte &mylex; &acceleraid; (2 canaux,
firmware 6.00-1-00 avec 32 Mo de RAM). Au contrôleur
RAID &mylex; sont reliés deux disques durs de 17 Go
(miroirs) et quatre disques de 36 Go (RAID niveau
5).&sap.r3; 4.6C, &oracle; 8.1.7Pour cette installation un &dell; &poweredge; 2500 a
été utilisé: une carte mère
bi-processeurs avec deux processeurs &pentium; III
1000 MHz (256 Ko de cache), 2 Go PC133 ECC
SDRAM, un contrôleur PERC/3 DC PCI RAID avec
128 Mo, et un lecteur DVD-ROM EIDE. Au contrôleur
RAID sont reliés deux disques durs 18 Go (miroirs)
et quatre disques de 36 Go (RAID niveau 5).Installation de &os;Tout d'abord vous devez installer &os;. Il existe de
nombreuses manière d'installer &os; (&os; 4.3 a
été installé via FTP, &os; 4.5
directement à partir d'un CD), pour plus d'informations
consultez la .Organisation des disquesPour rester simple, la même organisation des
disques a été utilisée pour les
installations de &sap.r3; 46B et
&sap.r3; 46C SR2. Seuls les noms
de périphériques ont changé, comme les
installations ont été effectuées sur du
matériel différent
(/dev/da et
/dev/amr respectivement, aussi si
l'on utilise un contrôleur AMI MegaRAID, on verra
/dev/amr0s1a à la place de
/dev/da0s1a):Système de fichiersTaille (blocs de 1k)Taille (Go)Monté sous/dev/da0s1a1.016.3031//dev/da0s1b6swap/dev/da0s1e2.032.6232/var/dev/da0s1f8.205.3398/usr/dev/da1s1e45.734.36145/compat/linux/oracle/dev/da1s1f2.032.6232/compat/linux/sapmnt/dev/da1s1g2.032.6232/compat/linux/usr/sapConfigurez et initialisez les deux disques logiques
à l'avance avec les logiciels &mylex; ou PERC/3 RAID.
Ces logiciels peuvent être lancés lors
de la phase de démarrage du
BIOS.Notez que l'organisation du disque diffère
légèrement des recommandations de SAP, comme
SAP suggère de monter séparément
les sous-répertoires d'&oracle;
(et d'autres) — nous avons décidé de
simplement créer de véritables sous-répertoires
directement.Utiliser make world et compiler
un nouveau noyauTéléchargez les sources -STABLE les plus
récentes. Recompilez l'intégralité du
système et votre noyau personnalisé
après avoir configuré votre fichier de
configuration du noyau. Là, vous devriez
également ajouter les paramètres du noyau
requis par &sap.r3; et
&oracle;.Installer l'environnement LinuxInstaller le système de base LinuxTout d'abord le logiciel porté
linux_base doit
être installé (en tant que super-utilisateur):&prompt.root; cd /usr/ports/emulators/linux_base
&prompt.root; make install distcleanInstaller l'environnement de développement
LinuxL'environnement de développement Linux est
nécessaire, si vous désirez installer
&oracle; sous &os; comme cela est
décrit dans la :&prompt.root; cd /usr/ports/devel/linux_devtools
&prompt.root; make install distcleanL'environnement de développement Linux a
été installé en vue de l'installation
de &sap.r3; 46B IDES. Ce n'est
pas nécessaire si &oracle;
DB n'est pas liée sur un système
&os;. C'est le cas si vous utilisez l'archive
tar&oracle; en provenance d'un
système Linux.Installer les RPMs nécessairesRPMsPour lancer le programme
R3SETUP, le support PAM est
nécessaire. Lors de la première installation de
&sap; sous &os; 4.3-STABLE,
nous avons tenté d'installer PAM avec tous les
“packages” nécessaires, et nous avons
finalement forcé l'installation du “package”
PAM, ce qui a fonctionné. Pour
&sap.r3; 4.6C SR2, nous avons
directement forcé l'installation du
RPM PAM, ce qui fonctionne également, il semble donc
que les RPMs de dépendance ne sont pas
nécessaires:&prompt.root; rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \
pam-0.68-7.i386.rpmPour utiliser l'agent intelligent
d'&oracle; 8.0.5, nous devons
également installer la version RedHat de Tcl
tcl-8.0.5-30.i386.rpm (sinon l'édition
de liens durant l'installation
d'&oracle; ne fonctionnera pas).
Il existe d'autres problèmes à ce niveau, mais ils
concernent directement la version Linux
d'&oracle;, et ne sont donc pas
spécifiquent à &os;.Quelques conseils supplémentairesCela peut être une bonne idée d'ajouter
linprocfs au fichier
/etc/fstab, pour plus d'informations
consultez la page de manuel &man.linprocfs.5;. Un autre
paramètre à positionner est
kern.fallback_elf_brand=3, ce qui
doit être fait dans le fichier
/etc/sysctl.conf.Créer l'environnement SAP/R3Créer les systèmes de fichiers et points de
montage nécessairesPour une simple installation, il est suffisant de
créer les systèmes de fichiers suivants:point de montagetaille en Go/compat/linux/oracle45 Go/compat/linux/sapmnt2 Go/compat/linux/usr/sap2 GoIl est également nécessaire de créer
certains liens. Sinon l'intalleur
&sap; se plaindra, lors du
contrôle des liens créés:&prompt.root; ln -s /compat/linux/oracle /oracle
&prompt.root; ln -s /compat/linux/sapmnt /sapmnt
&prompt.root; ln -s /compat/linux/usr/sap /usr/sapUn message d'erreur possible durant l'installation
(ici avec un système PRD
l'installation de
&sap.r3; 4.6C SR2):INFO 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:200
Checking existence of symbolic link /usr/sap/PRD/SYS/exe/dbg to
/sapmnt/PRD/exe. Creating if it does not exist...
WARNING 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:400
Link /usr/sap/PRD/SYS/exe/dbg exists but it points to file
/compat/linux/sapmnt/PRD/exe instead of /sapmnt/PRD/exe. The
program cannot go on as long as this link exists at this
location. Move the link to another location.
ERROR 2002-03-19 16:45:36 R3LINKS_IND_IND Ins_SetupLinks:0
can not setup link '/usr/sap/PRD/SYS/exe/dbg' with content
'/sapmnt/PRD/exe'Création des utilisateurs et des
répertoires&sap.r3; a besoin de deux
utilisateurs et de trois groupes. Les noms d'utilisateurs
dépendent du système d'ID de
&sap; (SID) qui est composé
de trois lettres. Certains de ces SIDs sont
réservés par &sap;
(par exemple SAP et
NIX. Pour une liste complète
consultez la documentation de
&sap;). Pour l'installation IDES,
nous avons utilisé IDS, pour
l'installation 4.6C SR2 PRD, comme ce
système était destiné à la
production. Nous avons cependant les groupes suivants (les
identifiants de groupe peuvent être différents,
ce sont seulement les valeurs que nous avons utilisés
dans notre installation):groupe IDnom du groupedescription100dbaAdministrateur de la base de données101sapsysSystème &sap;102operOpérateur de la base de donnéesPour une installation
d'&oracle; par défaut, seul le
groupe dba est utilisé.
Tout comme le groupe oper, certains
utilisent également le groupe dba
(Voir les documentations d'&oracle;
et de &sap; pour plus
d'information).Nous avons également besoin des utilisateurs
suivants:ID utilisateurnom d'utilisateur
- nom généric
+ nom génériquegroupegroupes supplémentairesdescription1000idsadm/prdadmsidadmsapsysoperAdministrateur &sap;1002oraids/oraprdorasiddbaoperAdministrateur de la base de données &oracle;L'ajout des utilisateurs avec la commande
&man.adduser.8; nécessite les entrées
suivantes (notez l'interpréteur de commandes et le
répertoire utilisateur) pour l'“Administrateur
&sap;”:Name: sidadm
Password: ******
Fullname: SAP Administrator SID
Uid: 1000
Gid: 101 (sapsys)
Class:
Groups: sapsys dba
HOME: /home/sidadm
Shell: bash (/compat/linux/bin/bash)et pour l'“Administrateur de la base de
données &oracle;”:Name: orasid
Password: ******
Fullname: Oracle Administrator SID
Uid: 1002
Gid: 100 (dba)
Class:
Groups: dba
HOME: /oracle/sid
Shell: bash (/compat/linux/bin/bash)Ceci devrait également inclure le groupe
oper au cas où vous utiliseriez
les deux groupes dba et
oper.Création des répertoiresCes répertoires sont généralement
créés sous forme de systèmes de
fichiers séparés. Cela dépend
entièrement de vous besoins. Nous avons choisi de
créer de simple répertoires, comme ils sont
placés sur le même système RAID
5:Nous positionnerons tout d'abord les propriétaires
et les droits de certains répertoires (en tant que
root):&prompt.root; chmod 775 /oracle
&prompt.root; chmod 777 /sapmnt
&prompt.root; chown root:dba /oracle
&prompt.root; chown sidadm:sapsys /compat/linux/usr/sap
&prompt.root; chmod 775 /compat/linux/usr/sapEnsuite nous crérons les répertoires en tant
qu'utilisateur
orasid. Ce
seront tous les répertoires du type
/oracle/SID:&prompt.root; su - orasid
&prompt.root; cd /oracle/SID
&prompt.root; mkdir mirrlogA mirrlogB origlogA origlogB
&prompt.root; mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6
&prompt.root; mkdir saparch sapreorg
&prompt.root; exitPour l'installation d'&oracle; 8.1.7
des répertoires supplémentaires sont
nécessaires:&prompt.root; su - orasid
&prompt.root; cd /oracle
&prompt.root; mkdir 805_32
&prompt.root; mkdir client stage
&prompt.root; mkdir client/80x_32
&prompt.root; mkdir stage/817_32
&prompt.root; cd /oracle/SID
&prompt.root; mkdir 817_32Le répertoire client/80x_32 est
créé tel quel. Ne remplacez pas le
x par quelque chose
d'autre.La dernière étape consiste à
créer les répertoires en tant qu'utilisateur
sidadm:&prompt.root; su - sidadm
&prompt.root; cd /usr/sap
&prompt.root; mkdir SID
&prompt.root; mkdir trans
&prompt.root; exitEntrées dans /etc/services&sap.r3; a besoin de certaines
entrées dans le fichier
/etc/services, qui ne seront pas
créées durant son installation sous &os;.
Veuillez ajouter les entrées suivantes (vous avez
besoin au moins des entrées correspondant au
numéro d'instance — dans notre cas,
00. Cela ne posera pas de
problème d'ajouter toutes les entrées de
00 à 99 pour
dp, gw,
sp et ms). Si vous
allez utiliser SAProuter ou vous
devez accéder au &sap; OSS,
vous avez également besoin de l'entrée
99, comme le port 3299 est
généralement utilisé par le processus
SAProuter sur le système
cible:
sapdp00 3200/tcp # SAP Dispatcher. 3200 + Instance-Number
sapgw00 3300/tcp # SAP Gateway. 3300 + Instance-Number
sapsp00 3400/tcp # 3400 + Instance-Number
sapms00 3500/tcp # 3500 + Instance-Number
sapmsSID 3600/tcp # SAP Message Server. 3600 + Instance-Number
sapgw00s 4800/tcp # SAP Secure Gateway 4800 + Instance-Number“Locales” nécessaireslocale&sap; nécessite au moins
deux “locales” qui ne font pas partie de
l'installation RedHat par défaut. SAP propose les
RPMs nécessaires en téléchargement
à partir de leur serveur FTP (qui est uniquement
accessible si vous êtes un client avec un accès
OSS). Consultez la note 0171356 pour la liste des RPMs dont
vous avez besoin.Il est également possible de créer just
les appropriés (par exemple à partir de
de_DE et en_US),
mais nous ne recommandons pas cela pour un système
destiné à la production (bien que cela a
fonctionné sans problème avec le
système IDES). Les “locales” suivantes
sont nécessaires:de_DE.ISO-8859-1
en_US.ISO-8859-1Créez les liens comme suit:&prompt.root; cd /compat/linux/usr/share/locale
&prompt.root; ln -s de_DE de_DE.ISO-8859-1
&prompt.root; ln -s en_US en_US.ISO-8859-1S'ils n'existent pas, des problèmes apparaîtrons
lors de l'installation. Si ces problèmes sont
intentionnellement ignorés (en fixant la valeur
de la variable STATUS
des étapes pour lesquelles les problèmes sont
apparus à la valeur OK dans le
fichier CENTRDB.R3S), il sera
impossible d'ouvrir une session sur le système
&sap; sans effort
supplémentaire.Optimisation du noyauoptimisation du noyauLes systèmes &sap.r3;
demandent beaucoup de ressources. Nous avons donc
ajouté les paramètres suivants au fichier de
configuration du noyau:# Set these for memory pigs (SAP and Oracle):
options MAXDSIZ="(1024*1024*1024)"
options DFLDSIZ="(1024*1024*1024)"
# System V options needed.
options SYSVSHM #SYSV-style shared memory
options SHMMAXPGS=262144 #max amount of shared mem. pages
#options SHMMAXPGS=393216 #use this for the 46C inst.parameters
options SHMMNI=256 #max number of shared memory ident if.
options SHMSEG=100 #max shared mem.segs per process
options SYSVMSG #SYSV-style message queues
options MSGSEG=32767 #max num. of mes.segments in system
options MSGSSZ=32 #size of msg-seg. MUST be power of 2
options MSGMNB=65535 #max char. per message queue
options MSGTQL=2046 #max amount of msgs in system
options SYSVSEM #SYSV-style semaphores
options SEMMNU=256 #number of semaphore UNDO structures
options SEMMNS=1024 #number of semaphores in system
options SEMMNI=520 #number of semaphore identifiers
options SEMUME=100 #number of UNDO keysLes valeurs minimales sont précisées dans
la documentation en provenance de SAP. Comme il n'y a pas
d'éléments concernant Linux, consultez la section
sur HP-UX (32bits) pour plus d'information. Comme le
système utilisé pour l'installation de la
version 4.6C SR2 dispose de plus de mémoire principale,
les segments de mémoire partagée (“shared
segments”) peuvent être plus larges pour
&sap; et
&oracle;, cependant choisissez un
nombre plus important de page de mémoire
partagée.Avec l'installation par défaut de &os; 4.5
sur architecture &i386;, laissez MAXDSIZ
et DFLDSIZ à une valeur de
1 Go maximum. Sinon, des erreurs étranges comme
ORA-27102: out of memory et
Linux Error: 12: Cannot allocate memory
risquent d'apparaître.Installer &sap.r3;Préparer les CDROMs &sap;Il y a de nombreux CDROMs à monter et
démonter lors de l'installation. Si vous disposez de
- suffisament de lecteurs de CDROMs, vous pouvez tout
+ suffisamment de lecteurs de CDROMs, vous pouvez tout
simplement les monter tous. Nous avons décidé
de copier le contenu des CDROMs dans les répertoires
correspondant:/oracle/SID/sapreorg/nom-du-cdoù nom-du-cd est un nom
parmi KERNEL,
RDBMS, EXPORT1,
EXPORT2, EXPORT3,
EXPORT4, EXPORT5 et
EXPORT6 pour l'installation de la version
4.6B/IDES, et KERNEL,
RDBMS, DISK1,
DISK2, DISK3,
DISK4 et LANG pour
l'installation de la version 4.6C SR2. Tous les noms
de fichiers sur les CDs montés devraient être en
majuscules, sinon utilisez l'option
pour le montage. Utilisez donc les commandes
suivantes:&prompt.root; mount_cd9660 -g /dev/cd0a /mnt
&prompt.root; cp -R /mnt/* /oracle/SID/sapreorg/nom-du-cd
&prompt.root; umount /mntExécuter la procédure d'installationTout d'abord, vous devez préparer un répertoire
install:&prompt.root; cd /oracle/SID/sapreorg
&prompt.root; mkdir install
&prompt.root; cd installEnsuite la procédure d'installation est
lancée, qui copiera tous fichiers correspondant dans
le répertoire install:&prompt.root; /oracle/SID/sapreorg/KERNEL/UNIX/INSTTOOL.SHL'installation IDES (4.6B) est fournie avec un
système &sap.r3; de
démonstration complètement configuré,
il y a donc six CDs EXPORT au lieu de juste trois CDs
EXPORT. A ce point la configuration par défaut
d'installation CENTRDB.R3S est
destiné à l'installation d'une instance
centrale standard (&r3; et base de
données), et non pas l'instance centrale standard
IDES, on doit donc copier le fichier
CENTRDB.R3S correspondant du
répertoire EXPORT1, sinon
R3SETUP ne demandera que trois CDs
EXPORT.La nouvelle version &sap; 4.6C
SR2 est fournie avec quatre CDs EXPORT. Le
fichier de paramètres qui contrôle les
étapes de l'installation est le fichier
CENTRAL.R3S. Contrairement aux
versions précédentes, il n'y a pas de
modèle de configuration d'installation
séparé pour une instance centrale avec ou sans
base de données. &sap;
utilise un modèle de configuration
séparé pour l'installation de base de
données. Pour relancer l'installation
postérieurement, il suffit de la relancer avec le
fichier d'origine.Pendant et après l'installation,
&sap; a besoin que la commande
hostname renvoie uniquement le nom de la
machine et non pas le nom complet de la machine. Fixez donc
le nom de la machine en fonction, ou créez un alias
avec alias hostname='hostname -s' pour
les utilisateurs
orasid et
sidadm (et
pour le super-utilisateur root au moins
durant les étapes de l'installation effectuées
en tant que root). Il est
également possible d'ajuster les fichiers
.profile et .login
des deux utilisateurs qui sont installés lors de
l'installation de &sap;.Exécuter R3SETUP 4.6BAssurez-vous que la variable LD_LIBRARY_PATH
est correctement positionnée:&prompt.root; export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/libLancez R3SETUP en tant que
root à partir du répertoire
d'installation:&prompt.root; cd /oracle/IDS/sapreorg/install
&prompt.root; ./R3SETUP -f CENTRDB.R3SLa procédure pose ensuite un certain nombre de
questions (les valeurs par défaut sont entre crochets,
suivies par les entrées clavier):QuestionDéfautEntrée(s) clavierEnter SAP System ID[C11]IDSEntréeEnter SAP Instance Number[00]EntréeEnter SAPMOUNT Directory[/sapmnt]EntréeEnter name of SAP central host[troubadix.domain.de]EntréeEnter name of SAP db host[troubadix]EntréeSelect character set[1] (WE8DEC)EntréeEnter Oracle server version (1) Oracle 8.0.5, (2) Oracle 8.0.6, (3) Oracle 8.1.5, (4) Oracle 8.1.61EntréeExtract Oracle Client archive[1] (Yes, extract)EntréeEnter path to KERNEL CD[/sapcd]/oracle/IDS/sapreorg/KERNELEnter path to RDBMS CD[/sapcd]/oracle/IDS/sapreorg/RDBMSEnter path to EXPORT1 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT1Directory to copy EXPORT1 CD[/oracle/IDS/sapreorg/CD4_DIR]EntréeEnter path to EXPORT2 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT2Directory to copy EXPORT2 CD[/oracle/IDS/sapreorg/CD5_DIR]EntréeEnter path to EXPORT3 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT3Directory to copy EXPORT3 CD[/oracle/IDS/sapreorg/CD6_DIR]EntréeEnter path to EXPORT4 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT4Directory to copy EXPORT4 CD[/oracle/IDS/sapreorg/CD7_DIR]EntréeEnter path to EXPORT5 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT5Directory to copy EXPORT5 CD[/oracle/IDS/sapreorg/CD8_DIR]EntréeEnter path to EXPORT6 CD[/sapcd]/oracle/IDS/sapreorg/EXPORT6Directory to copy EXPORT6 CD[/oracle/IDS/sapreorg/CD9_DIR]EntréeEnter amount of RAM for SAP + DB850Entrée (en mégaoctets)Service Entry Message Server[3600]EntréeEnter Group-ID of sapsys[101]EntréeEnter Group-ID of oper[102]EntréeEnter Group-ID of dba[100]EntréeEnter User-ID of sidadm[1000]EntréeEnter User-ID of orasid[1002]EntréeNumber of parallel procs[2]EntréeSi vous n'avez pas copié les CDs en différent
endroits, alors l'installeur &sap;
ne peut trouver le CD nécessaire (identifié par le
fichier LABEL.ASC sur le CD) et vous
demandera alors d'insérer, de monter le CD et de
confirmer ou d'entrer le chemin du point de montage.Le fichier CENTRDB.R3S peut ne pas
être exempt de problème. Dans notre cas, il demanda
à nouveau le CD EXPORT4 mais indiqua la clé
correcte (6_LOCATION, puis 7_LOCATION, etc.), on peut donc
juste continuer à saisir les bonnes valeurs.En dehors des problèmes mentionnés plus
bas, tout devrait être assez direct jusqu'au moment
où la base de données
&oracle; doit être
installée.Exécuter R3SETUP 4.6C SR2Assurez-vous que la variable LD_LIBRARY_PATH
est correctement positionnée. La valeur est
différente de l'installation 4.6B avec
&oracle; 8.0.5:&prompt.root; export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/libLancez R3SETUP en tant que
root à partir du répertoire
d'installation:&prompt.root; cd /oracle/PRD/sapreorg/install
&prompt.root; ./R3SETUP -f CENTRAL.R3SLa procédure pose ensuite un certain nombre de
questions (les valeurs par défaut sont entre crochets,
suivies par les entrées clavier):QuestionDéfautEntrée(s) clavierEnter SAP System ID[C11]PRDEntréeEnter SAP Instance Number[00]EntréeEnter SAPMOUNT Directory[/sapmnt]EntréeEnter name of SAP central host[majestix]EntréeEnter Database System ID[PRD]PRDEntréeEnter name of SAP db host[majestix]EntréeSelect character set[1] (WE8DEC)EntréeEnter Oracle server version (2) Oracle 8.1.72EntréeExtract Oracle Client archive[1] (Yes, extract)EntréeEnter path to KERNEL CD[/sapcd]/oracle/PRD/sapreorg/KERNELEnter amount of RAM for SAP + DB20441800Entrée (en mégaoctets)Service Entry Message Server[3600]EntréeEnter Group-ID of sapsys[100]EntréeEnter Group-ID of oper[101]EntréeEnter Group-ID of dba[102]EntréeEnter User-ID of oraprd[1002]EntréeEnter User-ID of prdadm[1000]EntréeLDAP support3Entrée (pas de support)Installation step completed[1] (continue)EntréeChoose installation service[1] (DB inst,file)EntréeJusqu'ici, la création d'utilisateurs donne une
erreur durant l'installation lors des phases
OSUSERDBSID_IND_ORA (pour la création de
l'utilisateur
orasid) et
OSUSERSIDADM_IND_ORA (création de l'utilisateur
sidadm).En dehors des problèmes mentionnés plus
bas, tout devrait être assez direct jusqu'au moment
où la base de données
&oracle; doit être
installée.Installer &oracle; 8.0.5Consultez les notes &sap; et les
Readmes d'&oracle; concernant Linux et la
base de données &oracle; pour
de possibles problèmes. La plupart, si ce n'est pas
tous, de ces problèmes proviennent de
bibliothèques incompatibles.Pour plus d'informations au sujet de l'installation
d'&oracle;,
référez-vous au chapitre sur l'installation d'&oracle;.Installer &oracle; 8.0.5 avec orainstSi &oracle; 8.0.5 doit
être utilisée, des bibliothèques
supplémentaires sont nécessaires pour une
édition de liens couronnée de succès,
comme &oracle; 8.0.5 est
liée avec une ancienne bibliothèque glibc
(RedHat 6.0), cependant RedHat 6.1 utilise
déjà une nouvelle version de la
bibliothèque glibc. Vous devez donc installer les
“packages” suivants pour s'assurer que
l'édition de liens fonctionnera:compat-libs-5.2-2.i386.rpmcompat-glibc-5.2-2.0.7.2.i386.rpmcompat-egcs-5.2-1.0.3a.1.i386.rpmcompat-egcs-c++-5.2-1.0.3a.1.i386.rpmcompat-binutils-5.2-2.9.1.0.23.1.i386.rpmConsultez les notes &sap; et les
Readmes d'&oracle; pour plus
d'informations. On pourra utiliser les binaires d'origine
(au moment de l'installation, nous n'avons pas eu le temps
de contrôler cela), ou utiliser directement les binaires
fraichement liés d'un système RedHat.Pour la compilation de l'agent intelligent, la
version RedHat de Tcl doit être installée.
Si vous ne pouvez vous procurer
tcl-8.0.3-20.i386.rpm, un fichier plus
récent comme tcl-8.0.5-30.i386.rpm pour
RedHat 6.1 fera l'affaire.En dehors de ce problème de liens, l'installation est
relativement directe:&prompt.root; su - oraids
&prompt.root; export TERM=xterm
&prompt.root; export ORACLE_TERM=xterm
&prompt.root; export ORACLE_HOME=/oracle/IDS
&prompt.root; cd $ORACLE_HOME/orainst_sap
&prompt.root; ./orainstConfirmez tous les écrans en appuyant sur
Entrée jusqu'à l'installation
complète du logiciel, à l'exception de celui
qui permet de déselectionner la “visionneuse de
texte &oracle;” (&oracle; On-Line Text
Viewer), comme cette dernière n'est pas
disponible pour Linux. Ensuite
&oracle; veut faire
l'édition de liens avec
i386-glibc20-linux-gcc à la place
des gcc, egcs ou
i386-redhat-linux-gcc disponibles.En raison d'un manque de temps, nous avons
décidé d'utiliser les binaires d'une version
&oracle; 8.0.5 PreProduction,
après que la première tentative d'obtenir
à partir du CD RDBMS une version fonctionnant eut
échoué, et que nous avons trouvé
qu'accéder aux bons RPMs était alors un
véritable cauchemar.Installer la version &oracle; 8.0.5 Pre-production pour
Linux (noyau 2.0.33)Cette installation est simple. Montez le CD, lancez
l'installeur. Il vous demandera l'emplacement du
répertoire utilisateur
&oracle;, et y copiera tous les
binaires. Nous n'avions, cependant, pas effacé les
restes de nos précédentes tentatives
d'installation RDBMS.Après cela, la base de données
&oracle; put être
installée sans encombres.Installer l'archive tar d'&oracle; 8.1.7 pour LinuxPrennez l'archive tar que vous
avez produite à partir du répertoire
d'installation sur un système Linux, et
désarchivez-la dans le répertoire /oracle/SID/817_32/.Poursuivre l'installation de &sap.r3;Tout d'abord vérifiez le paramétrage des
- environements des utilisateurs idsamd
+ environnements des utilisateurs idsamd
(sidadm) et
oraids
(orasid). Ils devraient avoir,
tous les deux, des fichiers .profile,
.login et .cshrc qui
utilisent la directement la commande
hostname. Si le nom de machine du
système est un nom complet d'hôte, vous devez
modifier hostname pour hostname
-s dans ces trois fichiers.Chargement de la base de donnéesEnsuite, R3SETUP peut être soit
relancé ou poursuivi (tout dépend si le
programme a été quitté ou non).
R3SETUP créé ensuite les
tables pour les données et charge ces données
(pour 46B IDES, à partir des disques EXPORT1 à
EXPORT6, pour 46C à partir des disques DISK1 à
DISK4) avec R3load dans la base de
données.Quand le chargement de la base de données
est achevé (cela peut prendre plusieurs heures), des
mots de passe sont demandés. Pour les installations
de tests, on peut utiliser les mots de passe
par défauts connus (utilisez-en des différents
si la sécurité est importante):QuestionEntrée(s) clavierEnter Password for sapr3sapEntréeConfirum Password for sapr3sapEntréeEnter Password for syschange_on_installEntréeConfirm Password for syschange_on_installEntréeEnter Password for systemmanagerEntréeConfirm Password for systemmanagerEntréeA ce point, nous avons eut quelques problèmes
avec dipgntab durant l'installation de la
version 4.6B.Programme d'écouteDémarrer le programme d'écoute
(“listener”) d'&oracle;
sous l'utilisateur
orasid comme
suit:&prompt.user; umask 0; lsnrctl startSinon vous risquez d'obtenir l'erreur
ORA-12546 comme les
“sockets” n'auront pas les bonnes permissions.
Consultez la note &sap; 072984.Mettre à jour les tables MNLSSi vous projetez d'importer des données utilisant
des langues non latin-1 dans le système
&sap;, vous devez mettre à
jour les tables de support des langues internationales
(“Multi National Language Support” —
MNLS). Ceci est décrit dans les notes &sap; OSS 15023
et 45619. Sinon, vous pouvez ignorer cette question lors de
l'installation de &sap;.Si vous n'avez pas besoin des tables MNLS, il est
toujours nécessaire de contrôler la table TCPDB
et l'initialiser si cela n'a pas déjà
été fait. Consultez les notes 0015023 et
0045619 pour plus d'information.Etapes de post-installationDemander une clé licence pour &sap.r3;Vous devez demander votre clé
&sap.r3;. Cette clé est indispensable
étant donné que la licence temporaire qui a
été installée lors de l'installation
n'est valide que pendant quatre semaines. Tout d'abord
récupérez la clé matérielle.
Ouvrez une session sous l'utilisateur
idsadm et lancez la commande
saplicense:&prompt.root; /sapmnt/IDS/exe/saplicense
-getAppeler saplicense sans
paramètres affiche la liste des options disponibles.
Après la réception de la clé, elle peut
être installée en utilisant:&prompt.root; /sapmnt/IDS/exe/saplicense -installVous devez ensuite entrer les valeurs suivantes:SAP SYSTEM ID = SID, 3 chars
CUSTOMER KEY = hardware key, 11 chars
INSTALLATION NO = installation, 10 digits
EXPIRATION DATE = yyyymmdd, usually "99991231"
LICENSE KEY = license key, 24 charsCréer les utilisateursCréez un utilisateur sous le client 000
(certaines tâches doivent être effectuées
sous le client 000, mais avec un utilisateur
différent de sap* et
ddic). Comme nom d'utilisateur, nous
choisissons généralement
wartung (ou
service en français). Les
profiles nécessaires sont sap_new
et sap_all. Pour plus de
sécurité les mots de passe des utilisateurs
par défaut à l'intérieur de tous les
clients devraient être modifiés (cela inclut
les utilisateurs sap* et
ddic).Configurer le système de transport, les profils,
les modes d'opération, etc.Dans le client 000, avec un utilisateur autre que
ddic et sap*,
faire, au moins, ce qui suit:TâcheTransactionConfigurez le système de transport, par
exemple entité autonome de domaine
de transport (Stand-Alone
Transport Domain Entity)STMSCréez / Editez le profil systèmeRZ10Maintenez les modes d'opération et les
instancesRZ04Cela et toutes les autres étapes de
post-installation sont intégralement décrites
dans les guides d'installation
&sap;.Editer
initsid.sap
(initIDS.sap)Le fichier
/oracle/IDS/dbs/initIDS.sap contient le
profil de sauvegarde &sap;. Ici la
taille de la bande à utiliser, le type de compression
et ainsi de suite doivent être définis. Pour
garantir un fonctionnement avec les commandes
sapdba/brbackup, nous
avons modifié les valeurs suivantes:compress = hardware
archive_function = copy_delete_save
cpio_flags = "-ov --format=newc --block-size=128 --quiet"
cpio_in_flags = "-iuv --block-size=128 --quiet"
tape_size = 38000M
tape_address = /dev/nsa0
tape_address_rew = /dev/sa0Explications:compress: la bande que nous utilisons
est une HP DLT1 qui fournie une compression
matérielle.archive_function: définie le
comportement par défaut en ce qui concerne
l'archivage des fichiers journaux
d'&oracle;: les nouveaux journaux
sont sauvegardés sur la bande, ceux
déjà sauvegardés le sont à
nouveau et sont ensuite effacés. Cela évite
de nombreux problèmes si vous devez rétablir
la base de données, et qu'une des bandes de
sauvegarde est endommagée.cpio_flags: l'indicateur par
défaut est qui fixe la taille
d'un bloc à 5120 octets. Pour les bande DLT, HP
recommande une taille de bloc d'au moins 32Ko, aussi nous
avons utilisé pour
64Ko. L'option est
nécessaire car nous avons un nombre d'inodes
supérieur à 65535. La dernière option,
, est nécessaire sinon
brbackup se plaint dès que
cpio donne le nombre de blocs
sauvés.cpio_in_flags: indicateurs
nécessaires pour charger les données à
partir de bandes. Le format est reconnu
automatiquement.tape_size: cette variable donne la
capacité brute de la bande. Pour des raisons de
sécurité (nous utilisons une compression
matérielle), la valeur est légèrement
inférieure à la valeur réelle.tape_address: le
périphérique non rembobinable devant
être utilisé avec
cpio.tape_address_rew: le
périphérique rembobinable à utiliser
avec cpio.Problèmes de configuration après
l'installationLes paramètres &sap;
suivants devraient être optimisés après
l'installation (exemples pour IDES 46B, 1 Go de
mémoire):NomValeurztta/roll_extension250000000abap/heap_area_dia300000000abap/heap_area_nondia400000000em/initial_size_MB256em/blocksize_kB1024ipc/shm_psize_4070000000Note &sap; 0013026:NomValeurztta/dynpro_area2500000Note &sap; 0157246:NomValeurrdisp/ROLL_MAXFS16000rdisp/PG_MAXFS30000Avec les paramètres donnés ci-dessus,
sur un système avec 1Go de mémoire, on pourra
avoir une utilisation de la mémoire similaire
à:Mem: 547M Active, 305M Inact, 109M Wired, 40M Cache, 112M Buf, 3492K FreeProblèmes lors de l'installationRelancer R3SETUP après la correction
d'un problèmeR3SETUP s'arrête s'il rencontre
une erreur. Si vous avez examiné les fichiers
journaux correspondants et corrigé l'erreur, vous
devez relancer R3SETUP à nouveau,
habituellement en sélectionnant
comme option de la dernière
étape pour laquelle R3SETUP avait
rencontré un problème.Pour relancer R3SETUP,
exécutez-le avec le fichier R3S
correspondant:&prompt.root; ./R3SETUP -f CENTRDB.R3Spour la version 4.6B, ou avec&prompt.root; ./R3SETUP -f CENTRAL.R3Spour la version 4.6C, peu importe si l'erreur est
apparue avec CENTRAL.R3S ou
DATABASE.R3S.A certains points, R3SETUP suppose
que la base de données et le processus
&sap; sont en fonctionnement (comme
s'il avait déjà complété ces
étapes). Au cas où les erreurs se
produiraient et que par exemple la base de données ne
peut être lancée, vous devez lancer la base de
données et &sap; à la
main après avoir corrigé les erreurs et avant
d'exécuter à nouveau
R3SETUP.N'oubliez pas également de démarrer le
programme d'écoute
d'&oracle; à nouveau (en
tant que
orasid
avec umask 0; lsnrctl start) s'il a
également été stoppé (par
exemple en raison d'un redémarrage du
système).Etape OSUSERSIDADM_IND_ORA lors de l'utilisation de
R3SETUPSi R3SETUP se plaint à ce stade,
éditez le fichier modèle utilisé par
R3SETUP à ce moment
(CENTRDB.R3S (4.6B) ou
CENTRAL.R3S ou
DATABASE.R3S (4.6C)). Localisez la
ligne [OSUSERSIDADM_IND_ORA] ou cherchez
l'unique entrée STATUS=ERROR et
éditez les valeurs suivantes:HOME=/home/sidadm (was empty)
STATUS=OK (had status ERROR)Vous pouvez ensuite relancer
R3SETUP.Etape OSUSERDBSID_IND_ORA lors de l'utilisation de
R3SETUPIl est possible que R3SETUP se
plaigne également à ce stade. L'erreur ici
est similaire à celle durant la phase
OSUSERSIDADM_IND_ORA. Editez juste le fichier modèle
utilisé par R3SETUP à ce
moment (CENTRDB.R3S (4.6B) ou
CENTRAL.R3S ou
DATABASE.R3S (4.6C)). Localisez la
ligne [OSUSERDBSID_IND_ORA] ou cherchez
l'unique entrée STATUS=ERROR et
éditez la valeur suivante dans la section:STATUS=OKPuis relancez R3SETUP.Erreur oraview.vrf FILE NOT FOUND
lors de l'installation d'&oracle;Vous n'avez pas désélectionné la
visionneuse de texte en ligne d'&oracle;
- avant de débutter l'installation. Elle est
+ avant de débuter l'installation. Elle est
sélectionnée par défaut même si
cette option n'est actuellement pas disponible pour Linux.
Désélectionnez cet élément dans
le menu d'installation d'&oracle;
et relancez l'installation.Erreur TEXTENV_INVALID lors du
lancement de R3SETUP, RFC ou SAPguiSi cette erreur apparaît, la “locale”
correcte n'est pas présente. La note &sap; 0171356
liste les RPMs nécessaires (e.g.
saplocales-1.0-3,
saposcheck-1.0-1 pour RedHat 6.1).
Dans le cas où vous avez ignoré toutes les
erreurs en rapport et modifié la valeur du
STATUS correspondant de la valeur
ERROR vers la valeur
OK (dans
CENTRDB.R3S) à chaque fois que
R3SETUP s'est plaint et que vous avez
relancé R3SETUP, le système
&sap; ne sera pas correctement
configuré et vous ne serez pas en mesure de vous
connecter au système avec
SAPgui, même si le
système peut être lancé. Tenter de se
connecter avec l'ancien SAPgui
Linux donna les messages suivants:Sat May 5 14:23:14 2001
*** ERROR => no valid userarea given [trgmsgo. 0401]
Sat May 5 14:23:22 2001
*** ERROR => ERROR NR 24 occured [trgmsgi. 0410]
*** ERROR => Error when generating text environment. [trgmsgi. 0435]
*** ERROR => function failed [trgmsgi. 0447]
*** ERROR => no socket operation allowed [trxio.c 3363]
SpeicherzugriffsfehlerCe comportement est dû au fait que
&sap.r3; est incapable d'assigner
correctement une “locale” et n'est
lui-même pas correctement configuré
(entrées manquantes dans certaines tables de la base
de données). Pour être en mesure de se
connecter à &sap;, ajoutez
les entrées suivantes au fichier
DEFAULT.PFL (voir la note
0043288):abap/set_etct_env_at_new_mode = 0
install/collate/active = 0
rscp/TCP0B = TCP0BRedémarrer le système
&sap;. Vous pouvez maintenant vous
connecter au système, même si les
- paramètrages spécifiques à certaines
+ paramétrages spécifiques à certaines
langues peuvent ne pas fonctionner comme attendu.
Après la correction des paramétrages de langue
(et après avoir fourni les “locales”
correctes), ces entrées peuvent être
supprimées du fichier
DEFAULT.PFL et le système
&sap; peut être
relancé.Erreur ORA-00001Cette erreur s'est produite uniquement avec
&oracle; 8.1.7 sous &os; 4.5.
La raison était que la base de données
&oracle; ne pouvait pas
s'initialiser correctement et plantait, laissant des
sémaphores et de la mémoire partagée
sur le système. La tentative suivante de
démarrer la base de données retourna alors
l'erreur ORA-00001.Retrouvez-les avec la commande ipcs
-a et détruisez-les avec
ipcrm.Erreur ORA-00445
(le processus en tâche de fond PMON n'a pas
démarré — “Background Process PMON Did Not
Start”)Cette erreur s'est produite avec &oracle;
8.1.7. Cette erreur est rapportée si
la base de données est démarrée avec la
procédure startsap habituelle (par
exemple startsap_majestix_00) en tant
qu'utilisateur prdadm.Une solution possible est de démarrer la base de
données sous l'utilisateur
oraprd avec la commande
svrmgrl:&prompt.user; svrmgrl
SVRMGR> connect internal;
SVRMGR> startup;
SVRMGR> exitErreur ORA-12546 (Lancez le
programme d'écoute avec les droits corrects —
“Start Listener with Correct
Permissions”)Démarrez le programme d'écoute
(“listener”) d'&oracle;
sous l'utilisateur oraids avec les
commandes suivantes:&prompt.root; umask 0; lsnrctl startSinon vous pourrez obtenir l'erreur
ORA-12546 étant donné que les
“sockets” n'auront pas les bonnes permissions.
Consultez la note &sap; 0072984.Erreur ORA-27102 (Mémoire
épuisée — “Out of Memory”)Cette erreur s'est produite quand nous avons essayé
des valeurs pour MAXDSIZ et
DFLDSIZ supérieures à 1 Go
(1024x1024x1024). De plus, nous avons eu l'erreur
Linux Error 12: Cannot allocate
memory.Erreur [DIPGNTAB_IND_IND] lors de l'utilisation de
R3SETUPEn général, vous devez consulter la note &sap;
0130581 (“R3SETUP step
DIPGNTAB terminates”). Lors de
l'installation d'IDES, pour certaines raisons le processus
d'installation n'a pas utilisé le nom correct pour le
système &sap; “IDS”,
- mais la chaîne de caratère ""
+ mais la chaîne de caractère ""
à la place. Cela conduit à des problèmes
mineurs d'accès aux répertoires, comme les chemins
sont générés dynamiquement en utilisant
l'identifiant système
SID (dans ce cas IDS). Aussi
au lieu d'accéder par:/usr/sap/IDS/SYS/...
/usr/sap/IDS/DVMGS00les chemins suivants ont été
utilisé:/usr/sap//SYS/...
/usr/sap/D00Afin de poursuivre l'installation, nous avons
créé un lien et un répertoire
supplémentaire:&prompt.root; pwd
/compat/linux/usr/sap
&prompt.root; ls -l
total 4
drwxr-xr-x 3 idsadm sapsys 512 May 5 11:20 D00
drwxr-x--x 5 idsadm sapsys 512 May 5 11:35 IDS
lrwxr-xr-x 1 root sapsys 7 May 5 11:35 SYS -> IDS/SYS
drwxrwxr-x 2 idsadm sapsys 512 May 5 13:00 tmp
drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 transNous avons également trouvé des notes &sap;
(0029227 et 0008401) décrivant ce comportement. Nous
n'avons pas rencontré un seul de ces problèmes
lors de l'installation de SAP
4.6C.Erreur [RFCRSWBOINI_IND_IND] lors de l'utilisation de
R3SETUPLors de l'installation de
SAP 4.6C, cette erreur est juste
une conséquence d'une autre erreur survenant plus
tôt dans l'installation. Dans ce cas, vous devez
consulter les fichiers journaux correspondant et corriger
le véritable problème.Si après avoir cherché dans les fichiers
journaux cette erreur est confirmée (consultez les
notes &sap;), vous pouvez modifier la valeur du
STATUS de l'étape posant
problème de la valeur ERROR
à la valeur OK. Après
l'installation, vous devez exécuter le report
RSWBOINS à partir de la
transaction SE38. Lire la note &sap; 0162266 pour des
informations supplémentaires au sujet des phases
RFCRSWBOINI et
RFCRADDBDIF.Erreur [RFCRADDBDIF_IND_IND] lors de l'utilisation de
R3SETUPIci les même restrictions s'appliquent:
assurez-vous en consultant les fichiers journaux, que cette
erreur n'est pas causée par d'autres problèmes
apparus précédemment.Si vous avez confirmation que la note &sap; 0162266
s'applique, modifiez juste la valeur du
STATUS de l'étape posant
problème de la valeur ERROR
à la valeur OK (fichier
CENTRDB.R3S) et relancez
R3SETUP. Après l'installation,
vous devez exécuter le report
RADDBDIF à partir de la
transaction SE38.Erreur sigaction sig31: File size limit
exceededCette erreur s'est produite lors du lancement des
processus &sap;disp+work. Si
&sap; est démarré
avec la procédure startsap, les
sous-processus sont alors lancés, et lancent les
autres processus &sap;. Cela a
pour résultat le fait que la procédure ne
remarquera pas si quelque chose se passe mal.Pour contrôler si les processus
&sap; ont démarré
correctement, consultez l'état des processus avec la
commande ps ax | grep
SID, qui vous donnera
une liste de tous les processus
&oracle; et
&sap;. S'il semble que certains
processus sont manquant ou que vous ne pouvez pas vous
connecter au système &sap;,
consultez les fichiers journaux correspondants qui peuvent
être trouvés dans le répertoire
/usr/sap/SID/DVEBMGSnr/work/.
Les fichiers à consulter sont
dev_ms et
dev_disp.Le signal 31 se produit ici si la quantité de
mémoire partagée utilisée par
&oracle; et
&sap; dépasse celle
définie dans le fichier de configuration du noyau et
ce problème peut être résolu en
utilisant une valeur plus grande:# larger value for 46C production systems:
options SHMMAXPGS=393216
# smaller value sufficient for 46B:
#options SHMMAXPGS=262144Le lancement de saposcol
échoueIl y a quelques problèmes avec le programme
saposcol (version 4.6D). Le
système &sap; utilise saposcol pour
collecter les données concernant les performances du
système. Ce programme n'est pas nécessaire
pour utiliser le système &sap;, aussi ce
problème peut être considéré
comme mineur. Les anciennes versions (4.6B) fonctionnent,
mais ne récupèrent pas toutes les
données (nombreux sont les appels qui retournent
juste 0, par exemple pour l'utilisation du CPU).Sujets avancésSi vous êtes curieux de savoir comment la
compatibilité binaire avec Linux fonctionne, cette
section est faite pour vous. La plupart de ce qui suit est
principalement basé sur un courrier électronique
de Terry Lambert tlambert@primenet.com
envoyé à la &a.chat; (Message ID:
<199906020108.SAA07001@usr09.primenet.com>).Comme ça marche?chargeur de classe d'exécution&os; possède une abstraction appelée
“chargeur de classe d'exécution”. C'est
une portion de l'appel système &man.execve.2;.Ce qui se passe est que &os; dispose d'une liste de
chargeurs, à la place d'un simple chargeur avec retour
(“fallback”) vers le chargeur
#! pour exécuter n'importe quel
interpréteur de commandes ou procédure.Historiquement, l'unique chargeur sur les plate-formes
&unix; examinait le nombre magique (généralement
les 4 ou 8 premiers octets du fichier) pour voir si
c'était un binaire connu par le système, et si
c'était le cas, invoquait le chargeur binaire.Si ce n'était pas le type de binaire du
système, l'appel &man.execve.2; retournait un
échec, et l'interpréteur de commandes tentait de
l'exécuter comme une commande
d'interpréteur.Cette hypothèse est celle par défaut quelque
soit l'interpréteur de commandes actuel.Plus tard, une modification a été faite sur
&man.sh.1; pour examiner les deux premiers caractères,
et s'ils étaient :\n, alors elle
invoquait l'interpréteur de commandes &man.csh.1;
à la place (nous pensons que l'entreprise SCO fut la
première à faire cette modification).Ce que fait maintenant &os; est de parcourir une liste de
chargeurs, avec un chargeur #!
- générique qui reconnait les noms des
+ générique qui reconnaît les noms des
interpréteurs qui se trouvent après le
caractère espace suivant, puis avec un retour possible
vers /bin/sh.ELFPour le support de l'ABI Linux, &os; voit le nombre
magique comme un binaire ELF (il ne fait pas la
différence à ce niveau entre &os;, &solaris;,
Linux, ou tout autre système d'exploitation qui dispose
d'un type d'image ELF).SolarisLe chargeur ELF recherche une marque
spécifique, qui se trouve dans une section de commentaire
dans l'image ELF, et qui n'est pas présente dans les
binaires SVR4/&solaris; ELF.Pour que les binaires Linux puissent fonctionner, ils
doivent être marqués sous le
type Linux avec &man.brandelf.1;:&prompt.root; brandelf -t Linux fileQuand cela est fait, le chargeur ELF verra le marquage
Linux sur le fichier.ELFmarquageLorsque le chargeur ELF voit le marquage
Linux, le chargeur remplace un pointeur
dans la structure proc. Tous les appels
système sont indéxés par
l'intermédiaire de ce pointeur (dans un système
&unix; traditionnel, cela serait la structure
sysent[], contenant les appels
système). De plus, le processus est marqué pour
une gestion spéciale du vecteur d'interruption
(“trap”) pour le signal de code
“trampoline”, et plusieurs autres corrections
(mineures) qui sont gérées par le noyau
Linux.Le vecteur d'appel système Linux contient, entre
autres, une liste des entrées
sysent[] dont les adresses résident
dans le noyau.Quand un appel système est effectué par le
binaire Linux, le code “trap”
déréférence de la structure
proc le pointeur de la fonction de l'appel
système, et utilise les points d'entrée Linux,
et non pas &os;, de d'appel système.De plus, le mode Linux redéfinit dynamiquement
l'origine des requêtes; c'est, en effet, ce qu'effectue
l'option (pas le
type de système de fichiers
unionfs!) de montage des systèmes de
fichiers. Tout d'abord, une tentative est faite pour
rechercher le fichier dans le répertoire /compat/linux/chemin-origine,
puis uniquement si cela échoue, la
recherche est effectuée dans le répertoire
/chemin-origine.
Cela permet de s'assurer que les binaires nécessitant
d'autres binaires puissent s'exécuter (par exemple,
l'ensemble des outils Linux peuvent tourner sous l'ABI Linux).
Cela signifie également que les binaires Linux peuvent
charger et exécuter les binaires &os;, s'il n'y a pas
de binaires Linux correspondant présents, et vous
pourriez placer une commande &man.uname.1; dans l'arborescence
/compat/linux pour vous
assurer que les binaires Linux ne puissent pas dire qu'ils ne
tournent pas sous Linux.En effet, il y a un noyau Linux dans le noyau &os;; les
diverses fonctions sous-jacentes qui implémentent tous
les services fournis par le noyau sont identiques entre les
deux tables d'entrées des appels systèmes &os;
et Linux: les opérations sur les systèmes de
fichiers, les opérations sur la mémoire
virtuelle, la gestion des signaux, l'IPC System V, etc. La
seule différence est que les binaires &os; utilisent
les fonctions glue de &os;, et les
binaires Linux celles de Linux (les plus anciens
systèmes d'exploitation avaient uniquement leurs
propres fonctions de glue: les adresses
des fonctions dans une structure sysent[]
statique globale, au lieu des adresses des fonctions
déréférencées d'un pointeur
initialisé dynamiquement pointant vers la structure
proc du processus faisant l'appel).Laquelle est l'ABI native &os;? Cela n'a pas
d'importance. Basiquement, la seule différence est que
(actuellement, cela pourrait facilement changer dans les
versions futures, et probablement après cela) les
fonctions glue de &os; sont liées
en statique dans le noyau, les fonctions
glue Linux peuvent être
liées statiquement, ou l'on peut y accéder via
un module du noyau.Oui, mais est-ce vraiment de l'émulation? Non.
C'est l'implémentation d'une interface binaire pour les
applications (ABI). Il n'y a pas d'émulateur (ou de
simulateur, pour couper court aux prochaines questions)
impliqué.Mais pourquoi appelle-t-on parfois cela
“émulation Linux”? Pour rendre difficile
la vente des versions de &os;! Sérieusement, c'est
dû au fait que l'implémentation historique a
été faite à une époque où
il n'y avait pas vraiment d'autres mots pour décrire ce
qui était en développement; dire que &os;
exécutait les binaires Linux n'était pas vrai si
vous n'aviez pas compilé le code ou chargé un
module, aussi un terme était nécessaire pour
qualifier ce qui était chargé — donc
l'“émulateur Linux”.
diff --git a/fr_FR.ISO8859-1/books/handbook/mail/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/mail/chapter.sgml
index 344fd291b0..37640989f6 100644
--- a/fr_FR.ISO8859-1/books/handbook/mail/chapter.sgml
+++ b/fr_FR.ISO8859-1/books/handbook/mail/chapter.sgml
@@ -1,2673 +1,2673 @@
BillLloydContribution originale de JimMockRéécrit par Courrier électronique
&trans.a.fonvieille;
Synopsisemailcourrier électroniqueLe “courrier électronique”, plus connu sous le nom d'email,
est une des formes de communication les plus utilisées
aujourd'hui. Ce chapitre fournit une introduction sur comment
faire fonctionner un serveur de courrier électronique sous
FreeBSD, et comment envoyer et recevoir du courrier électronique sous &os;. Cependant, cela n'est pas un document de
référence, en fait de nombreux
éléments importants ont été omis.
Pour une couverture plus complète du sujet, le lecteur doit
se référer aux nombreux ouvrages excellents
listés dans l'.Après la lecture de ce chapitre, vous
connaîtrez:Quels composants logiciel sont impliqués dans
l'envoi et la réception du courrier
électronique.Où se trouvent sous FreeBSD les fichiers de
configuration de base de
sendmail.La différence entre boîtes aux lettres
distantes et boîtes aux lettres locale.Comment empêcher les personnes à l'origine
de courriers non sollicités (spam) d'utiliser votre
serveur de courrier comme relais.Comment installer et configurer un agent de transfert de
courrier alternatif sur votre système, en remplacement
de sendmail.Comment dépanner les problèmes
courants des serveurs de courrier
électronique.Comment utiliser le protocole SMTP avec UUCP.Comment utiliser le courrier électronique avec
une connexion temporaire.Comment configurer l'authentification SMTP pour une
sécurité accrue.Comment installer et utiliser un client de messagerie,
comme mutt pour envoyer et lire
du courrier électronique.Comme récupérer votre courrier
électronique à partir d'un serveur
POP ou IMAP
distant.Comment appliquer automatiquement des règles de
filtrage au courrier entrant.Avant de lire ce chapitre, vous devrez:Configurer correctement votre connexion réseau
().Configurer correctement les informations DNS
pour votre serveur de courrier ().Savoir comment installer des logiciels tiers
().Utilisation du courrier électroniquePOPIMAPDNSIl y a cinq éléments majeurs impliqués
dans un échange de courrier. Ce sont:
le programme utilisateur,
le “daemon” serveur de
courrier, le serveur DNS,
une boîte aux lettres distante ou locale, et
bien sûr le le serveur
de courrier lui-même .Le programme utilisateurCela inclut des programmes en ligne de commande comme
mutt, pine,
elm, et
mail, et des programmes graphiques
comme balsa,
xfmail pour juste en nommer
quelques-uns, ou quelque chose de plus
sophisticated comme un navigateur WWW. Ces
programmes transmettent simplement toutes les transactions
concernant le courrier électronique au serveur de courrier local, soit en
invoquant un des “daemons” serveurs
(Agents de transfert de courrier) disponibles, soit via
TCP.Le “daemon” serveur de courrierdaemons serveurs de courriersendmaildaemons serveurs de courrierpostfixdaemons serveurs de courrierqmaildaemons serveurs de courrierexim&os; est fourni par défaut avec
sendmail, mais supporte
également de nombreux autres “daemons”
serveurs de courrier, parmi lesquels:exim;postfix;qmail.Le serveur a généralement deux
fonctions—il est responsable de la réception du
courrier comme celle de son envoi. Il n'est cependant
pas responsable de la
récupération du courrier électronique en
utilisant des protocoles comme POP ou
IMAP pour lire votre courrier, il ne vous
permet pas non plus la connexion à des boîtes aux
lettres locales de type mbox ou maildir.
Vous avez besoin d'un “daemon”
supplémentaire pour cela.Les anciennes version de
sendmail ont de sérieux
problèmes de sécurité qui peuvent avoir
pour conséquence l'obtention d'un accès local
et/ou à distance à votre machine pour une
personne malveillante. Vérifiez que vous utilisez
une version à jour pour éviter de tels
problèmes. Vous avez cependant toujours la
possibilité d'installer un autre
MTA à partir du catalogue des logiciels portés de
&os;.Courrier électronique et DNSLe système de noms de domaines (DNS) et son
“daemon” named jouent un rôle
important dans la transmission du courrier électronique.
Afin de délivrer du courrier de votre site à un autre,
le serveur recherchera le site distant dans la base de données DNS
pour déterminer la machine qui recevra le courrier
électronique pour le destinataire. Ce processus
intervient également quand un courrier
électronique est envoyé à partir d'une
machine distante vers votre serveur de courrier.enregistrement MXLe DNS gère la correspondance
entre nom de machine et adresse IP, et le stockage des
informations spécifiques à la distribution du
courrier électronique, connues sous le nom
d'enregistrements MX. L'enregistrement MX (“Mail
eXchanger”) définit la machine, ou les machines,
qui recevra le courrier pour un domaine particulier. Si vous
n'avez pas d'enregistrement MX pour votre machine ou votre
domaine, le courrier sera directement envoyé à
votre machine à condition que vous ayez un
enregistrement A faisant correspondre à votre nom de
machine votre adresse IP.Vous pouvez obtenir les enregistrements MX pour n'importe
quel domaine en utilisant la commande &man.host.1; est
présentée ci-dessous:&prompt.user; host -t mx FreeBSD.org
FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.orgRéception de courriercourrier électroniqueréceptionLa réception du courrier pour votre domaine se fait par le
serveur de courrier. Il collectera le courrier qui est
envoyé à destination de votre domaine et le
stockera soit sous le format mbox (la
méthode par défaut de stockage du courrier
électronique) ou le format Maildir, en fonction de
votre configuration. Une fois le courrier stocké, il
peut être lu localement en utilisant des applications
comme &man.mail.1; ou mutt, ou lu
à distance et récupéré en
utilisant des protocoles tels que POP ou
IMAP. Cela signifie que si vous
désirez uniquement lire votre courrier
électroniquement en local, vous n'avez pas besoin
d'installer un serveur POP ou
IMAP.Accès aux boîtes aux lettres distantes en
utilisant POP et
IMAPPOPIMAPPour accéder à des boîtes aux
lettres distantes, vous devez avoir un accès à
un serveur POP ou
IMAP. Ces protocoles permettent aux
utilisateurs de se connecter aisément à leurs
- boîtes aux lettes à partir de machines
+ boîtes aux lettres à partir de machines
distantes. Bien que POP et
IMAP permettent, tous les deux,
l'accès aux boîtes aux lettres pour les
utilisateurs, IMAP offre de nombreux
avantages, parmi lesquels:IMAP peut stocker les messages
sur un serveur distant et les
récupérer.IMAP supporte les mises à
jour concourantes.IMAP peut être
extrêmement utile pour les connexions lentes car il
permet aux utilisateurs de récupérer la
structure des messages sans les télécharger.
Il peut également effectuer des tâches comme
la recherche sur le serveur pour réduire les
transferts de données entre clients et
serveurs.Pour installer un serveur POP ou
IMAP, les étapes suivantes doivent
être suivies:Choisissez un serveur IMAP ou
POP correspondant à vos
besoins. Les serveurs POP et
IMAP suivants sont connus et sont de
bons exemples:qpopper;teapop;imap-uw;courier-imap;Installez le “daemon”
POP ou IMAP de votre
choix à partir du catalogue des logiciels
portés.Si cela est nécessaire, modifiez le fichier
/etc/inetd.conf pour charger le
serveur POP ou
IMAP.Il doit être noté que
POP et IMAP
transmettent les données, y compris les noms
d'utilisateurs et mot de passe d'authentification en clair.
Cela signifie que si vous désirez sécuriser la
transmission des données avec ces protocoles, vous
devriez considérer l'utilisation de de tunnels
&man.ssh.1;. L'utilisation de tels tunnels est
décrite dans la .Accès aux boîtes aux lettres
localesLes boîtes aux lettres peuvent être
accessibles localement en utilisant un client de messagerie
sur le serveur où se trouve la boîte. Cela
peut être fait en employant des applications telles
que mutt ou &man.mail.1;.Le serveur de courrierserveur de courrierLe serveur de courrier est le nom donné au
serveur qui est responsable de la transmission et la
réception du courrier pour votre machine, et
probablement votre réseau.ChristopherShumwayContribution de Configuration de sendmailsendmail&man.sendmail.8; est l'agent de transfert de courrier (Mail
Transfert Agent—MTA) par défaut sous FreeBSD. Le rôle
de sendmail est d'accepter le
courrier en provenance des agents de courrier utilisateur (Mail
User Agents—MUA) et de délivrer le courrier aux programmes de
gestion du courrier définis dans son fichier de configuration.
sendmail peut également accepter
les connexions réseau et délivrer le courrier dans des
boîtes aux lettres locales ou le transmettre à un autre
programme.sendmail utilise les fichiers de
configuration suivants:/etc/mail/access/etc/mail/aliases/etc/mail/local-host-names/etc/mail/mailer.conf/etc/mail/mailertable/etc/mail/sendmail.cf/etc/mail/virtusertableFichierFonction/etc/mail/accessFichier de la base de données d'accès
de sendmail/etc/mail/aliasesAlias de boîte aux lettres/etc/mail/local-host-namesListe des machines pour lesquelles
sendmail accepte du
courrier/etc/mail/mailer.confConfiguration du programme de gestion du
courrier/etc/mail/mailertableTable de livraison du courrier/etc/mail/sendmail.cfFichier de configuration principal
de sendmail/etc/mail/virtusertableTable des domaines et utilisateurs virtuels/etc/mail/accessLa base de données d'accès définit
quelle(s) machine(s) ou adresses IP ont accès au serveur de
courrier local et quel type d'accès ils ont.
Les machines peuvent être listées avec ,
, ou simplement
transférées à la routine de gestion des erreurs
sendmail avec une erreur donnée.
Les machines qui sont listées avec , qui est le
comportement par défaut, sont autorisées à envoyer du
- courrier à cette machinee dès que la destination finale
+ courrier à cette machine dès que la destination finale
du courrier est la machine locale. Les machines listées avec
se verront rejeter pour toute connexion
au serveur. Les machines présentes avec l'option
sont autorisées à envoyer du
courrier à n'importe quelle destination par
l'intermédiaire de ce serveur de courrier.Configuration de la base de données d'accès
de sendmailcyberspammer.com 550 We don't accept mail from spammers
FREE.STEALTH.MAILER@ 550 We don't accept mail from spammers
another.source.of.spam REJECT
okay.cyberspammer.com OK
128.32 RELAYDans cet exemple nous avons cinq entrées.
Les émetteurs de courrier qui correspondent à la partie
gauche de la table sont affectés par l'action donnée
sur la partie droite de la table. Les deux premiers
exemples donnent un code d'erreur à la routine de gestion
d'erreur de sendmail.
Le message est affiché sur la machine distante quand un courrier
électronique correspond à la partie gauche de la table.
L'entrée suivante rejette le courrier en provenance
d'une machine précise de l'Internet,
another.source.of.spam. L'entrée suivante
accepte les connexions à partir de la machine
okay.cyberspammer.com, qui est plus précis
que le cyberspammer.com de la ligne
précédente. Les correspondances plus spécifiques
priment sur les moins précises. La dernière
entrée autorise le relais du courrier électronique en
provenance de machines avec une adresse IP qui commence par
128.32. Ces machines seront en mesure
d'envoyer du courrier destiné à d'autres
serveurs de courrier par l'intermédiaire de ce serveur de
courrier.Quand ce fichier est mis à jour, vous devez exécuter
la commande make dans
/etc/mail/ pour mettre à jour la base
de données./etc/mail/aliasesLa base de données d'alias contient une liste
de boîtes aux lettres virtuelles dont le contenu sera transmis
à d'autres utilisateurs, fichiers, programmes ou d'autres
alias. Voici quelques exemples qui peuvent être
utilisés dans /etc/mail/aliases:Exemple de base de données d'aliasroot: localuser
ftp-bugs: joe,eric,paul
bit.bucket: /dev/null
procmail: "|/usr/local/bin/procmail"Le format du fichier est simple; le nom de la boîte
aux lettres à gauche et la cible sur la droite.
Le premier exemple transfère la boîte aux lettres
root vers la boîte aux lettres
localuser, qui est ensuite recherchée
dans la base de données d'alias. Si aucune correspondance n'est
trouvée alors le message est délivré à
l'utilisateur locale
localuser. L'exemple suivant montre une
liste de correspondance. Un courrier envoyé à la
boîte aux lettres ftp-bugs sera
délivré aux trois boites locales joe,
eric, et paul. Notez
qu'une boîte aux lettres distante comme user@exemple.com/procmail
pourra
être spécifiée. L'exemple suivant montre comment
transférer le courrier dans un fichier, dans notre cas
/dev/null. Le dernier exemple montre
l'envoi du courrier à un programme, dans le cas présent
le message est écrit sur l'entrée standard de
/usr/local/bin/procmail par
l'intermédiaire d'un tube &unix;.Quand ce fichier est mis à jour, vous devez
exécuter la commande make dans
/etc/mail/ pour mettre à jour
la base de données./etc/mail/local-host-namesC'est la liste des machines pour lesquelles &man.sendmail.8;
accepte du courrier comme s'il était destiné
à la machine locale.
Placez-y tous les domaines ou machines pour lesquels
sendmail doit recevoir du courrier.
Par exemple, si le serveur de courrier devait accepter du
courrier pour le domaine exemple.com et la machine
mail.exemple.com, sont
local-host-names ressemblera à quelque
chose comme ceci:exemple.com
mail.exemple.comQuand ce fichier est mis à jour, &man.sendmail.8; doit
être relancé pour lire les changements./etc/mail/sendmail.cfFichier principal de configuration de
sendmail,
sendmail.cf contrôle le comportement
général de sendmail,
y compris tout depuis la réécriture des adresses
de courrier jusqu'à l'envoi de message de rejet aux
serveurs de courrier distants. Naturellement, avec tant de
différentes activités, ce fichier de configuration
est relativement complexe et son étude détaillée
n'est pas le but de cette section. Heureusement, ce fichier a
rarement besoin d'être modifié pour les serveurs de courrier
standards.Le fichier de configuration principal de
sendmail peut être
créé à partir de macros &man.m4.1; qui
définissent les fonctions
et le comportement de sendmail.
Veuillez consulter
/usr/src/contrib/sendmail/cf/README pour
plus de détails.Quand des modifications à ce fichier sont apportées,
sendmail doit être
redémarré pour que les changements prennent effet./etc/mail/virtusertableLa table virtusertable fait
correspondre les adresses de courrier électronique pour des
domaines virtuels et les boîtes aux lettres avec des
boîtes aux lettres réelles. Ces boîtes aux lettres
peuvent être locales, distantes, des alias définis dans
/etc/mail/aliases ou des fichiers.Exemple de correspondance de domaine virtuel de
courrierroot@exemple.com root
postmaster@exemple.com postmaster@noc.exemple.net
@exemple.com joeDans l'exemple ci-dessus, nous avons une correspondance pour
un domaine exemple.com. Ce fichier est traité
jusqu'à trouver la première correspondance.
Le premier élément fait correspondre root@exemple.com
à la boîte aux lettres root locale. L'entrée
suivante fait correspondre postmaster@exemple.com à la
boîte aux lettres postmaster sur la machine noc.exemple.net.
Et enfin, si un courrier en provenance de exemple.com n'a pas
trouvé de correspondance, il correspondra à la
- dernière ligne, qui regira tous les autres messages
+ dernière ligne, qui régira tous les autres messages
adressés à
quelqu'un du domaine exemple.com.
La correspondance sera la boîte aux lettres locale
joe.AndrewBoothmanEcrit par GregoryNeil ShapiroInformation provenant de courriers électroniques
écrit par Changer votre agent de transfert de courriercourrier électroniquechanger d'agent de transfert de courrierComme mentionné précédemment,
FreeBSD est fournit avec sendmail
comme agent de transfert du courrier (MTA - Mail Transfert
Agent). Il est donc par défaut
en charge de votre courrier sortant et entrant.Cependant, pour une variété de raison,
certains administrateurs système désirent
changer le MTA de leur système. Ces raisons vont de la
simple envie d'essayer un autre agent au besoin d'une fonction
ou ensemble spécifique qui dépend d'un autre gestionnaire de
courrier. Heureusement, quelle qu'en soit la raison, FreeBSD
rend le changement aisé.Installer un nouveau MTAVous avez un vaste choix d'agent disponible. Un bon
point de départ est le catalogue des
logiciels portés de FreeBSD où vous pourrez
en trouver un grand nombre.
Bien évidemment vous êtes libres
d'utiliser n'importe quel agent de n'importe quelle origine,
dès que vous pouvez le faire fonctionner sous FreeBSD.Commencez par installer votre nouvel agent. Une fois ce
dernier installé, il vous donne une chance de décider s'il
remplit vraiment vos besoins, et vous donne l'opportunité
de configurer votre nouveau logiciel avant de remplacer
sendmail. Quand vous faites cela,
vous devez être sûr que l'installation du nouveau
logiciel ne tentera pas de remplacer des binaires du système
comme /usr/bin/sendmail. Sinon, votre
nouveau logiciel sera mis en service avant d'avoir pu
le configurer.Veuillez vous référer à la documentation de l'agent choisi
pour de l'information sur comment configurer le logiciel que
vous avez choisi.Désactiver sendmailLa procédure utilisée pour lancer
sendmail a changé de façon
significative entre la 4.5-RELEASE et la 4.6-RELEASE.
Par conséquent, la procédure utilisée pour
la désactiver est légèrement
différente.FreeBSD 4.5-STABLE d'avant le 2002/4/4 et plus ancienne
(y compris 4.5-RELEASE et précédentes)Ajoutez:sendmail_enable="NO"dans /etc/rc.conf. Cela
désactivera le service de courrier entrant de
sendmail mais si
/etc/mail/mailer.conf (voir plus bas)
n'est pas modifié, sendmail
sera toujours utilisé pour envoyer du courrier
électronique.FreeBSD 4.5-STABLE d'après le 2002/4/4
(y compris 4.6-RELEASE et suivantes)Afin de complètement désactiver
sendmail vous devez utilisersendmail_enable="NONE"dans /etc/rc.conf.Si vous désactivez le service d'envoi de courrier de
sendmail de cette manière, il
est important que vous le remplaciez par un système de
courrier alternatif fonctionnant parfaitement. Si vous
choisissez de ne pas le faire, des fonctions du système
comme &man.periodic.8; ne seront pas en mesure de délivrer
leur résultat par courrier électronique comme elles
s'attendent normalement à le faire. De nombreux
composants de votre système s'attendent à
avoir un système
compatible à sendmail en
fonctionnement. Si des applications continuent à utiliser
les binaires de sendmail pour
essayer d'envoyer du courrier électronique après la
désactivation, le courrier pourra aller dans une file
d'attente inactive, et pourra n'être jamais
livré.Si vous voulez uniquement désactiver le service de
réception de courrier de sendmail
vous devriez fixersendmail_enable="NO"dans /etc/rc.conf. Plus
d'information sur les options de démarrage de
sendmail est disponible à partir
de la page de manuel de &man.rc.sendmail.8;.Lancement de votre nouvel agent au démarrageVous pourrez avoir le choix entre deux méthodes pour
lancer votre nouvel agent au démarrage, encore une fois en
fonction de la version de FreeBSD dont vous disposez.FreeBSD 4.5-STABLE d'avant le 2002/4/11
(y compris 4.5-RELEASE et précédentes)Ajouter une procédure dans
/usr/local/etc/rc.d/ qui
se termine en .sh et qui est
exécutable par root. La
procédure devrait accepter les paramètres
start et stop.
Au moment du démarrage les procédures
système exécuteront la commande/usr/local/etc/rc.d/supermailer.sh startque vous pouvez également utiliser pour démarrer le
serveur. Au moment de l'arrêt du système, les
procédures système utiliseront l'option
stop en exécutant la commande/usr/local/etc/rc.d/supermailer.sh stopque vous pouvez également utiliser manuellement pour
arrêter le serveur quand le système est en
fonctionnement.FreeBSD 4.5-STABLE d'après le 2002/4/11
(y compris 4.6-RELEASE et suivantes)Avec les versions suivantes de FreeBSD, vous pouvez
utiliser la méthode ci-dessus ou fixermta_start_script="nomfichier"dans /etc/rc.conf, où
nomfichier est le nom
d'une procédure que vous voulez exécuter
au démarrage pour lancer votre agent.Remplacer sendmail comme
gestionnaire du courrier du système par
défautLe programme sendmail est tellement
omniprésent comme logiciel standard sur les
systèmes &unix; que certains programmes supposent qu'il est tout
simplement déjà installé et configuré.
Pour cette raison, de nombreux agents alternatifs fournissent
leur propre implémentation compatible avec l'interface en
ligne de commande de sendmail;
cela facilite leur utilisation comme remplaçant pour
sendmail.Donc, si vous utilisez un programme alternatif, vous
devrez vérifier que le logiciel essayant d'exécuter
les binaires standards de sendmail
comme /usr/bin/sendmail exécute
réellement l'agent que vous avez choisi à la place.
Heureusement, FreeBSD fournit un système appelé
&man.mailwrapper.8; qui remplit ce travail pour vous.Quand sendmail fonctionne tel
qu'il a été installé, vous
trouverez quelque chose comme ce qui suit dans
/etc/mail/mailer.conf:sendmail /usr/libexec/sendmail/sendmail
send-mail /usr/libexec/sendmail/sendmail
mailq /usr/libexec/sendmail/sendmail
newaliases /usr/libexec/sendmail/sendmail
hoststat /usr/libexec/sendmail/sendmail
purgestat /usr/libexec/sendmail/sendmailCela signifie que lorsque l'une des commandes courantes
(comme sendmail lui-même) est
lancée, le système invoque en fait une copie de
“mailwrapper” appelée
sendmail, qui lit
mailer.conf et
exécute /usr/libexec/sendmail/sendmail
à la place. Ce système rend aisé le changement
des binaires qui sont réellement exécutés
quand les fonctions de sendmail par
défaut sont invoquées.Donc si vous avez voulu que
/usr/local/supermailer/bin/sendmail-compat
soit lancé en place de sendmail,
vous pourrez modifier /etc/mail/mailer.conf
de cette façon:sendmail /usr/local/supermailer/bin/sendmail-compat
send-mail /usr/local/supermailer/bin/sendmail-compat
mailq /usr/local/supermailer/bin/mailq-compat
newaliases /usr/local/supermailer/bin/newaliases-compat
hoststat /usr/local/supermailer/bin/hoststat-compat
purgestat /usr/local/supermailer/bin/purgestat-compatPour en terminerUne fois que vous avez tout configuré de la façon
dont vous le désirez, vous devriez soit tuer les processus de
sendmail dont vous n'avez plus
besoin et lancer les processus appartenant à votre
nouveau logiciel, ou tout simplement redémarrer. Le
redémarrage vous donnera l'opportunité de vous assurer
que vous avez correctement configuré votre système
pour le lancement automatique de votre nouvel agent au
démarrage.Dépannagecourrier électroniquedépannagePourquoi faut-il que j'utilise le FQDN (“Fully
Qualified Domain Name” - nom complet de machine) pour
les machines de mon site?Vous vous rendrez probablement compte que la machine est
en fait dans un domaine différent; par exemple, si vous
êtes dans le domaine foo.bar.edu
et que vous voulez atteindre la machine mumble
du domaine bar.edu,
vous devrez utiliser son nom de machine complet,
mumble.bar.edu, au lieu de
juste mumble.BINDC'était traditionnellement autorisé par les
résolveurs BIND BSD.
Néanmoins, la version de BIND
qui est maintenant livrée avec FreeBSD ne sait pas
compléter les noms de machines abrégés autrement
qu'avec le nom de votre domaine. Donc le nom non
qualifié mumble doit correspondre
à mumble.foo.bar.edu,
sans quoi il sera recherché dans le domaine racine.Cela diffère du comportement précédent,
où la recherche se prolongeait à
mumble.bar.edu, puis
mumble.edu.
Consultez la RFC 1535 pour savoir pourquoi cela était
considéré comme une mauvaise pratique, voire
même un trou de sécurité.Comme solution, vous pouvez mettre la ligne:
search foo.bar.edu bar.edu
à la place de:
domain foo.bar.edu
dans votre fichier /etc/resolv.conf.
Cependant, assurez-vous que la recherche ne franchit pas la
“limite entre l'administration locale et
publique”, selon l'expression de la RFC 1535.MX recordsendmail affiche le message
mail loops back to myselfLa réponse donnée dans la FAQ de
sendmail est la suivante:J'obtiens les messages d'erreur suivant:
553 MX list for domain.net points back to relay.domain.net
554 <user@domain.net>... Local configuration error
Comment puis-je résoudre ce problème?
Vous avez demandé que le courrier pour un domaine (e.g., domain.net)
soit transmis à une machine donnée (dans ce cas précis, relay.domain.net)
en utilisant un enregistrement MX, mais la machine relais ne se
connaît pas elle-même comme domain.net. Ajoutez domain.net à
/etc/mail/local-host-names [connu sous le nom /etc/sendmail.cw dans les versionsantérieure à 8.10] (si vous utilisez FEATURE(use_cw_file))
ou ajoutez “Cw domain.net” à
/etc/mail/sendmail.cf.La FAQ de sendmail peut être trouvée
à l'adresse et
sa lecture est recommandée si vous voulez
“bidouiller” votre configuration du courrier
électronique.PPPComment puis-je faire tourner un serveur de courrier
électronique avec une connexion
téléphonique PPPVous voulez connecter une machine FreeBSD du réseau
local à l'Internet. Cette machine servira de passerelle de
courrier électronique pour le réseau local.
La connexion PPP n'est pas dédiée.UUCPMX recordIl y a au moins deux façons de faire. L'une d'elle
est d'utiliser UUCP.L'autre méthode étant d'obtenir un serveur Internet
constamment connecté pour qu'il vous fournisse les services
MX pour votre domaine. Par exemple, si le domaine de votre
compagnie est exemple.com et votre
fournisseur d'accès a configuré
exemple.net pour fournir un MX secondaire
pour votre domaine:exemple.com. MX 10 exemple.com.
MX 20 exemple.net.Une seule machine devrait être
spécifiée comme destinataire final (ajoutez
Cw exemple.com au fichier
/etc/mail/sendmail.cf de
exemple.com).Quand le sendmail expéditeur tente
de vous délivrer du courrier, il essaiera de se connecter
à votre serveur (exemple.com)
via votre liaison par modem. Ce qui échouera très
probablement par dépassement de délai puisque
vous n'êtes pas en ligne. Le programme
sendmail enverra automatiquement
le courrier au site MX secondaire, i.e. votre fournisseur
d'accès (exemple.net).
Le site MX secondaire essayera périodiquement de se
connecter à votre machine pour expédier le
courrier au site MX primaire (exemple.com).Vous pourrez vouloir utiliser quelque chose comme ceci
comme procédure de connexion:#!/bin/sh
# Mettez-moi dans /usr/local/bin/pppmyisp
( sleep 60 ; /usr/sbin/sendmail -q ) &
/usr/sbin/ppp -direct pppmyispSi vous avez l'intention de définir une
procédure de connexion particulière pour un
utilisateur, vous pourrez utiliser
sendmail -qRexemple.com à la place
de la procédure ci-dessus. Cela forcera le traitement
immédiat de tout le courrier dans votre file d'attente
pour exemple.com.On peut encore affiner la configuration comme
suit:Message emprunté à la &a.isp;.> Nous fournissons un MX secondaire à un
client. Le client se connecte
> à notre service automatiquement plusieurs fois par jour pour acheminer
> le courrier sur son MX primaire (nous n'appelons pas son site lorsque
> du courrier pour ses domaines arrive). Notre sendmail envoie le courrier de la
> file d'attente toutes les demi-heures. Pour l'instant, il doit rester
> une demi-heure en ligne pour être sûr que tout le courrier soit
> arrivé au MX primaire.
>
> Y-a-t-il une commande qui permette de dire à sendmail d'envoyer
> sur-le-champ tout le courrier? L'utilisateur n'a évidemment pas
> les droits super-utilisateur sur la machine.
Dans la section “privacy flags” (indicateurs de
confidentialité) de sendmail.cf, il y a la définition Opgoaway,restrictqrun
Supprimer restrictqrun permet à d'autres utilisateurs que le
super-utilisateur de lancer le traitement de la file d'attente. Vous
pouvez aussi redéfinir les MXs. Nous sommes le premier MX pour les
utilisateurs de ce type, et nous avons défini:
# Si nous sommes le meilleur MX pour une machine, essayer directement
# au lieu d'émettre des messages d'erreur de configuration locale.
OwTrue
De cette façon, un site distant vous enverra directement le courrier,
sans essayer de se connecter chez votre client. Vous le lui
transmettez ensuite. Cela ne marche qu'avec les “machines”,
votre client doit nommer son serveur de courrier
“client.com” aussi bien que
“machine.client.com” dans le DNS. Mettez seulement un
enregistrement A pour “client.com”.Pourquoi j'obtiens le message d'erreur
Relaying Denied à chaque
fois que j'envoie du courrier à partir d'autres
machines?Dans l'installation par défaut de FreeBSD,
sendmail est configuré pour
envoyer du courrier uniquement à partir de la machine
sur laquelle il tourne. Par exemple, si un serveur POP
est disponible, alors les utilisateurs pourront retirer leur
courrier depuis l'école, le travail, ou toute autre
machine distante mais ils ne seront toujours pas en mesure
d'envoyer du courrier électronique à partir de machines
extérieures. Généralement, quelques
instants après une tentative, un courrier
électronique sera envoyé par le
MAILER-DAEMON avec un message
5.7 Relaying Denied.Il y a plusieurs façons d'y remédier.
La solution la plus directe est de mettre l'adresse
de votre fournisseur d'accès dans un fichier de domaine
à relayer /etc/mail/relay-domains.
Une façon rapide de le faire serait:&prompt.root; echo "votre.fai.exemple.com" > /etc/mail/relay-domainsAprès avoir créé ou édité
ce fichier vous devez
redémarrer sendmail.
Cela fonctionne parfaitement si vous êtes
l'administrateur d'un serveur et vous ne désirez pas
envoyer de courrier localement, ou que vous désiriez
utiliser un système ou un client “clic-bouton”
sur une autre machine ou un autre FAI. C'est également
très utile si vous avez uniquement qu'un ou deux
comptes de courrier électronique configurés.
S'il y a un grand nombre d'adresses à ajouter, vous
pouvez tout simplement ouvrir ce fichier dans votre
éditeur de texte favori et ensuite ajouter les domaines,
un par ligne:votre.fai.exemple.com
autre.fai.exemple.net
utilisateurs-fai.exemple.org
www.exemple.orgDésormais tout courrier envoyé vers votre
système, par n'importe quelle machine de cette liste
(en supposant que l'utilisateur possède un compte sur
votre système), sera accepté. C'est un bon
moyen d'autoriser aux utilisateurs d'envoyer du courrier
électronique à distance depuis votre système
sans autoriser l'utilisation de votre système pour l'envoi de
courrier électronique non sollicité (SPAM).Sujets avancésLA fonction suivante couvre des sujets plus avancés
comme la configuration du courrier électronique pour
l'intégralité de votre domaine.Basic Configurationcourrier électroniqueconfigurationSans aucune configuration, vous devrez être en
mesure d'envoyer du courrier électronique à des machines
extérieures à partir du moment où vous avez
configuré /etc/resolv.conf ou que
vous avez votre propre serveur de noms. Si vous désirez
que le courrier pour votre machine soit délivré au
serveur de courrier (e.g., sendmail) sur
votre propre machine FreeBSD, il y a deux méthodes:Faites tourner votre propre serveur de noms et
possédez votre propre domaine. Par exemple FreeBSD.orgFaire délivrer le courrier directement sur votre
machine. Cela est possible en délivrant directement le
courrier à la machine sur lequel pointe le DNS pour le
courrier qui vous est destiné. Par exemple exemple.FreeBSD.org.SMTPIndépendamment de la méthode que vous choisissez, afin
d'avoir le courrier délivré directement
à votre machine, elle doit avoir une adresse IP statique
permanente (et non pas une adresse dynamique, comme avec la
plupart des connexions PPP par modem). Si vous êtes
derrière un coupe-feu, il doit autoriser le trafic SMTP en
votre direction. Si vous voulez recevoir directement le
courrier sur votre machine, vous devez être sûrs
de l'une de ces deux choses:enregistrement MXAssurez-vous que l'enregistrement MX (le nombre le
plus bas) de votre DNS pointe sur l'adresse IP de votre
machine.Assurez-vous qu'il n'y a pas d'entrée MX pour votre
machine dans votre DNS.Une des deux conditions précédentes vous
permettra de recevoir directement le courrier pour votre
machine.Essayez:&prompt.root; hostname
exemple.FreeBSD.org
&prompt.root; host exemple.FreeBSD.org
exemple.FreeBSD.org has address 204.216.27.XXSi c'est la réponse que vous obtenez, le courrier
adressé à
votreindentifiant@exemple.FreeBSD.org
arrivera sans problème (en supposant que
sendmail fonctionne correctement
sur exemple.FreeBSD.org).Si au lieu de cela vous obtenez quelque chose de similaire
à ceci:&prompt.root; host exemple.FreeBSD.org
exemple.FreeBSD.org has address 204.216.27.XX
exemple.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.orgTout le courrier adressé à votre machine
(exemple.FreeBSD.org)
arrivera sur hub adressé au même
utilisateur au lieu d'être directement
envoyé à votre machine.L'information précédente est
gérée par votre serveur DNS. L'enregistrement du
DNS qui contient l'information de routage de courrier est
l'entrée MX (Mail
eXchange). S'il n'y pas d'enregistrement MX,
le courrier sera directement envoyé à la machine
en utilisant son adresse IP.Voici ce que fut à un moment donné
l'entrée MX pour freefall.FreeBSD.org:freefall MX 30 mail.crl.net
freefall MX 40 agora.rdrop.com
freefall MX 10 freefall.FreeBSD.org
freefall MX 20 who.cdrom.comComme vous pouvez le voir, freefall
avait plusieurs entrées MX. L'entrée MX dont le
numéro est le plus bas est la machine qui reçoit
directement le courrier si elle est disponible; si elle n'est
pas accessible pour diverses raisons, les autres (parfois
appelées “MX de secours”) acceptent
temporairement les messages, et les transmettent à une
machine de numéro plus faible quand elle devient
disponible, et par la suite à la machine de numéro le
plus bas.Les sites MX alternatifs devraient avoir une connexion
Internet séparée de la votre afin d'être
les plus utiles. Votre fournisseur d'accès ou tout autre
site amical ne devrait pas avoir de problème pour vous
fournir ce service.Courrier pour votre domainePour configurer un serveur de courrier vous devez faire
en sorte que tout le courrier à destination des diverses
stations de travail lui soit envoyé. Concrètement,
vous voulez “revendiquer” tout courrier pour
n'importe quelle machine de votre domaine (dans ce cas
*.FreeBSD.org) et le détourner
vers votre serveur de courrier de sorte que vos utilisateurs
puissent recevoir leur courrier sur le serveur de courrier
principal.DNSPour rendre les choses plus aisées, un compte
utilisateur avec le même nom
d'utilisateur devrait exister sur les deux
machines. Utilisez &man.adduser.8; pour ce
faire.Le serveur de courrier que vous utiliserez sera
défini comme “mail exchanger” pour chaque
station de travail du réseau. Cela est fait dans votre
configuration de DNS de cette manière:exemple.FreeBSD.org A 204.216.27.XX ; Station de travail
MX 10 hub.FreeBSD.org ; Serveur de courrierCela redirigera le courrier pour votre station de travail
au serveur de courrier quelque soit la machine sur laquelle
pointe l'enregistrement A. Le courrier est envoyé sur la
machine MX.Vous ne pouvez le faire vous-même que si vous
gérez un serveur de noms. Si ce n'est pas le cas, ou que vous
ne pouvez avoir votre propre serveur DNS, parlez-en à
votre fournisseur d'accès ou à celui qui fournit
votre DNS.Si vous faites de l'hébergement virtuel du courrier
électronique, l'information suivante sera utile. Pour cet
exemple, nous supposerons que vous avez un client qui possède
son propre domaine, dans notre cas client1.org, et vous voulez
que tout le courrier pour client1.org arrive sur votre
serveur de courrier, mail.mamachine.com.
L'entrée dans votre DNS devrait ressembler à ceci:client1.org MX 10 mail.mamachine.comVous n'avez pas besoin d'un
enregistrement A pour client1.org si vous ne voulez
gérer que le courrier pour ce domaine.Soyez conscient que “pinger”
client1.org ne
fonctionnera pas à moins qu'un enregistrement A existe pour
cette machine.La dernière chose que vous devez faire est d'indiquer à
sendmail sur le serveur de courrier
quels sont les domaines et/ou machines pour lesquels il
devrait accepter du courrier. Il y a peu de façons
différentes de le faire. L'une des deux méthodes
suivantes devrait fonctionner:Ajoutez les machines à votre fichier
/etc/mail/local-host-names si vous
utilisez la fonction FEATURE(use_cw_file).
Si vous utilisez une version de
sendmail antérieure à
la version 8.10, le fichier sera
/etc/sendmail.cw.Ajoutez une ligne Cwyour.host.com
à votre fichier
/etc/sendmail.cf ou
/etc/mail/sendmail.cf si vous utilisez
sendmail 8.10 ou supérieur.SMTP avec UUCPLa configuration de sendmail
fournie avec &os; est conçue pour les sites directement
connectés à l'Internet. Les sites désirant
échanger leur courrier électronique par
l'intermédiaire d'UUCP doivent installer un autre fichier
de configuration pour
sendmail.Modifier manuellement le fichier
/etc/mail/sendmail.cf est un sujet
réservé aux spécialistes. Dans version 8
de sendmail la
génération des fichiers de configuration se fait
par l'intermédiaire du processeur &man.m4.1;, où
la configuration se fait à un haut niveau d'abstraction.
Les fichiers de configuration &man.m4.1; se trouvent dans le
répertoire /usr/src/usr.sbin/sendmail/cf.Si vous n'avez pas installé toutes les sources du
système, l'ensemble des fichiers de configuration de
sendmail a été
regroupé dans une archive séparée des
autres sources. En supposant que vous avez monté votre
CDROM &os; contenant les sources, faites:&prompt.root; cd /cdrom/src
&prompt.root; cat scontrib.?? | tar xzf - -C /usr/src/contrib/sendmailCette extraction ne donne lieu qu'à une centaine de
kilo-octets. Le fichier README dans le
répertoire cf
pourra faire office d'une introduction à la configuration
&man.m4.1;.La meilleure façon d'ajouter le support UUCP est
d'utiliser la fonctionnalité
mailertable. Cela créé une
base de données que sendmail
utilise pour décider de la manière dont il va
router le courrier électronique.Tout d'abord, vous devez créer votre fichier
.mc. Le répertoire /usr/src/usr.sbin/sendmail/cf/cf
contient quelques exemples. En supposant que vous avez
appelé votre fichier foo.mc, tout ce
dont vous avez besoin de faire pour le convertir en un fichier
sendmail.cf valide est:&prompt.root; cd /usr/src/usr.sbin/sendmail/cf/cf
&prompt.root; make foo.cf
&prompt.root; cp foo.cf /etc/mail/sendmail.cfUn fichier .mc classique devrait
ressembler à ceci:VERSIONID(`Votre numéro de version') OSTYPE(bsd4.4)
FEATURE(accept_unresolvable_domains)
FEATURE(nocanonify)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
define(`UUCP_RELAY', votre.relai.uucp)
define(`UUCP_MAX_SIZE', 200000)
define(`confDONT_PROBE_INTERFACES')
MAILER(local)
MAILER(smtp)
MAILER(uucp)
Cw alias.de.votre.nom.de.machine
Cw votrenomdenoeuduucp.UUCPLes lignes contenant les directives
accept_unresolvable_domains,
nocanonify, et
confDONT_PROBE_INTERFACES empêcheront
l'utilisation du DNS lors de l'envoi du courrier
électronique. La directive UUCP_RELAY
est nécessaire pour le support de l'UUCP. Mettez juste
un nom de machine Internet capable de gérer des adresses
d'un pseudo-domaine .UUCP; la plupart du temps, vous mettrez le
nom du serveur de messagerie de votre fournisseur
d'accès.Après avoir défini tout ceci, vous avez besoin
d'un fichier /etc/mail/mailertable. Si
vous n'avez qu'un seul lien avec l'extérieur qui est
utilisé pour votre courrier électronique, le
fichier suivant devrait suffire:#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
. uucp-dom:your.uucp.relayUn exemple plus complexe ressemblerait à ceci:#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
#
horus.interface-business.de uucp-dom:horus
.interface-business.de uucp-dom:if-bus
interface-business.de uucp-dom:if-bus
.heep.sax.de smtp8:%1
horus.UUCP uucp-dom:horus
if-bus.UUCP uucp-dom:if-bus
. uucp-dom:Les trois premières lignes gèrent les cas
spécifiques où les courriers électroniques
pour l'extérieur ne devraient pas être
envoyés au serveur par défaut, mais plutôt
à des serveurs UUCP voisins afin de
“raccourcir” le chemin à parcourir. La ligne
suivante gère le courrier électronique
destiné au domaine Ethernet local et qui peut être
distribué en utilisant le protocole SMTP. Et enfin, les
voisins UUCP sont mentionnés dans la notation de
pseudo-domaine UUCP, pour permettre à un courrier du type
voisin-uucp
!destinataire
de passer outre les règles par défaut. La
dernière ligne doit toujours être un point, ce qui
correspond à tout le reste, avec la distribution UUCP
vers un voisin UUCP qui sert de passerelle universelle de
courrier électronique vers le reste du monde. Tous les
noms de noeuds placés après le mot clé
uucp-dom: doivent être des noms valides
de voisins UUCP, que vous pouvez vérifier en utilisant la
commande uuname.Pour vous rappeler que ce fichier doit être converti
en un fichier de base de données DBM avant d'être
utilisable. La ligne de commande pour accomplir cette
conversion est rappelée dans les commentaires au
début du fichier mailertable. Vous
devez lancer cette commande à chaque fois que vous
modifiez votre fichier
mailertable.Pour finir: si vous n'êtes pas certain du bon
fonctionnement de certaines configurations de routage du
- courrier électronique, rappellez-vous de l'option
+ courrier électronique, rappelez-vous de l'option
de sendmail.
Cela lance sendmail dans le
mode test d'adresse; entrez simplement
3,0, suivi de l'adresse que vous
désirez tester. La dernière ligne vous indiquera
le type d'agent utilisé pour l'envoi, la machine de
destination à laquelle l'agent doit envoyer le message,
et l'adresse (peut-être traduite) à laquelle il
l'enverra. Pour quitter ce mode tapez CtrlD.&prompt.user; sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
>3,0 foo@example.com
canonify input: foo @ example . com
...
parse returns: $# uucp-dom $@ your.uucp.relay $: foo < @ example . com . >
>^DBillMoranContribution de Configuration pour l'envoi seulIl existe de nombreux cas où vous désirez
être capable d'uniquement envoyer du courrier
électronique par l'intermédiaire d'un relais.
Quelques exemples:Votre ordinateur est une machine de bureau, mais vous
voulez utilisez des programmes comme &man.send-pr.1;.
Pour cela vous devez utiliser le relais de courrier
électronique de votre FAI.L'ordinateur est un serveur qui ne gère pas le
courrier électronique localement, mais a besoin de
soumettre tout le courrier à un relais pour qu'il soit
transmis.N'importe quel MTA est capable d'assurer
cette fonction. Malheureusement, il peut être très
compliqué de configurer correctement un
MTA complet pour juste gérer le
courrier sortant. Des logiciels comme
sendmail et
postfix sont largement
surdimensionnés pour cette utilisation.De plus, si vous utilisez un accès Internet
classique, votre contrat peut vous interdire de faire tourner un
“serveur de courrier électronique”.La manière la plus simple pour répondre
à ce besoin est d'installer le logiciel porté
mail/ssmtp. Exécutez
les commandes suivantes en tant que
root:&prompt.root; cd /usr/ports/mail/ssmtp
&prompt.root; make install replace cleanUne fois installé, mail/ssmtp peut être
configuré avec un fichier de quatre lignes,
/usr/local/etc/ssmtp/ssmtp.conf:root=yourrealemail@example.com
mailhub=mail.example.com
rewriteDomain=example.com
hostname=_HOSTNAME_Assurez-vous d'employer votre adresse électronique
réelle pour l'utilisateur root.
Utilisez le relais de courrier électronique sortant de
votre FAI à la place de mail.example.com (certains FAIs appellent
cela le “serveur de courrier sortant” ou le
“serveur SMTP”).Assurez-vous également d'avoir
désactivé sendmail en
fixant sendmail_enable="NONE" dans le fichier
/etc/rc.conf.mail/ssmtp dispose
d'autres options. Consultez le fichier de configuration
d'exemple dans le répertoire /usr/local/etc/ssmtp ou la page de
manuel de ssmtp pour quelques
exemples et plus d'informations.Configurer ssmtp de cette
manière permettra à toute application tournant sur
votre ordinateur et ayant besoin d'envoyer un courrier
électronique de fonctionner correctement, tout en
n'outrepassant pas la politique de votre FAI ou en ne permettant
pas l'utilisation de votre ordinateur comme base arrière
pour “spammers”.Utiliser le courrier électronique avec une connexion
temporaireSi vous disposez d'une adresse IP statique, vous ne devez
rien changer du paramétrage par défaut.
Définissez votre nom de machine pour qu'il corresponde
à celui qui vous a été assigné pour
l'Internet et sendmail s'occupera du
reste.Si votre adresse IP vous est attribuée dynamiquement
et que vous utilisez une connexion PPP par modem pour
accèder à l'Internet, vous disposez probablement
d'une boite aux lettres chez votre fournisseur d'accès.
Supposons que le domaine de votre fournisseur d'accès
soit example.net, que votre
nom d'utilisateur soit user, que vous
avez appelé votre machine bsd.home, et que votre fournisseur vous ait
demandé d'utiliser la machine relay.example.net comme serveur relai de
messagerie électronique.Pour pouvoir rapatrier votre courrier depuis votre boite aux
lettres, vous devez installer un agent de rapatriement.
L'utilitaire fetchmail est un bon
choix car il supporte la plupart des protocoles de messagerie.
Ce programme est disponible sous forme de paquetage ou à
partir du catalogue des logiciels portés (mail/fetchmail). La plupart du temps,
votre fournisseur d'accès fournit l'accès aux
boites aux lettre à l'aide du protocole POP. Si vous utilisez PPP
en mode utilisateur, vous pouvez automatiquement
récupérer votre courrier quand une connexion
Internet est établie avec l'entrée suivante dans
le fichier /etc/ppp/ppp.linkup:MYADDR:
!bg su user -c fetchmailSi vous utilisez sendmail (comme
montré ci-dessous) pour distribuer le courrier aux
comptes non-locaux, vous voudrez probablement que
sendmail s'occupe de transmettre les
messages en attente dès que votre connexion Internet est
établie. Pour cela, ajoutez la commande suivante
après la commande fetchmail dans le
fichier /etc/ppp/ppp.linkup:!bg su user -c "sendmail -q"En supposant que vous avez un compte
user sur bsd.home. Dans le répertoire de
l'utilisateur user sur bsd.home, créez un fichier
.fetchmailrc contenant:poll example.net protocol pop3 fetchall pass MySecretCe fichier ne devrait être lisible que par
l'utilisateur user car il contient le mot
de passe MySecret.Afin de pouvoir envoyer du courrier avec l'entête
from: correcte, vous devez configurer
sendmail pour utiliser l'adresse
user@example.net plutôt que
user@bsd.home. Vous pouvez également
dire à sendmail d'envoyer le
courrier via le serveur relay.example.net, permettant une
transmission du courrier plus rapide.Le fichier .mc suivant devrait
suffire:VERSIONID(`bsd.home.mc version 1.0')
OSTYPE(bsd4.4)dnl
FEATURE(nouucp)dnl
MAILER(local)dnl
MAILER(smtp)dnl
Cwlocalhost
Cwbsd.home
MASQUERADE_AS(`example.net')dnl
FEATURE(allmasquerade)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(nocanonify)dnl
FEATURE(nodns)dnl
define(`SMART_HOST', `relay.example.net')
Dmbsd.home
define(`confDOMAIN_NAME',`bsd.home')dnl
define(`confDELIVERY_MODE',`deferred')dnlRéférez-vous à la section
précédente pour des détails sur la
conversion de ce fichier .mc en un fichier
sendmail.cf. N'oubliez pas
également de redémarrer
sendmail après la mise
à jour du fichier
sendmail.cf.JamesGorhamEcrit par Authentification SMTPDisposer de l'authentification SMTP
sur votre serveur de courrier présente un certain
nombre d'avantages. L'authentification SMTP
peut ajouter une autre couche de sécurité à
sendmail, et a l'avantage
de donner aux utilisateurs mobiles la possibilité
d'utiliser le même serveur de courrier sans avoir
besoin de reconfigurer les paramètres de leur client
courrier à chaque déplacement.Installez security/cyrus-sasl à
partir du catalogue des logiciels portés. Vous
pouvez trouver ce logiciel porté dans
security/cyrus-sasl.
security/cyrus-sasl
dispose de nombreuses options de compilation possibles,
pour la méthode que nous allons utiliser ici,
assurez-vous de sélectionner l'option
.Après avoir installé
security/cyrus-sasl,
éditez
/usr/local/lib/sasl/Sendmail.conf
(ou créez-le s'il n'existe pas) et ajoutez la ligne
suivante:pwcheck_method: passwdCette méthode activera au niveau de
sendmail l'authentification par
l'intermédiaire de votre base de données
FreeBSD passwd. Cela nous épargne
le problème de la création d'un nouvel ensemble
de nom d'utilisateur et de mot de passe pour chaque
utilisateur ayant besoin de recourir à
l'authentification SMTP, et conserve le
même nom d'utilisateur et mot de passe pour le
courrier.Maintenant éditez /etc/make.conf
et ajoutez les lignes suivantes:SENDMAIL_CFLAGS=-I/usr/local/include/sasl1 -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsaslCes lignes passeront à
sendmail les bonnes options de
configuration au moment de la compilation pour lier
cyrus-sasl.
Assurez-vous que cyrus-sasl
a été installé avant de recompiler
sendmail.Recompilez sendmail en
lançant les commandes suivantes:&prompt.root; cd /usr/src/usr.sbin/sendmail
&prompt.root; make cleandir
&prompt.root; make obj
&prompt.root; make
&prompt.root; make installLa compilation de sendmail
ne devrait pas présenter de problèmes si le
répertoire /usr/src n'a pas subi
d'énormes changements et si les bibliothèques
partagés nécessaires sont disponibles.Une fois que sendmail a
été compilé et réinstallé,
éditez votre fichier /etc/mail/freebsd.mc
(ou tout autre fichier que vous utilisez comme fichier
.mc. De nombreux administrateurs
utilisent la sortie de &man.hostname.1; comme nom de fichier
.mc par unicité). Ajoutez-y les
lignes qui suivents:dnl set SASL options
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confDEF_AUTH_INFO', `/etc/mail/auth-info')dnlCes options configurent les différentes méthodes
disponibles pour sendmail
pour l'authentification des utilisateurs. Si vous
désirez utiliser une méthode autre que
pwcheck, veuillez consulter
la documentation fournie.Enfin, exécutez &man.make.1; quand vous êtes
dans /etc/mail. Cela prendra votre
nouveau fichier .mc et créera un
fichier .cf appelé
freebsd.cf (ou selon tout autre nom que
vous avez utilisé pour votre fichier
.mc). Ensuite utilisez la commande
make install restart, qui copiera le
fichier en sendmail.cf, et
redémarrera proprement
sendmail. Pour plus
d'informations sur ce processus, vous devriez vous
réferrer au fichier
/etc/mail/Makefile.Si tout s'est bien passé, vous devriez être
en mesure d'entrer votre identifiant dans votre programme
de courrier et d'envoyer un message de test. Pour plus
d'investigation, fixez le de
sendmail à 13 et scrutez
/var/log/maillog à la recherche
d'une erreur.Vous pourrez rajouter les lignes suivantes au fichier
/etc/rc.conf afin de rendre ce service
disponible après chaque démarrage du
système:sasl_pwcheck_enable="YES"
sasl_pwcheck_program="/usr/local/sbin/pwcheck"Cela assurera l'initialisation de
SMTP_AUTH, l'authentification SMTP, au
démarrage du système.Pour plus d'informations, veuillez consulter la page de la
documentation de sendmail concernant
l'authentification SMTP.MarcSilverContribution de Clients de messagerieClient de messagerieUn client de messagerie (“Mail User
Agent”—MUA) est une application
qui est utilisée pour envoyer et recevoir du courrier
électronique. En outre, au fur et à mesure que le
système du courrier électronique
“évolue” et devient plus complexe, les
MUA deviennent de plus en plus puissants,
offrant aux utilisateurs plus de fonctionnalités et de
flexibilité. &os; offre le support pour de nombreux
clients de messagerie, ils peuvent tous être
aisément installés à partir du catalogue des logiciels portés de
&os;. Les utilisateurs pourront choisir entre des
clients de messagerie graphiques comme
evolution ou
balsa, des clients en mode console
tels que mutt,
pine ou mail, ou
encore les interfaces Web utilisées par certaines
organisations importantes.mail&man.mail.1; est le client de messagerie (“Mail User
Agent”—MUA) par défaut
de &os;. C'est un MUA en mode console qui
offre toutes les fonctionnalités de base
nécessaires pour envoyer et lire son courrier
électronique en mode texte, cependant il est
limité en ce qui concerne les possibilités de
pièces jointes et ne supporte que les boîtes aux
lettres locales.Bien que mail ne supporte pas
l'intéraction avec les serveurs POP
ou IMAP, ces boîtes aux lettres
peuvent être téléchargées vers un
fichier mbox local en utilisant une
application telle que fetchmail,
qui sera abordée plus tard dans ce chapitre ().Afin d'envoyer et de recevoir du courrier
électronique, invoquez simplement la commande
mail comme le montre l'exemple
suivant:&prompt.user; mailLe contenu de la boîte aux lettres de l'utilisateur
dans /var/mail est
automatiquement lu par l'utilitaire mail.
Si la boîte est vide, l'utilitaire rend la main avec un
message indiquant qu'aucun courrier électronique ne
peut être trouvé. Une fois que la boîte
aux lettres a été lue, l'interface de
l'application est lancée, et une liste de messages sera
affichée. Les messages sont automatiquement
numérotés, comme on peut le voir dans l'exemple
suivant:Mail version 8.1 6/6/93. Type ? for help.
"/var/mail/marcs": 3 messages 3 new
>N 1 root@localhost Mon Mar 8 14:05 14/510 "test"
N 2 root@localhost Mon Mar 8 14:05 14/509 "user account"
N 3 root@localhost Mon Mar 8 14:05 14/509 "sample"Les messages peuvent désormais être lus en
utilisant la commande t de
mail, suivie du numéro du message
qui devra être affiché. Dans cet exemple, nous
lirons le premier courrier électronique:& t 1
Message 1:
From root@localhost Mon Mar 8 14:05:52 2004
X-Original-To: marcs@localhost
Delivered-To: marcs@localhost
To: marcs@localhost
Subject: test
Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)
From: root@localhost (Charlie Root)
This is a test message, please reply if you receive it.Comme nous pouvons le constater dans l'exemple ci-dessus,
l'appuie sur la touche t fera afficher le
message avec les entêtes complètes. Pour
afficher à nouveau la liste des messages, la touche
h doit être utilisée.Si le message nécessite une réponse, vous
pouvez utiliser mail pour cela, en entrant
soit la touche R, soit la touche
r. La touche R demande
à mail de ne répondre
qu'à l'expéditeur du message, alors que
r répond à l'expéditeur
mais également aux autres destinataires du message.
Vous pouvez ajouter à la suite de ces commandes le
numéro du courrier auquel vous désirez
répondre. Une fois cela effectué, la
réponse doit être tapée, et la fin du
message doit être indiquée par un
. sur une nouvelle ligne. Ci-dessous est
présenté un exemple:& R 1
To: root@localhost
Subject: Re: test
Thank you, I did get your email.
.
EOTAfin d'envoyer un nouveau courrier électronique, la
touche m doit être utilisée,
suivie de l'adresse électronique du destinataire.
Plusieurs destinataires peuvent également être
spécifiés en séparant chaque adresse par
une ,. Le sujet du message peut alors
être entré, suivi du corps du message. La fin
d'un message doit être indiquée en mettant un
. seul sur une nouvelle ligne.& mail root@localhost
Subject: I mastered mail
Now I can send and receive email using mail ... :)
.
EOTBien qu'à partir de l'utilitaire
mail, la commande ? puisse
être utilisée à tout instant pour afficher
l'aide, la page de manuel &man.mail.1; devrait être
consultée pour plus d'aide sur
mail.Comme indiqué précédemment, la
commande &man.mail.1; à l'origine n'a pas
été conçue pour gérer les
pièces jointes, et par conséquent ne s'en sort
pas très bien à ce niveau. Les
MUAs plus récents comme
mutt gérent les
pièces jointes de manière plus intelligente.
Mais si vous souhaitez toujours utiliser
mail, le logiciel porté converters/mpack vous sera d'une
grande aide.muttmutt est un client de
messagerie léger mais très puissant, avec de
nombreuses fonctionnalités, parmi lesquelles:la possibilité de gérer les fils
(“threads”) de discussions;le support PGP pour la signature électronique
et le chiffrage de courriers électroniques;le support MIME;le support du format maildir;application hautement configurable et
personnalisable.Toutes ces caractéristiques font de
mutt un des clients de messagerie
les plus avancés. Consultez pour plus d'informations
sur mutt.La version stable de mutt peut
être installée en utilisant le logiciel
porté mail/mutt,
tandis que la version actuellement en développement
peut être installée par l'intermédiaire du
logiciel porté mail/mutt-devel. Une fois
installé, mutt peut
être lancé en tapant la commande suivante:&prompt.user; muttmutt lira automatiquement le
contenu de la boîte aux lettres de l'utilisateur dans
/var/mail et en affiche
le contenu le cas échéant. Si aucun message
n'est trouvé dans cette boîte, alors
mutt attendra une commande de
l'utilisateur. L'exemple ci-dessous montre
mutt affichant une liste de
messages:Afin de lire un message, sélectionnez-le en
utilisant les touches fléchées, et appuyez sur
Entrée. Un exemple montrant
mutt affichant le contenu d'un
message est donné ci-dessous:Comme avec la commande &man.mail.1;,
mutt permet aux utilisateurs de
répondre uniquement à l'expéditeur du
message comme également à l'ensemble de ses
destinataires. Pour répondre uniquement à
l'expéditeur du courrier électronique, utilisez
le raccourci clavier r. Pour faire une
réponse groupée, qui sera envoyée
à l'expéditeur comme à tous les
destinataires du message, utilisez la touche
g.mutt emploie &man.vi.1; comme
éditeur pour la création et la réponse
aux courriers électronique. Cela peut être
modifié par l'utilisateur en créant son propre
fichier .muttrc dans leur
répertoire personnel et en positionnant la variable
editor.Pour rédiger un nouveau message, appuyez sur la
touche m. Après avoir donné un
sujet valide, mutt lancera
&man.vi.1; et l'intégralité du message pourra
être écrite. Une fois le courrier
électronique rédigé, sauvegardez et
quittez vi et
mutt réapparaîtra
affichant un écran résumant le courrier devant
être envoyé. Pour envoyer le message, appuyez
sur y. Un exemple de résumé
peut être vu ci-dessous:mutt propose également
une aide complète, qui peut être consultée
à partir de la plupart des menus en appuyant sur la
touche ?. La ligne située en haut de
l'écran affiche également les raccourcis clavier
appropriés.pinepine est destiné aux
débutants, mais il dispose également de
fonctions avancées.Plusieurs vulnérabilités exploitables
à distance ont été découvertes
dans le logiciel pine par le
passé, autorisant à un agresseur distant
d'exécuter un programme arbitraire en tant
qu'utilisateur local du système, en envoyant un
courrier électronique particulier. Tous les
problèmes connus ont
été corrigés, mais le code source de
pine est écrit d'une
manière assez peu sécurisée et l'officier
de sécurité de &os; pense qu'il existe d'autres
failles qui ne sont pas encore découvertes. Vous
installez donc pine à vos
propres risques.La version actuelle de pine
peut être installée en utilisant le logiciel
porté mail/pine4.
Une fois installé, pine peut
être lancé en tapant la commande suivante:&prompt.user; pineLors du premier lancement de
pine, ce dernier affiche une page
de présentation avec une brève introduction,
ainsi qu'un message de la part de l'équipe de
développement de pine
demandant l'envoi d'un courrier électronique anonyme
pour leur permettre d'évaluer le nombre d'utilisateurs
de leur client de messagerie. Pour envoyer ce courrier
anonyme, appuyez sur Entrée, ou sinon
appuyez sur E pour quitter la
présentation sans envoyer de message anonyme. Un
exemple de page de présentation peut être vu
ci-dessous:Le menu principal est ensuite affiché, menu dans
lequel il est aisé de naviguer avec les touches
fléchées. Ce menu principal fournit les
raccourcis pour la rédaction de nouveaux messages, la
navigation dans les répertoires de messages, et
même la gestion des entrées du carnet d'adresses.
Sous le menu principal, les raccourcis clavier correspondants
pour effectuer les différentes tâches sont
donnés.Le répertoire ouvert par défaut par
pine est inbox. Pour afficher l'index des
messages, appuyez sur I, ou
sélectionnez l'option MESSAGE
INDEX comme montré ci-dessous:L'index des messages montre les messages dans le
répertoire courant, on peut se déplacer dans
l'index en utilisant les touches fléchées. Les
messages en surbrillance peuvent être lus en appuyant
sur la touche Enter.Dans la capture d'écran ci-dessous, un message
d'exemple est affiché par
pine. Les raccourcis clavier sont
affichés au bas de l'écran. Un exemple de
raccourci est la touche r, qui demande au
programme de répondre au message actuellement à
l'écran.La rédaction d'une réponse à un
courrier électronique avec
pine se fait en utilisant
l'éditeur pico, qui est
installé par défaut avec
pine. L'utilitaire
pico rend aisé les
déplacements dans le message et est plus indulgent avec
les novices que &man.vi.1; ou &man.mail.1;. Une fois la
réponse rédigée, le message peut
être envoyé en appuyant sur CtrlX.
pine vous demandera de confirmer
votre action.Le programme pine peut
être personnalisé en utilisant l'option
SETUP du menu principal. Consultez
pour
plus d'information.MarcSilverContribution de Utiliser fetchmailUtiliser fetchmailfetchmail est un client
IMAP et POP complet qui
offre aux utilisateurs le téléchargement
automatiquement de leur courrier électronique à
partir de serveurs IMAP et
POP distants et sa sauvegarde dans des
boîtes aux lettres locales; ainsi, le courrier
électronique pourra être consulté plus
facilement. fetchmail peut
être installé en utilisant le logiciel porté
mail/fetchmail, et offre
diverses fonctionnalités, dont:le support des protocoles POP3,
APOP, KPOP,
IMAP, ETRN et
ODMR;la capacité de faire suivre le courrier
électronique en utilisant SMTP, ce
qui autorise le filtrage, le transfert, et la gestion des
alias de fonctionner correctement;la possibilité de fonctionner en mode
“daemon” pour contrôler
périodiquement si il y a de nouveaux messages;la possibilité de récupérer le
courrier de plusieurs boîtes aux lettres et de le
transférer en fonction d'une configuration bien
précise aux différents utilisateurs
locaux.
- Bien qu'expliquer l'intégralités de fonctions
+ Bien qu'expliquer l'intégralité des fonctions
de fetchmail dépasse le cadre
de ce document, certaines fonctions de base seront
abordées. L'utilitaire
fetchmail nécessite un fichier
de configuration nommé .fetchmailrc,
afin de fonctionner correctement. Ce fichier comprend les
informations concernant les serveurs ainsi que les
accréditations d'accès. En raison du
caractère sensible du contenu de ce fichier, il est
recommandé de ne le rendre lisible que par l'utilisateur,
avec la commande suivante:&prompt.user; chmod 600 .fetchmailrcLe fichier .fetchmailrc suivant
sert d'exemple pour récupérer le courrier
électronique pour un seul utilisateur à partir
d'une boîte aux lettres utilisant le protocole
POP. Il demande à
fetchmail de se connecter à
example.com en utilisant le nom
d'utilisateur joesoap et le mot de passe
XXX. Dans cet exemple on suppose que
l'utilisateur joesoap est également
un utilisateur sur le système local.poll example.com protocol pop3 username "joesoap" password "XXX"L'exemple suivant présente la connexion à
plusieurs serveurs POP et
IMAP et la redirection vers différents
utilisateurs locaux quand c'est nécessaire:poll example.com proto pop3:
user "joesoap", with password "XXX", is "jsoap" here;
user "andrea", with password "XXXX";
poll example2.net proto imap:
user "john", with password "XXXXX", is "myth" here;L'utilitaire fetchmail peut
être exécuté en mode “daemon” en
le lançant avec le paramètre ,
suivi par l'intervalle de temps (en secondes) que
fetchmail doit respecter entre chaque
consultation des serveurs listés dans le fichier
.fetchmailrc. L'exemple suivant demandera
à fetchmail de
récupérer le courrier toutes les 60
secondes:&prompt.user; fetchmail -d 60Plus d'informations concernant
fetchmail peuvent être
trouvées sur .MarcSilverContribution de Utiliser procmailUtiliser procmailL'utilitaire procmail est une
application extrêmement puissante utilisée pour
filtrer le courrier électronique entrant. Il permet aux
utilisateurs de définir des “règles”
qui seront utilisées sur le courrier entrant pour
effectuer des opérations particulières ou pour
transférer le courrier vers d'autres boîtes aux
lettres et/ou adresses électroniques.
procmail peut être
installé en utilisant le logiciel porté mail/procmail. Une fois
installé, il peut être intégré dans
la plupart des MTAs, consultez la
documentation de votre MTA pour plus
d'information. Alternativement,
procmail peut être
intégré en ajoutant la ligne suivante à un
fichier .forward dans le répertoire
personnel de l'utilisateur employant les fonctionnalités
de procmail:"|exec /usr/local/bin/procmail || exit 75"La suite de cette section présentera quelques
règles de base pour procmail,
avec une brève description de ce qu'elles font. Ces
règles, ainsi que d'autres, doivent être
ajoutées dans le fichier
.procmailrc, qui doit résider dans
le répertoire personnel de l'utilisateur.La majorité de ces règles peut
également être trouvée dans la page de
manuel de &man.procmailex.5;.Transférer tout courrier en provenance de
user@example.com vers l'adresse externe
goodmail@example2.com::0
* ^From.*user@example.com
! goodmail@example2.comTransférer tous les courriers d'une taille
inférieure à 1000 octets vers l'adresse externe
goodmail@example2.com::0
* < 1000
! goodmail@example2.comMettre tout le courrier à destination de
alternate@example.com dans une boîte
aux lettres appelée
alternate::0
* ^TOalternate@example.com
alternateEnvoyer tous les courriers avec pour sujet
“Spam” vers /dev/null::0
^Subject:.*Spam
/dev/nullUne recette utile pour trier les courriers en provenance des
listes de diffusion &os;.org
et placer chaque liste dans sa propre boîte aux
lettres::0
* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
{
LISTNAME=${MATCH}
:0
* LISTNAME??^\/[^@]+
FreeBSD-${MATCH}
}
diff --git a/fr_FR.ISO8859-1/books/handbook/mirrors/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/mirrors/chapter.sgml
index abc626d4e8..f764fc97c4 100644
--- a/fr_FR.ISO8859-1/books/handbook/mirrors/chapter.sgml
+++ b/fr_FR.ISO8859-1/books/handbook/mirrors/chapter.sgml
@@ -1,3536 +1,3536 @@
Se procurer &os;
&trans.a.fonvieille;
Editeurs de CD-ROMs et DVDsProduits vendus en boîteDes versions en boîte de &os; sont disponibles (CDs de
&os;, logiciels supplémentaires, et documentation papier)
auprès de plusieurs revendeurs:CompUSA
WWW: Frys Electronics
WWW: CDs et DVDsLes CDs et DVDs de &os; sont disponibles auprès de
nombreux revendeurs en ligne:BSD Mall by Daemon NewsPO Box 161Nauvoo, IL62354USA
Phone: +1 866 273-6255
Fax: +1 217 453-9956
Email: sales@bsdmall.com
WWW: BSD-Systems
Email: info@bsd-systems.co.uk
WWW: fastdiscs.com6 Eltham CloseLeeds, LS6 2TYUnited Kingdom
Phone: +44 870 1995 171
Email: sales@fastdiscs.com
WWW: FreeBSD Mall, Inc.3623 Sanford StreetConcord, CA94520-1405USA
Phone: +1 925 674-0783
Fax: +1 925 674-0821
Email: info@freebsdmall.com
WWW: Hinner EDVSt. Augustinus-Str. 10D-81825MünchenAllemagne
Phone: (089) 428 419
WWW: Ikarios22-24 rue Voltaire92000NanterreFrance
WWW: JMC SoftwareIreland
Phone: 353 1 6291282
WWW: Linux CD MallPrivate Bag MBE N348Auckland 1030New Zealand
Phone: +64 21 866529
WWW: The Linux EmporiumHilliard House, Lester WayWallingfordOX10 9TARoyaume-Uni
Phone: +44 1491 837010
Fax: +44 1491 837016
WWW: Linux+ DVD MagazineLewartowskiego 6Warsaw00-190Poland
Phone: +48 22 860 18 18
Email: editors@lpmagazine.org
WWW: Linux System Labs Australie21 Ray DriveBalwyn NorthVIC - 3104Australie
Phone: +61 3 9857 5918
Fax: +61 3 9857 8974
WWW: LinuxCenter.RuGalernaya Street, 55Saint-Petersburg190000Russia
Phone: +7-812-3125208
Email: info@linuxcenter.ru
WWW: DistributeursSi vous êtes un revendeur et désirez vendre des
CDROMS de &os;, veuillez contacter un distributeur:Cylogistics809B Cuesta Dr., #2149Mountain View, CA94040USA
Phone: +1 650 694-4949
Fax: +1 650 694-4953
Email: sales@cylogistics.com
WWW: Ingram Micro1600 E. St. Andrew PlaceSanta Ana, CA92705-4926USA
Phone: 1 (800) 456-8000
WWW: Kudzu, LLC7375 Washington Ave. S.Edina, MN55439USA
Phone: +1 952 947-0822
Fax: +1 952 947-0876
Email: sales@kudzuenterprises.comNavarre Corp7400 49th Ave SouthNew Hope, MN55428USA
Phone: +1 763 535-8333
Fax: +1 763 535-0341
WWW: Sites FTP>Les sources officielles de &os; sont disponibles via FTP
anonyme à partir d'un ensemble de sites miroir. Le site
dispose d'une bonne connectivité et autorise un grand
nombre de connexions, mais vous avez intérêt à
trouver plutôt un site miroir “plus proche”
(tout particulièrement si vous décidez de mettre en
place une sorte de miroir à votre tour).La base de données
des sites miroir &os; est plus à jour que la liste
de ce Manuel, parce qu'elle tire ses informations du DNS
plutôt que se reposer sur une liste statique de machines.De plus, &os; est disponible via FTP anonyme à partir
des sites miroir ci-dessous. Si vous décidez de vous
procurer &os; via FTP anonyme, essayez si possible d'utiliser un
site proche de vous. Les sites miroir listés en tant que
“sites miroir primaires“ disposent
généralement de l'intégralité de
l'archive &os; (toutes les versions actuellement disponibles
pour chacune des architectures) mais vous obtiendrez les temps
de téléchargements les plus courts à partir
d'un site situé dans votre pays ou votre région. Les sites régionaux
proposent les versions les plus récentes des
architectures les plus populaires mais pourraient ne pas
proposer l'intégralité de l'archive de &os;. Tous
les sites proposent un accès FTP anonyme mais certains
sites fournissent également un accès suivant
d'autres méthodes. Les méthodes d'accès
disponibles pour chaque site sont données entre
parenthèses après le nom de la machine.
&chap.mirrors.ftp.inc;
CVS anonymeIntroductionCVSanonymeCVS anonyme (ou comme on l'appelle également,
anoncvs) est une de fonctionnalité
des utilitaires CVS livrés avec &os; qui permet la
synchronisation avec un référentiel CVS sur une machine
distante. Elle permet, entre autres, aux utilisateurs
de &os;, de lire, sans autorisation particulière, les
archives disponibles sur l'un des serveurs
anoncvs officiels du projet
&os;. Pour l'utiliser, il suffit simplement de définir
la variable d'environnement CVSROOT
pour qu'elle pointe sur le serveur
anoncvs approprié,
fournir le fameux mot de passe “anoncvs” avec la
commande cvs login, puis ensuite utiliser
la commande &man.cvs.1; pour y accéder de la même
manière qu'à un référentiel local.La commande cvs login, stocke les
mots de passe utilisés pour authentification sur le
serveur CVS dans un fichier appelé
.cvspass dans votre répertoire
HOME. Si ce fichier n'existe pas, vous
pourrez obtenir une erreur quand vous essaierez d'utiliser
cvs login pour la première fois.
Créez juste un fichier .cvspass vide,
et relancez la commande.Bien que l'on puisse aussi dire que CVSup et anoncvs
assurent globalement la même fonction, il y a diverses
nuances qui peuvent influencer l'utilisateur dans son choix
d'une méthode de synchronisation. En résumé,
CVSup utilise plus efficacement
les ressources réseau et est de loin la méthode la plus
sophistiquée des deux, mais cela a un prix. Pour employer
CVSup, il faut d'abord installer
et configurer un programme client spécialisé
avant de pouvoir récupérer quoi que ce soit,
et il faut ensuite travailler par sous-ensemble relativement
importants, que CVSup appelle
catalogues.anoncvs, au contraire, peut
être utilisé pour examiner n'importe quoi, d'un
seul fichier à un programme particulier (tel que
ls ou grep) en faisant
référence au nom du module CVS. Bien sûr,
anoncvs n'est bon qu'à lire
un référentiel CVS, si vous avez donc l'intention de
développer localement sur un référentiel
partagé avec le projet &os;, alors vous n'avez d'autre choix
que d'utiliser CVSup.Utiliser CVS anonymeConfigurer &man.cvs.1; pour utiliser un
référentiel CVS anonyme
consiste simplement à définir la variable
d'environnement CVSROOT pour qu'elle pointe
sur l'un des serveurs anoncvs du
projet &os;. A la date de rédaction de ce document,
les serveurs suivants sont disponibles:Autriche:
:pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs
(Utilisez cvs login et entrez le mot
de passe “anoncvs” quand on vous le
demandera.)France:
:pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs
(pserver (mot de passe “anoncvs”), ssh (aucun
mot de passe))
Allemagne:
:pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs
(Utilisez cvs login et entrez le mot
de passe “anoncvs” quand on vous le
demandera.)Allemagne:
:pserver:anoncvs@anoncvs2.de.FreeBSD.org:/home/ncvs
(rsh, pserver, ssh, ssh/2022)
Japon:
:pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
(Utilisez cvs login et entrez le mot
de passe “anoncvs” quand on vous le
demandera.)USA:
freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs
(ssh uniquement - pas de mot de passe)SSH HostKey: 1024 8b:c4:6f:9a:7e:65:8a:eb:50:50:29:7c:a1:47:03:bc root@ender.liquidneon.com
SSH2 HostKey: 2048 4d:59:19:7b:ea:9b:76:0b:ca:ee:da:26:e2:3a:83:b8 ssh_host_dsa_key.pubUSA:
anoncvs@anoncvs1.FreeBSD.org:/home/ncvs
(ssh uniquement - pas de mot de passe)SSH HostKey: 1024 4b:83:b6:c5:70:75:6c:5b:18:8e:3a:7a:88:a0:43:bb root@ender.liquidneon.com
SSH2 HostKey: 1024 80:a7:87:fa:61:d9:25:5c:33:d5:48:51:aa:8f:b6:12 ssh_host_dsa_key.pubComme CVS vous permet de récupérer
(“check out”) pratiquement n'importe quelle
version des sources de &os; ayant existé (ou, dans
certains cas, à venir), vous devez maîtriser
l'indicateur de révision () de
&man.cvs.1; et connaître les valeurs qu'il peut prendre
dans le référentiel du projet &os;.Il y a deux sortes d'étiquettes, les étiquettes
de révision et les étiquettes de branches. Les
étiquettes de révision s'appliquent à une
révision particulière. Leur signification ne
varie pas d'un jour à l'autre. Les étiquettes de
branche, à l'inverse, se rapportent à la
dernière révision
sur une branche particulière à un moment donné.
Comme les étiquettes de branche ne se rapportent pas
à une révision particulière, elles peuvent
désigner demain quelque chose de différent de ce
qu'elles référencent
aujourd'hui. présente les étiquettes
de révision qui peuvent intéresser l'utilisateur.
Encore une fois, aucune ne s'applique au catalogue des
logiciels portés puisque ce dernier ne présente pas
de multiple révisions.Quand vous précisez une étiquette de branche,
vous obtenez normalement la dernière version des fichiers
de cette branche de développement. Si vous voulez une
version antérieure, vous pouvez l'obtenir en
précisant une date avec l'indicateur . Reportez-vous aux pages de manuel
&man.cvs.1; pour plus de détails.ExemplesBien qu'il soit vraiment recommandé de lire
attentivement les pages de manuel de &man.cvs.1; avant de
faire quoi que ce soit, voici quelques exemples rapides
qui vous montrent essentiellement comment utiliser
CVS anonyme:Récupérer quelque chose de -CURRENT (&man.ls.1;):&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
&prompt.user; cvs loginAt the prompt, enter the passwordanoncvs.
&prompt.user; cvs co lsUtiliser SSH pour récupérer
l'arborescence src/:&prompt.user; cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src
The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established.
DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts.Récupérer la version 6-STABLE de
&man.ls.1;:&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
&prompt.user; cvs loginAt the prompt, enter the passwordanoncvs.
&prompt.user; cvs co -rRELENG_6 lsGénérer la liste des différences
concernant &man.ls.1; (sous forme de “diffs
unifiés”) entre différentes versions de &os;&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
&prompt.user; cvs loginAt the prompt, enter the passwordanoncvs.
&prompt.user; cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE lsSavoir quels autres noms de modules peuvent
être utilisés:&prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs
&prompt.user; cvs loginAt the prompt, enter the passwordanoncvs.
&prompt.user; cvs co modules
&prompt.user; more modules/modulesAutres ressourcesLes ressources supplémentaires suivantes peuvent
être utiles pour apprendre à se servir de
CVS:Guide CVS de Cal Poly.CVS Home,
la communauté de développement et de support
de CVS.CVSweb est
l'interface Web pour CVS du projet &os;.Utiliser CTMCTMCTM est une méthode pour
synchroniser une arborescence de répertoires distants
avec une arborescence centrale. Elle a été
développée pour être utilisée avec
l'arborescence des sources de &os;, bien que d'autres
puissent avec le temps la trouver utile pour d'autres
besoins. Il existe actuellement très peu, sinon aucune,
documentation sur la façon de créer les deltas,
contactez-donc la liste de diffusion &a.ctm-users.name; pour obtenir plus
d'informations et si vous souhaitez utiliser
CTM pour autre chose.Pourquoi utiliser CTM?CTM vous procurera un
exemplaire local de l'arborescence des sources de &os;.
Il y a plusieurs “moutures” de l'arborescence
disponibles. Que vous désiriez suivre toute l'arborescence
CVS ou seulement une de ses branches,
CTM peut vous fournir ce dont
vous avez besoin. Si vous développez activement sous
&os;, mais ne disposez que d'une connectivité TCP/IP
peu fiable ou n'en avez pas du tout, ou voulez tout
simplement que les modifications vous soient automatiquement
envoyées, CTM est ce qu'il vous
faut. Il vous faudra jusqu'à trois deltas par jour sur
les branches les plus actives. Cependant, vous devriez
envisager de vous les faire envoyer automatiquement par
courrier électronique. La taille des mises à jour
est toujours aussi petite que possible. Typiquement moins
de 5KO, occasionnellement (une fois sur 10), entre 10 et
50KO, et de temps à autre, une grosse modification de 100KO
ou plus.Vous devrez aussi vous tenir au courant des
différentes contre-parties liées au fait de
travailler directement avec les sources en cours de
développement plutôt qu'avec les versions
publiées. C'est particulièrement vrai si vous
choisissez les sources de la branche “-CURRENT”.
Il est recommandé de lire Se
synchroniser avec la version -CURRENT de
FreeBSD.Que vous faut-il pour utiliser
CTM?Vous aurez besoin de deux choses: le programme
CTM, et les deltas initiaux
à lui fournir (pour mettre à jour avec la version
“courante”).Le programme CTM fait partie
de &os; depuis la publication de la version 2.0, et se
trouve dans /usr/src/usr.sbin/ctm si
vous avez un exemplaire des sources en ligne.Vous pouvez obtenir les “deltas” à
fournir à CTM de deux
façons, par FTP ou par courrier électronique. Si vous
avez un accès FTP à l'Internet, les sites suivants
supportent l'accès à
CTM:ou reportez-vous à la section Sites miroirs.Allez dans le répertoire vous concernant et commencez
par télécharger le fichier
README.Si vous souhaitez récupérer vos deltas par
courrier électronique:Abonnez-vous à l'une des listes de distribution
CTM. &a.ctm-cvs-cur.name;
comprend toute l'arborescence -CURRENT.
&a.ctm-src-4.name; concerne la branche 4.X, etc...
(Si vous ne savez pas comment vous abonner à une liste,
cliquez sur le nom de la liste ci-dessus ou sur
&a.mailman.lists.link; puis cliquez sur la liste à
laquelle vous désirez vous abonner. La page devrait
contenir toutes les instructions nécessaires à
l'abonnement.)Dès que vous commencez à recevoir vos
mises à jour CTM par courrier
électronique, vous pouvez utiliser le programme
ctm_rmail pour les décompacter et
les appliquer. Vous pouvez en fait utiliser directement le
programme ctm_rmail à partir d'une
entrée dans /etc/aliases si vous
voulez automatiser complètement le processus. Consultez les
pages de manuel de ctm_rmail pour plus de
détails.Quelle que soit la méthode que vous utilisez
pour récupérer les deltas
CTM, vous devriez vous abonner
à la liste de diffusion &a.ctm-announce.name;.
Ce sera, dans l'avenir, le seul endroit où les
annonces concernant le fonctionnement du système
CTM seront faites.
Cliquez sur le nom de la liste et suivez les instructions
- pour s'incrire à la liste.
+ pour s'inscrire à la liste.
Utiliser CTM pour la
première foisAvant de pouvoir utiliser les deltas
CTM, il vous faut un point de
départ pour appliquer les deltas générés
à partir de là.Tout d'abord vous devez déterminer ce que vous
avez déjà. Tout le monde peut partir d'un
répertoire “vide”. Vous devez utiliser
un delta “Empty” (vide) au départ pour
débuter votre arborescence supportée par
CTM.
Il fut question que l'un de ces deltas de départ
soit distribué sur le CD, cependant ce n'est
actuellement pas le cas.Puisque les arborescences représentent plusieurs
dizaines de mégaoctets, vous préférerez
commencer avec ce que vous avez déjà sous la main.
Si vous disposez d'une version de &os; sur CD, vous
pouvez copier ou extraire les sources initiales
qui s'y trouvent. Cela évitera un transfert de
données conséquent.Vous pouvez reconnaître ces deltas de transition
au X qui suit leur numéro de
séquence
(src-cur.3210XEmpty.gz par exemple).
La dénomination après le X
correspond à l'origine de votre “racine”
initiale. Empty est un répertoire
vide. La règle est qu'une transition de base à
partir de Empty est
générée tous les 100 deltas. Au passage,
elles sont volumineuses! De 70 à 80 mégaoctets de
données compressées avec gzip
est une taille habituelle pour les deltas
XEmpty.Une fois que vous avez sélectionné un delta
initial à partir duquel commencer, il vous faudra
également tous les deltas de numéro supérieur
qui le suivent.Utiliser CTM au quotidienPour appliquer les deltas, tapez simplement:&prompt.root; cd /où/vous/voulez/mettre/les/fichiers
&prompt.root; ctm -v -v /où/vous/mettez/vos/deltas/src-xxx.*CTM reconnaît les deltas
qui ont été compressés avec gzip,
vous n'avez donc pas besoin de les décompresser avant,
ce qui économise de l'espace disque.A moins d'être absolument sûr du résultat,
CTM ne touchera pas à
votre arborescence. Pour contrôler la validité
d'un delta, vous pouvez également utiliser
l'indicateur et
CTM ne modifiera alors pas
votre arborescence; il vérifiera simplement
l'intégrité du delta et regardera s'il peut
s'appliquer proprement à votre arborescence en
l'état.Il y a aussi d'autres option pour
CTM, voyez les pages de manuel ou
lisez les sources pour plus d'informations.C'est à peu près tout. Chaque fois que vous recevez
un delta, passez-le à CTM
pour tenir à jour votre arborescence des sources.N'effacez pas les deltas s'il vous est difficile de
les télécharger de nouveau. Vous pouvez en avoir
besoin si quelque chose mauvais se produit. Même
si vous n'avez que des disquettes, envisagez d'utiliser
&man.fdwrite.1; pour en faire une copie.Conserver vos modifications localesSi vous êtes développeur vous voudrez
expérimenter et modifier des fichiers de l'arborescence
des sources. CTM supporte
de façon limitée les modifications locales: avant
de contrôler l'existence d'un fichier
foo, il regarde tout d'abord s'il y a
un fichier foo.ctm. Si ce fichier
existe, CTM l'utilisera au lieu
de foo.Ce comportement vous permet de conserver de façon
simple des modifications locales: copiez simplement les
fichiers que vous envisagez de modifier dans des fichiers
de même nom, mais avec le suffixe
.ctm. Vous pouvez ensuite bidouiller
tranquillement le code, pendant que
CTM maintient à jour le
fichier .ctm.D'autres options intéressantes de
CTMSavoir avec précision ce que va modifier
une mise à jourVous pouvez connaître la liste des modifications
que CTM appliquera à
votre archive des sources en utilisant
CTM avec l'option
.C'est utile si vous voulez conserver la trace des
modifications, pré- ou post- modifier les fichiers
concernés, ou vous vous sentez un tantinet
paranoïaque.Faire des sauvegardes avant la mise
à jourParfois vous voudrez sauvegarder tous les fichiers
qui seraient toucher par une mise à jour
CTM.Avec l'option
,
CTM sauvegarde tous les
fichiers que seraient modifiés par delta
CTM donné dans
fichier_de_sauvegarde.Restreindre la liste des fichiers touchés
par une mise à jourParfois vous voudrez restreindre le champ d'application
d'une mise à jour CTM,
ou serez intéressé à n'extraire que
quelques fichiers d'une séquence de deltas.Vous pouvez contrôler la liste de fichiers
sur laquelle travaillera CTM
en donnant comme filtre une expression régulière
avec les options et
.Par exemple, pour extraire une version à jour
de lib/libc/Makefile de la série
de deltas CTM que vous
avez sauvegardé, lancez les commandes:&prompt.root; cd /where/ever/you/want/to/extract/it/
&prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*Pour chaque fichier d'un delta
CTM, les options
et sont
appliquées dans l'ordre donné sur la ligne de
commande. Le fichier est traité par
CTM uniquement s'il est
sélectionné après application des options
et .Perspectives pour CTMIl y en a des tonnes:Utiliser une méthode d'authentification
au système CTM pour
détecter la substitution de mises à
jour.Faire le ménage dans les options de
CTM, elles commencent à
engendrer de la confusion et à contredire
l'intuition.DiversIl existe aussi une séquence de deltas pour le
catalogue des logiciels portés, mais elle n'a pas
reçue beaucoup d'écho jusqu'ici.Miroirs CTMCTM/FreeBSD est disponible via
FTP anonyme sur les miroirs suivants. Si vous faites le choix
de vous procurer CTM via FTP anonyme,
utilisez s'il vous plaît un site proche de vous.En cas de problème, contactez la liste de diffusion
&a.ctm-users.name;.Californie, Bay Area, source officielleAfrique du Sud, serveur de sauvegarde pour les anciens
deltasTaïwan/R.O.C.Si vous n'avez pas trouvé de miroir proche de vous,
où si le miroir est incomplet, essayez d'utiliser un moteur
de recherche comme
alltheweb.Utiliser CVSupIntroductionCVSup est un ensemble de
logiciels pour la distribution et la mise à jour
d'arborescences de sources à partir d'un
référentiel CVS principal sur une machine serveur
distante. Les sources de &os; sont archivées sous
un référentiel CVS sur une machine centrale de
développement en Californie. Grâce à
CVSup, les utilisateurs
de &os; peuvent facilement tenir à jour leur
propre arborescence de sources.CVSup utilise le modèle
pull de mise à jour. Dans ce
schéma, chaque client réclame les mises à
jour au serveur, si et quand il le souhaite. Le serveur
attend passivement les demandes de mises à jour
de ses clients. Toutes les mises à jour sont donc faites
à la demande du client. Le serveur n'envoie jamais de
mise à jour non sollicitée. Les utilisateurs doivent
soit exécuter le client CVSup
à la main pour obtenir une mise à jour, soit
mettre en oeuvre une tâche cron
pour l'exécuter automatiquement et à intervalles
réguliers.Le terme CVSup,
avec les majuscules, désigne l'ensemble du logiciel.
Ses principales composantes sont le client
cvsup qui s'exécute sur les
machines de chaque utilisateur, et le serveur
cvsupd, qui tourne sur tous les sites
miroir de &os;.En lisant la documentation et les listes de diffusion
de &os;, vous trouverez des références à
sup. sup
était le prédécesseur de
CVSup, et remplissait la
même fonction. CVSup
est utilisé de la même façon que
sup et, emploie de fait des
fichiers de configuration qui sont compatibles avec ceux de
sup. sup
n'est plus utilisé pour le projet &os;, parce que
CVSup est à la fois plus
rapide et plus souple.InstallationLa méthode la plus simple pour installer
CVSup est d'utiliser la version
pré-compilée net/cvsup du catalogue des logiciels portés
de &os;. Si vous préférez compiler
CVSup à partir des sources, vous
pouvez directement utiliser le logiciel porté
net/cvsup. Cependant
soyez averti: le logiciel porté
net/cvsup est écrit en
Modula-3, qui demande un temps et un espace disque non
négligeables pour le télécharger et le
compiler.Si vous avez l'intention d'utiliser
CVSup sur une machine qui ne
disposera pas de
&xfree86; ou &xorg;, comme un serveur,
assurez-vous que le logiciel porté de n'incluera pas
l'interface graphique (“GUI”) de
CVSup,
net/cvsup-without-gui.Configuration de CVSupLe fonctionnement de CVSup
est contrôlé par un fichier de configuration
appelé supfile. Il y a des
exemples de fichiers supfile dans
le répertoire
/usr/share/examples/cvsup/.Les informations du fichier supfile
répondent pour CVSup
aux question suivantes:Quels fichiers
voulez-vous télécharger?Quelles versions de
ces fichiers voulez-vous?D'où voulez-vous
les télécharger?Où voulez-vous les
mettre sur votre machine?Où voulez-vous
mettre les fichiers d'état de votre
machine?Dans les sections suivantes, nous allons renseigner
un fichier supfile typique en
répondant une à une à chacune de ces questions.
Commençons par décrire la structure d'ensemble
d'un fichier supfile.Un fichier supfile est un fichier
texte. Les commentaires débutent par un
# et se prolongent jusqu'à la fin de
la ligne. Les lignes vides ou qui ne contiennent que
des commentaires sont ignorées.Les autres lignes décrivent les ensembles de
fichiers que l'utilisateur souhaite recevoir. Ces lignes
commencent par le nom d'un “catalogue” -
collection, un regroupement logique de
fichiers défini par le serveur. Le nom du catalogue
dit au serveur quels fichiers vous voulez. Ce nom est
éventuellement suivi d'un ou plusieurs champs,
séparés par un espace. Ces champs répondent aux
questions listées ci-dessus. Il y deux types de champs:
des indicateurs et des valeurs. Un indicateur est un
mot-clé autonome, e.g., delete ou
compress. Une valeur commence
aussi par un mot-clé, mais il est impérativement
suivi sans espace par un = et un
deuxième mot. Par exemple,
release=cvs est un champ définissant
une valeur.Un fichier supfile spécifie
en général plus d'un catalogue à
télécharger. Une façon de construire un fichier
supfile consiste à préciser
explicitement tous les champs nécessaires pour chaque
catalogue. Cependant, cela tend à donner des fichiers
supfile avec des lignes assez longues,
et ce n'est pas très pratique parce que la plupart des
champs sont les mêmes pour tous les catalogues du
fichier supfile.
CVSup fournit un mécanisme
pour s'affranchir de ce problème. Les lignes qui
commencent par le nom du pseudo-catalogue spécial
*default servent à définir les
indicateurs et les valeurs qui seront pris par
défaut pour les catalogues listés ensuite dans le
fichier supfile. Une valeur par
défaut peut-être surchargée pour un catalogue
particulier, en associant au catalogue lui-même une
valeur différente. Les valeurs par défaut peuvent
également être redéfinies, ou bien on peut en
définir de nouvelles, en cours de fichier
supfile, par de nouvelles lignes
*default.Sachant cela, nous allons maintenant mettre au point
un fichier supfile pour
télécharger et mettre à jour l'arborescence
principale de
FreeBSD-CURRENT.Quels fichiers
voulez-vous télécharger?Les fichiers disponibles via
CVSup sont regroupés par
“catalogues” -
collections. Les catalogues
disponibles sont décrits dans la
section suivante.
Dans notre exemple, nous souhaitons recevoir toute
l'arborescence principale du système &os;. Il existe
un unique gros catalogue src-all qui
correspond à tout cela. Pour commencer à renseigner
notre fichier supfile, nous listons
simplement les catalogues, un par ligne (dans notre cas,
une seule ligne):src-allQuelle(s) version(s)
voulez-vous télécharger?Avec CVSup, vous pouvez
obtenir pratiquement n'importe quelle version qui ait
- existée des sources. C'est possible parce que le
+ existé des sources. C'est possible parce que le
serveur cvsupd travaille
directement à partir du référentiel CVS, qui
contient toutes les versions. Vous indiquez quelle
version vous voulez en utilisant les valeurs
tag= et .Faites très attention à définir
correctement la valeur tag=.
Certaines étiquettes ne s'appliquent qu'à
certains catalogues. Si l'étiquette que vous
donnez n'est pas valable ou mal orthographiée,
CVSup effacera des fichiers
que vous ne vouliez probablement pas supprimer. En
particulier, n'utilisez quetag=. pour les catalogues
ports-*.Les valeurs données avec tag=
sont des étiquettes symboliques définies dans
le référentiel. Il y a deux sortes
d'étiquettes, les étiquettes de révision et
les étiquettes de branches. Les étiquettes de
révision s'appliquent à une révision
particulière. Leur signification ne varie pas d'un
jour à l'autre. Les étiquettes de branches,
à l'inverse, se rapportent à la dernière
révision sur une branche particulière à un
moment donné. Comme les étiquettes de branches
ne se rapportent pas à une révision
particulière, elles peuvent désigner demain
quelque chose de différent de ce qu'elles
référencent aujourd'hui. contient les étiquettes
de branches qui peuvent intéresser les utilisateurs.
Quand on spécifie une étiquette dans
le fichier de configuration de
CVSup, elle doit être
précédée du champ tag=
(RELENG_4 deviendra
tag=RELENG_4). Gardez à l'esprit
que seule l'étiquette tag=. n'a de
signification pour le catalogue des logiciels
portés.Faites très attention à mentionner
précisément l'étiquette exacte.
CVSup ne sait
différencier une étiquette valide d'une
étiquette qui ne l'est pas. Si vous orthographiez
mal l'étiquette, CVSup
se comportera comme si vous aviez donné une
étiquette valide qui ne se réfère
à aucun fichier. Dans ce cas il supprimera
toutes les sources que vous avez déjà.Lorsque vous indiquez une étiquette de
branche, vous recevez normalement les dernières
versions des fichiers sur cette branche de
développement. Si vous voulez récupérer
des version antérieures, vous pouvez le faire
en donnant une date avec le champ .
La page de manuel de &man.cvsup.1; vous expliquent
comment le faire.Dans notre exemple, nous désirons obtenir
&os.current;. Nous ajoutons alors la ligne suivante
au début de notre fichier
supfile:*default tag=.Il existe un cas particulier important qui se produit
lorsque que l'on ne spécifie ni le champ
tag= ni le champ
date=. Dans ce cas, vous obtenez
alors les fichiers RCS directement du
référentiel CVS du serveur, plutôt que de
recevoir une version donnée. Les développeurs
préfèrent généralement cette
façon de travailler.
En maintenant une version du référentiel
lui-même sur leur système, ils ont la
possibilité de consulter l'historique des
révisions et
d'accéder aux versions antérieures des fichiers.
Cet avantage ne s'obtient cependant qu'au prix d'une
consommation importante d'espace disque.D'où voulez-vous
les télécharger?Nous employons le champ host=
pour dire à cvsup où
récupérer ses mises à jour.
N'importe quel des
sites miroir CVSup
fera l'affaire, bien que vous devriez essayer de
choisir un site proche de vous. Dans cet exemple,
nous utiliserons un site fictif de distribution de
&os; cvsup99.FreeBSD.org:*default host=cvsup99.FreeBSD.orgVous devrez changer le site pour un qui existe
réellement avant d'exécuter
CVSup. Lors de l'exécution
de cvsup, vous pouvez surcharger cette
définition sur la ligne de commande avec l'option
.Où voulez-vous
les mettre sur votre machine?Le champ prefix= dit à
cvsup où mettre les fichiers
qu'il obtient. Dans l'exemple, nous mettrons les fichiers
source directement dans notre arborescence des sources,
/usr/src. Le répertoire
src est déjà implicitement
défini dans les catalogues que nous avons choisis
de télécharger, voici donc la définition
correcte:*default prefix=/usrOù
cvsup doit-il mettre les fichiers
d'état?Le client CVSup tient à
jour des fichiers d'état dans ce qui est appelé le
répertoire de “base”. Ces fichiers
permettent à CVSup de
travailler plus efficacement en gardant la trace des
modifications que vous avez déjà reçues.
Nous utiliserons le répertoire de base standard,
/var/db:*default base=/var/dbSi votre répertoire de base n'existe pas encore,
c'est le moment de le créer. Le client
cvsup refusera de s'exécuter si le
répertoire de base n'existe pas.Diverses autres options de configuration dans le
fichier supfile:Il y a une autre ligne d'instruction qui doit
normalement figurer dans le fichier
supfile:*default release=cvs delete use-rel-suffix compressrelease=cvs dit au serveur
d'obtenir les informations du référentiel principal
de &os;. C'est quasiment toujours le cas, mais il existe
d'autres possibilités qui sortent du cadre du présent
document.delete donne à
CVSup l'autorisation de
supprimer des fichiers. Vous devriez toujours utiliser
cette possibilité, de sorte que
CVSup puisse vraiment maintenir
à jour votre arborescence des sources.
CVSup veille à ne supprimer
que les fichiers qu'il maintient. Les fichiers
supplémentaires que vous pourriez avoir ne seront pas
touchés.use-rel-suffix est...
ésotérique. Si vous voulez vraiment savoir de
quoi il retourne, lisez la page de manuel de
&man.cvsup.1;. Sinon, mettez cet indicateur et ne vous en
souciez pas plus.compress permet d'utiliser un
algorithme de compression de type &man.gzip.1; sur la
ligne de communication. Si votre connexion a la vitesse
d'une ligne T1 ou plus, vous ne devriez probablement pas
utiliser la compression. Sinon, cela facilite
substantiellement les choses.Assembler les morceaux:Voici le fichier supfile de notre
exemple en entier:*default tag=.
*default host=cvsup99.FreeBSD.org
*default prefix=/usr
*default base=/var/db
*default release=cvs delete use-rel-suffix compress
src-allLe fichier refuseComme mentionné ci-dessus,
CVSup utilise une méthode de
type pull. Fondamentalement, cela
signifie que vous vous connectez au serveur
CVSup, ce dernier dit, “Voici
ce que vous pouvez télécharger...”, puis
votre client répond “Ok, je prendrai ceci, ceci,
ceci et cela”. Dans la configuration par défaut,
le client CVSup
téléchargera chaque fichier associé avec
le catalogue et l'étiquette que vous avez choisi dans
le fichier de configuration. Cependant cela ne correspond
pas toujours à ce que vous désirez, tout
particulièrement si vous mettez à jour les
arborescences doc,
ports, ou www
— la plupart des personnes sont incapables de lire
quatre ou cinq langues différentes, et donc elles n'ont
pas besoin de télécharger les fichiers
spécifiques à
certaines langues. Si vous mettez à jour le catalogue
des logiciels portés, vous pouvez remédier à
cela en spécifiant chaque catalogue individuellement
(e.g., ports-astrology,
ports-biology, etc au lieu de
spécifier simplement ports-all).
Cependant puisque les arborescences doc
et www ne disposent pas de catalogues
spécifiques à chaque langue, vous devez utiliser
une des nombreuses fonctions de
CVSup: le fichier
refuse.Le fichier refuse indique
essentiellement à CVSup
qu'il ne doit pas télécharger chaque fichier
d'un catalogue; en d'autre termes, il dit au client
de refuser certains fichiers du
serveur. Le fichier refuse peut
être trouvé (ou, si vous n'en disposez pas
encore d'un, doit être placé) dans
base/sup/.
base est défini dans votre
supfile; notre répertoire
base est défini en tant que
/var/db ce qui signifie
que le fichier refuse est par
défaut
/var/db/sup/refuse.Le fichier refuse a un format
très simple; il contient tout simplement les noms des
fichiers ou des répertoires que vous ne
désirez pas rapatrier. Par exemple, si vous ne
pouvez parler d'autres langues que l'anglais ou un peu
d'allemand, et vous ne ressentez pas le besoin de lire
la traduction en allemand de la documentation, vous pouvez mettre
ce qui suit dans le fichier
refuse:doc/bn_*
doc/da_*
doc/de_*
doc/el_*
doc/es_*
doc/fr_*
doc/it_*
doc/ja_*
doc/nl_*
doc/no_*
doc/pl_*
doc/pt_*
doc/ru_*
doc/sr_*
doc/tr_*
doc/zh_*et ainsi de suite pour les autres langues (vous pouvez
en trouver une liste complète en parcourant le
référentiel
CVS de &os;).Avec cette fonction très utile, les utilisateurs
disposant d'une connexion lente ou payant le temps de
connexion à la minute seront en mesure
d'économiser de précieuses minutes comme ils n'auront
plus du tout besoin de télécharger des
fichiers qu'ils n'utiliseront jamais. Pour plus
d'information sur les fichiers refuse
et d'autres caractéristiques intéressantes de
CVSup, consultez sa page de
manuel.Exécuter CVSupVous êtes maintenant prêt à essayer de faire
une mise à jour. La ligne de commande à utiliser
est très simple:&prompt.root; cvsup supfileoù supfile
est bien sûr le nom du fichier supfile
que vous venez de créer. Si vous êtes sous X11,
cvsup affichera une interface graphique
avec des boutons pour les opérations courantes. Appuyez
sur le bouton go et suivez le
déroulement des opérations.Comme, dans cet l'exemple, vous mettez directement à
jour votre arborescence /usr/src,
vous devrez exécuter le programme en tant que
root de façon à ce que
cvsup ait le droit de mettre à jour vos
fichiers. Comme vous venez juste de créer votre fichier
de configuration et n'avez encore jamais utilisé le
programme, il est compréhensible que cela vous rende
nerveux. Il est facile de faire un essai sans toucher
à vos précieux fichiers. Créez juste un nouveau
répertoire quelque part et donnez-le en argument
supplémentaire sur la ligne de commande:&prompt.root; mkdir /var/tmp/dest
&prompt.root; cvsup supfile /var/tmp/destLe répertoire indiqué sera pris comme destination
pour tous les fichiers modifiés.
CVSup examinera les fichiers
habituels dans /usr/src, mais ne les
modifiera pas et n'en supprimera aucun.
Les modifications atterriront dans
/var/tmp/dest/usr/src.
CVSup ne touchera pas non plus
à ses fichiers d'état dans le répertoire de base,
lorsqu'il est invoqué de cette manière. Les
nouvelles versions de ces fichiers iront dans le
répertoire indiqué. A partir du moment où
vous avez les les droits en lecture sur
/usr/src, vous n'avez pas besoin
d'être root pour faire ce genre
d'essai.Si vous n'êtes pas sous X11, ou si vous n'aimez
tout simplement pas les interfaces graphiques, vous
devrez ajouter quelques options supplémentaires sur la
ligne de commande de cvsup:&prompt.root; cvsup -g -L 2 supfileL'option dit à
CVSup de ne pas utiliser son
interface graphique. C'est automatique si vous n'êtes pas
sous X11, sinon vous devez le préciser.L'option dit à
CVSup d'afficher le détail de
ce qu'il est en train de faire. Il y a trois niveaux
de trace, de à
. La valeur par défaut est de 0,
ce qui équivaut à n'émettre que les messages
d'erreur.Il y a de nombreuses autres option disponibles.
Pour en obtenir un résumé, tapez
cvsup -H. Pour une description plus
détaillée, reportez-vous aux pages de
manuel.Une fois que vous êtes satisfait de la façon
dont se passent les mises à jour, vous pouvez mettre
en place une exécution de
CVSup à intervalles
réguliers en utilisant &man.cron.8;. Bien
évidemment, vous ne devez pas laisser
CVSup utiliser don interface
graphique quand vous le lancez depuis &man.cron.8;.Catalogue de fichiers CVSupLes catalogues de fichiers disponibles via
CVSup sont organisés
hiérarchiquement. Il y a quelques gros catalogues, qui
sont divisés en plus petits sous-catalogues. Recevoir
un gros catalogue équivaut à recevoir chacun de ces
sous-catalogues. Les relations hiérarchiques entre
les sous-catalogues sont décrites par les indentations
dans la liste ci-dessous.Les catalogues habituellement les plus employés sont
src-all, et ports-all.
Les autres catalogues ne sont utilisés que par de petits
groupes de personnes pour des besoins particuliers, et
certains sites miroir ne les mettent pas à
disposition.cvs-all release=cvsLe référentiel CVS principal de &os;,
incluant les logiciels de chiffrement.distrib release=cvsLes fichiers ayant trait à la distribution
et à la mise en place de sites miroir
&os;.doc-all release=cvsLes sources du manuel &os; et d'autres
documentations. Cela de comprend pas les
fichiers pour le site Web de &os;.ports-all release=cvsLe catalogue des logiciels portés de
&os;.Si vous ne voulez pas mettre à
jour l'intégralité du catalogue
ports-all (l'intégralité
du catalogue des logiciels portés), mais
utiliser un des sous-catalogues listés
ci-dessous, assurez-vous de
toujours mettre à
jour le sous-catalogue
ports-base! Dès qu'il
- y a un changement dans l'infrastucture
+ y a un changement dans l'infrastructure
de compilation des logiciels portés
représentée par
ports-base, il est certain
que ces changements seront utilisés
par un logiciel porté très rapidement.
Donc, si vous ne mettez à jour que les
logiciels portés en tant que tel et
qu'ils utilisent certains des changements,
il y a de grandes chances pour que leur
compilation échoue avec de mystérieux
messages d'erreur. La
première chose
à faire dans ce cas est de vérifier
que votre sous-catalogue
ports-base est à
jour.Si vous voulez construire votre propre
version locale du fichier
ports/INDEX, vous
devez accepter le catalogue
ports-all
(l'intégralité du catalogue des
logiciels portés). La construction de
ports/INDEX avec une
arborescence partielle n'est pas
supportée. Consultez la
FAQ.ports-accessibility
release=cvsLogiciels pour utilisateurs
handicapées.ports-arabic
release=cvsSupport pour l'arabe.ports-archivers
release=cvsOutils d'archivage.ports-astro
release=cvsLogiciels d'astronomie.ports-audio
release=cvsSupport du son.ports-base
release=cvsL'infrastructure de compilation
du catalogue des logiciels portés
— divers fichiers situés dans les
répertoires
Mk/ et
Tools/
sous-répertoires de la hiérarchie
/usr/ports.Lisez l'important
avertissement ci-dessus: vous
devriez toujours
mettre à jour ce sous-catalogue,
dès que vous mettez à jour une partie
du catalogue des logiciels portés
de &os;!ports-benchmarks
release=cvsEvaluation de performances.ports-biology
release=cvsBiologie.ports-cad
release=cvsOutils de conception assistée
par ordinateur.ports-chinese
release=cvsSupport pour le chinois.ports-comms
release=cvsLogiciels de communication.ports-converters
release=cvsConversion entre codages de
caratères.ports-databases
release=cvsBases de données.ports-deskutils
release=cvsLes choses que l'on trouvait
sur un bureau avant l'invention
des ordinateurs.ports-devel
release=cvsOutils de développement.ports-dns
release=cvsLogiciels relatifs au DNS.ports-editors
release=cvsEditeurs.ports-emulators
release=cvsEmulateurs d'autres systèmes
d'exploitation.ports-finance
release=cvsApplications concernant les finances
et l'argent.ports-ftp
release=cvsClients et serveurs FTP.ports-games
release=cvsJeux.ports-german
release=cvsSupport pour l'allemand.ports-graphics
release=cvsOutils graphiques.ports-hebrew
release=cvsSupport de l'hébreu.ports-hungarian
release=cvsSupport du hongrois.ports-irc
release=cvsOutils pour l'IRC.ports-japanese
release=cvsSupport pour le japonais.ports-java
release=cvsOutils &java;.ports-korean
release=cvsSupport pour le coréen.ports-lang
release=cvsLangages de programmation.ports-mail
release=cvsLogiciels de courrier
électronique.ports-math
release=cvsLogiciels de calcul numérique.ports-mbone
release=cvsApplications MBone.ports-misc
release=cvsUtilitaires divers.ports-multimedia
release=cvsLogiciels pour le multimedia.ports-net
release=cvsLogiciels réseau.ports-net-im
release=cvsLogiciels de messagerie
instantanée.ports-net-mgmt
release=cvsLogiciels de gestion des
réseaux.ports-net-p2p
release=cvsLogiciels pour le peer to
peer.ports-news
release=cvsLogiciels pour les forums de
discussion USENET.ports-palm
release=cvsLogiciels de support des machines
Palm.ports-polish
release=cvsSupport pour le polonais.ports-portuguese
release=cvsSupport pour le portugais.ports-print
release=cvsLogiciels d'impression.ports-russian
release=cvsSupport pour le russe.ports-science
release=cvsScience.ports-security
release=cvsOutils de sécurité.ports-shells
release=cvsInterpréteurs de commandes.ports-sysutils
release=cvsUtilitaires système.ports-textproc
release=cvsOutils de traitement de texte (sauf les
logiciels de publication assistée par
ordinateur).ports-ukrainian
release=cvsSupport de l'ukrainien.ports-vietnamese
release=cvsSupport du vietnamien.ports-www
release=cvsLogiciels concernant le World Wide
Web.ports-x11
release=cvsLogiciel pour le système X window.ports-x11-clocks
release=cvsHorloges pour X11.ports-x11-fm
release=cvsGestionnaires de fichiers pour
X11.ports-x11-fonts
release=cvsPolices de caractères et outils
associés pour X11.ports-x11-toolkits
release=cvs“Toolkits” X11.ports-x11-servers
release=cvsServeurs X11.ports-x11-themes
release=cvsThèmes X11.ports-x11-wm
release=cvsGestionnaires de fenêtres pour
X11.src-all release=cvsLes sources du système &os;, comprenant les
logiciels de chiffrement.src-base
release=cvsDivers fichiers en haut de
la hiérarchie
/usr/src.src-bin
release=cvsProgrammes utilisateurs qui peuvent
être utiles en mode mono-utilisateur
(/usr/src/bin).src-contrib
release=cvsUtilitaires et bibliothèques
d'origine indépendante du projet &os;,
employés à peu près tels quels
(/usr/src/contrib).src-crypto release=cvsUtilitaires et bibliothèques
pour le chiffrement d'origine indépendante
du projet &os;, employés à peu près tels
quels
(/usr/src/crypto).src-eBones release=cvsKerberos et DES
(/usr/src/eBones). Non
utilisés dans les versions de &os;
actuellement publiées.src-etc
release=cvsFichiers de configuration du système
(/usr/src/etc).src-games
release=cvsJeux
(/usr/src/games).src-gnu
release=cvsUtilitaires soumis à la licence
publique GNU
(/usr/src/gnu).src-include
release=cvsFichiers d'entête
(/usr/src/include).src-kerberos5
release=cvsLogiciel de sécurité
Kerberos5
(/usr/src/kerberos5).src-kerberosIV
release=cvsLogiciel de sécurité
KerberosIV
(/usr/src/kerberosIV).src-lib
release=cvsBibliothèques
(/usr/src/lib).src-libexec
release=cvsProgrammes système normalement
exécutés par d'autres programmes
(/usr/src/libexec).src-release
release=cvsFichiers nécessaires à la
génération
d'une version publiable de &os;
(/usr/src/release).src-sbin release=cvsUtilitaires système pour le mode
mono-utilisateur
(/usr/src/sbin).src-secure
release=cvsCommandes et bibliothèques pour
le chiffrage
(/usr/src/secure).src-share
release=cvsFichiers qui peuvent être
partagés par plusieurs systèmes
(/usr/src/share).src-sys
release=cvsLe noyau
(/usr/src/sys).src-sys-crypto
release=cvsCode du noyau destiné au chiffrement
(/usr/src/sys/crypto).src-tools
release=cvsDivers outils pour la maintenance de
&os;
(/usr/src/tools).src-usrbin
release=cvsOutils utilisateur
(/usr/src/usr.bin).src-usrsbin
release=cvsUtilitaires système
(/usr/src/usr.sbin).www release=cvsLes sources du site WWW de &os;.distrib release=selfFichiers de configuration du serveur
CVSup. Utilisés par
les sites miroir
CVSup.gnats release=currentBase de données GNATS d'historique
des bogues.mail-archive release=currentArchives des listes de diffusion &os;.www release=currentLes fichiers/données WWW publiés (pas les
fichiers source). Utilisés par les sites miroir
WWW.Pour plus d'informationsPour la FAQ de CVSup
et d'autres informations concernant CVSup,
consultez la
page
Web de CVSup.La plupart des discussions relatives à
l'utilisation de CVSup sous &os;
ont lieu sur la &a.hackers;. Les nouvelles versions du
logiciel y sont annoncés ainsi que sur la &a.announce;.Toutes questions et rapports de bogues devraient être
adressés à l'auteur du programme à adresse
cvsup-bugs@polstra.com.Sites CVSupDes serveurs CVSup pour &os;
fonctionnent aux sites suivants:
&chap.mirrors.cvsup.inc;
Utiliser PortsnapIntroductionPortsnap est un système
de distribution sécurisée du catalogue des
logiciels portés de &os;. Approximativement chaque
heure, un instantané du catalogue des
logiciels portés est généré,
rassemblé et signé de manière
chiffrée. Les fichiers résultants sont alors
distribués par l'intermédiaire du protocole
HTTP.Tout comme CVSup,
Portsnap utilise un modèle
de mise à jour de type pull: le
catalogue des logiciels portés packagé et
signé est placé sur un serveur Web qui attend
les requêtes des clients. Les utilisateurs doivent soit
exécuter manuellement &man.portsnap.8; pour
télécharger les mises à jour, soit
configurer &man.cron.8; pour un téléchargement
régulier et automatique des mises à jour.Pour des raisons techniques,
Portsnap ne met pas à jour
le catalogue des logiciels portés directement dans le
répertoire /usr/ports; le logiciel travaille
plutôt par défaut sur une version
compressée de l'arborescence des logiciels
portés dans le répertoire /var/db/portsnap. Cette copie
compressée est ensuite utilisée pour mettre
à jour le catalogue des logiciels portés.Si Portsnap est
installé à partir du catalogue des logiciels
portés de &os;, alors l'emplacement par défaut
pour son instantané compressé sera /usr/local/portsnap au lieu de
/var/db/portsnap.InstallationSous &os; 6.0 et les versions plus récentes,
Portsnap fait partie du
système de base de &os;. Sous des versions plus
anciennes de &os;, il peut être installé à
partir du logiciel porté sysutils/portsnap.Configuration de PortsnapL'exécution de Portsnap
est contrôlée par le fichier de configuration
/etc/portsnap.conf. Pour la plupart des
utilisateurs, le fichier de configuration par défaut
sera suffisant; pour plus de détails, consultez la page
de manuel &man.portsnap.conf.5;.Si Portsnap est
installé à partir du catalogue des logiciels
portés, il utilisera
/usr/local/etc/portsnap.conf comme
fichier de configuration au lieu de
/etc/portsnap.conf. Ce fichier n'est pas
créé lors de l'installation du logiciel, mais un
fichier d'exemple est fourni; pour le copier à son
emplacement correct, utilisez la commande suivante:&prompt.root; cd /usr/local/etc && cp portsnap.conf.sample portsnap.confExécuter Portsnap pour la
première foisAu premier lancement de la commande &man.portsnap.8;, il
sera nécessaire de télécharger un
instantané compressé de
l'intégralité de l'arborescence des logiciels
portés dans /var/db/portsnap (ou /usr/local/portsnap si
Portsnap a été
installé à partir du catalogue des logiciels
portés). Au début de l'année 2006, cela
représentait un téléchargement d'environ
41 Mo.&prompt.root; portsnap fetchUne fois que l'instantané compressé a
été récupéré, une copie
utilisable de l'arborescence des logiciels portés peut
être extraite dans le répertoire /usr/ports. Cela est
nécessaire même si une arborescence a
déjà été créée dans
ce répertoire (par exemple en utilisant
CVSup), puisque cela met en place
une version de référence à partir de
laquelle portsnap peut déterminer
plus tard quelles parties du catalogue des logiciels
portés a besoin d'une mise à jour.&prompt.root; portsnap extractDans l'installation par défaut de &os; /usr/ports n'est pas
créé. Si vous utilisez &os; 6.0-RELEASE,
ce répertoire doit être créé avant
d'utiliser la commande portsnap. Sur les
versions de &os; plus récentes ou avec la version de
Portsnap installée à
partir du catalogue des logiciels portés, cette
création est effectuée automatiquement à
la premiere utilisation de la commande
portsnap.Mettre à jour l'arborescence des logiciels
portésAprès qu'un instantané initial du catalogue
des logiciels portés ait été
récupéré puis décompressé
dans le répertoire /usr/ports, la mise à jour
du catalogue se divise en deux étapes: la
récupération (fetch) des
mises à jour de l'instantané, et leur
utilisation pour mettre à jour
(update) le catalogue des logiciels
portés en tant que tel. Ces deux étapes peuvent
être effectuées par l'intermédiaire d'une
seule commande portsnap:&prompt.root; portsnap fetch updateDes versions anciennes de portsnap ne
supporte pas cette syntaxe; en cas d'échec, utilisez
à la place ceci:&prompt.root; portsnap fetch
&prompt.root; portsnap updateExécuter Portsnap à partir de cronAfin d'éviter tout problème
d'embouteillage lors de l'accès aux
serveurs Portsnap,
portsnap fetch ne fonctionnera pas à
partir d'une tâche &man.cron.8;. Il existe, à la
place, une commande portsnap cron
spécifique, qui patiente durant un délai
aléatoire pouvant aller jusqu'à 3600 secondes
avant de récupérer les mises à
jour.De plus, il est fortement recommandé de ne pas
exécuter portsnap update à
partir d'une tâche cron, puisque cela
peut être à l'origine de graves problèmes
si la commande a lieu au même moment qu'un logiciel
porté est en train d'être compilé ou
installé. Cependant, les fichiers
INDEX peuvent être mis à
jour sans risque, et cela peut être fait en passant
l'indicateur à la commande
portsnap (bien entendu si portsnap
-I update est exécuté à par
cron, il sera alors nécessaire de
lancer portsnap update sans l'option
ultérieurement pour mettre à
jour le reste de l'arborescence).L'ajout de la ligne suivante dans le fichier
/etc/crontab demandera à
portsnap de mettre à jour son
instantané compressé et les fichiers
INDEX du répertoire /usr/ports, et enverra un courrier
électronique si un logiciel porté
installé n'est pas à jour:0 3 * * * root portsnap -I cron update && pkg_version -vIL=Si l'horloge système n'est pas positionnée
sur le fuseau horaire local, remplacez 3
par une valeur quelconque comprise entre 0 et 23, afin de
répartir de manière plus
équilibrée la charge sur les serveurs
Portsnap.Des versions anciennes de portsnap ne
supportent pas l'utilisation de commandes multiples (par
exemple cron update) lors de la même
invocation de portsnap. Si la ligne
précédente échoue, essayez de remplacer
portsnap -I cron update par
portsnap cron && portsnap -I
update.Etiquettes CVSQuand on récupère ou l'on met à
jour les sources en utilisant
cvs ou
CVSup, une étiquette de
révision doit être spécifiée.
Une étiquette de révision fait référence
soit à une branche particulière de développement
de &os;, soit à un moment particulier dans
le temps. Le premier type d'étiquette est nommé
“étiquette de branche”, le second type
“étiquette de publication” —
release tags.Etiquettes de brancheToutes ces étiquettes, à l'exception de
l'étiquette HEAD (qui est une
étiquette toujours valide), ne s'appliquent
qu'à l'arborescence src/.
Il n'y a pas de branche pour les arborescences
ports/, doc/,
et www/.HEADNom symbolique pour la branche principale de
développement, ou FreeBSD-CURRENT. C'est aussi
la valeur par défaut lorsque la révision n'est
pas précisée.Sous CVSup, cette
étiquette est représentée par un
.
(ce n'est pas une ponctuation, mais bien le caractère
.).Sous CVS, c'est la valeur par défaut quand
aucune étiquette de révision n'est
précisée. Ce n'est généralement
pas une bonne idée
de récupérer ou mettre à jour vers
les sources CURRENT sur une machine STABLE, à
moins que cela ne soit vraiment votre intention.RELENG_6Branche de développement pour &os;-6.X,
également connue sous le nom de
&os; 6-STABLE.RELENG_6_1Branche de publication de la version &os;-6.1,
utilisée uniquement pour les avis de
sécurité et autres correctifs de
problèmes critiques.RELENG_6_0Branche de publication de la version &os;-6.0,
utilisée uniquement pour les avis de
sécurité et autres correctifs de
problèmes critiques.RELENG_5Branche de développement pour &os;-5.X,
également connue sous le nom de
&os; 5-STABLE.RELENG_5_4Branche de publication de la version &os;-5.4,
utilisée uniquement pour les avis de
sécurité et autres correctifs de
problèmes critiques.RELENG_5_3Branche de publication de la version &os;-5.3,
utilisée uniquement pour les avis de
sécurité et autres correctifs de
problèmes critiques.RELENG_5_2Branche de publication des versions &os;-5.2 et
&os;-5.2.1, utilisée uniquement pour les avis de
sécurité et autres correctifs de
problèmes critiques.RELENG_5_1Branche de publication de la version FreeBSD-5.1,
utilisée uniquement pour les avis de
sécurité et autres correctifs de
problèmes critiques.RELENG_5_0Branche de publication de la version FreeBSD-5.0,
utilisée uniquement pour les avis de
sécurité et autres correctifs de
problèmes critiques.RELENG_4Branche de développement de FreeBSD-4.X, aussi
connue sous le nom de &os; 4-STABLE.RELENG_4_11Branche de publication de la version &os;-4.11,
utilisée uniquement pour les avis de
sécurité et autres correctifs de
problèmes critiques.RELENG_4_10Branche de publication de la version &os;-4.10,
utilisée uniquement pour les avis de
sécurité et autres correctifs de
problèmes critiques.RELENG_4_9Branche de publication de la version &os;-4.9,
utilisée uniquement pour les avis de
sécurité et autres correctifs de
problèmes critiques.RELENG_4_8Branche de publication de la version FreeBSD-4.8,
utilisée uniquement pour les avis de sécurité
et autres correctifs de problèmes critiques.RELENG_4_7Branche de publication de la version FreeBSD-4.7,
utilisée uniquement pour les avis de sécurité
et autres correctifs de problèmes critiques.RELENG_4_6Branche de publication des versions FreeBSD-4.6 et
FreeBSD-4.6.2, utilisée uniquement pour les avis de
sécurité et autres correctifs de problèmes
critiques.RELENG_4_5Branche de publication de la version FreeBSD-4.5,
utilisée uniquement pour les avis de sécurité
et autres correctifs de problèmes critiques.RELENG_4_4Branche de publication de la version FreeBSD-4.4,
utilisée uniquement pour les avis de sécurité
et autres correctifs de problèmes critiques.RELENG_4_3Branche de publication de la version FreeBSD-4.3,
utilisée uniquement pour les avis de sécurité
et autres correctifs de problèmes critiques.RELENG_3Branche de développement de FreeBSD-3.X, aussi
connue sous le nom de 3.X-STABLE.RELENG_2_2Branche de développement de FreeBSD-2.2.X, aussi
connue sous le nom de 2.2-STABLE. Cette branche
est en grande partie obsolète.Etiquettes de publicationCes étiquettes font référence
à un moment bien précis dans le temps quand une
version particulière de &os; a été
publiée. Le processus d'ingénierie des
publications est documenté en détails dans les
documents Information sur la
publication des versions et Processus
de publication. L'arborescence src utilise des étiquettes
commençant par RELENG_. Les
arborescences ports et
doc utilisent des
étiquettes dont les noms commencent par
RELEASE. Enfin, l'arborescence www ne bénéficie pas
d'étiquette particulière pour les
publications.RELENG_6_0_0_RELEASEFreeBSD 6.0RELENG_5_4_0_RELEASEFreeBSD 5.4RELENG_4_11_0_RELEASEFreeBSD 4.11RELENG_5_3_0_RELEASEFreeBSD 5.3RELENG_4_10_0_RELEASEFreeBSD 4.10RELENG_5_2_1_RELEASEFreeBSD 5.2.1RELENG_5_2_0_RELEASEFreeBSD 5.2RELENG_4_9_0_RELEASEFreeBSD 4.9RELENG_5_1_0_RELEASEFreeBSD 5.1RELENG_4_8_0_RELEASEFreeBSD 4.8RELENG_5_0_0_RELEASEFreeBSD 5.0RELENG_4_7_0_RELEASEFreeBSD 4.7RELENG_4_6_2_RELEASEFreeBSD 4.6.2RELENG_4_6_1_RELEASEFreeBSD 4.6.1RELENG_4_6_0_RELEASEFreeBSD 4.6RELENG_4_5_0_RELEASEFreeBSD 4.5RELENG_4_4_0_RELEASEFreeBSD 4.4RELENG_4_3_0_RELEASEFreeBSD 4.3RELENG_4_2_0_RELEASEFreeBSD 4.2RELENG_4_1_1_RELEASEFreeBSD 4.1.1RELENG_4_1_0_RELEASEFreeBSD 4.1RELENG_4_0_0_RELEASEFreeBSD 4.0RELENG_3_5_0_RELEASEFreeBSD-3.5RELENG_3_4_0_RELEASEFreeBSD-3.4RELENG_3_3_0_RELEASEFreeBSD-3.3RELENG_3_2_0_RELEASEFreeBSD-3.2RELENG_3_1_0_RELEASEFreeBSD-3.1RELENG_3_0_0_RELEASEFreeBSD-3.0RELENG_2_2_8_RELEASEFreeBSD-2.2.8RELENG_2_2_7_RELEASEFreeBSD-2.2.7RELENG_2_2_6_RELEASEFreeBSD-2.2.6RELENG_2_2_5_RELEASEFreeBSD-2.2.5RELENG_2_2_2_RELEASEFreeBSD-2.2.2RELENG_2_2_1_RELEASEFreeBSD-2.2.1RELENG_2_2_0_RELEASEFreeBSD-2.2.0Sites AFSIl y a des serveurs AFS pour &os; sur les sites
suivants:SuèdeLe chemin d'accès au fichiers est
/afs/stacken.kth.se/ftp/pub/FreeBSD/stacken.kth.se # Stacken Computer Club, KTH, Suède
130.237.234.43 #hot.stacken.kth.se
130.237.237.230 #fishburger.stacken.kth.se
130.237.234.3 #milko.stacken.kth.seResponsable ftp@stacken.kth.seSites rsyncLes sites suivants fournissent &os; en utilisant le
protocole rsync. L'utilitaire rsync
fonctionne globalement de la même manière que
la commande &man.rcp.1;, mais il dispose de plus d'options
et utilise le protocole de mise à jour à distance rsync
qui ne transfert que les différences entre deux ensembles
de fichiers, ce qui accélère énormément
la synchronisation par le réseau. C'est surtout utile
si vous disposez d'un miroir du serveur FTP de &os;, ou
du référentiel CVS.
La suite rsync
est disponible sur de nombreux systèmes d'exploitation,
et sous &os;, voir le logiciel porté net/rsync ou utilisez la version
pré-compilée.République Tchèquersync://ftp.cz.FreeBSD.org/Collections disponibles:ftp: un miroir partiel du serveur FTP
&os;.FreeBSD: un miroir complet du serveur FTP
&os;.Allemagnersync://grappa.unix-ag.uni-kl.de/Collections disponibles:freebsd-cvs: référentiel CVS &os;
complet.Cette machine est également miroir des
référentiels CVS des projets NetBSD et OpenBSD,
parmi d'autres.Hollandersync://ftp.nl.FreeBSD.org/Collections disponibles:vol/4/freebsd-core: un miroir complet du
serveur FTP &os;.Royaume-Unirsync://rsync.mirror.ac.uk/Collections disponibles:ftp.freebsd.org: Un miroir complet
du serveur FTP &os;.Etats Unis d'Amériquersync://ftp-master.FreeBSD.org/Ce serveur ne pourra être utilisé que
par les sites miroirs primaires &os;.Collections disponibles:FreeBSD: l'archive principale du serveur
FTP &os;.acl: la liste principale ACL de
&os;.rsync://ftp13.FreeBSD.org/Collections disponibles:FreeBSD: Un miroir complet
du serveur FTP &os;.
diff --git a/fr_FR.ISO8859-1/books/handbook/multimedia/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/multimedia/chapter.sgml
index 3dbe2a1747..f41d40bd97 100644
--- a/fr_FR.ISO8859-1/books/handbook/multimedia/chapter.sgml
+++ b/fr_FR.ISO8859-1/books/handbook/multimedia/chapter.sgml
@@ -1,2150 +1,2150 @@
RossLippertRédaction de Multimédia
&trans.a.fonvieille;
SynopsisFreeBSD supporte une grande variété de cartes son, vous
permettant d'obtenir un son haute fidélité à partir
de votre ordinateur. Ceci inclut la possibilité d'enregistrer et
de jouer les formats “MPEG Audio Layer 3” (MP3), WAV et Ogg
Vorbis aussi bien que de nombreux autres formats. Le catalogue de
logiciels portés de FreeBSD contient également des
applications vous permettant d'éditer vos enregistrements,
rajouter des effets sonores, et contrôler des
périphériques MIDI.Avec un peu de volonté et d'expérimentation,
FreeBSD peut lire des fichiers vidéo et des DVDs. Le
nombre d'applications pour encoder, convertir, et lire divers
supports vidéo est plus limité que le
nombre d'applications équivalentes dans le domaine
du son. Par exemple au
moment de l'écriture de ces lignes, il n'existe pas de
bonne application d'encodage dans le catalogue des logiciels
portés de FreeBSD, qui pourra être utilisée pour
convertir d'un format à un autre, comme peut le faire pour
le son le programme audio/sox. Cependant, le paysage
logiciel dans ce domaine évolue rapidement.Ce chapitre décrira les étapes
nécessaires pour configurer votre carte son. La configuration
et l'installation d'X11
() ont
déjà pris soin des problèmes matériel
de votre carte vidéo, bien qu'il puisse y avoir quelques
réglages à ajuster pour obtenir une meilleure
lecture des vidéos.Après la lecture de ce chapitre, vous connaîtrez:Comment configurer votre système afin que votre
carte son soit reconnue.Les méthodes pour tester si votre carte fonctionne en
utilisant certaines applications.Comment faire face aux problèmes de configuration
de votre carte son.Comment jouer et encoder des MP3s.Comment la vidéo est supportée par
X11.Quelques logiciels portés qui donnent de bon
résultats pour lire/encoder de la vidéo.Comment lire des DVDs, des fichiers .mpg et
.avi.Comment copier l'information de CDs et DVDs dans des
fichiers.Comment configurer une carte TV.Comment configurer un scanner.Avant de lire ce chapitre, vous devrez:Savoir comment configurer et installer un
nouveau noyau ().Essayer de monter des CDs audio avec
la commande &man.mount.8; aura pour résultat
une erreur, au moins, et une panique du
noyau, au pire. Ces supports ont des codages
spécifiques qui diffèrent du système
de fichiers ISO classique.MosesMooreContribution de MarcFonvieilleAugmentée pour &os; 5.X par Configurer une carte sonConfiguration du systèmePCIISAcartes sonAvant que vous commenciez, vous devriez connaître le
modèle de carte son que vous avez, la puce qu'elle utilise, et si
c'est une carte PCI ou ISA. FreeBSD supporte une grande
variété de cartes PCI et ISA.
Consultez la liste des périphériques audio
supportés des notes
de compatibilité matériel pour voir si
votre carte est supportée. Ce document indiquera
également quel pilote supporte votre carte.noyauconfigurationPour utiliser votre carte son, vous devrez charger le pilote
de périphérique approprié. Cela peut être
fait de deux façons. La plus simple est de charger le module pour
votre carte son avec &man.kldload.8;, ce qui peut être
soit fait à partir de la ligne de commande:&prompt.root; kldload snd_emu10k1soit en ajoutant la ligne appropriée dans le fichier
/boot/loader.conf comme cela:snd_emu10k1_load="YES"Ces exemples concernent la carte Creative &soundblaster;
Live!. Les autres modules son chargeables sont listés dans
/boot/defaults/loader.conf. Si vous
n'êtes pas sûr du pilote à utiliser, vous
pouvez tenter de charger le pilote
snd_driver:&prompt.root; kldload snd_driverC'est un méta-pilote
chargeant directement les pilotes les plus courants. Cela
accélère la recherche du pilote
adapté. Il est également possible de charger
l'intégralité des pilotes de cartes son en
utilisant le système
/boot/loader.conf.Si vous voulez connaître le pilote
sélectionné lors du chargement du
méta-pilote snd_driver, vous pouvez
consulter le fichier /dev/sndstat à
cet effet, et cela à l'aide de la commande cat
/dev/sndstat.Pour charger tous les pilotes sous &os; 4.X,
vous devez charger le module snd au lieu
de snd_driver.Une seconde méthode est de compiler le
support pour votre carte son en statique dans votre noyau. La
section ci-dessous fournit les informations nécessaires pour
ajouter le support de votre matériel de cette manière.
Pour plus d'informations au sujet de la recompilation de votre noyau,
veuillez consulter le .Configurer un noyau sur mesure avec support du
sonLa première chose à effectuer est d'ajouter
au noyau le pilote de périphérique audio
générique &man.sound.4;, pour cela vous devrez
ajouter la ligne suivante au fichier de configuration du
noyau:device soundSous &os; 4.X, vous utiliseriez la ligne
suivante:device pcmEnsuite nous devons ajouter le support pour votre carte
son. Par conséquent, nous devons savoir quel pilote
supporte la carte. Consultez la liste des
périphériques audio supportés des notes de compatibilité
matériel pour déterminer le pilote
correct pour votre carte son. Par exemple, une carte son
Creative &soundblaster; Live! est supportée par le
pilote &man.snd.emu10k1.4;. Pour ajouter le support pour
cette carte, utilisez ce qui suit:device "snd_emu10k1"Assurez-vous de lire la page de manuel du pilote pour la
- syntaxe à utiliser. Des informations concernants la
+ syntaxe à utiliser. Des informations concernant la
syntaxe des pilotes de cartes son dans la configuration du
noyau peuvent être également trouvées dans
le fichier /usr/src/sys/conf/NOTES
(/usr/src/sys/i386/conf/LINT pour
&os; 4.X).Les cartes ISA non-PnP pourront nécessiter de
fournir au noyau des informations sur le paramétrage de
la carte son (IRQ, port d'E/S, etc.). Cela s'effectue par
l'intermédiaire du fichier
/boot/device.hints. Au démarrage
du système, le chargeur (&man.loader.8;) lira ce
fichier et passera les paramètres au noyau. Par
exemple, une vieille carte ISA non-PnP Creative &soundblaster;
16 utilisera le pilote &man.snd.sbc.4; de paire avec snd_sb16(4), on ajoutera alors la ligne suivante
au fichier de configuration du noyau:device snd_sbc
device snd_sb16avec également ce qui suit dans le fichier
/boot/device.hints:hint.sbc.0.at="isa"
hint.sbc.0.port="0x220"
hint.sbc.0.irq="5"
hint.sbc.0.drq="1"
hint.sbc.0.flags="0x15"Dans ce cas, la carte utilise le port d'E/S
0x220 et l'IRQ 5.La syntaxe utilisée dans le fichier
/boot/device.hints est abordée
dans la page de manuel du pilote de la carte son. Sous
&os; 4.X, ces paramètres sont directement
écrits dans le fichier de configuration du noyau. Dans
le cas de notre carte ISA, nous utiliserions uniquement la
ligne:device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15
- Les paramétres donnés ci-dessus sont ceux
+ Les paramètres donnés ci-dessus sont ceux
par défaut. Dans certains cas, vous pouvez avoir
- besoin de modifier l'IRQ ou tout autre paramétre en
+ besoin de modifier l'IRQ ou tout autre paramètre en
fonction de votre carte son. Consultez la page de manuel
&man.snd.sbc.4; pour plus d'informations.Sous &os; 4.X, certains systèmes avec la
carte son intégrée à la carte mère
auront peut-être besoin de l'option suivante dans la
configuration du noyau:options PNPBIOSTester la carte sonAprès avoir redémarré avec le noyau
modifié, ou après avoir chargé le module
nécessaire, la carte son devrait apparaître dans le
tampon des messages du système (&man.dmesg.8;) d'un
manière proche de la suivante:pcm0: <Intel ICH3 (82801CA)> port 0xdc80-0xdcbf,0xd800-0xd8ff irq 5 at device 31.5 on pci0
pcm0: [GIANT-LOCKED]
pcm0: <Cirrus Logic CS4205 AC97 Codec>L'état de la carte son peut être
contrôlée par l'intermédiaire du fichier
/dev/sndstat:&prompt.root; cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <Intel ICH3 (82801CA)> at io 0xd800, 0xdc80 irq 5 bufsz 16384
kld snd_ich (1p/2r/0v channels duplex default)Le résultat pourra être différent sur
votre système. Si aucun périphérique
pcm n'apparaît, retournez en
arrière et revoyez ce qui a été fait
- précedemment. Contrôlez à nouveau votre
+ précédemment. Contrôlez à nouveau votre
fichier de configuration du noyau et vérifiez que vous
avez choisi le périphérique correct. Les
problèmes courants sont listés dans la
.Si tout va bien, vous devriez avoir maintenant une carte son
qui fonctionne. Si votre lecteur de CD-ROM ou de DVD-ROM est
correctement relié à votre carte son, vous pouvez
introduire un CD dans le lecteur et le jouer avec
&man.cdcontrol.1;:&prompt.user; cdcontrol -f /dev/acd0 play 1Diverses applications, comme audio/workman offrent une meilleure
interface. Vous pouvez vouloir installer une application
comme audio/mpg123 pour
écouter des fichiers audio MP3. Une méthode
rapide pour tester la carte est d'envoyer des données au
/dev/dsp, de la manière
suivante:&prompt.user; cat filename > /dev/dspoù filename peut
être n'importe quel fichier. Cette ligne de commande
devrait produire des sons, confirmant le bon fonctionnement de
la carte son.Les utilisateurs de &os; 4.X doivent créer les
fichiers spéciaux de périphérique de la
carte son pour être en mesure de l'utiliser. Si la carte
est apparue dans les messages du système en tant que
pcm0, vous devrez faire en tant que
root ce qui suit:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV snd0Si la commande a donné
pcm1, suivez les mêmes
étapes qu'au-dessus, en remplaçant
snd0 par
snd1.MAKEDEV créera un ensemble de
fichiers de spéciaux de périphérique qui
seront utilisés par les différentes applications
relatives à la carte son.Les niveaux du mixer de la carte son peuvent être
modifiés par la commande &man.mixer.8;. Plus de
détails peuvent être trouvés dans la page de
manuel &man.mixer.8;.Problèmes courantsfichiers spéciaux de
périphériqueport d'E/SIRQDSPErreurSolutionunsupported subdevice XXUn ou plusieurs fichiers spéciaux de
périphérique n'ont pas été
créés correctement. Répétez les
étapes précédentes.sb_dspwr(XX) timed outLe port d'E/S n'est pas configuré
correctement.bad irq XXL'IRQ sélectionnée est incorrecte.
Vérifiez que l'IRQ choisie et l'IRQ de la carte son sont
les mêmes.xxx: gus pcm not attached, out of
memoryIl n'y a pas suffisamment de mémoire
disponible pour utiliser ce périphérique.xxx: can't open /dev/dsp!Vérifiez avec la commande
fstat | grep dsp si une autre
application maintient le périphérique ouvert.
Souvent à l'origine de ce type de problème on
trouve esound et le support son de KDE.MunishChopraContribution de Utiliser des sources sonores multiplesIl est souvent intéressant de pouvoir jouer
simultanément du son à partir de multiples
sources, comme lorsque esound ou
artsd ne supportent pas le partage du
périphérique son avec certaines applications.FreeBSD vous permet de le faire par l'intermédiaire
de Canaux Sonores Virtuels, qui peuvent
être configurés avec la fonction &man.sysctl.8;. Les canaux
virtuels vous permettent de multiplexer les canaux de sortie de
votre carte son en mixant le son au niveau du noyau.Pour configurer le nombre de canaux virtuels, il existe deux
paramètres de sysctl qui, si vous avez les privilèges
de l'utilisateur root, peuvent
être configurés comme ceci:&prompt.root; sysctl hw.snd.pcm0.vchans=4
&prompt.root; sysctl hw.snd.maxautovchans=4L'exemple ci-dessus alloue quatre canaux virtuels, ce qui est
un nombre suffisant pour une utilisation classique.
hw.snd.pcm0.vchans est le nombre de canaux
virtuels que possède pcm0,
et est configurable une fois que le périphérique
a été attaché au système.
hw.snd.maxautovchans est le nombre de canaux
virtuels alloués à un nouveau
périphérique audio quand il est attaché
à l'aide de &man.kldload.8;. Comme le module
pcm peut être chargé
indépendamment des pilotes de périphériques,
hw.snd.maxautovchans peut stocker combien de
canaux virtuels seront alloués à chaque
périphérique attaché par la suite.Vous ne pouvez pas modifier le nombre de canaux virtuels
pour un périphérique en cours d'utilisation.
Quittez avant tout autre chose les programmes utilisant le
périphérique en question, comme les lecteurs de
fichiers sonores ou les daemons audios.Si vous n'utilisez pas &man.devfs.5;, vous devrez faire
pointer vos applications sur
/dev/dsp0.x,
où x est 0 à 3 si
hw.snd.pcm.0.vchans est fixé à 4.
Sur un système utilisant &man.devfs.5;, ce qui
précède sera automatiquement effectué
de façon transparente pour l'utilisateur.JosefEl-RayesContribution de Définir les valeurs par défaut du mixeur
des différents canauxLes valeurs par défaut du mixeur des
différents canaux sont fixées en dur dans le
code source du pilote &man.pcm.4;. Il existe de nombreuses
applications et “daemons” qui vous permettent de
fixer les valeurs du mixeur, les mémorisent et les
refixent à chaque fois qu'ils sont lancés, mais
ce n'est pas une solution idéale, nous désirons
régler les valeurs par défaut au niveau du
pilote. Ceci se fait en définissant les valeurs
adéquates dans le fichier
/boot/device.hints. Par exemple:hint.pcm.0.vol="100"Cela fixera le volume du canal à une valeur par
défaut de 100; dès que le module &man.pcm.4; est
chargé.Ceci n'est supporté que sous
&os; 5.3-RELEASE et les versions suivantes.ChernLeeContribution de Fichiers MP3Les fichiers MP3 (MPEG Layer 3 Audio) donnent un son proche de
la qualité d'un CD audio, il n'y a aucune raison pour que votre
station de travail FreeBSD ne puisse pas en profiter.Lecteurs de MP3sDe loin, le plus populaire des lecteurs MP3 pour
X11 est
XMMS (X Multimedia System). Les
thèmes (skins) de Winamp peuvent
être utilisés avec XMMS
dès lors que l'interface est quasiment identique à celle
du Winamp de Nullsoft.
XMMS dispose aussi d'un support natif
pour modules externes (plug-in).XMMS peut être installé
à partir du catalogue de logiciels portés
multimedia/xmms ou de la version
pré-compilée.L'interface d'XMMS est intuitive,
avec une liste de lecture, un égaliseur graphique, et plus.
Ceux qui sont familiers avec Winamp
trouveront XMMS simple
d'utilisation.Le logiciel porté audio/mpg123 est une alternative, un
lecteur de MP3 en ligne de commande.mpg123 peut être utilisé en
spécifiant le périphérique sonore et le fichier
MP3 sur la ligne de commande, comme montré ci-dessous:&prompt.root; mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
Playing MPEG stream from Foobar-GreastestHits.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
/dev/dsp1.0 devrait être remplacé
par le périphérique dsp
correspondant sur votre système.Extraire les pistes de CDs AudioAvant d'encoder la totalité d'un CD ou une piste en MP3, les
données audio doivent être extraites et
transférées sur le disque dur. Cela se fait en copiant
les données brutes CDDA (CD Digital Audio) en fichiers WAV.L'utilitaire cdda2wav, qui fait partie de
la suite sysutils/cdrtools,
est utilisé pour extraire les données audio de CDs et les
informations rattachées.Avec le CD audio dans le lecteur, la commande suivante peut
être utilisée (en tant que root) pour
convertir l'intégralité d'un CD en fichiers WAV (un par
piste):&prompt.root; cdda2wav -D 0,1,0 -Bcdda2wav supportera également les
lecteurs de CDROM ATAPI (IDE). Pour faire l'extraction à partir
d'un lecteur IDE, précisez le nom du périphérique
à la place de l'unité SCSI. Par exemple, pour extraite
la piste 7 à partir d'un lecteur IDE:&prompt.root; cdda2wav -D /dev/acd0a -t 7Le
spécifie le périphérique SCSI
0,1,0, qui correspond à ce qui est
donné par la commande
cdrecord -scanbus.Pour extraire des pistes individuelles, utilisez l'option
comme ceci:&prompt.root; cdda2wav -D 0,1,0 -t 7Cet exemple extrait la septième piste du CD audio. Pour
extraire un ensemble de pistes, par exemple, de la piste 1 à 7,
précisez un intervalle:&prompt.root; cdda2wav -D 0,1,0 -t 1+7L'utilitaire &man.dd.1; peut également être
utilisé pour extraire des pistes audios à partir de
lecteurs ATAPI, consultez la pour plus d'informations sur
cette possibilité.Encoder des MP3sDe nos jours, l'encodeur mp3 à utiliser est
lame.
Lame peut être trouvé dans le
catalogue de logiciels portés:
audio/lame.En utilisant les fichiers WAV extraits, la commande suivante
convertira le fichier audio01.wav en
audio01.mp3:&prompt.root; lame -h -b 128 \
--tt "La chanson XY" \
--ta "Artiste XY" \
--tl "Album XY" \
--ty "2001" \
--tc "Extrait et encodé par XY" \
--tg "Genre" \
audio01.wav audio01.mp3128 kbits semble être le taux standard actuel du débit
audio utilisé pour les MP3s. Nombreux sont ceux qui
préfèrent des taux de haute qualité: 160 ou 192.
Plus le débit audio est élevé plus
l'espace disque utilisé par le fichier MP3 sera grand mais la
qualité sera meilleure. L'option active le
mode “haute qualité, mais un peu plus lent”. Les
options commençant par indiquent des
balises ID3, qui généralement contiennent les
informations sur le morceau, devant être
intégrées au fichier MP3.
D'autres informations sur l'encodage peuvent être trouvées
en consultant la page de manuel de Lame.Décoder des MP3sAfin de pouvoir graver un CD audio à partir de fichiers MP3,
ces derniers doivent être convertis dans le format WAV non
compressé. XMMS et
mpg123 supportent tous les deux la
sortie de fichiers MP3 en format de fichier non
compressé.Ecriture sur le disque avec XMMS:Lancez XMMS.Clic-droit sur la fenêtre pour faire apparaître le
menu d'XMMS.Sélectionner Preference sous
Options.Changez l'option “Output Plugin” pour
“Disk Writer Plugin”.Appuyez sur Configure.Entrez (ou choisissez browse) un répertoire où va
être écrit le fichier décompressé.Chargez le fichier MP3 dans XMMS
comme à l'accoutumé, avec le volume à 100% et
l'égaliseur (EQ settings) désactivé.Appuyez sur Play —
XMMS devrait se comporter comme
s'il jouait le MP3, mais aucun son ne sera audible. Il est
en fait en train de “jouer” le MP3 dans un
fichier.Vérifiez que vous avez rétabli l'option
“Output Plugin” à sa valeur de départ
afin de pouvoir écouter à nouveau des MP3s.Ecriture sur le disque avec mpg123:Lancez mpg123 -s audio01.mp3
> audio01.pcmXMMS crée un fichier au format
WAV, tandis que mpg123 convertit le
fichier MP3 en données audio PCM brutes. Ces deux formats
peuvent être utilisés avec
cdrecord pour créer des CDs audio.
Vous devez utiliser des fichiers PCM bruts avec
&man.burncd.8;. Si vous utilisez des fichiers WAV, vous
noterez un petit parasite au début de chaque piste, ce son est
l'entête du fichier WAV. Vous pouvez simplement retirer
l'entête d'un fichier WAV avec l'utilitaire
SoX (il peut être installé
à partir du logiciel porté audio/sox ou de la version
pré-compilée):&prompt.user; sox -t wav -r 44100 -s -w -c 2 track.wav track.rawLisez la pour plus d'informations
sur l'utilisation d'un graveur de CD sous FreeBSD.RossLippertContribution de Lecture des VidéosLes applications pour lire des vidéos
sont assez récentes et se développent
très rapidement. Soyez patient. Tout ne va pas
fonctionner aussi bien que cela pu être le cas avec
le son.Avant que vous ne commenciez, vous devrez connaître
le modèle de carte vidéo dont vous disposez ainsi
que le circuit intégré qu'elle utilise. Alors
qu'&xorg; et &xfree86; supportent une large
variété de cartes
vidéo, seul un petit nombre d'entre elles donne de bonnes
performances en lecture de vidéos. Pour obtenir la liste
des extensions supportées par le serveur X utilisant votre
carte employez la commande &man.xdpyinfo.1; durant le
fonctionnement d'X11.C'est une bonne idée d'avoir un court fichier MPEG
qui pourra être utilisé comme fichier test pour
évaluer divers lecteurs et leurs options. Comme certains
programmes de lecture de DVD chercheront un support DVD sur
/dev/dvd par défaut, ou ont ce
périphérique fixé définitivement dans
leur code, vous pourrez trouver utile de créer des liens
symboliques vers les périphériques corrects:&prompt.root; ln -sf /dev/acd0c /dev/dvd
&prompt.root; ln -sf /dev/racd0c /dev/rdvdSous FreeBSD 5.X, qui utilise &man.devfs.5; il y
a un ensemble de liens recommandés
légèrement différent:&prompt.root; ln -sf /dev/acd0 /dev/dvd
&prompt.root; ln -sf /dev/acd0 /dev/rdvdNotez qu'en raison de la nature du système
&man.devfs.5;, les liens créés à la main
comme les précédents ne seront pas
conservés si vous redémarrez le système.
Afin de créer automatiquement les liens symboliques
dès que vous redémarrez votre système,
ajoutez les lignes suivantes au fichier
/etc/devfs.conf:link acd0 dvd
link acd0 rdvdDe plus, le décodage de DVD, qui nécessite
de faire appel à des fonctions spéciales du
lecteur de DVD, demande d'avoir la permission d'écrire sur les
périphériques DVD.configuration du noyauCPU_ENABLE_SSEconfiguration du noyauUSER_LDTCertains des logiciels portés dépendent des
options du noyau suivantes pour pouvoir être compilés
correctement. Avant d'essayer de les compiler, ajouter les
options suivantes dans le noyau, recompilez-le et
redémarrez:option CPU_ENABLE_SSE
option USER_LDTL'option option USER_LDT n'existe pas
sous &os; 5.X.Pour augmenter la mémoire partagée
pour l'interface X11, il est recommandé que les valeurs de
certaines variables &man.sysctl.8; soient augmentées:kern.ipc.shmmax=67108864
kern.ipc.shmall=32768Déterminer les capacités vidéoXVideoSDLDGAIl y a plusieurs manières possibles pour
afficher de la vidéo sous X11. Ce qui fonctionnera vraiment est
énormément dépendant du matériel.
Chaque méthode décrite ci-dessous donnera
différents résultats en fonction du matériel.
De plus, le rendu de la vidéo sous X11 est un sujet recevant
beaucoup d'attention dernièrement, et avec chaque nouvelle
version d'&xorg;, ou d'&xfree86;, il pourra y avoir des
améliorations significatives.Une liste des interfaces vidéo communes:X11: sortie X11 classique utilisant de la mémoire
partagée.XVideo: une extension de l'interface X11 qui supporte
la vidéo sur n'importe quelle partie de l'écran
contrôlé par X11.SDL: “Simple Directmedia Layer” - couche simple
d'accès directe au média.DGA: “Direct Graphics Access” - accès direct au
graphique.SVGAlib: couche graphique bas niveau pour la console.XVideo&xorg; et &xfree86; 4.X disposent d'une extension
appelée
XVideo (également connue sous les termes
Xvideo, Xv, ou xv) qui permet d'afficher directement de la
vidéo à travers une accélération
spécifique. Cette extension fournit une très bonne
qualité de rendu même sur les machines bas de gamme.Pour vérifier si l'extension fonctionne utilisez
xvinfo:&prompt.user; xvinfoXVideo est supporté pour votre carte si le
résultat de la commande ressemble à:X-Video Extension version 2.2
screen #0
Adaptor #0: "Savage Streams Engine"
number of ports: 1
port base: 43
operations supported: PutImage
supported visuals:
depth 16, visualID 0x22
depth 16, visualID 0x23
number of attributes: 5
"XV_COLORKEY" (range 0 to 16777215)
client settable attribute
client gettable attribute (current value is 2110)
"XV_BRIGHTNESS" (range -128 to 127)
client settable attribute
client gettable attribute (current value is 0)
"XV_CONTRAST" (range 0 to 255)
client settable attribute
client gettable attribute (current value is 128)
"XV_SATURATION" (range 0 to 255)
client settable attribute
client gettable attribute (current value is 128)
"XV_HUE" (range -180 to 180)
client settable attribute
client gettable attribute (current value is 0)
maximum XvImage size: 1024 x 1024
Number of image formats: 7
id: 0x32595559 (YUY2)
guid: 59555932-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x32315659 (YV12)
guid: 59563132-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x30323449 (I420)
guid: 49343230-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x36315652 (RV16)
guid: 52563135-0000-0000-0000-000000000000
bits per pixel: 16
number of planes: 1
type: RGB (packed)
depth: 0
red, green, blue masks: 0x1f, 0x3e0, 0x7c00
id: 0x35315652 (RV15)
guid: 52563136-0000-0000-0000-000000000000
bits per pixel: 16
number of planes: 1
type: RGB (packed)
depth: 0
red, green, blue masks: 0x1f, 0x7e0, 0xf800
id: 0x31313259 (Y211)
guid: 59323131-0000-0010-8000-00aa00389b71
bits per pixel: 6
number of planes: 3
type: YUV (packed)
id: 0x0
guid: 00000000-0000-0000-0000-000000000000
bits per pixel: 0
number of planes: 0
type: RGB (packed)
depth: 1
red, green, blue masks: 0x0, 0x0, 0x0Notez également que les formats listés
(YUV2, YUV12, etc...) ne sont pas présents dans chaque
implémentation d'XVideo et leur absence pourra gêner
certains programmes.Si le résultat ressemble à:X-Video Extension version 2.2
screen #0
no adaptors presentAlors XVideo n'est probablement pas supporté pour votre
carte.Si XVideo n'est pas supporté pour votre carte,
cela signifie seulement qu'il sera plus difficile pour votre
système d'affichage de répondre aux demandes
du rendu vidéo en termes de puissance de calcul. En fonction
de votre carte vidéo et de votre processeur, vous pourriez
encore obtenir de bons résultats. Vous devriez
probablement vous documenter sur les méthodes pour
améliorer les performances en lisant la .“Simple Directmedia Layer” - couche simple
d'accès directe au médiaLa couche simple d'accès directe au média, SDL,
a été prévue pour être
une couche de portage entre µsoft.windows;, BeOS, et &unix;,
permettant à des applications “cross-platform”
qui font un usage efficace du son et du graphique d'être
développées. La couche SDL fournit une abstraction
de bas niveau
vers le matériel qui peut parfois être plus
efficace que l'interface X11.La bibliothèque SDL peut être trouvée
dans devel/sdl12.“Direct Graphics Access” - accès direct au
graphiqueL'accès direct au graphique est une extension X11
qui permet à un programme de bypasser le serveur X et
d'accéder directement au matériel. Comme il
repose sur une copie bas niveau de la mémoire, les
programmes l'utilisant doivent être
exécutés avec les privilèges de l'utilisateur
root.L'extension DGA et ses performances peuvent être
testées avec &man.dga.1;. Quand dga est
exécuté, il changera les couleurs de l'affichage
à chaque appui sur une touche. Pour quitter, utilisez la touche
q.Logiciels portés et pré-compilés
relatifs à la vidéologiciels portés
vidéologiciels pré-compilés
vidéoCette section traite des logiciels disponibles dans le
catalogue des logiciels portés de FreeBSD qui peuvent être
utilisés pour lire de la vidéo. Les applications
vidéos sont un domaine de développement très
actif, et les capacités de diverses applications seront
sujettes à des divergences avec la description
donnée ici.Premièrement, il est important de savoir que plusieurs des
applications vidéos fonctionnant sous FreeBSD ont
été développées comme des applications pour
Linux. Plusieurs de ces applications sont encore
considérées comme étant de qualité bêta.
Parmi les problèmes que l'on peut rencontrer avec
les applications vidéos sous &os;, nous trouvons:Une application ne peut pas lire un fichier produit par
une autre application.Une application ne peut pas lire un fichier quelle a
produit.La même application sur deux machines
différentes, recompilée sur chaque machine pour
la machine elle-même, jouera le fichier
différemment.Un filtre apparemment insignifiant comme un changement
d'échelle de l'image donne de très mauvais
résultats en raison d'une routine de changement
d'échelle boguée.Une application qui plante régulièrement.La documentation n'est pas installée avec le logiciel
porté et peut être trouvée sur Internet ou
dans le répertoire
work du logiciel porté.Parmin ces applications, nombreuses sont celles qui peuvent présenter des “Linuxismes”. Aussi, il y peut y avoir des problèmes
résultants de la façon dont certaines
bibliothèques standards sont implémentées
dans les distributions Linux, ou certaines caractéristiques
du noyau Linux qui ont été employées
par les auteurs des applications.
Ces
problèmes ne sont pas toujours remarqués et
contournés par les
responsables du portage du logiciel ce qui peut mener vers
quelques ennuis comme ceux-ci:L'utilisation de /proc/cpuinfo pour
détecter les caractéristiques du processeur.Une mauvaise utilisation des “threads” qui
provoque le blocage de programme au lieu de se terminer
complètement.Des logiciels habituellement utilisés en conjonction
avec l'application ne sont pas encore dans le catalogue des
logiciels portés.Jusqu'ici, les développeurs de ces applications ont
été coopératifs avec les responsables
des logiciels portés pour minimiser les modifications
nécessaires au portage.MPlayerMPlayer est une application pour lire des
vidéos récemment et rapidement
développée. Les objectifs de l'équipe
de MPlayer sont la rapidité et la
flexibilité sur
Linux et autre &unix;. Le projet fut démarré quand
le fondateur de l'équipe en
eu assez des mauvaises performances en lecture des autres
lecteurs disponibles. Certains diront que l'interface graphique a
été sacrifiée pour une conception
rationalisée. Cependant, une fois que vous avez les options en ligne de
commande et les combinaisons de touches en main, cela fonctionne
très bien.Compiler MPlayermplayercompilationMPlayer réside dans multimedia/mplayer.
MPlayer
effectue un certain nombre de contrôle du
matériel durant le processus de compilation, il en
résulte un
binaire qui ne sera pas portable d'un système à l'autre.
Ainsi il est important d'utiliser le logiciel porté et de ne
pas utiliser un logiciel pré-compilé.
En plus, un certain nombre d'options peuvent être
spécifiées dans la ligne de commande make,
comme décrit dans le fichier Makefile
et au départ de la compilation:&prompt.root; cd /usr/ports/multimedia/mplayer
&prompt.root; make
N - O - T - E
Take a careful look into the Makefile in order
to learn how to tune mplayer towards you personal preferences!
For example,
make WITH_GTK1
builds MPlayer with GTK1-GUI support.
If you want to use the GUI, you can either install
/usr/ports/multimedia/mplayer-skins
or download official skin collections from
http://www.mplayerhq.hu/homepage/dload.html
Les options par défaut du logiciel porté
devraient être suffisantes pour la plupart des
utilisateurs. Cependant si vous avez besoin du codec XviD,
vous devez spécifier l'option
WITH_XVID dans la ligne de commande. Le
périphérique DVD par défaut peut
également être défini avec l'option
WITH_DVD_DEVICE, par défaut
/dev/acd0 sera utilisé.Au moment de l'écriture de ces lignes, le logiciel
porté de MPlayer compilera sa
documentation HTML et deux exécutables,
mplayer et
mencoder, qui est un outil pour ré-encoder
de la vidéo.La documentation HTML de MPlayer est
très
complète. Si le lecteur trouve l'information sur le
matériel vidéo et les interfaces manquante dans ce
chapitre, la documentation de MPlayer est
une alternative très
complète. Vous devriez certainement prendre le temps de
lire la documentation de MPlayer,
si vous êtes à la recherche d'informations sur le support
vidéo sous &unix;.Utiliser MPlayerMPlayerutiliserChaque utilisateur de MPlayer doit
créer un
sous-répertoire .mplayer dans son
répertoire d'utilisateur. Pour créer ce
sous-répertoire nécessaire, vous pouvez taper ce qui
suit:&prompt.user; cd /usr/ports/multimedia/mplayer
&prompt.user; make install-userLes options de commande de mplayer sont
données dans la page de manuel. Pour plus de détails
il y a la documentation HTML. Dans cette section, nous
décrirons que quelques unes des utilisations les plus courantes.Pour lire à un fichier, comme
testfile.avi en utilisant une des
diverses interfaces vidéo utilisez l'option
:&prompt.user; mplayer -vo xv testfile.avi&prompt.user; mplayer -vo sdl testfile.avi&prompt.user; mplayer -vo x11 testfile.avi&prompt.root; mplayer -vo dga testfile.avi&prompt.root; mplayer -vo 'sdl:dga' testfile.aviCela vaut la peine d'essayer toutes ces options, comme
leur performance relative dépend de nombreux facteurs
et variera de façon significative avec le
matériel.Pour lire un DVD, remplacez
testfile.avi par où N est
le numéro du titre à jouer et
DEVICE est
le fichier spécial de périphérique correspondant
au lecteur de DVD. Par exemple, pour jouer le titre 3 depuis
/dev/dvd:&prompt.root; mplayer -vo xv dvd://3 -dvd-device /dev/dvdLe périphérique DVD par défaut
peut être défini lors de la compilation du
logiciel porté MPlayer par
l'intermédiaire de l'option
WITH_DVD_DEVICE. Par défaut, ce
périphérique est
/dev/acd0. Plus de détails
peuvent être trouvés dans le
Makefile du logiciel
porté.Pour arrêter, avancer, etc..., consultez
les combinaisons de touches, qui sont données en
exécutant mplayer -h ou lisez
la page de manuel.D'autres options importantes pour la lecture sont:
qui active le mode plein écran
et qui aide au niveau des
performances.Pour que la ligne de commande à taper ne devienne pas trop
longue, l'utilisateur peut créer un fichier
.mplayer/config et y fixer les options
par défaut:vo=xv
fs=yes
zoom=yesEnfin, mplayer peut être
utilisé pour extraire une piste du DVD dans un fichier
.vob.
Pour récupérer la seconde piste vidéo
d'un DVD, tapez ceci:&prompt.root; mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvdLe fichier de sortie, out.vob, sera du
MPEG et peut être manipulé par les autres
logiciels décrits dans cette section.mencodermencoderAvant
d'utiliser mencoder c'est une bonne
idée de vous familiariser avec les options données
par la documentation HTML. Il existe une page de manuel, mais
elle n'est pas très utile sans la documentation en HTML.
Il y a d'innombrables façons d'améliorer la
qualité, diminuer le débit binaire, et
modifier les formats, et certaines de ces options peuvent faire
la différence entre de bonnes et mauvaises performances.
Voici quelques exemples pour y arriver. Tout d'abord une
simple copie:&prompt.user; mencoder input.avi -oac copy -ovc copy -o output.aviDe mauvaises combinaisons d'options peuvent conduire
à des fichiers illisibles
même par mplayer. Aussi, si
vous voulez juste extraire un fichier, restez sur l'option
de mplayer.Pour convertir input.avi au format MPEG4
avec un codage audio MPEG3 (audio/lame est nécessaire):&prompt.user; mencoder input.avi -oac mp3lame -lameopts br=192 \
-ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.aviCeci a produit un fichier lisible par mplayer
et xine.input.avi peut être remplacé
par et exécuté en tant
que root pour ré-encoder directement un
titre DVD. Puisque vous êtes susceptible de ne pas
être satisfait du résultat la première fois, il
est recommandé d'extraire le titre vers un fichier et de
travailler sur le fichier.Le lecteur xineLe lecteur xine est un projet de grande
envergure visant non seulement
à être une solution vidéo tout-en-un, mais
également de produire une bibliothèque de base
réutilisable et un exécutable modulaire qui peut
être étendu grâce à des greffons.
Il est fourni sous forme
pré-compilée et de logiciel porté, multimedia/xine.Le lecteur xine
est encore un peu brut, mais c'est
clairement un bon début. Dans la pratique,
xine demande soit un
processeur rapide avec une carte vidéo rapide, soit
l'extension XVideo. L'interface graphique est utilisable, mais
peu pratique.Au moment de l'écriture de ces lignes, il n'y a pas
de module d'entrée fourni avec xine
qui lira les DVDs codés
en CSS. Il existe des versions tiers qui ont des modules
à cet effet intégrés, mais aucune de ces
dernières ne se trouve dans le catalogue des logiciels
portés de FreeBSD.Comparé à MPlayer,
xine fait plus pour l'utilisateur,
mais au même moment, rend inaccessible à l'utilisateur
certains contrôles bien précis. Le lecteur
xine se comporte le mieux
sur les interfaces XVideo.Par défaut, le lecteur xine
lancera une interface graphique. Les menus peuvent alors
être utilisés pour ouvrir un fichier précis:&prompt.user; xineAlternativement, le lecteur peut être invoqué
pour jouer directement un fichier sans l'interface
graphique avec la commande:&prompt.user; xine -g -p mymovie.aviLes utilitaires transcodeLe logiciel transcode n'est pas un
lecteur, mais une suite d'outils pour
ré-encoder les fichiers .avi et
.mpg. Avec transcode,
on a la capacité de fusionner des fichiers vidéos,
réparer les fichiers endommagés, en utilisant les outils
en ligne de commande avec des interfaces de flots
stdin/stdout.Comme pour MPlayer,
transcode est un logiciel très
expérimental qui doit être compilé à
partir du logiciel porté multimedia/transcode. Il utilise un grand
nombre d'options avec la commande make. Nous
recommandons:&prompt.root; make WITH_LIBMPEG2=yesSi vous projetez d'installer multimedia/avifile, alors ajoutez l'option
WITH_AVIFILE à votre ligne de commande
make, comme montré ici:&prompt.root; make WITH_AVIFILE=yes WITH_LIBMPEG2=yesVoici deux exemples d'utilisation de transcode
pour la conversion vidéo qui produira une version
redimensionnée. La première encode la sortie en un fichier
openDIVX, alors que la seconde encode vers un format MPEG plus
portable.&prompt.user; transcode -i input.vob -x vob -V -Z 320x240 \
-y opendivx -N 0x55 -o output.avi&prompt.user; transcode -i input.vob -x vob -V -Z 320x240 \
-y mpeg -N 0x55 -o output.tmp
&prompt.user; tcmplex -o output.mpg -i output.tmp.m1v -p output.tmp.mpa -m 1Il existe une page de manuel pour transcode,
mais il y a une petite documentation pour les divers utilitaires tc* (comme
tcmplex) qui sont également installés.
Cependant, l'option sur la ligne de commande
peut être toujours passée pour obtenir de courtes instructions
sur l'utilisation d'une commande.En comparaison, transcode s'exécute bien
plus lentement que mencoder, mais il a plus de
chance de produire un fichier plus largement lisible.
Les MPEGs produits par transcode sont connus
pour être lisibles sur le
&windows.media; Player et &quicktime; d'Apple,
par exemple.Lectures supplémentaires
- Les différents logigiels vidéo pour &os; se développent
+ Les différents logiciels vidéo pour &os; se développent
rapidement. Il est fort possible que dans un futur proche
plusieurs des problèmes abordés ici seront résolus.
Entre temps
ceux qui veulent tirer partie des possibilités
audio/vidéo de FreeBSD devront se débrouiller avec des
connaissances extraites de plusieurs FAQs et guides et utiliser
différentes applications.
Cette section existe pour fournir au lecteur des références
sur ces documentations additionnelles.La
documentation de
MPlayer est techniquement très instructive.
Ces documents devraient probablement être consultés
par quiconque désirant obtenir un niveau élevé
d'expertise sur la vidéo et &unix;.
La liste de diffusion de MPlayer est hostile à
toute personne qui n'a pas pris la peine de lire la documentation,
aussi si vous projetez de leur envoyer des rapports de bogue,
lisez la documentation!Le
HOWTO de xine
contient un chapitre sur l'amélioration des performances qui est
général à tous les lecteurs
de vidéo.Et enfin, il y a quelques autres applications prometteuses que
le lecteur devrait essayer:Avifile qui est
également un logiciel porté multimedia/avifile.Ogle
qui est également un logiciel porté multimedia/ogle.Xtheatermultimedia/dvdauthor, un logiciel
libre pour la création de DVDs.JosefEl-RayesContibution originale de MarcFonvieilleAugmentée et adaptée par Configuration des cartes TVcartes TVIntroductionLes cartes TV vous permettent de regarder sur votre
ordinateur la télévision par voie hertzienne ou
par câble. La plupart d'entre elles acceptent de la
vidéo composite par l'intermédiaire de
connecteurs RCA ou S-video et certaines de ces cartes
disposent d'un tuner radio FM.&os; founit le support pour les cartes TV PCI utilisant un
circuit de capture video Brooktree Bt848/849/878/879 ou
Conexant CN-878/Fusion 878a à l'aide du pilote
&man.bktr.4;. Vous devez également vous assurer que la
carte dispose d'un tuner supporté, consultez la page de
manuel &man.bktr.4; pour une liste des tuners
supportés.Ajout du pilote de périphériquePour utiliser votre carte, vous devrez charger le pilote
&man.bktr.4;, cela peut être effectué en ajoutant
la ligne suivante au fichier
/boot/loader.conf:bktr_load="YES"Alternativement, vous pouvez compiler en statique dans le
noyau le support pour la carte TV, dans ce cas ajouter les
lignes suivantes dans votre fichier de configuration du
noyau:device bktr
device iicbus
device iicbb
device smbusCes pilotes de périphériques
supplémentaires sont nécessaires étant
donné que les composants de la carte sont
interconnectés via un bus I2C. Compilez et installez,
ensuite, un nouveau noyau.Une fois que le support a été ajouté
au système, vous devez redémarrer votre machine.
Durant le processus de démarrage, votre carte TV
devrait apparaître de cette manière:bktr0: <BrookTree 848A> mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0
iicbb0: <I2C bit-banging driver> on bti2c0
iicbus0: <Philips I2C bus> on iicbb0 master-only
iicbus1: <Philips I2C bus> on iicbb0 master-only
smbus0: <System Management Bus> on bti2c0
bktr0: Pinnacle/Miro TV, Philips SECAM tuner.Bien évidemment ces messages peuvent varier en
fonction de votre matériel. Cependant assurez-vous que
le tuner est correctement détecté; il est
possible de forcer certains des paramètres
détecté à l'aide du système
&man.sysctl.8; et d'options de configuration du noyau. Par
exemple, si vous désirez forcer le tuner pour un tuner
Philips SECAM, vous devrez ajouter la ligne suivante au
fichier de configuration du noyau:options OVERRIDE_TUNER=6ou vous pouvez directement utiliser &man.sysctl.8;:&prompt.root; sysctl hw.bt848.tuner=6Consultez la page de manuel &man.bktr.4; et le fichier
/usr/src/sys/conf/NOTES pour plus de
détails sur les options disponibles. (Si vous
êtes sous &os; 4.X,
/usr/src/sys/conf/NOTES est
remplacée par
/usr/src/sys/i386/conf/LINT.)Applications utilesPour utiliser votre carte TV, vous devrez installer une
des applications suivantes:multimedia/fxtv
qui permet de regarder la télévision et
d'enregistrer des images, du son et de la
vidéo.multimedia/xawtv
est également une application pour regarder la
télévision avec les mêmes
fonctionnalités que
fxtv.misc/alevt
décode et affiche les informations
Vidéotexte/Télétexte.audio/xmradio, un
programme pour utiliser le tuner FM fourni avec certaines
cartes TV.audio/wmtune, une
application intégrable dans votre environnement de
travail pour gérer les tuners radio.Plus d'applications sont disponibles dans le catalogue
des logiciels portés de &os;.En cas de problèmeSi vous rencontrez un quelconque problème avec
votre carte TV, vous devriez contrôler tout d'abord que
le circuit de capture video et le tuner sont vraiment
supportés par le pilote &man.bktr.4; et si vous avez
utilisé les bonnes options de configuration. Pour plus
de support et pour les diverses questions que vous pouvez vous
poser à propos de votre carte TV, vous pouvez contacter
et utiliser les archives de la liste de diffusion
&a.multimedia.name;.MarcFonvieilleEcrit par ScannersscannersIntroduction&os;, comme tout système d'exploitation moderne,
permet l'utilisation de scanners. Un accès
standardisé aux scanners est fourni par l'API
SANE (Scanner Access Now Easy)
disponible dans le catalogue des logiciels portés.
SANE utilisera également
certains pilotes de périphériques &os; pour
accéder à la partie matérielle du
scanner.&os; supporte les scanners SCSI et USB. Assurez-vous que
votre scanner est supporté par
SANE avant d'effectuer une
quelconque configuration. SANE
dispose d'une liste des périphériques
supportés qui peut vous informer sur le support
et son statut pour un scanner particulier. La page de manuel
&man.uscanner.4; donne également une liste des scanners
USB supportés.Configuration du noyauComme mentionné plus haut les interfaces SCSI et
USB sont supportées. En fonction de l'interface de
votre scanner, différents pilotes de
périphérique sont nécessaires.Interface USBLe noyau GENERIC inclu par
défaut les pilotes nécessaires au support des
scanners USB. Si vous décidez d'utiliser un noyau
personnalisé, assurez-vous que les lignes suivantes
sont présentes dans votre fichier de configuration du
noyau:device usb
device uhci
device ohci
device uscannerEn fonction du contrôleur USB présent sur
votre carte mère, vous n'avez besoin que d'une des
deux lignes device uhci et
device ohci, cependant avoir ces deux
lignes simultanément dans la configuration du noyau
est sans risque.Si vous ne désirez pas recompiler votre noyau et
que votre noyau n'est pas le GENERIC,
vous pouvez directement charger le module du pilote
&man.uscanner.4; à l'aide de la commande
&man.kldload.8;:&prompt.root; kldload uscannerPour charger ce module à chaque démarrage
du système, ajoutez la ligne suivante au fichier
/boot/loader.conf:uscanner_load="YES"Après avoir redémarré avec le bon
noyau, ou après avoir chargé le module
nécessaire, branchez votre scanner USB. Le scanner
devrait apparaître dans le tampon des messages du
système (&man.dmesg.8;) de cette
manière:uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2Ceci nous indique que notre scanner utilise le fichier
spécial de périphérique
/dev/uscanner0.Sous &os; 4.X, le daemon USB
(&man.usbd.8;) doit tourner pour être en mesure de
voir certains périphériques USB. Pour
l'activer, ajoutez usbd_enable="YES"
à votre fichier /etc/rc.conf et
redémarrez la machine.Interface SCSISi votre scanner dispose d'une interface SCSI, il est
important de connaître quelle carte contrôleur
SCSI vous utiliserez. En fonction du contrôleur sur
la carte, vous devrez adapter votre configuration du noyau.
Le noyau GENERIC supporte les
contrôleurs SCSI les plus courants. Assurez-vous
d'avoir lu le fichier NOTES
(LINT sous &os; 4.X) et ajoutez la
ligne adéquate dans votre fichier de configuration du
noyau. En plus du pilote de votre carte SCSI, vous avez
besoin des lignes suivantes dans votre fichier de
configuration du noyau:device scbus
device passUne fois que votre noyau a été
compilé correctement, vous devriez être en
mesure de voir les périphériques au
démarrage:pass2 at aic0 bus 0 target 2 lun 0
pass2: <AGFA SNAPSCAN 600 1.10> Fixed Scanner SCSI-2 device
pass2: 3.300MB/s transfersSi votre scanner n'était pas alimenté au
démarrage du système, il est encore possible
de forcer sa détection, en en sondant le bus SCSI
avec la commande &man.camcontrol.8;:&prompt.root; camcontrol rescan all
Re-scan of bus 0 was successful
Re-scan of bus 1 was successful
Re-scan of bus 2 was successful
Re-scan of bus 3 was successfulEnsuite le scanner apparaîtra dans la liste des
périphériques SCSI:&prompt.root; camcontrol devlist
<IBM DDRS-34560 S97B> at scbus0 target 5 lun 0 (pass0,da0)
<IBM DDRS-34560 S97B> at scbus0 target 6 lun 0 (pass1,da1)
<AGFA SNAPSCAN 600 1.10> at scbus1 target 2 lun 0 (pass3)
<PHILIPS CDD3610 CD-R/RW 1.00> at scbus2 target 0 lun 0 (pass2,cd0)Plus de détails sur les
périphériques SCSI sont disponibles dans les
pages de manuel &man.scsi.4; et &man.camcontrol.8;.Configuration de SANELe système SANE a
été divisé en deux parties: les
backends (graphics/sane-backends) et les
frontends (graphics/sane-frontends). Les
backends fournissent l'accès au scanner.
La liste des périphériques
supportés par SANE
indique quel backend supportera votre scanner.
Il est indispensable de déterminer correctement le
backend relatif à votre scanner si vous
voulez être en mesure d'utiliser votre
périphérique. La partie
frontends fournie l'interface graphique de
numérisation
(xscanimage).La première chose à faire est d'installer le
logiciel porté graphics/sane-backends ou sa version
pré-compilée. Ensuite, utilisez la commande
sane-find-scanner pour contrôler la
détection du scanner par l'ensemble
SANE:&prompt.root; sane-find-scanner -q
found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3Le résultat de la commande affichera le type
d'interface utilisée par le scanner et le fichier
spécial de périphérique utilisé
pour attacher le scanner au système. Le fabricant et
le modèle peuvent ne pas apparaître, cela n'est
pas important.Certains scanners USB requièrent le chargement
préalable d'un firmware, cela est
expliqué dans la page de manuel du
backend utilisé. Vous devriez
également consulter les pages de manuel de
&man.sane-find-scanner.1; et &man.sane.7;.Nous devons maintenant vérifier si le scanner sera
identifié par un frontend de
numérisation. Par défaut, les
backends SANE sont
fournies avec un outil en ligne de commande appelé
&man.scanimage.1;. Cette commande vous permet de lister les
périphériques et d'effectuer une acquisition
d'image à partir de la ligne de commande. L'option
est employée pour afficher le
scanner présent sur le système:&prompt.root; scanimage -L
device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scannerAucun résultat, ou un message disant qu'aucun
scanner n'a été identifié indiquent que
&man.scanimage.1; est incapable d'identifier le scanner. Si
cela se produit, vous devrez éditer le fichier de
configuration du backend du scanner et
définir le type de scanner utilisé. Le
répertoire /usr/local/etc/sane.d/ contient
tous les fichiers de configurations des
backends. Ce problème d'identification
apparaît essentiellement avec certains scanners
USB.Par exemple, avec le scanner USB utilisé dans la
,
sane-find-scanner nous donne l'information
suivante:&prompt.root; sane-find-scanner -q
found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0Le scanner est correctement détecté, il
utilise l'interface USB et est attaché au fichier
spécial de périphérique
/dev/uscanner0. Nous pouvons maintenant
vérifier si le scanner est correctement
identifié:&prompt.root; scanimage -L
No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).Comme le scanner n'est pas identifié, nous devons
éditer le fichier
/usr/local/etc/sane.d/epson.conf. Le
scanner utilisé était un &epson.perfection;
1650, nous en déduisons donc que ce scanner utilisera
le backendepson.
Assurez-vous de bien lire les commentaires d'aide
présents dans les fichiers de configuration des
backends. Les modifications à faire
sont relativement simples: commentez toutes les lignes
concernant une interface différente de celle
utilisée par votre scanner (dans notre cas, nous
commenterons toutes les lignes débutant par le mot
scsi étant donné que notre
scanner utilise une interface USB), ajoutez ensuite à
la fin du fichier une ligne indiquant l'interface et le
fichier spécial de périphérique
utilisé. Dans ce cas, nous ajoutons la ligne
suivante:usb /dev/uscanner0Veuillez vous assurer de bien lire les commentaires
fournis dans les fichiers de configurations des
backends ainsi que les pages de manuel
correspondantes pour plus de détails concernant la
syntaxe correcte à utiliser. Nous pouvons maintenant
vérifier si le scanner est identifié:&prompt.root; scanimage -L
device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scannerNotre scanner a été identifié. Ce
n'est pas important si la marque et le modèle ne
correspondent pas. L'important est le champ
`epson:/dev/uscanner0', qui nous donne le
backend et le fichier spécial de
périphérique corrects.Une fois que la commande scanimage -L
est en mesure d'identifier le scanner, la configuration est
terminée. Le périphérique est prêt
à effectuer sa première
numérisation.Bien que &man.scanimage.1; permette d'effectuer une
numérisation à partir de la ligne de commande,
il est préférable d'utiliser une interface
graphique. SANE offre une
interface graphique simple mais efficace:
xscanimage (graphics/sane-frontends).Xsane (graphics/xsane) est une autre
interface graphique de numérisation assez populaire.
Ce programme offre des fonctions avancées comme
différents mode de numérisation (photocopie,
fax, etc.), la correction des couleurs, la numérisation
par lots, etc. Ces deux applications sont utilisables comme
greffon pour GIMP.Autoriser l'accès au scanner à d'autres
utilisateursToutes les opérations précédentes ont
été effectuées avec les privilèges
root. Vous pourrez, cependant, avoir
besoin que d'autres utilisateurs puissent accéder au
scanner. L'utilisateur devra avoir les permissions de lecture
et d'écriture sur le fichier spécial de
périphérique /dev/uscanner0
dont le propriétaire est le groupe
operator. L'ajout de l'utilisateur
joe au groupe
operator lui autorisera l'accès
au scanner:&prompt.root; pw groupmod operator -m joePour plus de détails, consultez la page de manuel
de &man.pw.8;. Vous devez également fixer les
permissions d'écriture correctes (0660 or 0664) sur le
fichier spécial de périphérique
/dev/uscanner0, par défaut le
groupe operator n'a qu'un accès
en lecture. Cela se fait en ajoutant les lignes suivantes au
fichier /etc/devfs.rules:[system=5]
add path uscanner0 mode 660Ajoutez ensuite ce qui suit au fichier
/etc/rc.conf et redémarrez la
machine:devfs_system_ruleset="system"Plus d'information concernant ces lignes peut être
trouvée dans la page de manuel &man.devfs.8;. Sous
&os; 4.X, le groupe operator
dipose, par défaut, des droits de lecture et
d'écriture sur
/dev/uscanner0.Bien sûr, pour des raisons de
sécurité, vous devriez réfléchir
à deux fois avant d'ajouter un utilisateur à
n'importe quel groupe, tout particulièrement au groupe
operator.
diff --git a/fr_FR.ISO8859-1/books/handbook/network-servers/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/network-servers/chapter.sgml
index ae8768081b..f3aa0d82ae 100644
--- a/fr_FR.ISO8859-1/books/handbook/network-servers/chapter.sgml
+++ b/fr_FR.ISO8859-1/books/handbook/network-servers/chapter.sgml
@@ -1,5878 +1,5878 @@
MurrayStokelyRéorganisé par Serveurs réseau
&trans.a.fonvieille;
SynopsisCe chapitre abordera certains des services réseaux
les plus fréquemment utilisés sur les
systèmes &unix;. Nous verrons comment installer,
configurer, tester et maintenir plusieurs types
différents de services réseaux. De plus, des
exemples de fichier de configuration ont été
inclus tout au long de ce chapitre pour que vous puissiez en
bénéficier.Après la lecture de ce chapitre, vous
connaîtrez:Comment gérer le “daemon”
inetd.Comment configurer un système de fichiers
réseau.Comment mettre en place un serveur d'information sur le
réseau pour partager les comptes utilisateurs.Comment configurer le paramétrage réseau
automatique en utilisant DHCP.Comment configurer un serveur de noms de domaine.Comment configurer le serveur HTTP
Apache.Comment configurer un serveur de transfert de fichier
(FTP).Comment configurer un serveur de fichiers et
d'impression pour des clients &windows; en utilisant
Samba.Comment synchroniser l'heure et la date, et mettre en
place en serveur de temps, avec le protocole NTP.Avant de lire ce chapitre, vous devrez:Comprendre les bases des procédures
/etc/rc.Etre familier avec la terminologie réseau de
base.Savoir comment installer des applications tierce-partie
().ChernLeeContribution de Le “super-serveur”
inetdGénéralitésOn fait souvent référence à
&man.inetd.8; comme étant le “super-serveur
- Internet” parce qu'il gére les connexions pour
+ Internet” parce qu'il gère les connexions pour
plusieurs services.
Quand une connexion est reçue par
inetd, ce dernier détermine
à quel programme la connexion est
destinée, invoque le processus en question
et lui délègue la “socket” (le
programme est invoqué avec la “socket” service
comme entrée standard, sortie et descripteurs d'erreur).
Exécuter une instance
d'inetd réduit la charge
système globale par rapport à l'exécution
de chaque “daemon” individuellement en mode
autonome.inetd est utilisé pour
invoquer d'autres “daemon”s, mais plusieurs
protocoles triviaux sont gérés directement,
comme chargen,
auth, et
daytime.Cette section abordera la configuration de base
d'inetd à travers ses
options en ligne de commande et son fichier de configuration
/etc/inetd.conf.Configurationinetd est initialisé par
l'intermédiaire du système
/etc/rc.conf. L'option
inetd_enable est positionnée
à la valeur NO par défaut,
mais est activée par
sysinstall avec le profil de
sécurité modéré. Placer
inetd_enable="YES" ou
inetd_enable="NO" dans
/etc/rc.conf peut activer ou
désactiver le démarrage
d'inetd à la mise en route
du système.De plus, différentes options de ligne de commande
peuvent être passées à
inetd par l'intermédiaire de
l'option inetd_flags.Options en ligne de commandeSynopsis d'inetd:-dActive le débogage.-lActive le journal des connexions
réussies.-wActive le “TCP Wrapping” pour les
services externes (actif par défaut).-WActive le “TCP Wrapping” pour les
services internes qui font partie
d'inetd (actif par
défaut).-c maximumSpécifie le nombre maximal par défaut
d'invocations simultanées pour chaque service; il
n'y a pas de limite par défaut. Cette option peut
être surchargée pour chaque service à
l'aide du paramètre
.-C tauxPrécise le nombre maximal de fois qu'un
service peut être invoqué à partir
d'une unique adresse IP et cela sur une minute. Ce
paramètre peut être configuré
différemment pour chaque service avec le
paramètre
.-R tauxPrécise le nombre maximal de fois qu'un
service peut être invoqué par minute; la
valeur par défaut est 256. Un taux de 0 autorise
un nombre illimité d'invocations.-aIndique l'adresse IP sur laquelle le trafic sera
attendu. Alternativement, un nom de machine peut
être utilisé, dans ce cas l'adresse IPv4 ou
IPv6 correspondant à la machine sera
utilisée. Généralement, un nom de
machine est précisé quand
inetd est exécuté
à l'intérieur d'un environnement
&man.jail.8;, dans quel cas le nom de machine correspond
à l'environnement &man.jail.8;.Quand un nom de machine est utilisé et que
l'on doit être à l'écoute sur une
adresse IPv4 et IPv6, une entrée avec le
protocole adapté pour chaque type d'adresse est
nécessaire pour chaque service dans
/etc/inetd.conf. Par exemple, un
service de type TCP nécessitera deux
entrées, une utilisant tcp4
pour le protocole et une autre utilisant
tcp6.-pSpécifie un fichier différent dans
lequel stocker l'indentifiant du processus.Ces options peuvent être passées à
inetd en utilisant l'option
inetd_flags de
/etc/rc.conf. Par défaut,
inetd_flags est positionné à
-wW, ce qui active le “TCP
wrapping” pour les services internes et externes
d'inetd. Pour un utilisateur de
base ces paramètres ne doivent
généralement pas être modifiés ou
même ajoutés au fichier
/etc/rc.conf.Un service externe est un “daemon”
indépendant d'inetd, qui est
invoqué quand une connexion lui étant
destinée est reçue. D'autre part, un service
interne est un service qu'inetd
peut offrir directement.inetd.confLa configuration d'inetd se
fait par l'intermédiaire du fichier
/etc/inetd.conf.Quand le fichier /etc/inetd.conf est
modifié, inetd peut
être forcé de relire son fichier de configuration
en envoyant un signal “HangUP” au processus
inetd comme suit:Envoyer un signal “HangUP” à
inetd&prompt.root; kill -HUP `cat /var/run/inetd.pid`Chaque ligne du fichier de configuration ne mentionne
qu'un seul “daemon”. Les commentaires dans le
fichier sont précédés par un
“#”. Le format du fichier
/etc/inetd.conf est le suivant:nom-du-service
type-de-socket
protocole
{wait|nowait}[/nb-max-enfants[/nb-connexions-max-par-minute]]
utilisateur[:groupe][/classe-session]
programme-serveur
arguments-du-programme-serveurUn exemple d'entrée pour le “daemon”
ftpd utilisant l'IPv4:ftp stream tcp nowait root /usr/libexec/ftpd ftpd -lnom-du-serviceC'est le nom de service du “daemon” en
question. Il doit correspondre à un des services
listés dans le fichier
/etc/services. Cela détermine
quel port inetd doit
écouter. Si un nouveau service est
créé, il doit être ajouté en
premier lieu dans
/etc/services.type-de-socketSoit stream, soit
dgram, soit raw, ou
seqpacket. stream
doit être utilisé pour les
“daemon”s TCP, alors que
dgram est utilisé pour les
“daemon”s utilisant le protocole UDP.protocoleUn des suivants:ProtocoleExplicationtcp, tcp4TCP IPv4udp, udp4UDP IPv4tcp6TCP IPv6udp6UDP IPv6tcp46TCP IPv4 et v6udp46UDP IPv4 et v6{wait|nowait}[/nb-max-enfants[/nb-max-connexions-par-ip-par-minute]] indique si le
“daemon” invoqué par
inetd est capable ou non de
gérer sa propre “socket”. Les
“socket”s de type
doivent utiliser l'option , alors
que les “daemons à socket stream”,
qui sont généralement
multi-threadés, devraient utiliser
. L'option
a généralement pour conséquence de
fournir plusieurs “socket”s à un
“daemon”, tandis que l'option
invoquera un
“daemon” enfant pour chaque nouvelle
“socket”.Le nombre maximal de “daemon”s
qu'inetd peut invoquer peut
être fixé en utilisant l'option
. Si une limite de dix
instances pour un “daemon” est
nécessaire, /10 devra
être placé après
.En plus de , une
autre option limitant le nombre maximal de connexions
à partir d'un emplacement vers un
“daemon” particulier peut être
activée. L'option
est
l'option en question. Ici, une valeur de dix limiterait
à dix le nombre de tentatives de connexions par
minute pour une adresse IP particulière. C'est
utile pour empêcher l'abus intentionnel ou par
inadvertance des ressources et les attaques par
déni de service (“Denial of
Service—DOS”).Dans ce champ, ou
est obligatoire.
et
sont optionnelles.Un “daemon” utilisant un flux de type
multi-threadé sans limites
ou
sera tout simplement affecté de l'option
nowait.Le même “daemon” avec une limite
maximale de dix “daemon” serait:
nowait/10.De plus, la même configuration avec une limite
de vingt connexions par adresse IP par minute et une
limite maximale de dix “daemon”s enfant
serait: nowait/10/20.Ces options sont utilisées comme valeurs par
défaut par le “daemon”
fingerd, comme le montre ce
qui suit:finger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -sutilisateurC'est l'utilisateur sous lequel le
“daemon” en question est
exécuté. En général les
“daemon”s tournent sous l'utilisateur
root. Pour des questions de
sécurité, il est courant de rencontrer des
serveurs tournant sous l'utilisateur
daemon, ou sous l'utilisateur avec
le moins de privilèges:
nobody.programme-serveurLe chemin complet du “daemon” qui doit
être exécuté quand une requête
est reçue. Si le “daemon” est un
service fourni en interne par
inetd, alors l'option
devrait être
utilisée.arguments-programme-serveurCette option va de pair avec
en précisant
les arguments, en commençant avec
argv[0], passés au
“daemon” lors de son invocation. Si
mydaemon -d est la ligne de commande,
mydaemon -d sera la valeur de
l'option .
Ici également, si le “daemon” est un
service interne, utilisez
.SécuritéEn fonction du profil de sécurité choisi
à l'installation, plusieurs “daemon”s
peuvent être activés par défaut. S'il n'y
a pas de raison particulière à l'utilisation
d'un “daemon”, désactivez-le! Ajoutez un
caractère “#” devant le
“daemon” en question dans le fichier
/etc/inetd.conf, et envoyez ensuite un
signal hangup à
inetd. Certains “daemon”s comme
fingerd, devraient être
évités parce qu'ils donnent trop d'informations
aux personnes malveillantes.Certains “daemon”s n'ont aucune conscience des
problèmes de sécurité, ou n'ont pas de
délai limite d'expiration pour les tentatives de
connexions. Cela permet à une personne malveillante
d'envoyer régulièrement et de manière
espacée des demandes de connexions à un
“daemon” particulier, avec pour conséquence
de saturer les ressources disponibles. Cela peut être
une bonne idée de placer des limitations
et
sur certains
“daemon”s.Par défaut, le “TCP wrapping” est
activé. Consultez la page de manuel
&man.hosts.access.5; pour plus d'information sur le placement
de restrictions TCP pour divers “daemon”s
invoqués par inetd.Diversdaytime,
time,
echo,
discard,
chargen, et
auth sont des services fournis en
interne par inetd.Le service auth fournit les
services réseau d'identification
(ident,
identd), et est configurable
à un certain degré.Consultez la page de manuel de &man.inetd.8; pour plus
d'informations.TomRhodesRéorganisé et augmenté par BillSwingleEcrit par Système de fichiers réseau (NFS)NFSParmi les différents systèmes de fichiers que
&os; supporte se trouve le système de fichiers
réseau, connu sous le nom de NFS.
NFS permet à un système de
partager des répertoires et des fichiers avec d'autres
systèmes par l'intermédiaire d'un réseau. En
utilisant NFS, les utilisateurs et les
programmes peuvent accéder aux fichiers sur des
systèmes distants comme s'ils étaient des fichiers
locaux.Certains des avantages les plus remarquables offerts par
NFS sont:Les stations de travail utilisent moins d'espace disque
en local parce que les données utilisées en
commun peuvent être stockées sur une seule
machine tout en restant accessibles aux autres machines sur le
réseau.Les utilisateurs n'ont pas besoin d'avoir un
répertoire personnel sur chaque machine du
réseau. Les répertoires personnels pourront se
trouver sur le serveur NFS et seront
disponibles par l'intermédiaire du
réseau.Les périphériques de stockage comme les
lecteurs de disquettes, de CDROM, de disquettes &iomegazip; peuvent
être utilisés par d'autres machines sur le
réseau. Cela pourra réduire le nombre de
lecteurs de medias amovibles sur le réseau.Comment NFS fonctionneNFS consiste en deux
éléments principaux: un serveur et un ou
plusieurs clients. Le client accède à distance
aux données stockées sur la machine serveur.
Afin que tout cela fonctionne correctement quelques processus
doivent être configurés et en
fonctionnement.Sous &os; 4.X, l'utilitaire
portmap est utilisé
à la place de rpcbind. Aussi
sous &os; 4.X l'utilisateur doit remplacer chaque
instance de rpcbind avec
portmap dans les exemples qui
suivent.Sur le serveur, les “daemons” suivants
doivent tourner:NFSserveurrpcbindportmapmountdnfsdDaemonDescriptionnfsdLe “daemon” NFS
qui répond aux requêtes des clients
NFS.mountdLe “daemon” de montage
NFS qui traite les requêtes que
lui passe &man.nfsd.8;.rpcbindCe daemon permet aux
clients NFS de trouver le port que
le serveur NFS utilise.Le client peut également faire tourner un
“daemon” connu sous le nom de
nfsiod. Le “daemon”
nfsiod traite les requêtes en
provenance du serveur NFS. Ceci est
optionnel, et améliore les performances, mais n'est pas
indispensable pour une utilisation normale et correcte.
Consultez la page de manuel &man.nfsiod.8; pour plus
d'informations.Configurer NFSNFSconfigurationLa configuration de NFS est une
opération relativement directe. Les processus qui
doivent tourner peuvent tous être lancés au
démarrage en modifiant légèrement votre
fichier /etc/rc.conf.Sur le serveur NFS, assurez-vous que
les options suivantes sont configurées dans le fichier
/etc/rc.conf:rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"mountd est automatiquement
exécuté dès que le serveur
NFS est activé.Sur le client, assurez-vous que cette option est
présente dans le fichier
/etc/rc.conf:nfs_client_enable="YES"Le fichier /etc/exports indique quels
systèmes de fichiers NFS devraient
être exportés (parfois on utilise le terme de
“partagés”). Chaque ligne dans
/etc/exports précise un
système de fichiers à exporter et quelles
machines auront accès à ce système de
fichiers. En plus des machines qui auront accès, des
options d'accès peuvent également être
présentes. Ces options sont nombreuses mais seules
quelques unes seront abordées ici. Vous pouvez
aisément découvrir d'autres options en lisant la
page de manuel &man.exports.5;.Voici quelques exemples d'entrées du fichier
/etc/exports:NFSexemples d'exportationLes exemples suivants donnent une idée de comment
exporter des systèmes de fichiers bien que certains
paramètres peuvent être différents en
fonction de votre environnement et votre configuration
réseau. Par exemple, pour exporter le
répertoire /cdrom
pour les trois machines d'exemple qui appartiennent au
même domaine que le serveur (d'où l'absence du
nom de domaine pour chacune d'entre elles) ou qui ont une
entrée dans votre fichier
/etc/hosts. Le paramètre
limite l'accès en lecture seule au
système de fichiers exporté. Avec ce
paramètre, le système distant ne pourra pas
écrire sur le système de fichiers
exporté./cdrom -ro host1 host2 host3La ligne suivante exporte /home pour les trois machines en
utilisant les adresses IP. C'est une configuration utile si
vous disposez d'un réseau privé sans serveur
DNS configuré. Le fichier
/etc/hosts pourrait éventuellement
être configuré pour les noms de machines
internes, consultez la page de manuel &man.hosts.5; pour plus
d'information. Le paramètre
autorise l'utilisation des sous-répertoires en tant que
point de montage. En d'autres termes, il ne montera pas les
sous-répertoires mais autorisera le client à ne
monter que les répertoires qui sont nécessaires
ou désirés./home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4La ligne suivante exporte /a pour que deux clients d'un
domaine différent puissent y accéder. Le
paramètre autorise
l'utilisateur root du système
distant à écrire des données sur le
système de fichiers exporté en tant que
root. Si le paramètre
-maproot=root n'est pas
précisé, même si un utilisateur dispose
d'un accès root sur le
système distant, il ne pourra pas modifier de fichiers
sur le système de fichiers exporté./a -maproot=root host.example.com box.example.orgAfin de pouvoir accéder à un système
de fichiers exporté, le client doit avoir les
permissions de le faire. Assurez-vous que le client est
mentionné dans votre fichier
/etc/exports.Dans /etc/exports, chaque ligne
représente l'information d'exportation d'un
système de fichiers vers une machine. Une machine
distante ne peut être spécifiée qu'une
fois par système de fichiers, et ne devrait avoir
qu'une seule entrée par défaut. Par exemple,
supposons que /usr soit
un seul système de fichiers. Le fichier
/etc/exports suivant serait
invalide:# Invalide quand /usr est un système de fichiers
/usr/src client
/usr/ports clientUn système de fichiers,
/usr, a deux lignes
précisant des exportations vers la même machine,
client. Le format correct pour une telle
situation est:/usr/src /usr/ports client
- Les propriétes d'un système de fichiers
+ Les propriétés d'un système de fichiers
exporté vers une machine donnée devraient
apparaître sur une ligne. Les lignes sans client sont
traitées comme destinée à une seule
machine. Cela limite la manière dont vous pouvez
exporter les systèmes de fichiers, mais pour la plupart
des gens cela n'est pas un problème.Ce qui suit est un exemple de liste d'exportation valide,
où les répertoires /usr et /exports sont des systèmes
de fichiers locaux:# Exporte src et ports vers client01 et client02, mais seul
# client01 dispose des privilèges root dessus
/usr/src /usr/ports -maproot=root client01
/usr/src /usr/ports client02
# Les machines clientes ont les privilèges root et peuvent monter tout
# de /exports. N'importe qui peut monter en lecture seule
# /exports/obj
/exports -alldirs -maproot=root client01 client02
/exports/obj -roVous devez relancer mountd
à chaque fois que vous modifiez
/etc/exports pour que les changements
puissent prendre effet. Cela peut être effectué
en envoyant le signal HUP au processus
mountd:&prompt.root; kill -HUP `cat /var/run/mountd.pid`De plus, un redémarrage permettra à &os; de
tout configurer proprement. Un redémarrage n'est
cependant pas nécéssaire. Exécuter les
commandes suivantes en tant que root
devrait mettre en place ce qui est nécessaire.Sur le serveur NFS:&prompt.root; rpcbind
&prompt.root; nfsd -u -t -n 4
&prompt.root; mountd -rSur le client NFS:&prompt.root; nfsiod -n 4Maintenant il devrait être possible de monter un
système de fichiers distant. Dans nos exemples le nom
du serveur sera serveur et le nom du client
client. Si vous voulez monter temporairement
un système de fichiers distant ou vous voulez
simplement tester la configuration, exécutez juste une
commande comme celle-ci en tant que root
sur le client:NFSmontage&prompt.root; mount serveur:/home /mntCela montera le répertoire /home situé sur le serveur
au point /mnt sur le
client. Si tout est correctement configuré vous
devriez être en mesure d'entrer dans le
répertoire /mnt
sur le client et de voir tous les fichiers qui sont sur le
serveur.Si vous désirez monter automatiquement un
système de fichiers distant à chaque
démarrage de l'ordinateur, ajoutez le système de
fichiers au fichier /etc/fstab. Voici un
exemple:server:/home /mnt nfs rw 0 0La page de manuel &man.fstab.5; liste toutes les options
disponibles.Exemples pratiques d'utilisationIl existe de nombreuses applications pratiques de
NFS. Les plus communes sont
présentés ci-dessous:NFSutilisationsConfigurer plusieurs machines pour partager un CDROM
ou un autre médium. C'est moins cher et souvent une
méthode plus pratique pour installer des logiciels
sur de multiples machines.Sur les réseaux importants, il peut être
plus pratique de configurer un serveur
NFS central sur lequel tous les
répertoires utilisateurs sont stockés. Ces
répertoires utilisateurs peuvent alors être
exportés vers le réseau, les utilisateurs
devraient alors toujours avoir le même
répertoire utilisateur indépendamment de la
station de travail sur laquelle ils ouvrent une
session.Plusieurs machines pourront avoir un répertoire
/usr/ports/distfiles
commun. De cette manière, quand vous avez besoin
d'installer un logiciel porté sur plusieurs machines,
vous pouvez accéder rapidement aux sources sans les
télécharger sur chaque machine.WylieStilwellContribution de ChernLeeRéécrit par Montages automatiques avec
amdamddaemon de montage
automatique&man.amd.8; (“automatic mounter
daemon”—“daemon” de montage
automatique) monte automatiquement un système de
fichiers distant dès que l'on accède à un
fichier ou un répertoire contenu par ce système
de fichiers. Les systèmes de fichiers qui sont
inactifs pendant une certaine période seront
automatiquement démontés par
amd. L'utilisation
d'amd offre une alternative simple
aux montages permanents qui sont généralement
listés dans /etc/fstab.amd opère en s'attachant
comme un serveur NFS aux répertoires /host et /net. Quand on accède
à un fichier à l'intérieur de ces
répertoires, amd recherche
le montage distant correspondant et le monte automatiquement.
/net est utilisé
pour monter un système de fichiers exporté
à partir d'une adresse IP, alors que /host est utilisé pour
monter un système de fichiers exporté à
partir d'un nom de machine distant.Un accès à un fichier dans /host/foobar/usr demandera
à amd de tenter de monter
l'export /usr sur la
machine foobar.Monter un systèmes de fichiers exporté
avec amdVous pouvez voir les systèmes de fichiers
exportés par une machine distante avec la commande
showmount. Par exemple, pour voir les
répertoires exportés par une machine
appelée foobar, vous pouvez
utiliser:&prompt.user; showmount -e foobar
Exports list on foobar:
/usr 10.10.10.0
/a 10.10.10.0
&prompt.user; cd /host/foobar/usrComme on le voit dans l'exemple,
showmount liste /usr comme une exportation. Quand
on change de répertoire pour
/host/foobar/usr,
amd tente de résoudre le nom
de machine foobar et de monter
automatiquement le système exporté
désiré.amd peut être
lancé par les procédures de démarrage en
ajoutant les lignes suivantes dans le fichier
/etc/rc.conf:amd_enable="YES"De plus, des paramètres peuvent être
passés à amd à
l'aide de l'option amd_flags. Par
défaut, l'option amd_flags est
possitionnée à:amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"Le fichier /etc/amd.map
définit les options par défaut avec lesquelles
les systèmes exportés sont montés. Le
fichier /etc/amd.map définit
certaines des fonctionnalités les plus avancées
de amd.Consultez les pages de manuel de &man.amd.8; et
&man.amd.conf.5; pour plus d'informations.JohnLindContribution de Problèmes d'intégration avec d'autres
systèmesCertaines cartes Ethernet ISA présentent des
limitations qui peuvent poser de sérieux
problèmes sur un réseau, en particulier avec
NFS. Ce n'est pas une particularité de &os;, mais &os;
en est également affecté.Ce problème se produit pratiquement à chaque
fois que des systèmes (&os;) PC sont sur le même
réseau que des stations de travail très
performantes, comme celles de Silicon Graphics, Inc. et Sun
Microsystems, Inc. Les montages NFS se feront sans
difficulté, et certaines opérations pourront
réussir, puis soudain le serveur semblera ne plus
répondre au client, bien que les requêtes vers ou
en provenance d'autres systèmes continueront à
- être traitées normalement. Cela se manisfeste
+ être traitées normalement. Cela se manifeste
sur la machine cliente, que ce soit le système &os; ou
la station de travail. Sur de nombreux systèmes, il
n'est pas possible d'arrêter le client proprement une
fois que ce problème apparaît. La seule solution
est souvent de réinitialiser le client parce que le
problème NFS ne peut être résolu.Bien que la solution “correcte” est
d'installer une carte Ethernet plus performante et de plus
grande capacité sur le système &os;, il existe
une solution simple qui donnera satisfaction. Si le
système &os; est le serveur,
ajoutez l'option lors du montage sur
le client. Si le système &os; est le
client, alors montez le système de
fichiers NFS avec l'option . Ces
options peuvent être spécifiées dans le
quatrième champ de l'entrée
fstab sur le client pour les montages
automatiques, ou en utilisant le paramètre
de la commande &man.mount.8; pour les
montages manuels.Il faut noter qu'il existe un problème
différent, que l'on confond parfois avec le
précédent, qui peut se produire lorsque les
serveurs et les clients NFS sont sur des réseaux
différents. Si c'est le cas,
assurez-vous que vos routeurs
transmettent bien les informations UDP nécessaires, ou
vous n'irez nulle part, quoi que vous fassiez par
ailleurs.Dans les exemples suivants, fastws est le
nom de la station de travail (interface) performante, et
freebox celui d'une machine (interface) &os;
avec une carte Ethernet moins performante. /sharedfs est le système de
fichiers NFS qui sera exporté (consulter la page de
manuel &man.exports.5;), et /project sera le point de montage
sur le client pour le système de fichiers
exporté. Dans tous les cas, des options
supplémentaires, telles que
et seront
peut-être nécessaires pour vos
applications.Exemple d'extrait du fichier
/etc/fstab sur freebox
quand le système &os; (freebox) est le
client:fastws:/sharedfs /project nfs rw,-r=1024 0 0Commande de montage manuelle sur
freebox:&prompt.root; mount -t nfs -o -r=1024 fastws:/sharedfs /projectExemple d'extrait du fichier
/etc/fstab sur fastws
quand le système &os; est le serveur:freebox:/sharedfs /project nfs rw,-w=1024 0 0Commande de montage manuelle sur
fastws:&prompt.root; mount -t nfs -o -w=1024 freebox:/sharedfs /projectPresque n'importe quelle carte Ethernet 16 bits
permettra d'opérer sans l'utilisation des
paramètres restrictifs précédents sur les
tailles des tampons de lecture et d'écriture.Pour ceux que cela intéresse, voici ce qui se passe
quand le problème survient, ce qui explique
également pourquoi ce n'est pas
récupérable. NFS travaille
généralement avec une taille de
“bloc” de 8 k (bien qu'il arrive qu'il les
fragmente en de plus petits morceaux). Comme la taille
maximale d'un paquet Ethernet est de 1500 octets, le
“bloc” NFS est divisé en plusieurs paquets
Ethernet, bien qu'il soit toujours vu comme quelque chose
d'unitaire par les couches supérieures du code, et doit
être réceptionné, assemblé, et
acquitté comme tel. Les stations
de travail performantes peuvent traiter les paquets qui
composent le bloc NFS les uns après les autres,
pratiquement aussi rapidement que le standard le permet. Sur
les cartes les plus petites, de moindre capacité, les
derniers paquets d'un même bloc écrasent les
- paquets précédents avant qu'ils aient pû
+ paquets précédents avant qu'ils aient pu
être transmis à la machine et le bloc ne peut
être réassemblé ou acquitté. Avec
pour conséquence, le dépassement du délai
d'attente sur la station de travail qui recommence alors la
transmission, mais en renvoyant l'intégralité
- des 8 K, et ce processus se repète à
+ des 8 K, et ce processus se répète à
l'infini.En définissant la taille de bloc inférieure
à la taille d'un paquet Ethernet, nous nous assurons
que chaque paquet Ethernet complet sera acquitté
individuellement, évitant ainsi la situation de
blocage.Des écrasements peuvent toujours survenir quand des
stations de travail performantes surchargent un système
PC de données, mais avec de meilleures cartes, de tels
écrasements ne sont pas systématiques pour les
“blocs” NFS. Quand un écrasement
apparaît, les blocs affectés sont retransmis, et
ils y a de fortes chances pour qu'ils soient reçus,
assemblés et acquittés.BillSwingleEcrit par EricOgrenAugmenté par UdoErdelhoffServices d'information réseau (NIS/YP)Qu'est-ce que c'est?NISSolarisHP-UXAIXLinuxNetBSDOpenBSDNIS, qui signifie “Network Information
Services” (services d'information réseau), fut
développé par Sun Microsystems pour centraliser
l'administration de systèmes &unix; (à l'origine
&sunos;). C'est devenu aujourd'hui un standard industriel; tous
les systèmes importants de type &unix; (&solaris;, HP-UX,
&aix;, Linux, NetBSD, OpenBSD, &os;, etc.) supportent
NIS.yellow pagesNISNIS était appelé au départ
“Yellow Pages” (page jaunes), mais étant
donné que c'était marque déposée,
Sun changea le nom. L'ancienne appelation (et yp) est toujours
rencontrée et utilisée.NISdomainesC'est un système client/serveur basé sur les
RPCs qui permet à un groupe de machines d'un domaine NIS
de partager un ensemble de fichiers de configuration communs.
Cela permet à un administrateur système de mettre
en place des clients NIS avec un minimum de configuration et
d'ajouter, modifier ou supprimer les informations de
configuration à partir d'un unique emplacement.Windows NTC'est similaire au système de domaine &windowsnt;;
bien que l'implémentation interne des deux n'est pas du
tout identique, les fonctionnalités de base sont
comparables.Termes/processus à connaîtreIl existe plusieurs termes et processus utilisateurs que
vous rencontrerez lors de la configuration de NIS sous &os;,
que vous vouliez mettre en place un serveur NIS ou un client
NIS:rpcbindportmapTermeDescriptionNom de domaine NISUn serveur maître NIS et tous ses clients
(y compris ses serveurs esclaves) ont un domaine NIS.
Similaire au nom de domaine &windowsnt;, le nom de
domaine NIS n'a rien à voir avec le
système DNS.rpcbindDoit tourner afin d'activer les RPC (Remote
Procedure Call, appel de procédures distantes, un
protocole réseau utilisé par NIS). Si
rpcbind ne tourne pas, il
sera impossible de faire fonctionner un serveur NIS, ou
jouer le rôle d'un client NIS (sous
&os; 4.X portmap est
utilisé à la place de
rpcbind).ypbindFait pointer un client NIS vers son serveur NIS.
Il récupérera le nom de domaine NIS
auprès du système, et en utilisant les
RPC, se connectera au serveur.
ypbind est le coeur de la
communication client-serveur dans un environnement NIS;
si ypbind meurt sur une
machine cliente, elle ne sera pas en mesure
d'accéder au serveur NIS.ypservNe devrait tourner que sur les serveurs NIS,
c'est le processus serveur en lui-même. Si
&man.ypserv.8; meurt, alors le serveur ne pourra plus
répondre aux requêtes NIS (avec un peu de
chance, un serveur esclave prendra la relève).
Il existe des implémentations de NIS (mais ce
n'est pas le cas de celle de &os;), qui n'essayent pas
de se reconnecter à un autre serveur si le
serveur utilisé précédement meurt.
Souvent, la seule solution dans ce cas est de relancer
le processus serveur (ou même redémarrer le
serveur) ou le processus
ypbind sur le client.rpc.yppasswddUn autre processus qui ne devrait tourner que sur
les serveurs maître NIS; c'est un
“daemon” qui permettra aux clients de
modifier leur mot de passe NIS. Si ce
“daemon” ne tourne pas, les utilisateurs
devront ouvrir une session sur le serveur maître
NIS et y changer à cet endroit leur mot de
passe.Comment cela fonctionne-t-il?Dans un environnement NIS il y a trois types de machines:
les serveurs maîtres, les serveurs esclaves et les
clients. Les serveurs centralisent les informations de
configuration des machines. Les serveurs maîtres
détiennent l'exemplaire de référence de
ces informations, tandis que les serveurs esclaves en ont un
double pour assurer la redondance. Les clients attendent des
serveurs qu'ils leur fournissent ces informations.Le contenu de nombreux fichiers peut être
partagé de cette manière. Les fichiers
master.passwd,
group, et hosts sont
fréquemment partagés par l'intermédiaire
de NIS. A chaque fois qu'un processus d'une machine cliente a
besoin d'une information qu'il trouverait normalement
localement dans un de ces fichiers, il émet une
requête au serveur NIS auquel il est rattaché
pour obtenir cette information.Type de machineNISserveur maîtreUn serveur NIS maître.
Ce serveur, analogue à un contrôleur de
domaine &windowsnt; primaire, gère les fichiers
utilisés par tous les clients NIS. Les fichiers
passwd, group,
et les autres fichiers utilisés par les clients NIS
résident sur le serveur maître.Il est possible pour une machine d'être
un serveur NIS maître pour plus qu'un domaine NIS.
Cependant, ce cas ne sera pas abordé dans cette
introduction, qui suppose un environnement NIS
relativement petit.NISserveur esclaveServeurs NIS esclaves.
Similaire aux contrôleurs de domaine &windowsnt; de
secours, les serveurs NIS esclaves possèdent une
copie des fichiers du serveur NIS maître. Les
serveurs NIS esclaves fournissent la redondance
nécessaire dans les environnements importants. Ils
aident également à à la
répartition de la charge du serveur maître:
les clients NIS s'attachent toujours au serveur NIS dont
ils reçoivent la réponse en premier, y
compris si c'est la réponse d'un serveur
esclave.NISclientClients NIS.
Les clients NIS, comme la plupart des stations de
travail &windowsnt;, s'identifient auprès du
serveur NIS (ou le contrôleur de domaine
&windowsnt; dans le cas de stations de travail
&windowsnt;) pour l'ouverture de sessions.Utiliser NIS/YPCette section traitera de la configuration d'un
exemple d'environnement NIS.Dans cette section on suppose que vous utilisez
&os; 3.3 ou une version suivante. Les instructions
- fournies fonctionneront probabablement
+ fournies fonctionneront probablement
avec n'importe quelle version de &os; supérieure
à 3.0, mais il n'y a aucune garantie que cela soit le
cas.PlanificationSupposons que vous êtes l'administrateur d'un
petit laboratoire universitaire. Ce laboratoire dispose de
15 machines &os;, et ne possède pas actuellement de
point central d'administration; chaque machine a ses propres
fichiers /etc/passwd et
/etc/master.passwd. Ces fichiers sont
maintenus à jour entre eux grâce à des
interventions manuelles; actuellement quand vous ajoutez un
utilisateur pour le laboratoire, vous devez exécuter
adduser sur les 15 machines. Cela doit
changer, vous avez donc décidé de convertir le
laboratoire à l'utilisation de NIS en utilisant deux
machines comme serveurs.La configuration du laboratoire ressemble à
quelque chose comme:Nom de machineAdresse IPRôle de la machineellington10.0.0.2Maître NIScoltrane10.0.0.3Esclave NISbasie10.0.0.4Station de travailbird10.0.0.5Machine clientecli[1-11]10.0.0.[6-17]Autres machines clientesSi vous mettez en place un système NIS pour la
première fois, c'est une bonne idée de penser
à ce que vous voulez en faire. Peu importe la taille
de votre réseau, il y a quelques décisions
à prendre.Choisir un nom de domaine NISNISnom de domaineCe n'est pas le “nom de domaine” dont vous
avez l'habitude. Il est plus exactement appelé
“nom de domaine NIS”. Quand un client diffuse
des requêtes pour obtenir des informations, il y
inclut le nom de domaine NIS auquel il appartient. C'est
ainsi que plusieurs serveurs d'un même réseau
peuvent savoir lequel d'entre eux doit répondre aux
différentes requêtes. Pensez au nom de domaine
NIS comme le nom d'un groupe de machines qui sont
reliées entre elles.
- Certains choississent d'utiliser leur nom de domaine
+ Certains choisissent d'utiliser leur nom de domaine
Internet pour nom de domaine NIS. Ce n'est pas
conseillé parce que c'est une source de confusion
quand il faut résoudre un problème
réseau. Le nom de domaine NIS devrait être
unique sur votre réseau et est utile s'il
décrit le groupe de machines qu'il
représente. Par exemple, le département
artistique de Acme Inc. pourrait avoir
“acme-art” comme nom de domaine NIS. Pour
notre exemple, nous supposerons que vous avez choisi le
nom test-domain.SunOSCependant, certains systèmes d'exploitation
(notamment &sunos;) utilisent leur nom de domaine NIS pour
nom de domaine Internet. Si une ou plusieurs machines sur
votre réseau présentent cette restriction,
vous devez utiliser votre nom de
domaine Internet pour nom de domaine NIS.Contraintes au niveau du serveurIl y a plusieurs choses à garder à
l'esprit quand on choisit une machine destinée
à être un serveur NIS. Un des
problèmes du NIS est le degré de
dépendance des clients vis à vis du serveur.
Si un client ne peut contacter le serveur de son domaine
NIS, la plupart du temps la machine n'est plus utilisable.
L'absence d'information sur les utilisateurs et les
groupes bloque la plupart des systèmes. Vous devez
donc vous assurer de choisir une machine qui ne sera pas
- redémarrée fréquement, ni
+ redémarré fréquemment, ni
utilisée pour du développement.
Idéalement, le serveur NIS devrait être une
machine dont l'unique utilisation serait d'être un
serveur NIS. Si vous avez un réseau qui n'est pas
très chargé, il peut être
envisagé de mettre le serveur NIS sur une machine
fournissant d'autres services, gardez juste à
l'esprit que si le serveur NIS n'est pas disponible
à un instant donné, cela affectera
tous vos clients NIS.Serveurs NISLa copie de référence de toutes les
informations NIS est stockée sur une seule machine
appelée serveur NIS maître. Les bases de
données utilisées pour le stockage de ces
informations sont appelées tables NIS (“NIS
maps”). Sous &os; ces tables se trouvent dans
/var/yp/[domainname] où
[domainname] est le nom du domaine NIS
concerné. Un seul serveur NIS peut gérer
plusieurs domaines à la fois, il peut donc y avoir
plusieurs de ces répertoires, un pour chaque domaine.
Chaque domaine aura son propre jeu de tables.Les serveurs NIS maîtres et esclaves traitent
toutes les requêtes NIS à l'aide du
“daemon” ypserv.
ypserv reçoit les
requêtes des clients NIS, traduit le nom de domaine et
le nom de table demandés en chemin d'accès
à la base de données correspondante et
transmet l'information de la base de données au
client.Configurer un serveur NIS maîtreNISconfiguration du serveurSelon vos besoins, la configuration d'un serveur NIS
maître peut être relativement simple. &os;
offre par défaut un support direct du NIS. Tout ce
dont vous avez besoin est d'ajouter les lignes qui suivent
au fichier /etc/rc.conf, et &os;
s'occupera du reste pour vous.nisdomainname="test-domain"
Cette ligne définie le nom de domaine NIS,
test-domain, à la
configuration du réseau (e.g. au
démarrage).nis_server_enable="YES"
Demandera à &os; de lancer les processus du
serveur NIS dès que le réseau est en
fonctionnement.nis_yppasswdd_enable="YES"
Ceci activera le “daemon”
rpc.yppasswdd, qui, comme
mentionné précedement, permettra aux
utilisateurs de modifier leur mot de passe à
partir d'une machine cliente.Selon votre configuration NIS, vous aurez
peut-être à ajouter des entrées
supplémentaires. Consultez la section sur les
serveurs NIS qui sont également des clients
NIS, plus bas, pour plus de détails.Maintenant, tout ce que vous devez faire est
d'exécuter la commande
/etc/netstart en tant que
super-utilisateur. Elle configurera tout en utilisant les
valeurs que vous avez définies dans
/etc/rc.conf.Initialisation des tables NISNIStablesLes tables NIS sont des fichiers
de base de données, qui sont conservés dans le
répertoire /var/yp. Elles sont
générées à partir des fichiers
de configuration du répertoire /etc du serveur NIS
maître, avec une exception: le fichier
/etc/master.passwd. Et cela pour une
bonne raison, vous ne voulez pas divulguer les mots de passe
pour l'utilisateur root et autres
comptes d'administration aux autres serveurs du domaine NIS.
Par conséquent, avant d'initialiser les tables NIS,
vous devrez faire:&prompt.root; cp /etc/master.passwd /var/yp/master.passwd
&prompt.root; cd /var/yp
&prompt.root; vi master.passwdVous devrez effacer toutes les entrées
concernant les comptes système
(bin, tty,
kmem, games,
etc.), tout comme les comptes que vous ne désirez
pas propager aux clients NIS (par exemple
root et tout autre compte avec un UID
0 (super-utilisateur)).Assurez-vous que le fichier
/var/yp/master.passwd n'est pas
lisible par son groupe ou le reste du monde (mode 600)!
Utilisez la commande chmod si
nécessaire.Tru64 UNIXCela achevé, il est temps d'initialiser les
tables NIS! &os; dispose d'une procédure
appelée ypinit pour le faire
à votre place (consultez sa page de manuel pour plus
d'informations). Notez que cette procédure est
disponible sur la plupart des systèmes d'exploitation
du type &unix;, mais pas tous. Sur Digital UNIX/Compaq
Tru64 UNIX, elle est appelée
ypsetup. Comme nous voulons
générer les tables pour un maître NIS,
nous passons l'option à
ypinit. Pour générer les
tables NIS, en supposant que vous avez effectué les
étapes précédentes, lancez:ellington&prompt.root; ypinit -m test-domain
Server Type: MASTER Domain: test-domain
Creating an YP server will require that you answer a few questions.
Questions will all be asked at the beginning of the procedure.
Do you want this procedure to quit on non-fatal errors? [y/n: n] n
Ok, please remember to go back and redo manually whatever fails.
If you don't, something might not work.
At this point, we have to construct a list of this domains YP servers.
rod.darktech.org is already known as master server.
Please continue to add any slave servers, one per line. When you are
done with the list, type a <control D>.
master server : ellington
next host to add: coltrane
next host to add: ^D
The current list of NIS servers looks like this:
ellington
coltrane
Is this correct? [y/n: y] y
[..output from map generation..]
NIS Map update completed.
ellington has been setup as an YP master server without any errors.ypinit devrait avoir
créé /var/yp/Makefile
à partir de
/var/yp/Makefile.dist. Une fois
créé, ce fichier suppose que vous être
dans un environnement composé uniquement de
machines &os; et avec un seul serveur. Comme
test-domain dispose également
d'un serveur esclave, vous devez éditer
/var/yp/Makefile:ellington&prompt.root; vi /var/yp/MakefileVous devez commenter la ligneNOPUSH = "True"(si elle n'est pas déjà
commentée).Configurer un serveur NIS esclaveNISserveur esclaveConfigurer un serveur NIS esclave est encore plus
simple que de configurer un serveur maître. Ouvrez
une session sur le serveur esclave et éditez le
fichier /etc/rc.conf comme
précédemment. La seule différence est
que nous devons maintenant utiliser l'option
avec ypinit.
L'option a besoin du nom du serveur NIS
maître, donc notre ligne de commande ressemblera
à:coltrane&prompt.root; ypinit -s ellington test-domain
Server Type: SLAVE Domain: test-domain Master: ellington
Creating an YP server will require that you answer a few questions.
Questions will all be asked at the beginning of the procedure.
Do you want this procedure to quit on non-fatal errors? [y/n: n] n
Ok, please remember to go back and redo manually whatever fails.
If you don't, something might not work.
There will be no further questions. The remainder of the procedure
should take a few minutes, to copy the databases from ellington.
Transferring netgroup...
ypxfr: Exiting: Map successfully transferred
Transferring netgroup.byuser...
ypxfr: Exiting: Map successfully transferred
Transferring netgroup.byhost...
ypxfr: Exiting: Map successfully transferred
Transferring master.passwd.byuid...
ypxfr: Exiting: Map successfully transferred
Transferring passwd.byuid...
ypxfr: Exiting: Map successfully transferred
Transferring passwd.byname...
ypxfr: Exiting: Map successfully transferred
Transferring group.bygid...
ypxfr: Exiting: Map successfully transferred
Transferring group.byname...
ypxfr: Exiting: Map successfully transferred
Transferring services.byname...
ypxfr: Exiting: Map successfully transferred
Transferring rpc.bynumber...
ypxfr: Exiting: Map successfully transferred
Transferring rpc.byname...
ypxfr: Exiting: Map successfully transferred
Transferring protocols.byname...
ypxfr: Exiting: Map successfully transferred
Transferring master.passwd.byname...
ypxfr: Exiting: Map successfully transferred
Transferring networks.byname...
ypxfr: Exiting: Map successfully transferred
Transferring networks.byaddr...
ypxfr: Exiting: Map successfully transferred
Transferring netid.byname...
ypxfr: Exiting: Map successfully transferred
Transferring hosts.byaddr...
ypxfr: Exiting: Map successfully transferred
Transferring protocols.bynumber...
ypxfr: Exiting: Map successfully transferred
Transferring ypservers...
ypxfr: Exiting: Map successfully transferred
Transferring hosts.byname...
ypxfr: Exiting: Map successfully transferred
coltrane has been setup as an YP slave server without any errors.
Don't forget to update map ypservers on ellington.Vous devriez avoir un répertoire appelé
/var/yp/test-domain. Des copies des
tables du serveur NIS maître devraient se trouver
dans ce répertoire. Vous devrez vous assurer que
ces tables restent à jour. Les entrées
suivantes dans /etc/crontab sur vos
serveurs esclaves s'en chargeront:20 * * * * root /usr/libexec/ypxfr passwd.byname
21 * * * * root /usr/libexec/ypxfr passwd.byuidCes deux lignes obligent le serveur esclave à
synchroniser ses tables avec celles du serveur
maître. Bien que ces entrées ne soient pas
indispensables puisque le serveur maître essaye de
s'assurer que toute modification de ses tables NIS soit
répercutée à ses serveurs esclaves et
comme l'information sur les mots de passe est vitale pour
les systèmes qui dépendent du serveur, il
est bon de forcer les mises à jour. C'est d'autant
plus important sur les réseaux chargés
où il n'est pas certain que les mises à jour
soient intégrales.Maintenant, exécutez la commande
/etc/netstart sur le serveur esclave,
ce qui lancera le serveur NIS.Clients NISUn client NIS établit une connexion avec un
serveur NIS donné par l'intermédiaire du
“daemon” ypbind.
ypbind consulte le nom de domaine
par défaut du système (défini par la
commande domainname), et commence
à diffuser des requêtes RPC sur le
réseau local. Ces requêtes précisent le
nom de domaine auquel ypbind
essaye de se rattacher. Si un serveur configuré pour
ce domaine reçoit une des requêtes
diffusées, il répond à
ypbind, qui enregistrera
l'adresse du serveur. S'il y a plusieurs serveurs
disponibles (un maître et plusieurs esclaves par
example), ypbind utilisera
l'adresse du premier à répondre. Dès
lors, le système client dirigera toutes ses
requêtes NIS vers ce serveur.
ypbind enverra de temps en temps
des requêtes “ping” au serveur pour
s'assurer qu'il fonctionne toujours. S'il ne reçoit
pas de réponse dans un laps de temps raisonnable,
ypbind considérera ne plus
être attaché au domaine et recommencera
à diffuser des requêtes dans l'espoir de
trouver un autre seveur.Configurer un client NISNISconfiguration du clientConfigurer une machine &os; en client NIS est assez
simple.Editez le fichier
/etc/rc.conf et ajoutez les lignes
suivantes afin de définir le nom de domaine NIS
et lancez ypbind au
démarrage du réseau:nisdomainname="test-domain"
nis_client_enable="YES"Pour importer tous les mots de passe disponibles
du serveur NIS, effacez tous les comptes utilisateur de
votre fichier /etc/master.passwd et
utilisez vipw pour ajouter la ligne
suivante à la fin du fichier:+:::::::::Cette ligne permet à chaque utilisateur
ayant un compte valide dans les tables de mots de
passe du serveur d'avoir un compte sur le client. Il
y a plusieurs façons de configurer votre client
NIS en modifiant cette ligne. Consultez la section
groupes
réseau plus bas pour plus
d'informations. Pour en savoir plus, reportez-vous
à l'ouvrage Managing NFS and
NIS de chez O'Reilly.Vous devriez conservez au moins un compte local
(i.e. non-importé via NIS) dans votre fichier
/etc/master.passwd et ce compte
devrait également être membre du groupe
wheel. Si quelque chose se
passe mal avec NIS, ce compte peut être
utilisé pour ouvrir une session à
distance, devenir root, et
effectuer les corrections nécessaires.Pour importer tous les groupes disponibles du
serveur NIS, ajoutez cette ligne à votre fichier
/etc/group:+:*::Une fois que c'est fait, vous devriez être en
mesure d'exécuter ypcat passwd
et voir la table des mots de passe du serveur NIS.Sécurité du NISDe façon générale, n'importe quel
utilisateur distant peut émettre une requête RPC
à destination de &man.ypserv.8; et
récupérer le contenu de vos tables NIS, en
supposant que l'utilisateur distant connaisse votre nom de
domaine. Pour éviter ces transactions non
autorisées, &man.ypserv.8; dispose d'une
fonctionnalité appelée “securenets”
qui peut être utilisée pour restreindre
l'accès à un ensemble donné de machines.
Au démarrage, &man.ypserv.8; tentera de charger les
informations sur les “securenets” à partir
d'un fichier nommé
/var/yp/securenets.Ce chemin d'accès peut varier en fonction du
chemin d'accès défini par l'option
. Ce fichier contient des entrées
sous la forme de définitions de réseau et d'un
masque de sous-réseau séparé par une
espace. Les lignes commençant par un “#”
sont considérées comme des commentaires. Un
exemple de fichier securenets peut
ressembler à ceci:# autorise les connexions depuis la machine locale -- obligatoire
127.0.0.1 255.255.255.255
# autorise les connexions de n'importe quelle machine
# du réseau 192.168.128.0
192.168.128.0 255.255.255.0
# autorise les connexions de n'importe quelle machine
# entre 10.0.0.0 et 10.0.15.255
# y compris les machines du laboratoire de test
10.0.0.0 255.255.240.0Si &man.ypserv.8; reçoit une requête d'une
adresse qui satisfait à ces règles, il la traite
normalement. Si une adresse ne correspond pas aux
règles, la requête sera ignorée et un
message d'avertissement sera enregistré. Si le fichier
/var/yp/securenets n'existe pas,
ypserv autorisera les connexions à
partir de n'importe quelle machine.Le programme ypserv supporte
également l'outil tcpwrapper
de Wietse Venema. Cela permet à l'administrateur
d'utiliser les fichiers de configuration de
tcpwrapper pour contrôler les
accès à la place de
/var/yp/securenets.Bien que ces deux mécanismes de contrôle
d'accès offrent une certaine sécurité, il
sont, de même que le test du port
privilégié, vulnérables aux attaques par
“usurpation” d'adresses. Tout le trafic relatif
à NIS devrait être bloqué par votre
coupe-feu.Les serveurs utilisant
/var/yp/securenets pourront
échouer à traiter les requêtes de
clients NIS légitimes avec des implémentation
TCP/IP archaïques. Certaines de ces
implémentations positionnent à zéro les
bits de la partie machine de l'adresse IP lors de diffusions
et/ou sont incapables respecter le masque de
sous-réseau lors du calcul de l'adresse de diffusion.
Alors que certains de ces problèmes peuvent
être corrigés en modifiant la configuration du
client, d'autres problèmes peuvent forcer le retrait
des systèmes clients fautifs ou l'abandon de
/var/yp/securenets.Utiliser /var/yp/securenets sur un
serveur avec une implémentation TCP/IP archaïque
est une mauvaise idée et sera à l'origine de
pertes de la fonctionnalité NIS pour une grande
partie de votre réseau.tcpwrapperL'utilisation du système
tcpwrapper augmente les temps de
latence de votre serveur NIS. Le délai
supplémentaire peut être suffisament long pour
dépasser le délai d'attente des programmes
clients, tout particulièrement sur des réseaux
chargés ou avec des serveurs NIS lents. Si un ou
plusieurs de vos systèmes clients souffrent de ces
symptômes, vous devrez convertir les systèmes
clients en question en serveurs esclaves NIS et les forcer
à se rattacher à eux-mêmes.Interdire l'accès à certains
utilisateursDans notre laboratoire, il y a une machine
basie qui est supposée être une
station de travail de la faculté. Nous ne voulons pas
retirer cette machine du domaine NIS, le fichier
passwd sur le serveur maître NIS
contient les comptes pour la faculté et les
étudiants. Que pouvons-nous faire?Il existe une méthode pour interdire à
certains utilisateurs d'ouvrir une session sur une machine,
même s'ils sont présents dans la base de
données NIS. Pour cela, tout ce dont vous avez besoin
de faire est d'ajouter
-nom_utilisateur
à la fin du fichier
/etc/master.passwd sur la machine
cliente, où nom_utilisateur
est le nom de l'utilisateur auquel vous désirez refuser
l'accès. Ceci doit être fait de
préférence avec vipw, puisque
vipw contrôlera vos changements au
fichier /etc/master.passwd, et
- regénérera automatiquement la base de
+ régénérera automatiquement la base de
données à la fin de l'édition. Par
exemple, si nous voulions interdire l'ouverture de session
à l'utilisateur bill sur la
machine basie nous ferions:basie&prompt.root; vipw[add -bill to the end, exit]
vipw: rebuilding the database...
vipw: done
basie&prompt.root; cat /etc/master.passwd
root:[password]:0:0::0:0:The super-user:/root:/bin/csh
toor:[password]:0:0::0:0:The other super-user:/root:/bin/sh
daemon:*:1:1::0:0:Owner of many system processes:/root:/sbin/nologin
operator:*:2:5::0:0:System &:/:/sbin/nologin
bin:*:3:7::0:0:Binaries Commands and Source,,,:/:/sbin/nologin
tty:*:4:65533::0:0:Tty Sandbox:/:/sbin/nologin
kmem:*:5:65533::0:0:KMem Sandbox:/:/sbin/nologin
games:*:7:13::0:0:Games pseudo-user:/usr/games:/sbin/nologin
news:*:8:8::0:0:News Subsystem:/:/sbin/nologin
man:*:9:9::0:0:Mister Man Pages:/usr/share/man:/sbin/nologin
bind:*:53:53::0:0:Bind Sandbox:/:/sbin/nologin
uucp:*:66:66::0:0:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico
xten:*:67:67::0:0:X-10 daemon:/usr/local/xten:/sbin/nologin
pop:*:68:6::0:0:Post Office Owner:/nonexistent:/sbin/nologin
nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/sbin/nologin
+:::::::::
-bill
basie&prompt.root;UdoErdelhoffContribution de Utiliser les groupes réseau
(“netgroups”)groupes réseauLa méthode présentée dans la section
précédente fonctionne relativement bien si vous
avez besoin de règles spécifiques pour un petit
nombre d'utilisateurs et/ou de machines. Sur les
réseaux plus important, vous
oublierez d'interdire l'accès aux
machines sensibles à certains utilisateurs, ou vous
devrez même modifier chaque machine
séparément, perdant par là même les
avantages du NIS: l'administration
centralisée.La solution des développeurs du NIS pour ce
problème est appelé groupes
réseau (“netgroups”). Leur
objet et définition peuvent être comparés
aux groupes utilisés par les systèmes &unix;.
La principale différence étant l'absence
d'identifiants (ID) numériques et la capacité de
définir un groupe réseau à l'aide de
comptes utilisateur et d'autres groupes réseau.Les groupes réseau furent développés
pour gérer des réseaux importants et complexes
avec des centaines de machines et d'utilisateurs. C'est une
bonne option si vous êtes forcés de faire avec
une telle situation. Cependant leur complexité rend
impossible une explication avec des exemples simples.
L'exemple utilisé dans le reste de cette section met en
évidence ce problème.Supposons que l'introduction avec succès de NIS
dans votre laboratoire a retenu l'attention de vos
supérieurs. Votre mission suivante est
d'étendre la couverture de votre domaine NIS à
d'autres machines sur le campus. Les deux tables contiennent
les noms des nouveaux utilisateurs et des nouvelles machines
ainsi qu'une courte description de chacuns.Nom(s) d'utilisateursDescriptionalpha,
betaLes employés du département IT
(“Information Technology“)charlie,
deltaLes nouveaux apprentis du département
ITecho,
foxtrott,
golf, ...Les employés ordinairesable,
baker, ...Les internes actuelsNom(s) de machinesDescriptionwar, death,
famine,
pollutionVos serveurs les plus importants. Seuls les
employés du département IT sont
autorisés à ouvrir des sessions sur ces
machines.pride, greed,
envy, wrath,
lust, slothServeurs moins importants. Tous les membres du
laboratoire IT sont autorisés à ouvrir des
sessions sur ces machines.one, two,
three, four,
...Stations de travail ordinaires. Seuls les
employés réels sont
autorisés à utiliser ces machines.trashcanUne très vielle machine sans
données sensibles. Même les internes
peuvent utiliser cette machine.Si vous avez essayé d'implémenter ces
restrictions en bloquant séparément chaque
utilisateur, vous avez dû ajouter une ligne
-utilisateur
à chaque fichier passwd de chaque
système pour chaque utilisateur non-autorisé
à ouvrir une session sur le système. Si vous
- ometter ne serait-ce qu'une entrée, vous aurez des
+ omettez ne serait-ce qu'une entrée, vous aurez des
problèmes. Il doit être possible de faire cela
lors de la configuration initiale, cependant vous
finirez par oublier d'ajouter les lignes
pour de nouveaux utilisateurs lors d'opérations
quotidiennes. Après tout, Murphy était
quelqu'un d'optimiste.Traiter cette situation avec les groupes réseau
présente plusieurs avantages. Chaque utilisateur n'a
pas besoin d'être traité
séparément; vous assignez un utilisateur
à un ou plusieurs groupes réseau et autorisez ou
refusez l'ouverture de session à tous les membres du
groupe réseau. Si vous ajoutez une nouvelle machine,
vous n'aurez à définir les restrictions
d'ouverture de session que pour les groupes réseau.
Ces modifications sont indépendantes les unes des
autres, plus de “pour chaque combinaison d'utilisateur
et de machine faire...” Si votre configuration NIS est
réfléchie, vous n'aurez à modifier qu'une
configuration centrale pour autoriser ou refuser
l'accès aux machines.La première étape est l'initialisation de la
table NIS du groupe réseau. La version &os;
d'&man.ypinit.8; ne crée pas de table par
défaut, mais son implémentation NIS la
supportera une fois créée. Pour créer
une table vide, tapez simplementellington&prompt.root; vi /var/yp/netgroupet commencez à ajouter du contenu. Pour notre
exemple, nous avons besoin de quatre groupes réseau:
les employées du département IT, les apprentis
du département IT, les employés normaux et les
internes.IT_EMP (,alpha,test-domain) (,beta,test-domain)
IT_APP (,charlie,test-domain) (,delta,test-domain)
USERS (,echo,test-domain) (,foxtrott,test-domain) \
(,golf,test-domain)
INTERNS (,able,test-domain) (,baker,test-domain)IT_EMP, IT_APP etc.
sont les noms des groupes réseau. Chaque groupement
entre parenthèses ajoute un ou plusieurs comptes
utilisateurs aux groupes. Les trois champs dans un groupement
sont:Le nom de la/les machine(s) où les
éléments suivants sont valides. Si vous ne
précisez pas un nom de machine, l'entrée est
valide sur toutes les machines. Si vous précisez un
nom de machine, vous pénétrerez dans un
royaume obscure, d'horreur et de confusion totale.Le nom du compte qui appartient au groupe
réseau.Le domaine NIS pour le compte. Vous pouvez importer
les comptes d'autres domaines NIS dans votre groupe
réseau si vous êtes une de ces personnes
malchanceuses avec plus d'un domaine NIS.Chacun de ces champs peut contenir des jokers. Consultez
la page de manuel &man.netgroup.5; pour plus de
détails.groupes réseauLes noms de groupes réseau plus long que 8
caractères ne devraient pas être utilisés,
tout particulièrement si vous avez des machines
utilisant d'autres systèmes d'exploitation dans votre
domaine NIS. Les noms sont sensibles à la casse des
caractères; utiliser des majuscules pour vos noms de
groupes réseau est une méthode simple pour
distinguer les utilisateurs, les machines et les noms de
groupes réseau.Certains clients NIS (autres que &os;) ne peuvent
gérer les groupes réseau avec un grand nombre
d'entrées. Par exemple, certaines anciennes versions
de &sunos; commencent à causer des problèmes
si un groupe réseau contient plus de 15
entrées. Vous pouvez contourner
cette limite en créant plusieurs sous-groupes
réseau avec 15 utilisateurs ou moins et un
véritable groupe réseau constitué des
sous-groupes réseau:BIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...]
BIGGRP2 (,joe16,domain) (,joe17,domain) [...]
BIGGRP3 (,joe31,domain) (,joe32,domain)
BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3Vous pouvez répéter ce processus si vous
avez besoin de plus de 255 utilisateurs dans un seul groupe
réseau.Activer et propager votre nouvelle table NIS est
simple:ellington&prompt.root; cd /var/yp
ellington&prompt.root; makeCeci générera les trois tables NIS
netgroup,
netgroup.byhost et
netgroup.byuser. Utilisez &man.ypcat.1;
pour contrôler si vos nouvelles tables NIs sont
disponibles:ellington&prompt.user; ypcat -k netgroup
ellington&prompt.user; ypcat -k netgroup.byhost
ellington&prompt.user; ypcat -k netgroup.byuserLa sortie devrait être semblable au contenu de
/var/yp/netgroup. La deuxième
commande ne produira pas de sortie si vous n'avez pas
précisé les groupes réseau
spécifiques à une machine. La troisième
commande peut être utilisée pour obtenir les
listes des groupes réseau pour un utilisateur.La configuration du client est plutôt simple. Pour
configurer le serveur war, vous devez lancer
&man.vipw.8; et remplacer la ligne+:::::::::par+@IT_EMP:::::::::Maintenant, seules les données pour les
utilisateurs définis dans le groupe réseau
IT_EMP sont importées dans la base
de données de mots de passe de war et
seuls ces utilisateurs sont autorisés à ouvrir
une session.Malheureusement, cette limitation s'applique
également à la fonction ~ de
l'interpréteur de commandes et toutes les routines de
conversion entre nom d'utilisateur et identifiant
numérique d'utilisateur. En d'autres termes,
cd ~utilisateur
ne fonctionnera pas, et ls -l affichera
l'ID numérique à la place du nom d'utilisateur
et find . -user joe -print échouera
avec le message d'erreur No such user.
Pour corriger cela, vous devrez importer toutes les
entrées d'utilisateurs sans leur autoriser
l'ouverture de session sur vos serveurs.Cela peut être fait en ajoutant une autre ligne au
fichier /etc/master.passwd. Cette ligne
devrait contenir:+:::::::::/sbin/nologin, signifiant
“Importer toutes les entrées mais remplacer
l'interpréteur de commandes avec
/sbin/nologin dans les entrées
importées”. Vous pouvez remplacer n'importe quel
champ dans l'entrée passwd en
plaçant une valeur par défaut dans votre fichier
/etc/master.passwd.Assurez-vous que
+:::::::::/sbin/nologin est placée
après +@IT_EMP:::::::::. Sinon,
tous les comptes utilisateur importés du NIS auront
/sbin/nologin comme interpréteur
de commandes.Après cette modification, vous ne devrez uniquement
que modifier une des tables NIS si un nouvel employé
rejoint le département IT. Vous pourrez utiliser une
approche similaire pour les serveurs moins importants en
remplaçant l'ancienne ligne
+::::::::: dans leur version locale de
/etc/master.passwd avec quelque chose de
semblable à ceci:+@IT_EMP:::::::::
+@IT_APP:::::::::
+:::::::::/sbin/nologinLes lignes correspondantes pour les stations de travail
normales seraient:+@IT_EMP:::::::::
+@USERS:::::::::
+:::::::::/sbin/nologinTout était parfait jusqu'au changement de politique
quelques semaines plus tard: le département IT
commença à engager des internes. Les internes
du département IT sont autorisés à
utiliser les stations de travail normales et les serveurs les
moins importants; les apprentis du département IT sont
autorisés à ouvrir des sessions sur les serveurs
principaux. Vous ajoutez alors un nouveau groupe
réseau IT_INTERN, ajoutez les
nouveaux internes IT à ce groupe réseau et
commencez à modifier la configuration sur chaque
machine... Comme disait l'ancien: “Erreurs dans la
planification centralisée mènent à un
désordre général”.La capacité de NIS à créer des
groupes réseau à partir d'autres groupes
réseau peut être utilisée pour
éviter de telles situations. Une possibilité
est la création de groupes réseau basés
sur le rôle du groupe. Par exemple vous pourriez
créer un groupe réseau appelé
BIGSRV pour définir les restrictions
d'ouverture de session pour les serveurs importants, un autre
groupe réseau appelé SMALLSRV
pour les serveurs moins importants et un troisième
groupe réseau nommé USERBOX
pour les stations de travail normales. Chacun de ces groupes
réseau contient les groupes réseau
autorisés à ouvrir des sessions sur ces
machines. Les nouvelles entrées pour la table NIS de
groupes réseau devrait ressembler à ceci:BIGSRV IT_EMP IT_APP
SMALLSRV IT_EMP IT_APP ITINTERN
USERBOX IT_EMP ITINTERN USERSCette méthode qui consiste à définir
des restrictions d'ouverture de session fonctionne
relativement bien si vous pouvez définir des groupes de
machines avec des restrictions identiques. Malheureusement,
ceci est une exception et pas une
généralité. La plupart du temps, vous
aurez besoin de définir des restrictions d'ouverture de
session par machine.La définition de groupes réseau
spécifiques aux machines est une autre
possibilité pour traiter la modification de politique
soulignée précédement. Dans ce
scénario, le fichier
/etc/master.passwd de chaque machine
contient deux lignes débutant par “+”. La
première ajoute un groupe réseau avec les
comptes autorisés à ouvrir une session sur cette
machine, la seconde ajoute tous les comptes avec
l'interpréteur de commandes
/sbin/nologin. C'est une bonne
idée d'utiliser des majuscules pour le nom de la
machine ainsi que celui du groupe réseau. Dans
d'autres termes, les lignes en question devraient être
semblables à:+@NOMMACHINE:::::::::
+:::::::::/sbin/nologinUne fois cette tâche achevée pour toutes vos
machines, vous n'aurez plus jamais à modifier les
versions locales du fichier
/etc/master.passwd. Tous les changements
futurs peuvent être gérés en modifiant la
table NIS. Voici un exemple d'une table de groupes
réseau possible pour ce scénario avec quelques
petits plus:# Définir tout d'abord les groupes d'utilisateurs
IT_EMP (,alpha,test-domain) (,beta,test-domain)
IT_APP (,charlie,test-domain) (,delta,test-domain)
DEPT1 (,echo,test-domain) (,foxtrott,test-domain)
DEPT2 (,golf,test-domain) (,hotel,test-domain)
DEPT3 (,india,test-domain) (,juliet,test-domain)
ITINTERN (,kilo,test-domain) (,lima,test-domain)
D_INTERNS (,able,test-domain) (,baker,test-domain)
#
# Définir, maintenant, des groupes basés sur les rôles
USERS DEPT1 DEPT2 DEPT3
BIGSRV IT_EMP IT_APP
SMALLSRV IT_EMP IT_APP ITINTERN
USERBOX IT_EMP ITINTERN USERS
#
# Et un groupe pour les tâches spéciales
# Permettre à echo et golf d'accéder à notre machine anti-virus
SECURITY IT_EMP (,echo,test-domain) (,golf,test-domain)
#
# les groupes réseau basés sur un ensemble de machines
# Nos principaux serveurs
WAR BIGSRV
FAMINE BIGSRV
# L'utilisateur india a besoin d'un accès à ce serveur
POLLUTION BIGSRV (,india,test-domain)
#
# Celle-ci est très importante et nécessite plus de restrictions d'accès
DEATH IT_EMP
#
# La machine anti-virus mentionnée précédemment
ONE SECURITY
#
# Restreindre l'accès à une machine à un seul utilisateur
TWO (,hotel,test-domain)
# [...d'autres groupes suivent]Si vous utilisez une sorte de base de données pour
gérer vos comptes utilisateur, vous devriez pouvoir
créer la première partie de la table avec les
outils de votre base de données. De cette
façon, les nouveaux utilisateurs auront automatiquement
accès aux machines.Dernier avertissement: il n'est pas toujours
conseillé d'utiliser des groupes réseau
basés sur les machines. Si vous déployez
quelques douzaines ou même centaines de machines
identiques pour des laboratoires pour étudiants, vous
devriez utiliser des groupes basés sur les types
d'utilisateurs plutôt que sur les machines pour
conserver la taille de la table NIS dans des limites
raisonables.Les choses importantes à ne pas oublierIl y a un certain nombre de choses que vous devrez
effectuer différement maintenant que vous êtes
dans un environnement NIS.A chaque fois que vous désirez ajouter un
utilisateur au laboratoire, vous devez l'ajouter
uniquement sur le serveur NIS et
vous devez ne pas oublier de reconstruire les
tables NIS. Si vous oubliez de le faire, le
nouvel utilisateur ne pourra pas ouvrir de session en dehors
du serveur maître NIS. Par exemple, si nous devons
ajouter au laboratoire un nouvel utilisateur
jsmith, nous ferions:&prompt.root; pw useradd jsmith
&prompt.root; cd /var/yp
&prompt.root; make test-domainVous pouvez lancer adduser jsmith
à la place de pw useradd
jsmith.Conservez les comptes d'administration en
dehors des tables NIS. Vous ne voulez pas
propager les comptes et mots de passe d'administration sur
les machines qui auront des utilisateurs qui ne devraient
pas avoir accès à ces comptes.Sécurisez les serveurs maître
- et esclave NIS, et reduisez leur temps
+ et esclave NIS, et réduisez leur temps
d'arrêt. Si quelqu'un tente soit
d'attaquer soit de simplement arrêter ces machines, de
nombreuses personnes ne pourront plus ouvrir de session dans
le laboratoire.C'est la principale faiblesse d'un système
d'administration centralisée. Si vous ne
protégez pas vos serveurs NIS, vous aurez à
faire face à de nombreux utilisateurs
mécontents!Compatibilité NIS version 1ypserv sous &os; offre un
support des clients NIS version 1. L'implémentation
NIS de &os; utilise uniquement le protocole NIS version 2,
cependant d'autres implémentations disposent du support
pour le protocole version 1 pour des raisons de
compatibilité avec d'anciens systèmes. Les
“daemons” ypbind
fournis avec ces systèmes tenteront de s'attacher
à un serveur NIS version 1 même s'ils n'en ont
pas besoin (et ils pourront continuer à diffuser des
requêtes pour en trouver un même après
avoir reçu une réponse d'un serveur NIS version
2). Notez que bien que les requêtes des clients normaux
soient supportées, cette version
d'ypserv ne supporte pas les
- requêtes de tranfert de tables version 1; par
+ requêtes de transfert de tables version 1; par
conséquent il n'est pas possible de l'utiliser comme
serveur maître ou esclave avec des serveurs NIS plus
anciens qui ne supportent que la version 1 du protocole.
Heureusement, il n'y a, aujourd'hui, presque plus de serveurs
de ce type actifs.Serveurs NIS qui sont aussi des clients NISIl faut faire attention quand on utilise
ypserv dans un domaine avec
plusieurs serveurs NIS qui sont également des clients
NIS. Il est en général préférable
de forcer les serveurs de se rattacher à
eux-mêmes plutôt que de les laisser diffuser des
- requêtes de rattachement et eventuellement se rattacher
+ requêtes de rattachement et éventuellement se rattacher
réciproquement les uns aux autres. Il peut en
résulter de curieux problèmes si l'un des
serveurs tombe et que d'autres en dépendent. Tous les
clients finiront par dépasser leur délai
d'attente et se tenteront de se rattacher à d'autres
serveurs, mais ce délai peut être
considérable et le problème persistera puisque
les serveurs peuvent à nouveau se rattacher les uns aux
autres.Vous pouvez obliger une machine à se rattacher
à un serveur particulier en exécutant
ypbind avec l'option .
Si vous ne désirez pas faire cela à la main
à chaque fois que vous redémarrez votre serveur
- NIS, vous pouvez ajouter les lignes quivantes à votre
+ NIS, vous pouvez ajouter les lignes suivantes à votre
fichier /etc/rc.conf:nis_client_enable="YES" # run client stuff as well
nis_client_flags="-S NIS domain,server"Voir la page de manuel de &man.ypbind.8; pour plus
d'informations.Formats des mots de passeNISformats des mots de passeUn des problèmes les plus courants que l'on
rencontre en mettant en oeuvre NIS est celui de la
compatibilité des formats de mots de passe. Si votre
serveur NIS utilise des mots de passe chiffrés avec
l'algorithme DES, il ne supportera que les clients utilisant
également DES. Par exemple, si vous avez des client NIS
&solaris; sur votre réseau, alors vous aurez presque
certainement besoin d'utiliser des mots de passe chiffrés
avec le système DES.Pour déterminer quel format vos serveurs et clients
utilisent, consultez le fichier
/etc/login.conf. Si la machine est
configurée pour utiliser des mots de passe
chiffrés avec DES, alors la classe
default contiendra une entrée comme
celle-ci:default:\
:passwd_format=des:\
:copyright=/etc/COPYRIGHT:\
[Entrées suivantes omises]D'autres valeurs possibles pour la capacité
passwd_format sont blf
et md5 (respectivement pour les chiffrages
de mots de passe Blowfish et MD5).Si vous avez modifié le fichier
/etc/login.conf, vous devrez
également regénérer la base de
données des capacités de classes de session, ce
qui est accompli en exécutant la commande suivante en
tant que root:&prompt.root; cap_mkdb /etc/login.confLe format des mots de passe utilisés dans
/etc/master.passwd ne sera pas mis
à jour avant qu'un utilisateur ne change son mot de
passe pour la première fois
après la
- regénération de la base de données des
+ régénération de la base de données des
capacités de classes de session.Ensuite, afin de s'assurer que les mots de passe sont
chiffrés avec le format que vous avez choisi, vous
devez vérifier que l'entrée
crypt_default dans le fichier
/etc/auth.conf donne la priorité
au format de mots de passe choisi. Par exemple, quand les
mots de passe DES sont utilisés, l'entrée
serait:crypt_default = des blf md5En suivant les points précédents sur chaque
serveur et client NIS sous &os;, vous pouvez être
sûr qu'ils seront tous d'accord sur le format de mot de
passe utilisé dans le réseau. Si vous avez des
problèmes d'authentification sur un client NIS, c'est
probablement la première chose à
vérifier. Rappelez-vous: si vous désirez mettre
en place un serveur NIS pour un réseau
hétérogène, vous devrez probablement
utiliser DES sur tous les systèmes car c'est le
standard le plus courant.GregSutterEcrit par Configuration réseau automatique (DHCP)Qu'est-ce que DHCP?Dynamic Host Configuration ProtocolDHCPInternet Software Consortium (ISC)DHCP, le protocole d'attribution dynamique des adresses
(“Dynamic Host Configuration Protocol”),
décrit les moyens par lesquels un système peut
se connecter à un réseau et obtenir les
informations nécessaires pour dialoguer sur ce
- réseau. &os; utilise l'implémentaion DHCP de
+ réseau. &os; utilise l'implémentation DHCP de
l'ISC (Internet Software Consortium), aussi toutes les
informations spécifiques à
l'implémentation, ici, concernent la version
distribuée par l'ISC.Ce que traite cette sectionCette section décrit les composants
côté client et côté serveur du
système DHCP ISC. Le programme client,
dhclient, est intégré
à &os;, la partie serveur est disponible à
partir du logiciel porté net/isc-dhcp3-server. Les pages de
manuel &man.dhclient.8;, &man.dhcp-options.5;, et
&man.dhclient.conf.5;, en plus des références
données plus bas, sont des ressources utiles.Comment cela fonctionne-t-il?UDPQuand dhclient, le client DHCP, est
exécuté sur la machine cliente, il commence
à diffuser des requêtes de demandes d'information
de configuration. Par défaut, ces requêtes sont
effectuées sur le port UDP 68. Le serveur
répond sur le port UDP 67, fournissant au client une
adresse IP et d'autres informations réseau importantes
comme le masque de sous-réseau, les routeurs, et les
serveurs DNS. Toutes ces informations viennent sous la forme
d'un “bail” DHCP qui est uniquement valide pendant
un certain temps (configuré par l'administrateur du
serveur DHCP). De cette façon, les adresses IP
expirées pour les clients qui ne sont plus
connectés peuvent être automatiquement
récupérées.Les clients DHCP peuvent obtenir une grande
quantité d'informations à partir du serveur.
- Une liste eshaustive est donnée dans la page de manuel
+ Une liste exhaustive est donnée dans la page de manuel
&man.dhcp-options.5;.Intégration dans &os;Le client DHCP ISC, dhclient, est
complètement intégré à &os;. Le
support du client DHCP est fourni avec l'installeur et le
système de base, rendant évident le besoin d'une
connaissance détaillée des configurations
réseaux pour n'importe quel réseau utilisant un
serveur DHCP. dhclient fait partie de
toutes les versions de &os; depuis la version 3.2.sysinstallDHCP est supporté par
sysinstall. Quand on configure une
interface réseau sous
sysinstall, la deuxième
question posée est: “Voulez-vous tenter la
configuration DHCP de l'interface?”.
Répondre par l'affirmative à cette question
lancera dhclient, et en cas de
- succès, complètera automatiquement les
+ succès, complétera automatiquement les
informations de configuration réseau.Vous devez faire deux choses pour que votre système
utilise DHCP au démarrage:DHCPprérequisAssurez-vous que le périphérique
bpf est compilé dans votre
noyau. Pour cela, vous devez ajouter la ligne
device bpf (pseudo-device
bpf sous &os; 4.X) à votre fichier
de configuration du noyau, et recompiler le noyau. Pour
plus d'informations sur la compilation de noyaux,
consultez le .Le périphérique
bpf est déjà
présent dans le noyau GENERIC
qui est fourni avec &os;, vous ne devez donc pas
créer de noyau spécifique pour faire
fonctionner DHCP.Ceux qui sont particulièrement conscients de
l'aspect sécurité devraient noter que
bpf est également le
périphérique qui permet le fonctionnement de
“renifleurs” de paquets (de tels programmes
doivent être lancés sous l'utilisateur
root). bpfest nécessaire pour utiliser
DHCP, mais si vous êtes très sensible
à la sécurité, vous ne devriez
probablement pas ajouter bpf
à votre noyau parce que vous projetez d'utiliser
DHCP dans le futur.Editez votre fichier /etc/rc.conf
pour y ajouter ce qui suit:ifconfig_fxp0="DHCP"Assurez-vous de bien remplacer
fxp0 par l'interface que vous voulez
configurer de façon dynamique comme décrit
dans la .Si vous utilisez un emplacement différent pour
dhclient, ou si vous désirez
passer des arguments supplémentaires à
dhclient, ajoutez ce qui suit (en
effectuant des modifications si nécessaire):dhcp_program="/sbin/dhclient"
dhcp_flags=""DHCPserveurLe serveur DHCP, dhcpd, fait
partie du logiciel porté net/isc-dhcp3-server disponible dans
le catalogue des logiciels portés. Ce logiciel
porté contient le serveur DHCP ISC et sa
documentation.FichiersDHCPfichiers de configuration/etc/dhclient.confdhclient nécessite un
fichier de configuration,
/etc/dhclient.conf.
Généralement le fichier ne contient que des
commentaires, les valeurs par défaut étant
suffisantes. Ce fichier de configuration est décrit
par la page de manuel &man.dhclient.conf.5;./sbin/dhclientdhclient est lié
statiquement et réside dans le répertoire
/sbin. La page de
manuel &man.dhclient.8; donne beaucoup plus d'informations
au sujet de dhclient./sbin/dhclient-scriptdhclient-script est la
procédure de configuration du client DHCP
spécifique à &os;. Elle est décrite
dans la page de manuel &man.dhclient-script.8;, mais ne
devrait pas demander de modification de la part de
l'utilisateur pour fonctionner correctement./var/db/dhclient.leasesLe client DHCP conserve une base de données des
baux valides, qui est écrite comme un fichier
journal. La page de manuel &man.dhclient.leases.5; en donne
une description légèrement plus longue.Lecture supplémentaireLe protocole DHCP est intégralement décrit
dans la RFC
2131. Des informations sont également
disponibles à l'adresse .Installer et configurer un serveur DHCPCe que traite cette sectionCette section fournit les informations
nécessaires à la configuration d'un
système &os; comme serveur DHCP en utilisant
l'implémentation ISC (Internet Software Consortium)
de l'ensemble DHCP.La partie serveur n'est pas fournie dans le
système de base de &os;, et vous devrez installer
le logiciel porté net/isc-dhcp3-relay pour
bénéficier de ce service. Lisez le pour plus d'information sur l'utilisation
du catalogue des logiciels portés.Installation d'un serveur DHCPDHCPinstallationAfin de configurer votre système &os; en
serveur DHCP, vous devrez vous assurer que le support du
périphérique &man.bpf.4; est compilé
dans votre noyau. Pour cela ajouter la ligne
device bpf (pseudo-device
bpf sous &os; 4.X) dans votre fichier de
configuration du noyau. Pour plus d'information sur la
compilation de noyaux, consultez le .Le périphérique
bpf est déjà
présent dans le noyau GENERIC
qui est fourni avec &os;, vous ne devez donc pas
créer de noyau spécifique pour faire
fonctionner DHCP.Ceux qui sont particulièrement conscients de
l'aspect sécurité devraient noter que
bpf est également le
périphérique qui permet le fonctionnement de
“renifleurs” de paquets (de tels programmes
nécessitent également un accès avec
privilèges). bpfest nécessaire pour utiliser
DHCP, mais si vous êtes très sensible
à la sécurité, vous ne devriez
probablement pas ajouter bpf
à votre noyau parce que vous projetez d'utiliser
DHCP dans le futur.Il vous reste ensuite à éditer le
fichier dhcpd.conf d'exemple qui a
été installé par le logiciel
porté net/isc-dhcp3-server. Par
défaut, cela sera
/usr/local/etc/dhcpd.conf.sample, et
vous devriez le copier vers
/usr/local/etc/dhcpd.conf avant de
commencer vos modifications.Configuration du serveur DHCPDHCPdhcpd.confdhcpd.conf est composé de
déclarations concernant les masques de
sous-réseaux et les machines, il est
peut-être plus facile à expliquer à
l'aide d'un exemple:option domain-name "example.com";
option domain-name-servers 192.168.4.100;
option subnet-mask 255.255.255.0;
default-lease-time 3600;
max-lease-time 86400;
ddns-update-style none;
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.129 192.168.4.254;
option routers 192.168.4.1;
}
host mailhost {
hardware ethernet 02:03:04:05:06:07;
fixed-address mailhost.example.com;
}Cette option spécifie le domaine qui sera
donné aux clients comme domaine par
défaut. Consultez la page de manuel de
&man.resolv.conf.5; pour plus d'information sur sa
signification.Cette option donne une liste,
séparée par des virgules, de serveurs DNS
que le client devrait utiliser.Le masque de sous-réseau qui sera fourni
aux clients.Un client peut demander un bail d'une durée
bien précise. Sinon par défaut le serveur
alloue un bail avec cette durée avant expiration
(en secondes).C'est la durée maximale d'allocation
autorisée par le serveur. Si un client demande
un bail plus long, le bail sera accordé mais il
ne sera valide que durant
max-lease-time secondes.Cette option indique si le serveur DHCP doit
tenter de mettre à jour le DNS quand un bail
est accepté ou révoqué. Dans
l'implémentation ISC, cette option est
obligatoire.Ceci indique quelles adresses IP devraient
être utilisées dans l'ensemble des adresses
réservées aux clients. Les adresses
comprises dans l'intervalle spécifiée sont
allouées aux clients.Définit la passerelle par défaut
fournie aux clients.L'adresse matérielle MAC d'une machine (de
manière à ce que le serveur DHCP puisse
reconnaître une machine quand elle envoie une
requête).Indique que la machine devrait se voir attribuer
toujours la même adresse IP. Notez que
l'utilisation d'un nom de machine ici est correct,
puisque le serveur DHCP effectuera une
résolution de nom sur le nom de la machine
avant de renvoyer l'information sur le bail.Une fois l'écriture de votre fichier
dhcpd.conf terminée, vous
pouvez lancer le serveur en tapant la commande
suivante:&prompt.root; /usr/local/etc/rc.d/isc-dhcpd.sh startSi vous devez, dans le futur, effectuer des
changements dans la configuration de votre serveur, il est
important de savoir que l'envoi d'un signal
SIGHUP à
dhcpd ne provoque
pas le rechargement de la
configuration, contrairement à la plupart des
“daemons”. Vous devrez envoyer un signal
SIGTERM pour arrêter le
processus, puis le relancer en utilisant la commande
ci-dessus.FichiersDHCPfichier de configuration/usr/local/sbin/dhcpddhcpd est lié
statiquement et réside dans le répertoire
/usr/local/sbin.
La page de manuel &man.dhcpd.8; installée avec le
logiciel porté donne beaucoup plus d'informations
au sujet de dhcpd./usr/local/etc/dhcpd.confdhcpd nécessite
un fichier de configuration,
/usr/local/etc/dhcpd.conf avant de
pouvoir commencer à offrir ses services aux
client. Ce fichier doit contenir toutes les
informations à fournir aux clients qui seront
traités, en plus des informations concernant le
fonctionnement du serveur. Ce fichier de configuration
est décrit par la page de manuel
&man.dhcpd.conf.5; installée par le logiciel
porté./var/db/dhcpd.leasesLe serveur DHCP conserve une base de
données des baux qu'il a délivré,
qui est écrite comme un fichier journal. La page
de manuel &man.dhcpd.leases.5; installée par le
logiciel porté en donne une description
légèrement plus longue./usr/local/sbin/dhcrelaydhcrelay est
- utilisé dans les environements avancés
+ utilisé dans les environnements avancés
où un serveur DHCP fait suivre la requête
d'un client vers un autre serveur DHCP sur un
réseau séparé. Si vous avez besoin
de cette fonctionnalité, installez alors le
logiciel porté net/isc-dhcp3-server. La page
de manuel &man.dhcrelay.8; fournie avec le logiciel
porté contient plus de détails.ChernLeeContribution de Serveurs de noms (DNS)GénéralitésBIND&os; utilise, par défaut, BIND (Berkeley Internet
Name Domain), qui est l'implémentation la plus courante
du protocole DNS. Le DNS est le protocole qui effectue la
correspondance entre noms et adresses IP, et inversement. Par
exemple une requête pour www.FreeBSD.org aura pour réponse
l'adresse IP du serveur Web du projet &os;, et une
requête pour ftp.FreeBSD.org renverra l'adresse IP de
la machine FTP correspondante. De même, l'opposé
est possible. Une requête pour une adresse IP retourne
son nom de machine. Il n'est pas nécessaire de faire
tourner un serveur DNS pour effectuer des requêtes DNS
sur un système.DNSLe DNS est coordonné sur l'Internet à
travers un système complexe de serveurs de noms racines
faisant autorité, et d'autres serveurs de noms de plus
petites tailles qui hébergent, directement ou font office
de “cache”, l'information pour des domaines
individuels.Ce document fait référence à BIND
8.x, comme c'est la version stable utilsée dand &os;.
BIND 9.x peut être installée à l'aide du
logiciel porté net/bind9.Les RFC1034 et RFC1035 régissent le protocole
DNS.Actuellement, BIND est maintenu par l'Internet Software
Consortium .TerminologiePour comprendre ce document, certains termes relatifs
au DNS doivent être maîtrisés.résolveurDNS inversezone racineTermeDefinition“Forward“ DNSCorrespondance noms de machine vers adresses
IP.OrigineFait référence au domaine couvert
par un fichier de zone particulier.named, BIND, serveur
de nomsNoms courants pour le serveur de noms BIND de
&os;ResolveurUn processus système par
l'intermédiaire duquel une machine contacte un
serveur de noms pour obtenir des informations sur une
zone.DNS inverseC'est l'inverse du DNS “classique”
(“Forward“ DNS). C'est la correspondance
adresses IP vers noms de machine.Zone racineDébut de la hiérarchie de la zone
Internet. Toutes les zones sont rattachées
à la zone racine, de la même
manière qu'un système de fichier est
rattaché au répertoire racine.ZoneUn domaine individuel, un sous-domaine, ou une
partie des noms administrés par un même
serveur faisant autorité.zonesexemplesExemples de zones:. est la zone racineorg. est une zone sous la
zone racineexample.org. est une
zone sous la zone org.foo.example.org.
est un sous-domaine, une zone sous la zone example.org.1.2.3.in-addr.arpa est une zone faisant
référence à toutes les adresses IP
qui appartiennent l'espace d'adresse 3.2.1.*.Comme on peut le remarquer, la partie la plus
significative d'un nom de machine est à sa gauche. Par
exemple, example.org. est
plus spécifique que org., comme
org. est à son tour plus
spécifique que la zone racine. La constitution de
chaque partie d'un nom de machine est proche de celle d'un
système de fichiers: le répertoire /dev se trouve sous la racine, et
ainsi de suite.Les raisons de faire tourner un serveur de nomsLes serveurs de noms se présentent
généralement sous deux formes: un serveur de
noms faisant autorité, et un serveur de noms
cache.Un serveur de noms faisant autorité est
nécessaire quand:on désire fournir des informations DNS au reste
du monde, être le serveur faisant autorité lors
des réponses aux requêtes.un domaine, comme par exemple
example.org, est
enregistré et des adresses IP doivent être
assignées à des noms de machine appartenant
à ce domaine.un bloc d'adresses IP nécessite des
entrées DNS inverses (IP vers nom de machine).un serveur de noms de secours, appelé esclave,
doit répondre aux requêtes quand le serveur
primaire est tombé ou inaccessible.Un serveur de noms cache est nécessaire
quand:un serveur de noms local peut faire office de cache
et répondre plus rapidement que l'interrogation
d'un serveur de noms extérieur.une réduction du trafic réseau global
est désirée (il a été
mesuré que 5% ou plus du trafic Internet total
concerne le trafic DNS).Quand on émet des requêtes pour www.FreeBSD.org, le résolveur
interroge généralement le serveur de noms du
fournisseur d'accès, et récupère la
réponse. Avec un serveur DNS cache local, la
requête doit être effectuée qu'une seule
fois vers le monde extérieur par le serveur DNS cache.
Chaque interrogation suivante n'aura pas à être
transmise en dehors du réseau local, puisque
l'information est désormais disponible localement dans
le cache.Comment cela fonctionne-t-il?Sous &os; le “daemon” BIND est appelé
named pour des raisons
évidentes.FichierDescriptionnamedle “daemon” BINDndcle programme de contrôle du
“daemon”/etc/namedbrépertoire où se trouvent les
informations sur les zones de BIND/etc/namedb/named.confle fichier de configuration du
“daemon”Les fichiers de zone sont généralement
stockés dans le répertoire /etc/namedb, et contiennent les
informations concernant les zones DNS gérées par
le serveur de noms.Lancer BINDBINDlancementPuisque BIND est installé par défaut, sa
configuration est relativement simple.Pour s'assurer que le “daemon”
named est lancé au
démarrage, ajoutez la ligne suivante dans
/etc/rc.conf:named_enable="YES"Pour démarrer le “daemon” manuellement
(après l'avoir configuré):&prompt.root; ndc startFichiers de configurationBINDfichiers de configurationUtilisation de
make-localhostAssurez-vous d'effectuer:&prompt.root; cd /etc/namedb
&prompt.root; sh make-localhostpour générer correctement le fichier de
zone DNS inverse
/etc/namedb/localhost.rev./etc/namedb/named.conf// $FreeBSD$
//
// Reportez-vous à la page de manuel named(8) pour plus de
// détails. Si vous devez configurer un serveur primaire
// assurez-vous d'avoir compris les détails épineux du
// fonctionnement du DNS. Même avec de simples erreurs, vous
// pouvez rompre la connexion entre les parties affectées, ou
// causer un important trafic Internet inutile.
options {
directory "/etc/namedb";
// En plus de la clause "forwarders", vous pouvez forcer votre serveur
// de noms à ne jamais être à l'origine de
// requêtes, mais plutôt faire suivre les demandes en
// activant la ligne suivante:
//
// forward only;
// Si vous avez accès à un serveur de noms au niveau de
// votre fournisseur d'accès, ajoutez ici son adresse IP, et
// activez la ligne ci-dessous. Cela vous permettra de
// bénéficier de son cache, réduisant ainsi le
// trafic Internet.
/*
forwarders {
127.0.0.1;
};
*/Comme les commentaires le précisent, pour
bénéficier d'un cache en amont de votre
connexion, le paramètre forwarders
peut être activé. Dans des circonstances
normales, un serveur de noms interrogera de façon
récursive certains serveurs de noms jusqu'à
obtenir la réponse à sa requête. Avec
ce paramètre activé, votre serveur interrogera
le serveur de noms en amont (ou le serveur de noms fourni)
en premier, en bénéficiant alors de son cache.
Si le serveur en question gère beaucoup de trafic, et
est un serveur rapide, activer cette option peut en valoir
la peine.127.0.0.1
ne fonctionnera pas ici. Remplacez
cette adresse IP par un serveur de noms en amont de votre
connexion. /*
* S'il y a un coupe-feu entre vous et les serveurs de noms
* avec lesquels vous voulez communiquer, vous aurez
* peut-être besoin de décommenter la directive
* query-source ci-dessous. Les versions
* précédentes de BIND lançaient des
* requêtes à partir du port 53, mais depuis la
* version 8.1, BIND utilise
* par défaut un port quelconque non
* réservé.
*/
// query-source address * port 53;
/*
* Si exécution dans un "sandbox", vous pourrez avoir
* à indiquer un emplacement différent pour le
* fichier de sortie de la base de données.
*/
// dump-file "s/named_dump.db";
};
// Note: ce qui suit sera supporté dans une future version.
/*
host { any; } {
topology {
127.0.0.0/8;
};
};
*/
// Configurer des serveurs secondaires est plus simple et le principe
// général est présenté plus bas.
//
// Si vous activez un serveur de noms local, n'oubliez pas d'entrer
// 127.0.0.1 dans votre fichier /etc/resolv.conf de sorte que ce
// serveur soit interrogé le premier. Assurez-vous
// également de l'activer dans /etc/rc.conf.
zone "." {
type hint;
file "named.root";
};
zone "0.0.127.IN-ADDR.ARPA" {
type master;
file "localhost.rev";
};
zone
"0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.INT" {
type master;
file "localhost.rev";
};
// NB: N'utilisez pas les adresses IP ci-dessous, elles sont factices,
// et ne servent que pour des besoins de
// démonstration/documentation!
//
// Exemple d'entrées de configuration de serveur secondaire.
// Il peut être pratique de devenir serveur secondaire pour la
// zone à laquelle appartient votre domaine. Demandez à
// votre administrateur réseau l'adresse IP du serveur primaire
// responsable de la zone.
//
// N'oubliez jamais d'inclure la résolution de la zone inverse
// (IN-ADDR.ARPA)!
// (Ce sont les premiers octets de l'adresse IP, en ordre inverse,
// auxquels ont a ajouté ".IN-ADDR.ARPA".)
//
// Avant de commencer à configurer une zone primaire, il faut
// être sûr que vous avez parfaitement compris comment le
-// DNS et BIND fonctionnent. Il apparait parfois des pièges
+// DNS et BIND fonctionnent. Il apparaît parfois des pièges
// peu évidents à saisir. En comparaison, configurer un
// serveur secondaire est plus simple.
//
// NB: N'activez pas aveuglément les exemples ci-dessous. :-)
// Utilisez des noms et des adresses réelles.
//
// NOTE!!! &os; exécute BIND dans un "sandbox" (voir l'option
// named_flags dans rc.conf). Le répertoire contenant les
// zones secondaires doit être accessible à BIND en
// écriture. La séquence suivante est
// suggérée:
//
// mkdir /etc/namedb/s
// chown bind:bind /etc/namedb/s
// chmod 750 /etc/namedb/sPour plus d'informations sur l'exécution de BIND
dans un “sandbox” (bac à sable),
consultez la section Exécution de named
dans un sandbox.
/*
zone "example.com" {
type slave;
file "s/example.com.bak";
masters {
192.168.1.1;
};
};
zone "0.168.192.in-addr.arpa" {
type slave;
file "s/0.168.192.in-addr.arpa.bak";
masters {
192.168.1.1;
};
};
*/Dans named.conf, ce sont des
exemples d'entrées d'un serveur esclave.Pour chaque nouvelle zone gérée, une
nouvelle entrée de zone doit être
ajoutée au fichier
named.conf.Par exemple, l'entrée de zone la plus simple
possible pour example.org
serait:zone "example.org" {
type master;
file "example.org";
};Ce sera un serveur maître pour la zone, comme
indiqué par l'option ,
concervant ses informations de zone dans le fichier
/etc/namedb/example.org comme
précisé par l'option
.zone "example.org" {
type slave;
file "example.org";
};Dans le cas d'un esclave, les informations concernant la
zone seront transférées à partir du
serveur maître pour la zone en question, et
sauvegardées dans le fichier indiqué. Si ou
lorsque le serveur maître tombe ou est inaccessible,
le serveur esclave disposera des informations de la zone
transférée et sera capable de les
diffuser.Fichiers de zoneUn exemple de fichier de zone maître pour example.org (défini dans
/etc/namedb/example.org) suit:$TTL 3600
example.org. IN SOA ns1.example.org. admin.example.org. (
5 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ) ; Minimum TTL
; Serveurs DNS
@ IN NS ns1.example.org.
@ IN NS ns2.example.org.
; Noms de machine
localhost IN A 127.0.0.1
ns1 IN A 3.2.1.2
ns2 IN A 3.2.1.3
mail IN A 3.2.1.10
@ IN A 3.2.1.30
; Alias
www IN CNAME @
; Enregistrement MX
@ IN MX 10 mail.example.org.Notez que chaque nom de machine se terminant par un
“.” est un nom de machine complet, alors que
tout ce qui se termine pas par un “.” est
référencé par rapport à une
origine. Par exemple, www sera traduit
en
www.origine.
Dans notre fichier de zone fictif, notre origine est
example.org., donc www
sera traduit en www.example.org.Le format d'un fichier de zone est le suivant:nom-enregistrement IN type-enregistrement valeurDNSenregistrementsLes enregistrements DNS les plus couramment
utilisés:SOAdébut des données de
zoneNSserveur de noms faisant
autoritéAadresse d'une machineCNAMEalias d'un nom de machineMXserveur de messagerie recevant le courrier
pour le domainePTRun pointeur sur un nom de domaine
(utilisé dans le DNS inverse)
example.org. IN SOA ns1.example.org. admin.example.org. (
5 ; Serial
10800 ; Refresh after 3 hours
3600 ; Retry after 1 hour
604800 ; Expire after 1 week
86400 ) ; Minimum TTL of 1 dayexample.org.le nom de domaine, également l'origine pour
ce fichier de zone.ns1.example.org.le serveur de noms primaire/faisant autorité
pour cette zone.admin.example.org.la personne responsable pour cette zone avec
le caractère “@” remplacé.
(admin@example.org devient
admin.example.org)5le numéro de série de ce fichier.
Celui-ci doit être incrémenté
à chaque modification du fichier de zone. De nos
jours, de nombreux administrateurs
préfèrent un format du type
aaaammjjrr pour le numéro de
série. 2001041002
signifierait dernière modification le 10/04/2001,
le 02 indiquant que c'est la seconde
fois que ce fichier a été
révisé ce jour. Le numéro de
série est important puisqu'il indique aux
serveurs de noms esclaves pour la zone une modification
de celle-ci.
@ IN NS ns1.example.org.C'est une entrée de type NS. Tous les serveurs
de noms qui doivent faire autorité pour la zone
devront inclure une de ces entrées. Le
caractère @ aurait pu être
remplacé par example.org.. Le
caractère @ étant
équivalent à l'origine.
localhost IN A 127.0.0.1
ns1 IN A 3.2.1.2
ns2 IN A 3.2.1.3
mail IN A 3.2.1.10
@ IN A 3.2.1.30Un enregistrement de type A indique des noms de machine.
Comme présenté ci-dessus ns1.example.org sera résolu en
3.2.1.2. Ici encore, le
symbôle d'origine, @, signifie que
example.org donnera pour résolution
d'adresse l'adresse 3.2.1.30.
www IN CNAME @L'enregistrement de type CNAME est
généralement utilisé pour créer
des alias à une machine. Dans l'exemple,
www est un alias de la machine
correspondant à l'origine, ou encore example.org (3.2.1.30). Les enregistrements CNAME
peuvent être utilisés pour fournir des alias
à des noms de machines, ou permettre la rotation
(“round robin”) d'un nom de machine entre
plusieurs machines.MX record
@ IN MX 10 mail.example.org.L'enregistrement MX indique quels serveurs de messagerie
sont responsables de la gestion du courrier entrant pour la
zone. mail.example.org est le
nom de machine du serveur de messagerie, et 10 étant
la priorité du serveur de messagerie.On peut avoir plusieurs serveurs de messagerie, avec des
priorités de 3, 2, 1. Un serveur de messagerie
tentant de transmettre du courrier au domaine example.org essaiera en premier
le MX avec la plus haute priorité, puis celui venant
en second, etc, jusqu'à ce que le courrier puisse
être correctement délivré.Pour les fichiers de zone in-addr.arpa (DNS inverse), le
même format est utilisé, à l'exception
du fait que des entrées PTR seront utilisées
en place de A ou CNAME.$TTL 3600
1.2.3.in-addr.arpa. IN SOA ns1.example.org. admin.example.org. (
5 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
3600 ) ; Minimum
@ IN NS ns1.example.org.
@ IN NS ns2.example.org.
2 IN PTR ns1.example.org.
3 IN PTR ns2.example.org.
10 IN PTR mail.example.org.
30 IN PTR example.org.Ce fichier donne la correspondance entre adresses IP et
noms de machines de notre domaine fictif.Serveur de noms cacheBINDserveur de noms cacheUn serveur de noms cache est un serveur de noms qui ne
fait autorité pour aucune zone. Il émet
simplement des requêtes, et se souvient du résultat
pour une utilisation ultérieure. Pour mettre en place un
tel serveur, configurez le serveur de noms comme à
l'accoutumé, en prenant bien soin de n'inclure aucune
zone.Exécution named dans un
“sandbox”BINDexécution dans un sandboxchrootPour plus de sécurité, il peut être
préférable d'exécuter &man.named.8; sous un
utilisateur sans privilèges, et le configurer pour
modifier l'emplacement de la racine du système de
fichiers (&man.chroot.8;) vers le répertoire du
“sandbox” (bac à sable). Ceci rend
inaccessible au “daemon”
named tout ce qui est situé en
dehors de l'environnement “sandbox”. Si
named est compromis, cela
réduira l'impact des dommages. Par défaut, &os;
dispose d'un utilisateur et d'un groupe appelé
bind, destiné à cet
usage.De nombreuses personnes recommanderont qu'à la
place de configurer named à
“chrooter”, vous devriez exécuter
named dans un environnement
&man.jail.8;. Cette section ne traitera pas ce cas de
figure.Puisque named ne sera pas en
mesure d'avoir accès à des
éléments extérieur au
“sandbox” (comme aux bibliothèques
partagées, aux “sockets” pour
- l'enregistrements des journaux, etc.), il y a un certain
+ l'enregistrement des journaux, etc.), il y a un certain
nombre d'étapes à suivre afin de permettre
à named un fonctionnement
correct. Dans la liste d'opérations qui suit, on
suppose que l'emplacement du “sandbox” est
/etc/namedb et que vous
n'avez pas précédemment modifié le
contenu de ce répertoire. Effectuez les étapes
suivantes en tant que root:Créer tous les répertoires que
named s'attend à
trouver:&prompt.root; cd /etc/namedb
&prompt.root; mkdir -p bin dev etc var/tmp var/run master slave
&prompt.root; chown bind:bind slave var/*named n'a besoin
uniquement que d'un accès en écriture
à ces répertoires, c'est tout ce que nous
lui donnerons.Réarranger les fichiers de configuration et
créer la zone:&prompt.root; cp /etc/localtime etc
&prompt.root; mv named.conf etc && ln -sf etc/named.conf
&prompt.root; mv named.root master
&prompt.root; sh make-localhost && mv localhost.rev localhost-v6.rev master
&prompt.root; cat > master/named.localhost
$ORIGIN localhost.
$TTL 6h
@ IN SOA localhost. postmaster.localhost. (
1 ; serial
3600 ; refresh
1800 ; retry
604800 ; expiration
3600 ) ; minimum
IN NS localhost.
IN A 127.0.0.1
^DCeci permet à named
d'utiliser des dates correctes lors de l'envoie des
journaux à &man.syslogd.8;.syslogjournauxDNSSi vous utilisez une version de &os; antérieure
à 4.9-RELEASE, compilez une version liée en
statique de named-xfer, et
copiez-la dans le “sandbox”:&prompt.root; cd /usr/src/lib/libisc
&prompt.root; make cleandir && make cleandir && make depend && make all
&prompt.root; cd /usr/src/lib/libbind
&prompt.root; make cleandir && make cleandir && make depend && make all
&prompt.root; cd /usr/src/libexec/named-xfer
&prompt.root; make cleandir && make cleandir && make depend && make NOSHARED=yes all
&prompt.root; cp named-xfer /etc/namedb/bin && chmod 555 /etc/namedb/bin/named-xferAprès avoir installé votre version
statique de named-xfer, un peu de
nettoyage est nécessaire pour éviter de
conserver des copies inutiles de bibliotèques ou de
programmes dans votre arborescence des sources:&prompt.root; cd /usr/src/lib/libisc
&prompt.root; make cleandir
&prompt.root; cd /usr/src/lib/libbind
&prompt.root; make cleandir
&prompt.root; cd /usr/src/libexec/named-xfer
&prompt.root; make cleandirIl a été signalé que cette
étape peut parfois échouer. Si cela vous
arrive, tapez alors la commande:&prompt.root; cd /usr/src && make cleandir && make cleandiret effacez votre arborescence
/usr/obj:&prompt.root; rm -fr /usr/obj && mkdir /usr/objCela devrait supprimer les éventuels
“scories” de votre arborescence des
sources, puis en réessayant les
opérations ci-dessus cela devrait enfin
fonctionner.Si vous utilisez &os; 4.9-RELEASE ou une version
suivante, alors la version de
named-xfer se trouvant dans le
répertoire /usr/libexec est liée
en statique par défaut, et vous pouvez tout
simplement utiliser la commande &man.cp.1; pour la copier
dans l'environnement “sandbox”.Créer un fichier spécial de
périphérique dev/null
dans lequel named peut lire et
écrire:&prompt.root; cd /etc/namedb/dev && mknod null c 2 2
&prompt.root; chmod 666 nullCréer un lien symbolique de
/var/run/ndc vers
/etc/namedb/var/run/ndc:&prompt.root; ln -sf /etc/namedb/var/run/ndc /var/run/ndcCeci évite tout simplement d'avoir à
spécifier l'option à
&man.ndc.8; à chaque fois que vous
l'exécutez. Comme le contenu du répertoire
/var/run est
effacé au démarrage, il peut être
utile d'ajouter cette commande dans le fichier
&man.crontab.5; de l'utilisateur
root en utilisant l'option
.syslogjournauxnamedConfigurer &man.syslogd.8; pour qu'il
créé une “socket”
supplémentaire log sur
laquelle named dispose d'un
accès en écriture. Pour cela, ajoutez
-l /etc/namedb/dev/log à la
variable syslogd_flags du fichier
/etc/rc.conf.chrootS'arranger à ce que
named démarre et se
“chroot” lui-même dans
l'environnement “sandbox” en ajoutant ce qui
suit au fichier /etc/rc.conf:named_enable="YES"
named_flags="-u bind -g bind -t /etc/namedb /etc/named.conf"Notez que l'emplacement du fichier de configuration
/etc/named.conf est
référencé par rapport un chemin
complet relatif au
“sandbox”, i.e. dans la ligne
au-dessus, le fichier auquel on fait
référence est en fait
/etc/namedb/etc/named.conf.L'étape suivante est d'éditer le fichier
/etc/namedb/etc/named.conf pour que
named puisse savoir quelles zones
charger et où les trouver sur le disque. Un exemple
commenté suit (tout ce qui n'est pas
spécifiquement commenté ici n'est pas
différent de la configuration d'un serveur DNS ne
tournant pas dans un “sandbox”):options {
directory "/";
named-xfer "/bin/named-xfer";
version ""; // Ne pas révéler la version de BIND
query-source address * port 53;
};
// socket de contrôle ndc
controls {
unix "/var/run/ndc" perm 0600 owner 0 group 0;
};
// Les zones:
zone "localhost" IN {
type master;
file "master/named.localhost";
allow-transfer { localhost; };
notify no;
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "master/localhost.rev";
allow-transfer { localhost; };
notify no;
};
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.int" {
type master;
file "master/localhost-v6.rev";
allow-transfer { localhost; };
notify no;
};
zone "." IN {
type hint;
file "master/named.root";
};
zone "private.example.net" in {
type master;
file "master/private.example.net.db";
allow-transfer { 192.168.10.0/24; };
};
zone "10.168.192.in-addr.arpa" in {
type slave;
masters { 192.168.10.2; };
file "slave/192.168.10.db";
};L'option directory est
définie par /,
puisque tous les fichiers dont
named a besoin sont dans ce
répertoire (ceci est équivalent au fichier
/etc/namedb d'un utilisateur
“normal”).Indique le chemin d'accès complet du binaire
named-xfer (à partir de
l'arborescence utilisée pour
named). Ceci est
nécessaire puisque named
est compilé pour chercher
named-xfer par défaut dans le
répertoire /usr/libexec.Indique le nom de fichier (relatif à la valeur
de directory plus haut) où
named le fichier de zone pour
cette zone.Indique le nom de fichier (relatif à la valeur
de directory plus haut) où
named devrait trouver une copie
du fichier de zone pour cette zone après l'avoir
transféré avec succès à partir
du serveur maître. C'est pourquoi nous avons eu
besoin de changer le propriétaire du
répertoire slave pour
bind dans les étapes de
configuration précédentes.Après avoir complétées les
étapes précédentes, redémarrez
votre serveur ou relancez &man.syslogd.8; et démarrez
&man.named.8;, en s'assurant de bien utiliser les nouvelles
options spécifiées dans les variables
syslogd_flags et
named_flags. Vous devriez disposez
maintenant d'une version de named
tournant dans un environnement “sandbox”!SécuritéBien que BIND soit l'implémentation la plus
courante du DNS, le problème de la
sécurité subsiste toujours. De possibles
problèmes de sécurité exploitables sont
parfois découvert.C'est une bonne idée de lire les avis de
sécurité du CERT et de s'inscrire
à la &a.security-notifications; pour se maintenir au
courant des problèmes de sécurité actuels
de l'Internet et de &os;.Si un problème surgit, conserver les sources
à jour et disposer d'une version compilée de
named récente ne seront pas
de trop.Lectures supplémentairesLes pages de manuel de
BIND/named: &man.ndc.8;
&man.named.8; &man.named.conf.5;.Page
officielle ISC concernant BINDFAQ
BINDDNS
et BIND 4ème Edition de chez O'ReillyRFC1034
- Domain Names - Concepts and FacilitiesRFC1035
- Domain Names - Implementation and
SpecificationTomRhodesEcrit par BIND9 et &os;bind9configurationL'arrivée de &os; 5.3 a apporté le
serveur DNS BIND9 dans la
distribution. De nouvelles fonctionnalités concernant la
sécurité, une nouvelle organisation des fichiers,
une configuration &man.chroot.8; automatisée, font partie
des nouveautés. Cette section est divisée en deux
parties, la première abordera les nouvelles
fonctionnalités et leur configuration, la seconde
traitera des mises à jours en vue d'aider la migration
vers &os; 5.3. A partir de cet instant, il sera fait
référence au serveur à l'aide du nom
&man.named.8; à la place de BIND.
Cette section fait l'impasse sur la terminologie
présentée dans la section précédente
tout comme sur une partie de la théorie, par
conséquent il est recommandé de consulter la
section précédente avant d'aller plus loin.Les fichiers de configuration pour
named se trouvent dans le
répertoire /var/named/etc/namedb/ et devront
être adaptés avant toute utilisation. C'est
là où la majeure partie de la configuration se
fera.Configuration d'une zone maîtrePour configurer une zone maître, il faut se rendre
dans le répertoire /var/named/etc/namedb/ et
exécuter la commande suivante:&prompt.root; sh make-localhostSi tout s'est bien passé, un nouveau fichier
devrait apparaître dans le répertoire master. Le nom du fichier
devrait être localhost.rev pour le
nom de domaine local et localhost-v6.rev
pour les configurations IPv6. Tout comme
le fichier de configuration par défaut, une
configuration pour son utilisation sera déjà
présente dans le fichier
named.conf.Configuration d'une zone esclaveLa configuration de domaines supplémentaires ou de
sous-domaines peut être faite sous la forme d'une zone
esclave. Dans la plupart des cas, le fichier
master/localhost.rev peut être
directement copié dans le répertoire slave et y être
modifié. Une fois complétés, les
fichiers doivent être ajoutés dans le fichier
named.conf comme dans la configuration
suivante pour example.com:zone "example.com" {
type slave;
file "slave/example.com";
masters {
10.0.0.1;
};
};
zone "0.168.192.in-addr.arpa" {
type slave;
file "slave/0.168.192.in-addr.arpa";
masters {
10.0.0.1;
};
};Notez que dans cet exemple, l'adresse
IP du maître est celle du serveur
primaire du domaine à partir duquel les zones sont
transférées; il ne joue pas
nécessairement le rôle de serveur
DNS en tant que tel.Configuration de l'initialisation du
systèmeAfin de lancer le daemonnamed au démarrage du
système, l'option suivante doit être
présente dans le fichier
rc.conf:named_enable="YES"Alors que d'autres options existent, cela
représente le minimum nécessaire. Consultez la
page de manuel de &man.rc.conf.5; pour une liste des autres
options disponibles. Si rien n'est présent dans le
fichier rc.conf alors
named peut être
exécuté à partir de la ligne de commande
en invoquant:&prompt.root; /etc/rc.d/named startLa sécurité et
BIND9Bien que &os; enferme automatique
named dans un environnement
- &man.chroot.8;, il exite plusieurs autres mécanismes de
+ &man.chroot.8;, il existe plusieurs autres mécanismes de
sécurité présents qui pourraient aider
à se prémunir contre de possibles attaques
DNS.Listes de contrôle d'accès des
requêtesUne liste de contrôle d'accès des
requêtes peut être employée pour
restreindre les requêtes sur certaines zones. La
configuration de cette liste fonctionne en
définissant le réseau concerné à
l'intérieur d'une directive acl
puis en listant les adresses IP dans la
configuration de zone. Pour autoriser des domaines à
envoyer des requêtes à la machine
utilisée en exemple, effectuez la définition
suivante:acl "example.com" {
192.168.0.0/24;
};
zone "example.com" {
type slave;
file "slave/example.com";
masters {
10.0.0.1;
};
allow-query { example.com; };
};
zone "0.168.192.in-addr.arpa" {
type slave;
file "slave/0.168.192.in-addr.arpa";
masters {
10.0.0.1;
};
allow-query { example.com; };
};Restreindre l'accès au numéro de
versionAutoriser les requêtes sur le numéro de
version du serveur DNS peut ouvrir les
portes à un agresseur. Un utilisateur malveillant
peut utiliser cette information pour rechercher les exploits
connus ou les bogues à utiliser contre la machine.
Une fausse chaîne de caractères de version peut
être placée dans la section
options du fichier
named.conf:options {
directory "/etc/namedb";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";
version "None of your business";MurrayStokelyContribution de Serveur HTTP Apacheserveur webconfigurationApacheGénéralités&os; est utilisé pour faire tourner certains des
sites les plus chargés au monde. La majorité
des serveurs web sur l'Internet utilisent le serveur HTTP
Apache. Les versions
pré-compilées
d'Apache devraient se trouver sur
le support d'installation de &os; que vous avez
utilisé. Si vous n'avez pas installé
Apache à l'installation de
&os;, alors vous pouvez installer le serveur à partir
du logiciel porté www/apache13 ou www/apache2.Une fois qu'Apache a
été installé avec succès, il doit
être configuré.Cette section traite de la version 1.3.X du serveur
HTTP Apache étant
donné que c'est la version la plus largement
utilisée sous &os;.
Apache 2.X introduit de
nombreuses nouvelles technologies mais elles ne sont pas
abordées ici. Pour plus d'informations concernant
Apache 2.X veuillez
consulter .ConfigurationApachefichier de configurationLe fichier principal de configuration du serveur HTTP
Apache est, sous &os;, le fichier
/usr/local/etc/apache/httpd.conf. Ce
fichier est un fichier texte de configuration &unix; typique
avec des lignes de commentaires débutant par un
caractère #. Une description
complète de toutes les options de configuration
possibles dépasse le cadre de cet ouvrage, aussi seules
les directives les plus fréquemment modifiées
seront décrites ici.ServerRoot "/usr/local"Indique le répertoire d'installation par
défaut pour l'arborescence
Apache. Les binaires sont
stockés dans les sous-répertoires bin et sbin de la racine du serveur,
et les fichiers de configuration dans etc/apache.ServerAdmin you@your.addressL'adresse électronique à laquelle tous
les problèmes concernant le serveur doivent
être rapportés. Cette adresse apparaît
sur certaines pages générées par le
serveur, comme des pages d'erreur.ServerName www.example.comLa directive ServerName vous
permet de fixer un nom de machine qui est renvoyé
aux clients de votre serveur si le nom est
différent de celui de la machine (i.e, utilisez
www à la place du véritable
nom de la machine).DocumentRoot "/usr/local/www/data"DocumentRoot est le
répertoire où se trouvent les documents que
votre serveur diffusera. Par défaut, toutes les
requêtes sont prises en compte par rapport à
ce répertoire, mais des liens symboliques et des
alias peuvent être utilisés pour pointer vers
d'autres emplacements.C'est toujours une bonne idée de faire des copies
de sauvegarde de votre fichier de configuration
d'Apache avant de faire des
modifications. Une fois que vous êtes satisfait avec
votre configuration, vous êtes prêt à
lancer Apache.Exécuter ApacheApachedémarrage ou
arrêtApache n'est pas lancé
à partir du “super-serveur”
inetd comme pour beaucoup d'autres
serveurs réseau. Il est configuré pour tourner
de façon autonome pour de meilleures performances
à la réception des requêtes HTTP des
navigateurs web. Une procédure est fournie pour rendre
le démarrage, l'arrêt, et le redémarrage
du serveur aussi simple que possible. Pour démarrer
Apache pour la première
fois, exécutez:&prompt.root; /usr/local/sbin/apachectl startVous pouvez arrêter le serveur à tout moment
en tapant:&prompt.root; /usr/local/sbin/apachectl stopAprès avoir effectué des modifications dans
le fichier de configuration, vous devez redémarrer le
serveur:&prompt.root; /usr/local/sbin/apachectl restartPour redémarrer Apache
sans faire échouer les connexions en cours,
exécutez:&prompt.root; /usr/local/sbin/apachectl gracefulDes informations supplémentaires sont disponibles
dans la page de manuel d'&man.apachectl.8;.Pour lancer Apache au
démarrage du système, ajoutez la ligne suivante
au fichier /etc/rc.conf:apache_enable="YES"Si vous désirez passer des options en ligne de
commande supplémentaires au programme
httpd d'Apache
lancé au démarrage du système, vous
pouvez les spécifier à l'aide d'une ligne dans
rc.conf:apache_flags=""Maintenant que le serveur web tourne, vous pouvez voir
votre site web en pointant votre navigateur sur
http://localhost/. La page web
affichée par défaut est
/usr/local/www/data/index.html.Serveurs virtuelsApache supporte deux types
différents de serveurs virtuels. Le premier type est
celui des serveurs virtuels basés sur les noms. Ce
type de serveurs virtuels utilise les entêtes HTTP/1.1
pour déterminer le nom de la machine. Cela autorise le
partage de la même adresse IP entre plusieurs domaines
différents.Pour configurer Apache à
l'utilisation de serveurs virtuels basés sur les noms,
ajoutez une entrée comme la suivante à votre
fichier httpd.conf:NameVirtualHost *Si votre serveur web est appelé www.domain.tld et que vous voulez mettre
en place un domain virtuel pour www.someotherdomain.tld alors vous
ajouterez les entrées suivantes au fichier
httpd.conf:<VirtualHost *>
ServerName www.domain.tld
DocumentRoot /www/domain.tld
<VirtualHost>
<VirtualHost *>
ServerName www.someotherdomain.tld
DocumentRoot /www/someotherdomain.tld
</VirtualHost>Remplacez les addresses avec celles que vous
désirez utiliser et le chemin d'accès des
documents avec celui que vous utilisez.Pour plus d'informations sur la mise en place de serveurs
virtuels, veuillez consulter la documentation officielle
d'Apache à l'adresse Modules ApacheApachemodulesIl existe de nombreux modules
Apache disponibles en vue d'ajouter
des fonctionnalités au serveur de base. Le catalogue
des logiciels portés offre une méthode simple
d'installation d'Apache avec
certains des modules les plus populaires.mod_sslserveur websécuriséSSLchiffrementLe module mod_ssl utilise la
bibliothèque OpenSSL pour offrir un chiffrement
solide à l'aide des protocoles “Secure Sockets
Layer” (SSL v2/v3) et “Transport Layer
Security”. Ce module fourni tout ce qui est
nécessaire à la demande de certificats
signés auprès d'une autorité de
certification connue de façon à pouvoir faire
tourner un serveur web sécurisé sous
&os;.Si vous n'avez pas déjà installé
Apache, alors une version
d'Apache 1.3.X comprenant
mod_ssl peut être
installée à l'aide du logiciel porté
www/apache13-modssl. Le support
SSL est également disponible pour
Apache 2.X avec le logiciel
porté www/apache2, où il est
activé par défaut.mod_perlPerlLe projet d'intégration
Apache/Perl réuni la
puissance du langage de programmation Perl et le serveur
HTTP Apache. Avec le module
mod_perl il est alors possible
d'écrire des modules
Apache entièrement en
Perl. De plus, la présence d'un interpréteur
intégré au serveur évite la surcharge
due au lancement d'un interpréteur externe et le
délai pénalisant du démarrage de
Perl.Si vous n'avez pas encore installé
Apache, une version
d'Apache comprenant le module
mod_perl peut être
installée avec le logiciel porté www/apache13-modperl.PHPPHPPHP, qui signifie “PHP: Hypertext
Preprocessor” est un langage de script “Open
Source” très utilisé qui est tout
particulièrement adapté au
développement Web et peut être
intégré à du HTML. Sa syntaxe est
dérivée du C, du &java; et du Perl, et est
facile à apprendre. L'objectif principal de ce
langage est de permettre aux développeurs Web
d'écrire rapidement des pages au contenu
généré dynamiquement, mais vous pouvez
faire bien plus avec PHP.PHP peut être installé à partir du
logiciel porté lang/php5.MurrayStokelyContribution de Protocole de transfert de fichiers (FTP)serveur FTPGénéralitésLe protocol de transfert de fichiers (FTP) offre aux
utilisateurs une méthode simple pour transférer
des fichiers vers ou à partir d'un serveur FTP. &os; comprend un
serveur FTP,
ftpd, dans le système de
base. Cela rend la configuration et l'administration d'un
serveur FTP
sous &os; très simple.ConfigurationL'étape de configuration la plus important est de
décider quels comptes seront autorisés à
accéder au serveur FTP. Un système &os;
classique possède de nombreux comptes système
utilisés par divers “daemon”s, mais les
utilisateurs inconnus ne devraient pas être
autorisés à ouvrir de session sous ces comptes.
Le fichier /etc/ftpusers est une liste
- d'utilisateurs inderdit d'accès au serveur FTP. Par
+ d'utilisateurs interdits d'accès au serveur FTP. Par
défaut, il inclut les comptes systèmes
précédemment mentionnés, mais il est
possible d'ajouter des utilisateurs précis qui ne
devraient pas avoir accès au serveur FTP.Vous pouvez vouloir restreindre l'accès à
certains utilisateurs sans leur refuser complètement
l'utilisation du serveur FTP. Cela peut être
réalisé à l'aide du fichier
/etc/ftpchroot. Ce fichier liste les
utilisateurs et les groupes sujet à des restrcitions
d'accès FTP. La page de manuel &man.ftpchroot.5;
fournit tous les détails, cela ne sera donc pas
décrit ici.Si vous désirez activer l'accès FTP anonyme
sur votre serveur, vous devez alors créer un
utilisateur appelé ftp sur votre
serveur &os;. Les utilisateurs seront donc en mesure d'ouvrir
une session FTP sur votre serveur sous le nom d'utilisateur
ftp ou anonymous et
sans aucun mot de passe (par convention l'adresse
électronique de l'utilisateur devrait être
- utilisée comme mot de passe). Le serveur FTP appelera
+ utilisée comme mot de passe). Le serveur FTP appellera
&man.chroot.2; quand un utilisateur anonyme ouvrira une
session, pour restreindre l'accès juste au
répertoire personnel de l'utilisateur
ftp.Il existe deux fichiers texte qui spécifient les
messages de bienvenue à afficher aux clients FTP. Le
contenu du fichier /etc/ftpwelcome sera
affiché aux utilisateurs avant qu'ils atteignent
l'invite de session. Après une ouverture de session,
le contenu du fichier /etc/ftpmotd sera
affiché. Notez que le chemin d'accès à
ce fichier est relatif à l'environnement de la session,
aussi le fichier ~ftp/etc/ftpmotd sera
affiché aux utilisateurs anonymes.Une fois que le serveur FTP a été
configuré correctement, il doit être
activé dans le fichier
/etc/inetd.conf. Ici il faut juste
retirer le symbole de commentaire “#” en face de
la ligne ftpd:ftp stream tcp nowait root /usr/libexec/ftpd ftpd -lComme expliqué dans la , un signal
“HangUP” doit être envoyé à
inetd après que son fichier
de configuration ait été modifié.Vous pouvez maintenant ouvrir une session FTP sur votre
serveur en tapant:&prompt.user; ftp localhostMaintenancesyslogjournauxFTPLe “daemon” ftpd
utilise &man.syslog.3; pour l'enregistement des messages. Par
défaut, le “daemon” de gestion des journaux
du système enverra les messages relatifs au FTP dans le
fichier /var/log/xferlog. L'emplacement
des journaux FTP peut être modifié en changeant
la ligne suivante dans le fichier
/etc/syslog.conf:ftp.info /var/log/xferlogSoyez conscient des éventuels problèmes
impliqués par l'utilisation d'un serveur FTP acceptant
les connexions anonymes. Vous devriez, tout
particulièrement, penser à deux fois avant
d'autoriser les utilisateurs anonyme à déposer
des fichiers sur le serveur. Votre site FTP pourrait devenir
un forum d'échange de logiciels commerciaux sans les
licences ou pire. Si vous devez autoriser le
dépôt de fichiers de façon anonyme sur le
serveur FTP, alors vous devriez fixer les permissions sur ces
fichiers de telle sorte qu'ils ne puissent être lus par
d'autres utilisateurs anonymes avant qu'ils n'aient pu
être contrôlés.MurrayStokelyContribution de Serveur de fichiers et d'impression pour clients
µsoft.windows; (Samba)serveur SambaMicrosoft Windowsserveur de fichiersclients Windowsserveur d'impressionclients WindowsGénéralitésSamba est un logiciel libre
très populaire qui offre des services de partage de
fichiers et d'imprimantes pour les clients
µsoft.windows;. De tels clients peuvent se connecter et
utiliser l'espace de fichiers d'une machine &os; comme si
c'était un disque local, ou utiliser des imprimantes
&os; comme si elles étaient des imprimantes
locales.Samba devrait se trouver sur
votre support d'installation. Si vous n'avez pas
installé Samba à
l'installation de &os;, vous pouvez alors l'installer à
partir de la version pré-compilée ou
portée net/samba3.ConfigurationLe fichier de configuration par défaut de
Samba est installé sous le
nom /usr/local/etc/smb.conf.default. Ce
fichier doit être copié vers
/usr/local/etc/smb.conf et
personnalisé avant que Samba
ne puisse être utilisé.Le fichier smb.conf contient la
configuration nécessaire à l'exécution de
Samba, comme la définition
des imprimantes et des “systèmes de fichiers
partagés” que vous désirez partager avec
les clients &windows;. Le logiciel
Samba comprend une interface Web
appelé swat qui offre une
méthode simple de configuration du fichier
smb.conf.Utilisation de l'interface web d'administration de
Samba (SWAT)L'interface web d'administration de
Samba (SWAT) est
exécutée sous la forme d'un
“daemon” à partir
d'inetd. Par conséquent,
la ligne suivante dans le fichier
/etc/inetd.conf doit être
décommentée avant que
swat ne puisse être
utilisé pour configurer
Samba:swat stream tcp nowait/400 root /usr/local/sbin/swatComme expliqué dans la , un signal
“HangUP” doit être envoyé à
inetd après modification
de son fichier de configuration.Une fois que swat a
été activé dans
inetd.conf, vous pouvez utiliser un
navigateur pour vous connecter à l'adresse . Vous devez ouvrir tout
d'abord une session sous le compte système
root.Une fois que vous avez ouvert une session sur la page
principale de configuration de
Samba, vous pouvez naviguer dans
la documentation du système, ou commencer par cliquer
sur l'onglet Globals. Le menu
Globals correspond aux variables
situées dans la section [global]
du fichier
/usr/local/etc/smb.conf.Paramétrages générauxQue vous utilisiez swat ou
éditiez directement le fichier
/usr/local/etc/smb.conf, les
premières directives que vous allez sûrement
rencontrer en configurant Samba
seront:workgroupLe nom de domaine NT ou le groupe de travail pour
- les ordinateurs qui accèderont à ce
+ les ordinateurs qui accéderont à ce
serveur.netbios nameNetBIOSFixe le nom NetBIOS sous lequel est connu le
serveur Samba. Par
défaut c'est le même que la première
composante du nom de la machine pour le DNS.server stringCette directive définie la chaîne de
caractères qui sera affichée lors de
l'utilisation de la commande net view
et par d'autres outils réseau recherchant
à afficher une description du serveur.Paramètres de sécuritéDeux des plus importants paramétrages de
/usr/local/etc/smb.conf sont le mode de
sécurité choisi, et le format de mot de passe
pour les utilisateurs. Les directives suivantes
contrôlent ces options:securityLes deux options les plus courantes sont
security = share et security
= user. Si vos clients utilisent des noms
d'utilisateur identiques à ceux sur votre machine
&os;, alors vous voudrez utiliser un niveau de
sécurité utilisateur. C'est le mode de
sécurité par défaut et qui demande
aux clients de d'ouvrir une session avant de pouvoir
accéder aux ressources partagées.Dans le niveau de sécurité partage
(“share”), le client n'a pas besoin
d'ouvrir de session avant de pouvoir se connecter
à une ressource partagée.
C'était le mode de sécurité par
défaut d'anciennes versions de
Samba.passdb backendNIS+LDAPbase de données
SQLSamba possède
plusieurs modèles de support d'authentification.
Vous pouvez authentifier des clients avec LDAP, NIS+,
une base de données SQL ou un fichier de mot de
passe modifié. La méthode
d'authentification par défaut est appelée
smbpasswd, et c'est celle qui sera
présentée ici.En supposant que le modèle
smbpasswd par défaut est
utilisé, le fichier
/usr/local/private/smbpasswd doit
être créé pour permettre à
Samba d'identifier les clients.
Si vous désirez donner accès à tous vos
comptes utilisateur &unix; à partir de clients
&windows;, utilisez la commande suivante:&prompt.root; grep -v "^#" /etc/passwd | make_smbpasswd > /usr/local/private/smbpasswd
&prompt.root; chmod 600 /usr/local/private/smbpasswdVeuillez consulter la documentation de
Samba pour des informations
supplémentaires sur les options de configuration.
Avec les bases présentées ici, vous devriez
disposer de tous les éléments
- nécéssaires au démarrage de
+ nécessaires au démarrage de
Samba.Démarrage de
SambaPour activer Samba au
démarrage du système, ajoutez la ligne suivante
au fichier /etc/rc.conf:samba_enable="YES"Vous pouvez alors démarrer
Samba en tapant:&prompt.root; /usr/local/etc/rc.d/samba.sh start
Starting SAMBA: removing stale tdbs :
Starting nmbd.
Starting smbd.Samba consiste essentiellement
en trois “daemon”s séparés. Vous
devriez vous rendre compte que les “daemon”s
nmbd et
smbd sont lancés par la
procédure samba.sh. Si vous avez
activé la résolution de noms winbind dans le
fichier smb.conf, alors le
“daemon” winbindd sera
également lancé.Vous pouvez arrêter Samba
à tout moment en tapant:&prompt.root; /usr/local/etc/rc.d/samba.sh stopSamba est une suite logiciels
complexes avec des fonctionnalités permettant une large
intégration avec les réseaux
µsoft.windows;. Pour plus d'information sur les
fonctionnalités non-abordées dans ce document,
veuillez consulter .TomHukinsContribution de Synchronisation de l'horloge avec NTPNTPGénéralitésAvec le temps, l'horloge d'un ordinateur tend à
dériver. Le protocole NTP (“Network Time
Protocol”) est une des manières pour s'assurer
que votre horloge reste précise.De nombreux services Internet ont besoin, ou tirent
partie, de la précision des horloges des ordinateurs.
Par exemple, un serveur web, peut recevoir des requêtes
pour n'envoyer un fichier que s'il a été
modifié depuis un certain temps. Sur un réseau
local, il est essentiel que les ordinateurs partageant des
fichiers à partir du même serveur de fichiers
aient des horloges synchronisées de manière
à ce que les dates de création ou de
dernière modification d'un fichier
(“timestamp”) soient cohérentes. Des
services comme &man.cron.8; reposent sur une horloge
système précise pour exécuter des
commandes à des moments précis.NTPntpd&os; est fourni avec le serveur NTP &man.ntpd.8; qui peut
être utilisé pour contacter d'autres serveurs NTP
pour régler l'horloge de votre machine ou pour jouer le
rôle de serveur de temps pour d'autres.Choisir les serveurs NTP appropriésNTPchoisir les serveursAfin de synchroniser votre horloge, vous devrez trouver un
ou plusieurs serveurs NTP. Votre administrateur réseau
ou votre FAI peuvent avoir mis en place un serveur NTP dans
cet objectif—consultez leur documentation pour voir si
c'est le cas. Il existe une liste
en ligne de serveurs NTP accessibles par le public que
vous pouvez utiliser pour trouver un serveur NTP proche de
vous. Assurez-vous d'avoir pris connaissance de la politique
d'utilisation des serveurs que vous choisissez, et demandez la
permission si nécessaire.Choisir plusieurs serveurs NTP non-connectés entre
eux est une bonne idée au cas où un des serveurs
que vous utilisez devient inaccessible ou que son horloge
n'est plus fiable. &man.ntpd.8; utilise intelligemment les
réponses qu'il reçoit d'autres serveurs—il
favorisera les plus fiables par rapport aux moins
fiables.Configuration de votre machineNTPconfigurationConfiguration de basentpdateSi vous désirez synchroniser votre horloge
uniquement lors du démarrage de la machine, vous
pouvez alors employer &man.ntpdate.8;. Cela peut être
approprié pour certaines machines de bureau qui sont
fréquemment rédémarrées et qui
ne nécessites qu'une synchronisation
épisodique, cependant la plupart des machines
devraient utiliser &man.ntpd.8;.Utiliser &man.ntpdate.8; au moment du démarrage
est également une bonne idée pour les machines
qui exécutent &man.ntpd.8;. Le programme
&man.ntpd.8; modifie l'horloge graduellement, alors que
&man.ntpdate.8; change directement l'horloge, peu importe la
différence entre l'heure actuelle de la machine et
l'heure correcte.Pour activer &man.ntpdate.8; au démarrage,
ajoutez la ligne ntpdate_enable="YES" au
fichier /etc/rc.conf. Vous devrez
également préciser tous les serveurs avec
lesquels vous désirez vous synchroniser et tous les
indicateurs devant être passés à
&man.ntpdate.8; avec
ntpdate_flags.NTPntp.confConfiguration généraleNTP est configuré par l'intermédiaire du
fichier /etc/ntp.conf suivant le format
décrit dans la page de manuel &man.ntp.conf.5;.
Voici un exemple simple:server ntplocal.example.com prefer
server timeserver.example.org
server ntp2a.example.net
driftfile /var/db/ntp.driftL'option server précise quels
serveurs doivent être utilisés, avec un serveur
listé par ligne. Si un serveur est
spécifié avec l'argument
prefer, comme c'est le cas pour ntplocal.example.com, ce serveur est
préféré par rapport aux autres
serveurs. Une réponse en provenance d'un serveur
préféré sera
ignorée si elle diffère de façon
significative des réponses des autres serveurs, sinon
elle sera utilisée sans considérer les autres
réponses. L'argument prefer est
normalement employé pour les serveurs NTP qui sont
connus pour leur grande précision, comme ceux avec
des systèmes spéciaux de contrôle du
matériel.L'option driftfile précise
quel fichier est utilisé pour stocker le
décalage de fréquence de l'horloge. Le
- programmme &man.ntpd.8; l'utilise pour compenser
+ programme &man.ntpd.8; l'utilise pour compenser
automatiquement la dérive naturelle de l'horloge,
permettant de maintenir un réglage raisonnablement
correct même s'il est coupé d'autres sources
extérieures de temps pendant une certaine
période.L'option driftfile précise
également quel fichier est utilisé pour
stocker l'information concernant les réponses
précédentes des serveurs NTP que vous
utilisez. Il ne devrait pas être modifié par
un autre processus.Contrôler l'accès à votre
serveurPar défaut, votre serveur NTP sera accessible par
toutes les machines sur l'Internet. L'option
restrict du fichier
/etc/ntp.conf vous permet de
contrôler quelles machines peuvent accéder
à votre serveur.Si vous voulez refuser à tout le monde
l'accès à votre serveur NTP, ajoutez la ligne
suivante au fichier
/etc/ntp.conf:restrict default ignoreSi vous désirez autoriser uniquement
l'accès aux machines de votre réseau pour
qu'elles puissent synchroniser leur horloge, tout en vous
assurant qu'elles ne peuvent configurer le serveur ou
être utilisées comme point de de
synchronisation, ajoutez:restrict 192.168.1.0 mask 255.255.255.0 nomodify notrapà la place, où 192.168.1.0 est une adresse IP de
votre réseau et 255.255.255.0 est votre masque de
sous-réseau.Le fichier /etc/ntp.conf peut
contenir plusieurs options restrict.
Pour plus de détails, lisez la section
Access Control Support de la page de
manuel &man.ntp.conf.5;.Exécuter le serveur NTPPour s'assurer que le serveur NTP est lancé au
démarrage, ajoutez la ligne
ntpd_enable="YES" dans le fichier
/etc/rc.conf. Si vous désirez
passer des indicateurs supplémentaires à
&man.ntpd.8;, éditez les paramètres de l'option
ntpd_flags dans
/etc/rc.conf.Pour lancer le serveur sans redémarrer votre
machine, exécutez ntpd en
étant sûr de préciser tout
paramètre supplémentaire de
ntpd_flags dans
/etc/rc.conf. Par exemple:&prompt.root; ntpd -p /var/run/ntpd.pidSous &os; 4.X, vous devez remplacer chaque
ntpd par xntpd dans les
options ci-dessus.Utiliser ntpd avec une connexion Internet
temporaireLe programme &man.ntpd.8; n'a pas besoin d'une connexion
permanente à l'Internet pour fonctionner correctement.
- Cependant, si vous disposez d'une connextion temporaire qui
+ Cependant, si vous disposez d'une connexion temporaire qui
est configurée de telle sorte qu'il y ait
établissement de la connexion à la demande,
c'est une bonne idée d'empêcher le trafic NTP de
déclencher la numérotation ou de maintenir
constamment établie la connexion. Si vous utilisez PPP
en mode utilisateur, vous pouvez employer les directives
filter dans le fichier
/etc/ppp/ppp.conf. Par exemple: set filter dial 0 deny udp src eq 123
# Empêche le trafic NTP de lancer une connexion
set filter dial 1 permit 0 0
set filter alive 0 deny udp src eq 123
# Empêche le trafic NTP entrant de garder la connexion établie
set filter alive 1 deny udp dst eq 123
# Empêche le trafic NTP sortant de garder la connexion établie
set filter alive 2 permit 0/0 0/0Pour plus de détails lisez la section
PACKET FILTERING de la page de manuel
&man.ppp.8; et les exemples du répertoire /usr/share/examples/ppp/.Certains fournisseurs d'accès Internet bloquent
les ports dont le numéro est faible, empêchant
NTP de fonctionner puisque les réponses n'atteingnent
jamais votre machine.Information supplémentaireLa documentation pour le serveur NTP peut être
trouvé dans le répertoire /usr/share/doc/ntp/ sous le format
HTML.