diff options
Diffstat (limited to 'fr_FR.ISO8859-1/books/handbook')
36 files changed, 0 insertions, 48946 deletions
diff --git a/fr_FR.ISO8859-1/books/handbook/Makefile b/fr_FR.ISO8859-1/books/handbook/Makefile deleted file mode 100644 index 6da260134c..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/Makefile +++ /dev/null @@ -1,67 +0,0 @@ -# -# The FreeBSD Documentation Project -# The FreeBSD French Documentation Project -# -# Compilation du Manuel de Reference de FreeBSD -# -# $FreeBSD$ -# Original revision: 1.25 -# - -# -# Nik is only the maintainer until Sebastien GIORIA's commit privs are -# sorted out and he can maintain this. -# -MAINTAINER=nik@FreeBSD.ORG - -DOC?= book - -FORMATS?= html-split - -INSTALL_COMPRESSED?= gz -INSTALL_ONLY_COMPRESSED?= - -# -# SRCS lists the individual SGML files that make up the document. Changes -# to any of these files will force a rebuild -# - -# SGML content -SRCS= book.sgml -SRCS+= advanced-networking/chapter.sgml -SRCS+= backups/chapter.sgml -SRCS+= basics/chapter.sgml -SRCS+= bibliography/chapter.sgml -SRCS+= contrib/chapter.sgml -SRCS+= cutting-edge/chapter.sgml -SRCS+= disks/chapter.sgml -SRCS+= eresources/chapter.sgml -SRCS+= hw/chapter.sgml -SRCS+= install/chapter.sgml -SRCS+= internals/chapter.sgml -SRCS+= introduction/chapter.sgml -SRCS+= kernelconfig/chapter.sgml -SRCS+= kerneldebug/chapter.sgml -SRCS+= kernelopts/chapter.sgml -SRCS+= l10n/chapter.sgml -SRCS+= linuxemu/chapter.sgml -SRCS+= mail/chapter.sgml -SRCS+= mirrors/chapter.sgml -SRCS+= pgpkeys/chapter.sgml -SRCS+= policies/chapter.sgml -SRCS+= ppp-and-slip/chapter.sgml -SRCS+= printing/chapter.sgml -SRCS+= quotas/chapter.sgml -SRCS+= security/chapter.sgml -SRCS+= serialcomms/chapter.sgml -SRCS+= staff/chapter.sgml -SRCS+= x11/chapter.sgml -SRCS+= ports/chapter.sgml - -# Entities -SRCS+= ../../../en_US.ISO_8859-1/books/handbook/authors.ent -SRCS+= chapters.ent -SRCS+= mailing-lists.ent - -DOC_PREFIX?= ${.CURDIR}/../../.. -.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/fr_FR.ISO8859-1/books/handbook/advanced-networking/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/advanced-networking/chapter.sgml deleted file mode 100644 index bf6d6c53b5..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/advanced-networking/chapter.sgml +++ /dev/null @@ -1,1124 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: n.nn ---> - - <chapter> - <title>Administration Réseau Avancée</title> - &trans.a.haby; - - <sect1 id="routing"> - <title>Passerelles et routes</title> - - <para><emphasis>Contribution de &a.gryphon;.<!-- <br> -->6 Octobre - 1995.</emphasis></para> - - <para>Pour qu'une machine puisse en contacter une autre, il faut - que soit installé un mécanisme qui décrive comment aller de l'une - à l'autre. C'est ce que l'on appelle le routage. Une - “route” est définie par deux adresses : une - “destination” et une “passerelle”. Cette - paire signifie que pour atteindre cette - <emphasis>destination</emphasis>, vous devez passer par cette - <emphasis>passerelle</emphasis>. Il y a trois sorte de destinations: - les machines elles-mêmes, les sous-réseaux, et - <foreignphrase>default</foreignphrase> - la destination - “par défaut”. La <foreignphrase>default - route</foreignphrase> - “route par - défaut” - est utilisée - lorsqu'aucune autre route n'est applicable. Nous parlerons un peu plus - des routes par défaut par la suite. Il y a aussi trois sortes de - passerelles: les machines elles-mêmes, les interfaces (aussi appelées - “liens”), et les adresses Ethernet matériel.</para> - - <sect2> - <title>Un exemple</title> - - <para>Pour illustrer différents aspects du routage, nous utiliserons - l'exemple suivant, qui est le résultat de la commande - <command>netstat -r</command>:</para> - - <informalexample> - <screen>Destination Gateway Flags Refs Use Netif Expire - -default outside-gw UGSc 37 418 ppp0 -localhost localhost UH 0 181 lo0 -test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77 -10.20.30.255 link#1 UHLW 1 2421 -foobar.com link#1 UC 0 0 -host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0 -host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 => -host2.foobar.com link#1 UC 0 0 -224 link#1 UC 0 0</screen> - </informalexample> - - <para>Les deux premières lignes définissent la route par défaut (dont - nous parlerons dans la section suivante) et la route - <hostid>localhost</hostid>.</para> - - <para>L'interface (colonne <literal>Netif</literal>) qu'il est - indiqué d'utiliser pour <literal>localhost</literal> est - <devicename>lo0</devicename>, que l'on appelle aussi interface - <foreignphrase>loopback</foreignphrase> - “en - boucle”. Ce qui signifie que tout - le trafic vers cette destination doit rester interne, au lieu d'être - envoyé sur le réseau local, puisqu'il reviendra de toute façon à son - point de départ.</para> - - <para>Les adresses <hostid role="mac">0:e0:...</hostid> sautent - ensuite aux yeux. Ce sont les adresses Ethernet matériel. FreeBSD - reconnaîtra automatiquement toute machine - (<hostid>test0</hostid> dans l'exemple) sur le réseau Ethernet local - et ajoutera une route vers celle-ci, directement via l'interface - Ethernet, <devicename>ed0</devicename>. Il y a aussi un délai - (colonne <literal>Expire</literal>) associé à ce type de route, - qui sert lorsque nous n'entendons plus parler de cette machine - pendant un certain temps. Dans ce cas, la route est automatiquement - supprimée. Ces machines sont identifiées par un mécanisme appelé RIP - (<foreignphrase>Routing Information - Protocol</foreignphrase> - “protocole - d'information de routage”), qui construit les routes vers les - machines locales en déterminant le chemin le plus court.</para> - - <para>FreeBSD ajoutera aussi de routes de sous-réseau pour le - sous-réseau local (<hostid role="ipaddr">10.20.30.255</hostid> est - l'adresse de diffusion du sous-réseau - <hostid role="ipaddr">10.20.30</hostid>, et - <hostid role="domainname">foobar.com</hostid> est le nom de - domaine associé à ce sous-réseau). La dénomination - <literal>link#1</literal> se rapporte à la première interface - Ethernet de la machine. Vous constaterez qu'il n'y a pas d'autre - interface associée à ces routes.</para> - - <para>Ces deux types de routes sont automatiquement configurées - par un “démon” appelé <command>routed</command>. - Si ce dernier ne tourne pas, il ne pourra y avoir que des routes - statiques (i.e. explicitement définies).</para> - - <para>La ligne <literal>host1</literal> se rapporte à notre machine, - qui est identifiée par son interface Ethernet. Comme nous sommes - l'émetteur, FreeBSD sait qu'il faut utiliser l'interface “en - boucle”, plutôt que d'envoyer les données sur l'interface - Ethernet.</para> - - <para>Les deux lignes <literal>host2</literal> montrent ce qui ce - passe quand on utilise un alias avec <command>ifconfig</command> - (voyez la section sur Ethernet pour savoir pour quelles raisons - on peut vouloir faire cela). Le symbole <literal>=></literal> - qui suit l'interface <devicename>lo0</devicename> indique que non - seulement nous utilisons la “boucle” (puisque c'est - aussi une adresse qui se rapporte à la machine locale), mais que - c'est, plus précisement, un alias. Ce type de route n'apparaît - que sur la machine pour laquelle est défini l'alias; sur toutes - les autres machines du réseau local, il n'y aura qu'une ligne - <literal>link#1</literal> pour cette machine.</para> - - <para>La dernière ligne (sous-réseau destinataire - <literal>224</literal>) concerne le - <foreignphrase>MultiCasting</foreignphrase> - diffusion sur - plusieurs réseaux, dont nous parlerons dans une - autre section.</para> - - <para>L'autre colonne dont il faut parler est la colonne - <literal>Flags</literal>. Chaque route a différentes - caractéristiques que décrit cette colonne. Voici une courte table - qui liste certains de ces indicateurs et leurs - significations:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <tbody> - <row> - <entry>U</entry> - <entry>Active (“Up”): La route est - active.</entry> - </row> - - <row> - <entry>H</entry> - <entry>Hôte: La destination de la route est une - machine.</entry> - </row> - - <row> - <entry>G</entry> - <entry>Passerelle (“Gateway”): Envoyer tout ce - qui regarde cette destination sur la machine distante - indiquée, qui saura à qui transmettre ensuite.</entry> - </row> - - <row> - <entry>S</entry> - <entry>Statique: Cette route a été configurée à la main et - non générée automatiquement par le système.</entry> - </row> - - <row> - <entry>C</entry> - <entry>Clone: Générer une nouvelle route sur la base de - celle-ci pour les machines auxquelles nous nous connectons. - Ce type de route est normalement utilisé pour les réseaux - locaux.</entry> - </row> - - <row> - <entry>W</entry> - <entry>Clonée (“WasCloned”): Cette route a été - auto-configurée (Clone) à partir d'une route pour le - réseau local.</entry> - </row> - - <row> - <entry>L</entry> - <entry>Link: La route fait référence à une adresse Ethernet - matérielle.</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - </sect2> - - <sect2> - <title>Routes par défaut</title> - - <para>Quand le système local doit établir une connexion avec une - machine distante, il consulte la table de routage pour voir - s'il y a déjà une route connue. Si la machine distante appartient - à un sous-réseau auquel il sait comment se connecter (routes - clonées), alors le système teste s'il peut se connecter via - cette interface.</para> - - <para>Si toutes les routes connues échouent, il reste au système une - dernière option: la route “par défaut”. C'est un type - particulier de route passerelle (c'est généralement la seule du - système), auquel est toujours associé l'indicateur - <literal>c</literal>. Pour les machines du réseau local, cette - fonction de passerelle est affectée à la machine qui est directement - connectée au monde extérieur (que ce soit par une liasion PPP, ou - via un dispositif matériel relié à une ligne dédiée).</para> - - <para>Si vous configurez la route par défaut sur la machine qui - fonctionne comme passerelle vers le monde extérieur, la route par - défaut sera la passerelle du site de votre Fournisseur d'Accès - Internet (FAI).</para> - - <para>Examinons un exemple de route par défaut. Voici une - configuration habituelle: - - <literallayout> -[Local2] <--ether--> [Local1] <--PPP--> [ISP-Serv] <--ether--> [T1-GW] - </literallayout></para> - - <para>Les machines <hostid>Local1</hostid> et <hostid>Local2</hostid> - sont sur votre site, la première étant votre connexion PPP au - concentrateur de votre fournisseur d'accès. Le réseau local de - votre fournisseur d'accès comporte entre autres un dispositif - (T1-GW) relié à son point d'entrée sur l'Internet.</para> - - <para>Les routes par défaut sur chacune de vos machines seront:</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <thead> - <row> - <entry>hôte</entry> - <entry>passerelle par défaut</entry> - <entry>interface</entry> - </row> - </thead> - - <tbody> - <row> - <entry>Local2</entry> - <entry>Local1</entry> - <entry>Ethernet</entry> - </row> - - <row> - <entry>Local1</entry> - <entry>T1-GW</entry> - <entry>PPP</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>On demande souvent “Pourquoi (ou comment) définir T1-GW - comme passerelle par défaut pour Local1, plutôt que le serveur du - fournisseur auquel elle est connectée?”.</para> - - <para>N'oubliez pas que l'interface PPP utilise, de votre côté de la - connexion, une adresse sur le réseau local de votre fournisseur. Les - routes vers les autres machines sur le réseau local de votre - fournisseur seront générées automatiquement. Vous savez déjà comment - atteindre la machine T1-GW, il n'y a donc pas besoin d'une étape - intermédiaire qui passe par le serveur de votre fournisseur.</para> - - <para>Dernière remarque, il est habituel d'attribuer l'adresse <hostid - role="ipaddr">...1</hostid> à la passerelle sur votre réseau - local. Donc (dans notre exemple), si votre espace d'adresses de - classe C local est <hostid role="ipaddr">10.20.30</hostid> et celui - de votre fournisseur <hostid role="ipaddr">10.9.9</hostid>, alors - les routes par défaut sont:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <tbody> - <row> - <entry>Local2 (10.20.30.2)</entry> - <entry>--> Local1 (10.20.30.1)</entry> - </row> - <row> - <entry>Local1 (10.20.30.1, 10.9.9.30)</entry> - <entry>--> T1-GW (10.9.9.1)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - </sect2> - - <sect2> - <title>Machines sur deux réseaux</title> - - <para>Il y a un autre type de de configuration dont il faut parler, - c'est celle d'une machine qui est connectée à deux réseaux - différents. Techniquement, une machine qui sert de passerelle (comme - dans l'exemple ci-dessus, en utilisant une connexion PPP) est une - machine sur deux réseaux. Mais l'on utilise de fait cette expression - (<foreignphrase>dual-homed host</foreignphrase>) pour désigner les - machines qui sont sur deux réseaux locaux différents.</para> - - <para>Selon le cas, cette machine peut avoir deux cartes Ethernet, - chacune ayant une adresse sur l'un des deux sous-réseaux. Elle peut - aussi avoir une seule carte Ethernet, on utilise alors un alias avec - <command>ifconfig</command>. Le premier cas de figure correspond à - deux réseaux Ethernet physiquement séparés, alors qu'on utilise la - deuxième configuration lorsqu'il n'y a qu'un seul segment physique, - mais deux sous-réseaux logiquement distincts.</para> - - <para>Dans les deux cas, les tables de routage sont définies de telle - sorte que chaque sous-réseau sache que cette machine est la - passerelle (<foreignphrase>inbound - route</foreignphrase> - route entrante) vers l'autre - sous-réseau. Cette configuration, où la machine sert de pont entre - les deux sous-réseaux, est souvent employée quand il faut mettre en - place un dispositif de sécurité - filtrage de paquets ou - coupe-feu - dans l'une, ou dans les deux, - directions.</para> - - </sect2> - - <sect2> - <title>Propagation de route</title> - - <para>Nous avons déjà expliqué comment définir nos routes vers le - monde extérieur, mais pas comment le monde extérieur sait comment - nous joindre.</para> - - <para>Nous savons déjà comment renseigner les tables de routage pour - que tout le trafic pour un espace d'adresses donné (un sous-réseau - de classe C dans notre exemple) soit envoyé à une machine précise - de ce réseau, qui transmettra les paquets entrants.</para> - - <para>Lorsqu'il attribue une espace d'adresses à votre site, votre - fournisseur d'accès définit ses tables de routage de sorte que tout - le trafic destiné à votre sous-réseau vous soit envoyé sur votre - liaison PPP. Mais comment les autres sites à l'autre bout du pays - savent-ils qu'ils doivent passer par votre fournisseur - d'accès.</para> - - <para>Il existe un mécanisme (assez semblable au système d'information - distribué du DNS) qui enregistre tous les espaces d'adresses - affectés, et définit leur point de connexion à la dorsale Internet. - Le <foreignphrase>Backbone</foreignphrase> - “dorsale” comprend - les liaisons principales qui véhiculent le trafic Internet à travers - le pays et le monde entier. Chaque machine de la dorsale dispose - d'un ensemble de tables maîtresses, qui aiguillent le trafic pour - un réseau donné vers le transporteur correspondant sur la dorsale, - et de là, par l'intermédiaire de fournisseurs d'accès - successifs, jusqu'à votre sous-réseau.</para> - - <para>C'est le rôle de votre fournisseur d'accès d'annoncer aux sites - de la dorsale qu'il est le point de connexion (et donc la route - entrante) de votre site. C'est ce que l'on appelle la propagation - de route.</para> - - </sect2> - - <sect2> - <title>En cas de problème</title> - - <para>Il peut arriver qu'il y ait un problème avec la propagation de - route et que certains sites ne puissent vous atteindre. La commande - probablement la plus utile pour savoir si une route commence à - avoir des défaillances est la commande - <citerefentry><refentrytitle>traceroute</refentrytitle><manvolnum>8</manvolnum></citerefentry>. - Elle peut aussi vous servir lorsque vous n'arrivez apparemment pas à - vous connecter à une autre machine (i.e. lorsque - <citerefentry><refentrytitle>ping</refentrytitle><manvolnum>8</manvolnum></citerefentry> échoue).</para> - - <para>La commande - <citerefentry><refentrytitle>traceroute</refentrytitle><manvolnum>8</manvolnum></citerefentry> - prend comme paramètre le nom de la machine avec laquelle vous - essayer d'établir une connexion. Elle vous donne la liste des - passerelles intermédiaires jusqu'à la machine cible, ou jusqu'à - ce qu'il n'y ait plus de liaison.</para> - - <para>Pour plus d'informations, voyez les pages de manuel de - <citerefentry><refentrytitle>traceroute</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para> - - </sect2> - </sect1> - - <sect1 id="nfs"> - <title>NFS</title> - - <para><emphasis>Contribution de &a.jlind;.</emphasis></para> - - <para>Certaines cartes Ethernet ISA ont des limites qui peuvent poser - de sérieux problèmes sur un réseau, en particulier avec NFS. Ce - n'est pas une particularité propre à FreeBSD, mais elle affecte aussi - les systèmes FreeBSD.</para> - - <para>Ce problème ce produit pratiquement tout le temps quand les - systèmes (FreeBSD) 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 font sans difficulté - et certaines opérations réussissent, puis tout-à-coup, il semble que - le serveur ne réponde pas au client, bien que les échanges avec les - autres systèmes continuent à se dérouler normalement. Cela se - manifeste sur la machine cliente, que ce soit un système FreeBSD ou - une station de travail. Sur de nombreux systèmes, il n'y a pas moyen - d'arrêter proprement le client 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.</para> - - <para>Bien que la solution “correcte” soit d'installer une - carte Ethernet plus performante et de plus grande capacité sur le - système FreeBSD, il y a une solution de contournement simple qui - fournit un palliatif satisfaisant. Si le système FreeBSD est le - <emphasis>serveur</emphasis>, utilisez l'option - <option>-w=1024</option> avec <command>mount</command> sur le client. - Si le système FreeBSD est le <emphasis>client</emphasis>, alors montez - le système de fichiers NFS avec l'option <option>-r=1024</option>. - Vous pouvez mettre ces options dans le quatrième champ de l'entrée - <filename>fstab</filename> sur le client, pour les montages - automatiques, ou avec le paramètre <option>-o</option> de la commande - <command>mount</command> pour les montages manuels.</para> - - <para>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, <emphasis>assurez-vous</emphasis> que vos routeurs - transmettent bien les informations UDP nécessaires, ou vous n'irez - nulle part, quoi que vous fassiez par ailleurs.</para> - - <para>Dans les exemples qui suivent, <hostid>fastws</hostid> est le nom de la station de travail (interface) de haute performance et - <hostid>freebox</hostid> celui de la machine (interface) FreeBSD - avec une carte Ethernet moins performante. - <filename>/sharedfs</filename> est le système de fichiers NFS qui - sera exporté (voyez <command>man exports</command>), et - <filename>/project</filename> le point de montage pour ce système - de fichiers exporté, sur le client. Dans tous les cas, - des options supplémentaires, comme <option>hard</option> ou - <option>soft</option> et <option>bg</option> seront peut-être - nécessaires pour vos applications.</para> - - <para>Exemple lorsque le système FreeBSD (<hostid>freebox</hostid>) est - le client: dans <filename>/etc/fstab</filename> de - <hostid>freebox</hostid>: - - <programlisting> -fastws:/sharedfs /project nfs rw,-r=1024 0 0 - </programlisting> - - commande de montage manuel sur <hostid>freebox</hostid>: - - <informalexample> - <screen>&prompt.root; <userinput>mount -t nfs -o -r=1024 fastws:/sharedfs /project</userinput></screen> - </informalexample></para> - - <para>Exemple lorsque le système FreeBSD (<hostid>freebox</hostid>) est - le serveur: dans <filename>/etc/fstab</filename> de - <hostid>fastws</hostid>: - - <programlisting> -freebox:/sharedfs /project nfs rw,-w=1024 0 0 - </programlisting> - - commande de montage manuel sur <hostid>fastws</hostid>: - - <informalexample> - <screen>&prompt.root; <userinput>mount -t nfs -o -w=1024 freebox:/sharedfs /project</userinput></screen> - </informalexample></para> - - <para>Presque toutes les cartes Ethernet 16-bit permettront d'utiliser - les restrictions ci-dessus à la taille du tampon de - lecture/écriture.</para> - - <para>Pour ceux que cela intéresse, voici ce qui provoque le problème, - ce qui explique aussi qu'il ne soit pas récupérable. NFS utilise - habituellement une taille de “bloc” de 8k (bien qu'il - arrive qu'il les fragmente en plus petits morceaux). Comme la taille - maximum d'un paquet Ethernet est de 1500 bits, le block NFS - est réparti sur plusieurs paquets Ethernet, bien qu'il soit toujours - vu comme un ensemble par les couches supérieures du code, et doit être - reçu, 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 plus - petites et de moindre capacité, les derniers paquets d'un même groupe - écrasent les précédents, avant qu'ils aient été transmis, - et l'ensemble ne peut être reconstruit et acquitté. En conséquence, - le délai est dépassé - sur la station de travail, et elle recommence l'opération, mais elle - renvoie tous les 8k, et le phénomène se reproduit à l'infini.</para> - - <para>En définissant la taille de “bloc” en deçà de la - taille d'un paquet Ethernet, nous sommes sûrs que chaque paquet - Ethernet entier sera acquitté individuellement, ce qui évite la - situation d'inter-bloquage.</para> - - <para>Il peut toujours y avoir écrasement lorsque des stations de - travail performantes surchargent un système PC de données, mais avec - les meilleures cartes, de tels écrasements ne sont pas systématiques - pour les “unités” NFS. En cas d'écrasement, les blocs - affectés sont retransmis, et il y a de fortes chances qu'ils soient - reçus, assemblés et acquittés.</para> - - </sect1> - - <sect1 id="diskless"> - <title>Station sans disque dur</title> - - <para><emphasis>Contribution de &a.martin;.</emphasis></para> - - <para><filename>netboot.com</filename>/<filename>netboot.rom</filename> - vous permettent de démarrer votre machine FreeBSD via le réseau et - d'exécuter FreeBSD sans disque dur sur le client. Avec la version 2.0, - il est maintenant possible d'avoir de l'espace de pagination local. Il est toujours possible de paginer via NFS.</para> - - <para>Les cartes Ethernet supportées sont: Western Digital/SMC 8003, - 8013, 8216 et compatibles; NE1000/NE2000 et compatibles (il faut - recompiler).</para> - - <sect2> - <title>Configuration</title> - - <procedure> - - <step> - <para>Choisissez la machine qui sera votre serveur. Cette - machine doit disposer de suffisamment d'espace disque pour y - mettre les exécutables de FreeBSD 2.0 et les services bootp, - tftp, et NFS. Machines testées:</para> - - <itemizedlist> - - <listitem> - <para>HP9000/8xx sous HP-UX 9.04 ou ultérieurs (cela ne - marche pas avec les versions antérieures à la - 9.04).</para> - </listitem> - - <listitem> - <para>Sun/Solaris 2.3. (vous devrez peut-être vous - procurer bootp).</para> - </listitem> - - </itemizedlist> - - </step> - - <step> - <para>Installez un serveur bootp pour fournir au client son - adresse IP, son masque de réseau et une passerelle:</para> - - <programlisting> -sans-disque:\ - :ht=ether:\ - :ha=0000c01f848a:\ - :sm=255.255.255.0:\ - :hn:\ - :ds=192.1.2.3:\ - :ip=192.1.2.4:\ - :gw=192.1.2.5:\ - :vm=rfc1048: - </programlisting> - </step> - - <step> - <para>Installez un serveur TFTP (sur la même machine que le - serveur bootp) pour fournir au client les informations de - démarrage. Le nom du fichier de configuration est - <filename>cfg.<replaceable>X.X.X.X</replaceable></filename> - (ou - <filename>/tftpboot/cfg.<replaceable>X.X.X.X</replaceable></filename>, - il cherchera les deux), où <replaceable>X.X.X.X</replaceable> - est l'adresse IP du client. Ce fichier peut contenir n'importe - quelles commandes netboot valides. Dans la version 2.0, les - commandes de netboot sont les suivantes:</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <tbody> - <row> - <entry>help</entry> - <entry>affiche une liste d'aide</entry> - </row> - - <row> - <entry>ip <option><replaceable>X.X.X.X</replaceable></option></entry> - <entry>affiche/définit l'adresse IP du client</entry> - </row> - - <row> - <entry>server <option><replaceable>X.X.X.X</replaceable></option></entry> - <entry>affiche/définit l'adresse IP du serveur - bootp/tftp</entry> - </row> - - <row> - <entry>netmask <option><replaceable>X.X.X.X</replaceable></option></entry> - <entry>affiche/définit le masque de réseau</entry> - </row> - - <row> - <entry>hostname <replaceable>nom</replaceable></entry> - <entry>affiche/définit le nom de machine</entry> - </row> - - <row> - <entry>kernel <option><replaceable>nom</replaceable></option></entry> - <entry>affiche/définit le nom du noyau</entry> - </row> - - <row> - <entry>rootfs <option><replaceable>ip:/fs</replaceable></option></entry> - <entry>affiche/définit le nom du système de fichiers - racine</entry> - </row> - - <row> - <entry>swapfs <option><replaceable>ip:/fs</replaceable></option></entry> - <entry>affiche/définit le nom du système de fichiers - de pagination</entry> - </row> - - <row> - <entry>swapsize <option><replaceable>taille</replaceable></option></entry> - <entry>définit la taille de l'espace de pagination de la - station sans disque dur en Koctets</entry> - - </row> - - <row> - <entry>diskboot</entry> - <entry>démarrer depuis le disque</entry> - </row> - - <row> - <entry>autoboot</entry> - <entry>continuer le processus de démarrage</entry> - </row> - - <row> - <entry>trans - <option>on</option>|<option>off</option></entry> - <entry>active/désactive - l'émetteur-récepteur - <foreignphrase>transceiver</foreignphrase></entry> - </row> - - <row> - <entry>flags - <option>b</option><option>c</option><option>d</option><option>h</option><option>s</option><option>v</option></entry> - <entry>définit les indicateurs de démarrage</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Un fichier <filename>cfg</filename> pour une machine - sans disque peut typiquement contenir:</para> - - <programlisting> -rootfs 192.1.2.3:/rootfs/monclient -swapfs 192.1.2.3:/swapfs -swapsize 20000 -hostname monclient.mondomain - </programlisting> - - <para>Un fichier <filename>cfg</filename> pour une machine - avec espace de pagination local peut par exemple - contenir:</para> - - <programlisting> -rootfs 192.1.2.3:/rootfs/monclient -hostname monclient.mondomain - </programlisting> - </step> - - <step> - <para>Vérifiez que votre serveur NFS exporte bien le système de - fichiers racine (et le système de fichiers de pagination, le - cas échéant) vers le client, et que ces systèmes de fichiers - sont accessibles avec les droits super-utilisateur sur le - client. Le fichier <filename>/etc/exports</filename> sur un - système FreeBSD ressemblera typiquement à:</para> - - <programlisting> -/rootfs/monclient -maproot=0:0 monclient.mondomain -/swapfs -maproot=0:0 monclient.mondomain - </programlisting> - - <para>Et sur HP-UX:</para> - - <programlisting> -/rootfs/myclient -root=monclient.mondomain -/swapfs -root=monclient.mondomain - </programlisting> - </step> - - <step> - <para>Si vous paginez via NFS (configuration sans aucun disque - dur), créez un fichier de pagination pour votre client avec - <command>dd</command>. Si votre commande - <command>swapfs</command> a pour argument le système de - fichiers <filename>/swapfs</filename> et 20000 comme taille, - comme dans l'exemple ci-dessus, le fichier de pagination du - client s'appelera - <filename>/swapfs/swap.<replaceable>X.X.X.X</replaceable></filename> - où <replaceable>X.X.X.X</replaceable> est l'adresse IP du - client, e.g.:</para> - - <informalexample> - <screen>&prompt.root; <userinput>dd if=/dev/zero of=/swapfs/swap.192.1.2.4 bs=1k count=20000</userinput></screen> - </informalexample> - - <para>Comme l'espace de pagination du client peut contenir des - informations sensibles, dès lors qu'il y a pagination, veillez - à restreindre les droits en lecture et en écriture sur ce - fichier pour éviter les accès non autorisés:</para> - - <informalexample> - <screen>&prompt.root; <userinput>chmod 0600 /swapfs/swap.192.1.2.4</userinput></screen> - </informalexample> - </step> - - <step> - <para>Recopiez le système de fichiers racine sur le répertoire - qui servira de système de fichiers racine pour le client - (<filename>/rootfs/monclient</filename> dans l'exemple - ci-dessus). - - <itemizedlist> - - <listitem> - <para>Sur les systèmes HP-UX: Le serveur doit être soit - HP-UX 9.04 ou ultérieur pour les machines de la gamme - HP9000/800. Les versions antérieures ne permettent pas - de créer de fichiers spéciaux de périphérique via - NFS.</para> - </listitem> - - <listitem> - <para>Lorsque vous recopiez <filename>/dev</filename> dans - <filename>/rootfs/monclient</filename>, faites attention - au fait que certains systèmes (HP-UX) ne créeront pas - les fichiers spéciaux de périphérique dont FreeBSD a - besoin. Vous devrez peut-être passer en mode - mono-utilisateur au premier démarrage (appuyez sur - Ctrl-c pendant la phase de démarrage), - <command>cd /dev</command> puis - <command>sh ./MAKEDEV all</command> - sur le client, pour régler ce problème.</para> - </listitem> - - </itemizedlist> - - </para> - </step> - - <step> - <para>Lancez <command>netboot.com</command> sur le client - ou copiez le fichier <filename>netboot.rom</filename> - dans une EPROM.</para> - </step> - - </procedure> - - </sect2> - - <sect2> - <title>Utiliser des systèmes de fichiers <filename>/</filename> and - <filename>/usr</filename> partagés</title> - - <para>Cette façon de faire n'est pas actuellement officiellement - sanctionnée, mais j'ai utilisé un système de fichiers - <filename>/usr</filename> partagé et un système de fichiers - <filename>/</filename> individuel sur chaque client. Si quelqu'un - a des suggestions sur la façon propre de le faire, qu'il me la - communique, ou à l'&a.core;.</para> - - </sect2> - - <sect2> - <title>Compiler netboot pour des configurations particulières</title> - - <para>Netboot peut être compilé pour supporter les cartes NE1000/2000 - en modifiant sa configuration dans le fichier - <filename>/sys/i386/boot/netboot/Makefile</filename>. Voyez les - commentaires au début de ce fichier.</para> - - </sect2> - </sect1> - - <sect1 id="isdn"> - <title>ISDN</title> - - <para><emphasis>Dernières modifications de &a.wlloyd;</emphasis>.</para> - - <para>Il y a de bonnes informations sur la technologie et le matérial - ISDN sur - <ulink url="http://alumni.caltech.edu/~dank/isdn/">la page ISDN de - Dan Kegel</ulink>.</para> - - <para>Voici un aperçu simple et rapide à propos de l'ISDN:</para> - - <itemizedlist> - - <listitem> - <para>Si vous habitez en Europe, je vous suggère d'étudier la - section sur les cartes ISDN.</para> - </listitem> - - <listitem> - <para>Si vous envisagez d'utiliser l'ISDN avant tout pour vous - connecter à l'Internet par l'intermédiaire d'un Fournisseur - d'Accès Internet et d'une ligne téléphonique non dédiée, je vous - conseille de lire la section sur les Adaptateurs Terminaux. - C'est la solution la plus souple, et qui vous posera le moins de - problèmes, si vous changer de fournisseur.</para> - </listitem> - - <listitem> - <para>Si vous interconnectez deux réseaux locaux ou si vous vous - connectez à l'Internet avec une liaison ISDN dédiée, je vous - suggère d'envisager un pont/routeur autonome.</para> - </listitem> - - </itemizedlist> - - <para>Le coût est un facteur déterminant de la solution que vous - choisirez. Les options ci-dessous sont envisagées de la plus chère à - la moins chère.</para> - - - <sect2> - <title>Cartes ISDN</title> - - <para><emphasis>Contribution originale de &a.hm;.</emphasis></para> - - <para>Cette section ne s'applique qu'aux utilisateurs Européens de - l'ISDN. Les cartes supportées ne sont pas encore(?) disponibles pour - les normes Nord-Américaines.</para> - - <para>Vous devez savoir que le code est largement en cours de - développement. En particulier, il n'y a de pilotes spécifiques que - pour les cartes de deux constructeurs.</para> - - <para>Les cartes ISDN pour PC supportent toute la bande passante de - l'ISDN, 128Kbs. Ces cartes sont souvent les équipements ISDN les - moins chers.</para> - - <para>Sous FreeBSD 2.1.0 et 2.1.5, il y a un premier code ISDN - inachevé dans le répertoire <filename>/usr/src/gnu/isdn</filename>. - Ce code est obsolète et ne doit pas être utilisé. Si vous voulez - emprunter cette voie, procurez-vous le code - <filename>bisdn</filename>. Ce code a été retiré de l'arborescence - des sources depuis FreeBSD 2.2.</para> - - <para>Le logiciel ISDN <filename>bisdn</filename> pour - FreeBSD 2.1-release, FreeBSD-current et NetBSD se trouve sur - <ulink - url="ftp://hub.freebsd.org/pub/bisdn">hub.freebsd.org</ulink>. - la version la plus récente se trouve sur ce serveur ftp dans le - répertoire <filename>isdn</filename>, dans le fichier - <filename>bisdn-097.tar.gz</filename>.</para> - - <para>Il y a des pilotes pour les cartes suivantes:</para> - - <itemizedlist> - - <listitem> - <para>Toutes les cartes Teles (passives) et compatibles sont - actuellement supportées avec les protocoles EuroISDN (DSS1) et - 1TR6.</para> - </listitem> - - <listitem> - <para>Dr. Neuhaus - Niccy 1016</para> - </listitem> - - </itemizedlist> - - <para>Le logiciel <filename>bisdn</filename> présentent quelques - limitations. Les fonctionnalités suivantes, habituellement associées - à l'ISDN, ne sont pas supportées:</para> - - <itemizedlist> - - <listitem> - <para>Pas de support PPP, HDLC de base uniquement. Cela signifie - qu'il n'est pas possible de se connecter à la plupart des - routeurs autonomes.</para> - </listitem> - - <listitem> - <para>Le protocole de contrôle des - ponts - <foreignphrase>Bridging Control - Protocol</foreignphrase> - n'est pas - supporté.</para> - </listitem> - - <listitem> - <para>Support pour une seule carte, uniquement.</para> - </listitem> - - <listitem> - <para>Pas de bande passante à la demande.</para> - </listitem> - - <listitem> - <para>Pas de liaison des canaux.</para> - </listitem> - - </itemizedlist> - - - <para>Il existe une liste de diffusion. Pour vous y inscrire, envoyez - un courrier électronique à &a.majordomo; et avec: - - <programlisting> -subscribe freebsd-isdn - </programlisting> - - comme texte de votre message.</para> - - </sect2> - - <sect2> - <title>Adaptateurs terminaux ISDN</title> - - <para>Les adapteurs terminaux - Terminal adapters(TA), sont - l'équivalent ISDN des modems pour les lignes téléphoniques - ordinaires.</para> - - <para>La plupart des adaptateurs utilisent le jeu de commandes - standard des modems Hayes et peuvent être utilisés à la volée - en remplacement d'un modem.</para> - - <para>Un adaptateur fonctionne essentiellement comme un modem sinon - que la vitesse de la connexion est bien plus rapide qu'avec votre - vieux modem. Vous devrez configurer <link linkend="ppp">PPP</link> - exactement comme pour un modem. Assurez-vous d'utiliser la vitesse - la plus élevée possible sur le port série.</para> - - <para>Le principal avantage des adaptateurs terminaux pour vous - connecter à votre Fournisseur d'Accès Internet est de pouvoir - utiliser PPP en mode dynamique. Comme l'espace d'adressage IP - disponible devient de plus en plus restreint, la plupart des - fournisseurs ne proposent plus désormais d'adresse IP statique. - La plupart des routeurs autonomes ne peuvent pas fonctionner avec - l'allocation dynamique d'adresse IP.</para> - - <para>Les fonctionnalités et la stabilité de la connexion des - adaptateurs reposent complètement sur le “démon” PPP - que vous exécuter. Cela vous permet de passer simplement d'un modem - à l'ISDN sur une machine FreeBSD, si vous avez déjà configuré PPP. - De ce fait, cependant, les problèmes que vous rencontrez avec PPP - persisteront aussi.</para> - - <para>Si vous voulez le maximum de stabilité, utilisez <link - linkend="ppp">PPP intégré au noyau</link> au lieu de <link - linkend="userppp">PPP en mode utilisateur</link>.</para> - - <para>On sait que les adapteurs suivants fonctionnent avec - FreeBSD:</para> - - <para> - <itemizedlist> - - <listitem> - <para>Motorola BitSurfer et Bitsurfer Pro</para> - </listitem> - - <listitem> - <para>Adtran</para> - </listitem> - - </itemizedlist> - </para> - - <para>La plupart des adaptateurs terminaux fonctionneront probablement - aussi, les fabricants d'adaptateurs font en sorte que leurs produits - acceptent la plupart des commandes AT des modems.</para> - - <para>Le vrai problème avec les adaptateurs externes est que, comme - pour les modems, il vous faut une bonne carte série.</para> - - <para>Vous devriez lire la section <link linkend="uart">Ports - série</link> de ce manuel pour comprendre en détail le - fonctionnement des périphériques série et les différences entre - les ports série synchrones et asynchrones.</para> - - <para>Un adaptateur sur un port série PC standard (asynchrone) - vous limite à 115.2Kbs, bien que vous ayez une liaison à 128Kbs. - Pour utiliser les 128Kbs que peut atteindre l'ISDN, il vous faut - relier l'adaptateur à une carte série synchrone.</para> - - <para>N'imaginez pas qu'il vous suffise d'acheter un adaptateur - interne pour éviter l'alternative synchrone/asynchrone. Les - adaptateurs internes incluent simplement une puce port série - standard. Tout ce que vous y gagnerez sera d'économiser un - câble série et de récupérer une prise électrique.</para> - - <para>Une carte synchrone avec un adaptateur est au moins aussi rapide - qu'un routeur autonome, et pilotée par une simple machine FreeBSD, - probablement plus souple.</para> - - <para>Le choix entre carte synchrone/adaptateur ou routeur autonome - est largement question de dogme. Cela a été quelque peu discuté - dans les listes de diffusion. Je vous suggère de regarder dans les - <ulink - url="http://www.freebsd.org/search.html">archives</ulink> pour - suivre l'intégralité du débat.</para> - - </sect2> - - <sect2> - <title>Ponts/Routeurs ISDN autonomes</title> - - <para>Les ponts ou les routeurs ISDN ne sont en rien propres à - FreeBSD ou à tout autre système d'exploitation. Pour une description - complète de la technologie des ponts et des routeurs, reportez-vous - s'il vous plaît à un ouvrage de référence sur les réseaux.</para> - - <para>Dans le contexte de ce manuel, j'utiliserai indifféremment les - termes routeur et pont.</para> - - <para>Comme le prix des ponts/routeurs ISDN d'entrée de gamme baisse - continuellement, il est probable qu'ils deviennent un choix plus - courant. Un routeur ISDN est une petite boîte que se branche - directement sur votre réseau (ou votre carte) Ethernet, et gère sa - propre connexion aux autres ponts/routeurs. Il intègre le logiciel - nécessaire au support du protocole PPP et d'autres - protocoles.</para> - - <para>Un routeur vous procurera une liaison plus rapide qu'un - adaptateur standard, puisqu'il utilisera toute la connexion - ISDN synchrone.</para> - - <para>Le principale problème avec les ponts et les routeurs ISDN est - encore l'interopérabilité entre les matériels des différents - constructeurs. Si vous envisagez de vous connecter à un fournisseur - d'accès Internet, je vous recommande d'en discuter avec lui.</para> - - <para>Si vous envisagez de relier entre eux deux réseaux locaux, i.e.: - le réseau de votre domicile et le réseau de votre bureau, c'est la - solution la plus simple et qui demande le moins de maintenance. - Etant donné que vous achetez les équipements pour les deux - extrémités de la liaison, vous êtes sûr que cela - fonctionnera.</para> - - <para>Pour connecter par exemple votre ordinateur à domicile ou - le réseau d'une agence à celui du siège, vous pourriez - utiliser la configuration qui suit.</para> - - <example> - <title>Réseau d'agence ou à domicile</title> - - <para>Réseau Ethernet 10 Base T. Connecter le routeur au câble réseau - avec un - émetteur-récepteur - <foreignphrase>transceiver</foreignphrase> - AUI/10BT, - si nécessaire.</para> - - <!-- This should be a graphic --> - <programlisting> ----Station de travail Sun -| ----Machine FreeBSD -| ----Windows 95 (N'avouez pas qu'elle est à vous) -| -Routeur autonome - | -Liaison ISDN BRI - </programlisting> - - <para>Si vous n'avez qu'un seul ordinateur à domicile ou dans - l'agence, vous pouvez utiliser une paire torsadée croisée pour - le connecter directement au routeur.</para> - </example> - - <example> - <title>Siège ou autre réseau</title> - - <para>Réseau Ethernet paire torsadée.</para> - - <!-- This should be a graphic --> - <programlisting> - -------Serveur Novell - | H | - | ---Sun - | | - | U ---FreeBSD - | | - | ---Windows 95 - | B | - |___---Routeur autonome - | - Liaison ISDN BRI - </programlisting> - </example> - - <para>Un sérieux avantage de la plupart des ponts/routeurs est qu'ils - vous permettent d'avoir deux connexions PPP <emphasis>séparées et - indépendantes</emphasis> en même temps. Ce n'est pas possible avec - la plupart des adaptateurs, sauf certains modèles particuliers - (coûteux) qui ont deux ports série. Ne confondez pas cela avec - avec le couplage de canaux, MPP, etc.</para> - - <para>Ce peut être une fonctionnalité très utile, par exemple si vous - avez une connexion ISDN Internet dédiée au bureau et voudriez en - profiter mais ne voulez pas acquérir de nouvelle ligne ISDN. - Un routeur au bureau peut gérer un canal B dédié - (64 Kbs) vers l'Internet et utiliser l'autre canal B pour une - autre connexion. Le deuxième canal B peut être utilisé pour - des connexions entrantes, sortantes ou dynamiquement liée - au premier canal B pour augmenter la bande passante.</para> - - <para>Un pont Ethernet vous permettra aussi de transmettre autre - chose que du trafic IP, vous pourrez aussi faire passer de l'IPX/SPX - ou tout autre protocole que vous utilisiez.</para> - - </sect2> - </sect1> - </chapter> -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-shorttag: nil - sgml-always-quote-attributes: t - sgml-minimize-attributes: max - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> diff --git a/fr_FR.ISO8859-1/books/handbook/backups/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/backups/chapter.sgml deleted file mode 100644 index 707735ab65..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/backups/chapter.sgml +++ /dev/null @@ -1,774 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: n.nn ---> - -<chapter id="backups"> - <title>Sauvegardes</title> - &trans.a.haby; - - <para>Les questions de compatibilité matérielle sont aujourd'hui - les plus problématiques de l'industrie informatique et FreeBSD - n'en est nullement à l'abri. De ce point de vue, l'avantage qu'a - FreeBSD de pouvoir être utilisé sur du matériel PC de base et - peu coûteux devient un problème lorsqu'il faut supporter la - variété incroyable de composants disponibles sur le marché. - Il est impossible de donner une liste exhaustive des matériels - compatibles avec FreeBSD, mais ce chapitre est un catalogue des - pilotes de périphériques inclut dans FreeBSD et des matériels que - chaque pilote supporte. Si possible et approprié, des notes ont - ajoutées sur les matériels eux-mêmes. Vous pouvez aussi vous - référer au chapitre <link linkend="kernelconfig-config">Configurer - le noyau de FreeBSD</link> de ce manuel pour avoir - la liste des matériels supportés.</para> - - <para>FreeBSD est un projet bénévole qui n'a pas les moyens de financer - un service de tests, nous reposons sur vous, les utilisateurs, pour une - grande part des informations que fournit ce catalogue. Si vous avez - l'expérience personnelle d'un matériel qui fonctionne ou ne fonctionne - pas avec FreeBSD, faites-le nous savoir par courrier électronique - à la &a.doc;. Les questions concernant les matériels compatibles doivent - être adressées à la &a.questions; (voyez la section - <link linkend="eresources-mail">Listes - de diffusion</link> pour plus d'information). Quand vous nous faites - parvenir de l'information ou posez une question, n'oubliez pas s'il vous - plaît de préciser exactement quelle version de FreeBSD vous utilisez et - de donner le maximum de détails sur votre configuration - matérielle.</para> - - <sect1> - <title>* A propos des sauvegardes sur disquettes</title> - - <para></para> - </sect1> - - <sect1 id="backups-tapebackups"> - <title>Formats de bandes</title> - - <para>Les principaux types de bandes sont les 4mm, 8mm, QIC, les mini-cartouches - et les DLT.</para> - - <sect2 id="backups-tapebackups-4mm"> - <title>4mm (DDS: “Digital Data - Storage”)</title> - - <para>Les bandes 4mm sont en train de remplacer les bandes QIC comme format usuel - de sauvegarde pour les stations de travail. Cette tendance s'est accélérée - lorsque Conner a racheté Archive, dominant sur le marché des lecteurs QIC, - et a arrêté la production de ces derniers. Les bandes 4mm sont petites et - silencieuses, mais n'ont pas la réputation de fiabilité des bandes 8mm. Les - cartouches sont moins coûteuses et plus petites (3 x 2 x 0.5 pouces, 76 x 51 - x 12 mm) que les cartouches 8mm. Leurs durées de vie sont faibles et comparables, - car elles utilisent toutes les deux un procédé de lecture/écriture en hélice.</para> - - <para>Leur débit va de ~150kB/s à ~500kB/s au maximum. Leur capacité varie de - 1.3 GB à 2.0 GB. La compression matérielle, disponible sur la plupart des - lecteurs, double approximativement leur capacité. Il existe des lecteurs - multiples avec changeur de bande automatique qui ont jusqu'à six unités de - lecture/écriture. La capacité totale qu'ils gèrent atteint 240 GB.</para> - - <para>Les têtes 4mm, comme les têtes 8mm, utilisent un procédé de lecture/écriture - en hélice. Ils présentent donc tous deux les avantages et les inconvénients de ce - procédé.</para> - - <para>Il faut sortir les bandes après 2.000 utilisations ou 100 sauvegardes - complètes.</para> - </sect2> - - <sect2 id="backups-tapebackups-8mm"> - <title>Bandes 8mm (Exabyte)</title> - - <para>Les unités de bandes 8mm sont les unités SCSI les plus courantes; c'est le - meilleure choix de bandes amovibles. Il y a une unité Exabyte 8mm de 2GB sur - presque chaque site. Les bandes 8mm sont fiables, silencieuses et pratiques. - Les cartouches ne sont pas chères et d'encombrement faible (4.8 x 3.3 x 0.6 - pouces; 122 x 84 x 15 mm). Un des inconvénients de ce format est la durée de - vie relativement courte des bandes et des têtes du fait de la grande vitesse - de défilement de la bande devant les têtes.</para> - - <para>Leur débit va ~250kB/s à ~500kB/s au maximum. Leur capacité commence à - 300 MB jusqu'à 7 GB. La compression matérielle, disponible sur la plupart des - lecteurs, double approximativement leur capacité. Il existe des lecteurs - simples et multiples, qui accueillent six unités et 120 cartouches. Ils - disposent de changeurs de bandes automatiques. Ils gèrent une capacité de - stockage de 840+ GB.</para> - - <para>L'enregistrement des données utilisent un procédé en hélice. Les têtes - sont en biais par rapport à la bande (environ 6 degrés). La bande fait un - angle de 270 degrés avec le cylindre sur lequel se trouvent les têtes. Ce - cylindre tourne en même temps que la bande défile. On aboutit donc à une - grande densité de données et des pistes très serrées qui vont de biais d'un - bord de la bande à l'autre.</para> - </sect2> - - <sect2 id="backups-tapebackups-qic"> - <title>QIC</title> - - <para>Les bandes et les lecteurs QIC-150 sont, peut-être, le format le plus - courant. Les lecteurs de bandes QIC sont les moins chers des supports de - sauvegarde “sérieux”. Leur inconvénient par contre est le - coût des bandes. Les bandes QIC sont chères par rapport aux bande 4mm et 8mm, - près de 5 fois le coût au GB. Mais, si une demi-douzaine de bandes vous - suffit, le format QIC est peut-être le bon choix. QIC est le format le - <emphasis>plus</emphasis> répandu. Il y a un lecteur QIC d'une densité ou - d'une autre sur chaque site. C'est là la difficulté, il y a de nombreuses - densités différentes pour des bandes physiquement semblables (parfois - même identiques). Les lecteurs QIC ne sont pas silencieux. Ils se - positionnent bruyamment avant d'enregistrer et on les entend lorsqu'ils - lisent, enrregistrent ou se positionnent sur la bande. Les bandes QIC - sont volumineuses (6 x 4 x 0.7 pouces; 15.2 x 10.2 x 1.7 mm). - Les <link linkend="backups-tapebackups-mini">Mini-cartouches</link>, - qui utilisent aussi des bandes 1/4" sont décrites par ailleurs. On ne trouve - pas d'unités multi-bandes avec changeur.</para> - - <para>Leur débit va de ~150kB/s à ~500kB/s au maximum. Leur capacité varie de - 40 MB à 15 GB. La compression matérielle est disponible sur de - nombreux modèles récents. On utilise de moins en moins les lecteurs - QIC; ils sont remplacés par les lecteurs DAT.</para> - - <para>Les données sont enregistrées sur des pistes sur la bande. Les pistes - sont parallèles à la bande et vont d'une extrémité à l'autre. Le nombre de - pistes et donc la largeur des pistes dépend de la capacité de la bande. La - plupart, sinon toutes les unités récentes sont au moins compatibles en - lecture (mais souvent aussi en écriture) avec les anciennes. Le format - a une bonne réputation de fiabilité (la mécanique est plus simple est - plus robuste que celle du système en hélice).</para> - - <para>Les bandes sont utilisables pour 5.000 sauvegardes.</para> - </sect2> - - <sect2 id="backups-tapebackups-mini"> - <title>* Mini-Cartouches</title> - - <para></para> - </sect2> - - <sect2 id="backups-tapebackups-dlt"> - <title>DLT</title> - - <para>Les DLT ont le taux de transfert le plus rapide de tous les types - de lecteurs décrits ici. La bande d'1/2" (12.5mm) est contenue dans - une seule cartouche à bobine (4 x 4 x 1 pouces; 100 x 100 x 25 mm). - La cartouche est munie d'une trappe basculante sur une face latérale - entière. Le lecteur ouvre cette trappe pour saisir le début de la - bande. Cette amorce comporte une découpe ovale que le lecteur utilise - pour “crocheter” la bande. La bobine d'entraînement se - trouve dans le lecteur. Tous les autres types de cartouches décrits - ici (les bandes neuf pistes sont la seule exception) incorporent les - bobines de stockage et d'entraînement.</para> - - <para>Leur débit est d'environ 1.5MB/s, trois fois celui des bandes 4mm, - 8mm et QIC. La capacité d'une bande va de 10GB à 20GB. Il y a des unités - avec changeur de bandes et des unités avec plusieurs lecteurs/enregistreurs - qui vont de 5 à 900 bandes et de 1 à 20 lecteurs, ce qui procure une - capacité totale de 50GB à 9TB.</para> - - <para>Les données sont enregistrées sur des pistes parallèles à la direction - de défilement (tout comme les bandes QIC). L'écriture se fait sur deux pistes - à la fois. La durée de vie des têtes de lecture/écriture est relativement - longue; une fois que la bande s'arrête, il n'y a pas de déplacement des têtes - par rapport à la bande.</para> - </sect2> - - <sect2> - <title>Utiliser une bande neuve pour la première fois</title> - - <para>La première fois que vous essayer de lire ou d'écrire sur une bande vierge, - l'opération échoue. La console affiche des messages du type:</para> - -<informalexample> - <screen>st0(ncr1:4:0): NOT READY asc:4,1 -st0(ncr1:4:0): Logical unit is in process of becoming ready</screen> - </informalexample> - - <para>Il n'y a pas de bloc d'identification (bloc numéro 0) sur la bande. - Tous les lecteurs QIC écrivent un bloc d'identification sur la bande - depuis l'adoption du standard QIC-525. Il y a deux solutions:</para> - - <itemizedlist> - <listitem> - <para><command>mt fsf 1</command> fait écrire au lecteur le bloc - d'identification sur la bande.</para> - </listitem> - - <listitem> - <para>Utilisez le bouton du panneau frontal pour éjecter la bande,</para> - - <para>réinsérez la bande et utilisez - <citerefentry> - <refentrytitle>dump</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> pour écrire dessus,</para> - - <para><citerefentry> - <refentrytitle>dump</refentrytitle> - <manvolnum>8</manvolnum></citerefentry> produira l'erreur <literal>DUMP: - End of tape detected</literal> et la console affichera: - <literal>HARDWARE FAILURE info:280 asc:80,96</literal>,</para> - - <para>rembobinez la bande avec: <command>mt rewind</command>,</para> - - <para>les manipulations ultérieures sur la bande fonctionneront.</para> - </listitem> - </itemizedlist> - </sect2> - </sect1> - - <sect1 id="backup-programs"> - <title>Programmes de sauvegarde</title> - - <para>Les trois principaux programmes sont: - <citerefentry> - <refentrytitle>dump</refentrytitle> - <manvolnum>8</manvolnum></citerefentry>, - <citerefentry> - <refentrytitle>tar</refentrytitle> - <manvolnum>1</manvolnum></citerefentry>, - et - <citerefentry> - <refentrytitle>cpio</refentrytitle> - <manvolnum>1</manvolnum></citerefentry>.</para> - - <sect2> - <title>Dump et Restore</title> - - <para><citerefentry> - <refentrytitle>dump</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> et <citerefentry> - <refentrytitle>restore</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> sont les programmes de sauvegarde traditionnels d'Unix. - Ils considérent la bande comme une suite de blocs de disque, en dessous - du niveau d'abstraction que constituent les fichiers, liens et répertoires - créés par les systèmes de fichiers. - <citerefentry> - <refentrytitle>dump</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> sauvegarde des entrées de "périphériques", des systèmes - de fichiers complets, et non des sous-ensembles d'un système de fichiers - ou des arborescences de répertoires qui se répartissent sur plusieurs - systèmes de fichiers, via des liens symboliques créés avec - <citerefentry> - <refentrytitle>ln</refentrytitle> - <manvolnum>1</manvolnum> - </citerefentry> ou en montant un système de fichiers sur un autre. - <citerefentry> - <refentrytitle>dump</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> n'écrit pas de fichiers ou répertoires sur la bande, mais - écrit les blocs de données dont sont constitués les fichiers et - les répertoires. <citerefentry> - <refentrytitle>dump</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> a quelques particularités qui datent de la - Version 6 d'ATT Unix (circa 1975). Les paramètres par défaut - conviennent aux bandes 9 pistes (6250 bpi) et non aux supports - à haute densité que l'on trouve maintenant (jusqu'à 62,182 ftpi). - Il faut surcharger ces valeurs par défaut sur la ligne de - commande pour utiliser la capacité des bandes actuelles.</para> - - <para><citerefentry> - <refentrytitle>rdump</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> et <citerefentry> - <refentrytitle>rrestore</refentrytitle> - <manvolnum>8</manvolnum></citerefentry> sauvegardent les données - via le réseau sur une unité de bandes qui se trouve sur une - autre machine. Les deux programmes se servent de - <citerefentry> - <refentrytitle>rcmd</refentrytitle> - <manvolnum>3</manvolnum> - </citerefentry> et <citerefentry> - <refentrytitle>ruserok</refentrytitle> - <manvolnum>3</manvolnum></citerefentry> pour accéder à l'unité de - bandes distante. L'utilisateur qui effectue la sauvegarde doit donc - avoir un accès <literal>rhosts</literal> à la machine distante. Les - arguments de <citerefentry> - <refentrytitle>rdump</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> et <citerefentry> - <refentrytitle>rrestore</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry> doivent être compatibles avec la machine distante (e.g. - si vous sauvegardez d'une machine FreeBSD sur un lecteur Exabyte - installé sur un ordinateur Sun appelé - <hostid>komodo</hostid>, utilisez: <command>/sbin/rdump 0dsbfu 54000 - 13000 126 komodo:/dev/nrst8 /dev/rsd0a 2>&1</command>) Attention: - Autoriser les commandes <literal>rhosts</literal> a des conséquences - pour la sécurité. Evaluez soigneusement votre situation.</para> - </sect2> - - <sect2> - <title>Tar</title> - - <para><citerefentry> - <refentrytitle>tar</refentrytitle> - <manvolnum>1</manvolnum> - </citerefentry> date aussi de la Version 6 d'ATT Unix (circa - 1975). <citerefentry> - <refentrytitle>tar</refentrytitle> - <manvolnum>1</manvolnum> - </citerefentry> travaille en coopération avec le système de fichiers; - <citerefentry> - <refentrytitle>tar</refentrytitle> - <manvolnum>1</manvolnum> - </citerefentry> écrit des fichiers et des répertoires sur la bande. - <citerefentry> - <refentrytitle>tar</refentrytitle> - <manvolnum>1</manvolnum> - </citerefentry> ne supporte pas toutes les options que permet - <citerefentry> - <refentrytitle>cpio</refentrytitle> - <manvolnum>1</manvolnum></citerefentry>, mais <citerefentry> - <refentrytitle>tar</refentrytitle> - <manvolnum>1</manvolnum></citerefentry> ne demande pas - l'inhabituelle concaténation de commandes qu'utilise - <citerefentry> - <refentrytitle>cpio</refentrytitle> - <manvolnum>1</manvolnum> - </citerefentry>.</para> - - <para>La plupart des versions de <citerefentry> - <refentrytitle>tar</refentrytitle> - <manvolnum>1</manvolnum> - </citerefentry> ne donnent pas la possibilité de sauvegarde en réseau. La - version GNU de <citerefentry> - <refentrytitle>tar</refentrytitle> - <manvolnum>1</manvolnum></citerefentry>, que FreeBSD utilise, - supporte les périphériques distants avec la même syntaxe que - <command>rdump</command>. Pour sauvegarder avec <citerefentry> - <refentrytitle>tar</refentrytitle> - <manvolnum>1</manvolnum> - </citerefentry> sur une unité Exabyte installée sur un Sun appelé - komodo, utilisez: <command>/usr/bin/tar cf komodo:/dev/nrst8 . - 2>&1</command>. Avec les versions sans support pour des - périphériques distants, vous pouvez utilisez un tuyau (“pipe”) - et <citerefentry> - <refentrytitle>rsh</refentrytitle> - <manvolnum>1</manvolnum></citerefentry> pour envoyer les données - sur le lecteur distant.</para> - </sect2> - - <sect2> - <title>Cpio</title> - - <para><citerefentry> - <refentrytitle>cpio</refentrytitle> - <manvolnum>1</manvolnum></citerefentry> est le programme Unix - original pour l'échange de fichiers par bandes magnétiques. - <citerefentry> - <refentrytitle>cpio</refentrytitle> - <manvolnum>1</manvolnum></citerefentry> dispose d'options (entre - beaucoup d'autres) pour intervertir les octets, utiliser différents - formats d'archivage et envoyer les données à d'autres programmes. - C'est cette dernière possibilité qui fait de - <citerefentry> - <refentrytitle>cpio</refentrytitle> - <manvolnum>1</manvolnum></citerefentry> un excellent choix pour - les supports d'installation. <citerefentry> - <refentrytitle>cpio</refentrytitle> - <manvolnum>1</manvolnum></citerefentry> ne sait pas parcourir - l'arborescence d'un répertoire et il faut lui passer la liste - des fichiers via - <filename>STDIN</filename>.</para> - - <para><citerefentry> - <refentrytitle>cpio</refentrytitle> - <manvolnum>1</manvolnum></citerefentry> ne permet pas la - sauvegarde sur le réseau et il faut utiliser un tuyau (“pipe”) - et <citerefentry> - <refentrytitle>rsh</refentrytitle> - <manvolnum>1</manvolnum></citerefentry> pour envoyer les données sur une - unité distante.</para> - </sect2> - - <sect2> - <title>Pax</title> - - <para><citerefentry> - <refentrytitle>pax</refentrytitle> - <manvolnum>1</manvolnum></citerefentry> est la réponse IEEE/POSIX à - <command>tar</command> et <command>cpio</command>. Au fil des ans, les - différentes versions de <command>tar</command> et <command>cpio</command> - sont devenues légérement incompatibles. Donc, au lieu de batailler pour - les standardiser entièrement, POSIX a défini un nouvel utilitaire d'archivage. - <command>pax</command> essaie de lire nombre de formats - <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry> et - <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> en - plus de ses propres nouveaux formats. Son jeu de commandes ressemble plus à - celui de <command>cpio</command> qu'à celui de - <command>tar</command>.</para> - </sect2> - - <sect2 id="backups-programs-amanda"> - <title>Amanda</title> - - <para><ulink url="http://www.freebsd.org/ports/misc.html#amanda-2.4.0">Amanda</ulink> - (Advanced Maryland Network Disk Archiver - Système Avancé d'Archivage - de Disques en Réseau du Maryland ) est un système d'archivage client/serveur - plutôt qu'un simple programme. Un serveur Amanda archivera sur une seule - unité de bandes un nombre quelconque d'ordinateurs qui ont un client - Amanda et un accès réseau au serveur Amanda. Un problème habituel sur - les sites qui ont de nombreux disques volumineux est le temps disponible - pour la sauvegarde. Amanda résoud ce problème. Amanda peut utiliser un - “disque intermédiaire” pour sauvegarder plusieurs systèmes de fichiers - à la fois. Amanda crée des “jeux d'archive”, un ensemble de bandes - utilisées pour une période donnée pour créer une sauvegarde complète de tous les - systèmes de fichiers listés dans ses fichiers de configuration. - Le “jeu d'archive” contient aussi les sauvegardes nocturnes - incrémentales (ou différentielles) de tous les systèmes de fichiers. - Pour restaurer un système de fichiers endommagé, il faut la sauvegarde - complète la plus récente et les sauvegardes incrémentales.</para> - - <para>Le fichier de configuration permet un contrôle en finesse des - sauvegardes et du trafic qu'Amanda génére sur le réseau. Amanda peut - utiliser n'importe lequel des programmes de sauvegarde décrits plus - haut pour écrire les données sur bande. Amanda existe sous forme - pré-compilée ou source, il n'est pas installé par défaut.</para> - </sect2> - - <sect2> - <title>Ne rien faire</title> - - <para>“Ne rien faire” n'est pas un logiciel, mais c'est la - stratégie de sauvegarde la plus utilisée. Il n'y a aucun investissement. - Il n'y a pas de planification des sauvegardes à suivre. Juste dire non. - Si quelque chose arrive à vos données, souriez et débrouillez-vous!</para> - - <para>Si votre temps et vos données ne valent pas grand chose, alors - “Ne rien faire” est le programme de sauvegarde le mieux - adapté à votre ordinateur. Mais prenez garde, Unix est un bon outil, - vous pouvez vous rendre compte au bout de six mois que vous avez une - collection de fichiers utiles.</para> - - <para>“Ne rien faire” est la bonne méthode pour sauvegarder - <filename>/usr/obj</filename> et les autres répertoires qui peuvent - facilement être recréés par votre ordinateur. Par exemple, les fichiers - qui constituent ces pages ont été générés à partir de fichiers - <acronym>SGML</acronym>. Il n'est pas nécessaire d'archiver ces fichiers - <acronym>HTML</acronym>. Les fichiers source - <acronym>SGML</acronym> sont sauvegardés régulièrement.</para> - </sect2> - - <sect2> - <title>Quel est le meilleur programme de sauvegarde?</title> - - <para><citerefentry> - <refentrytitle>dump</refentrytitle> - <manvolnum>8</manvolnum></citerefentry> <emphasis>Point.</emphasis> - Elizabeth D. Zwicky a soumis à rude épreuve tous les programmes de - sauvegarde dont nous avons parlé. Le choix de - <citerefentry><refentrytitle>dump</refentrytitle> - <manvolnum>8</manvolnum></citerefentry> s'impose pour préserver toutes - vos données et les particularités des systèmes de fichiers Unix. - Elizabeth a créé des systèmes de fichiers avec une grande variété - de particularités inhabituelles et a testé chacun des programmes - en faisant une sauvegarde et une restauration. Parmi les spécificités - testées : fichiers avec des trous, fichiers avec des trous et des blocs - de caractères “null”, fichiers dont les noms comportaient des - caractères inhabituels, fichiers illisibles ou dans lesquels il n'était - pas possible d'écrire, périphériques, fichiers dont la taille changeait - pendant la sauvegarde, fichiers créés ou détruits en cours de sauvegarde, - et bien d'autres encore. Elle a présenté les résultats de ces test au - LISA V en Octobre 1991. Voyez ses <ulink - url="http://reality.sgi.com/zwicky_neu/testdump.doc.html">Tests d'endurance des programmes - de sauvegarde et de restauration</ulink>.</para> - </sect2> - - <sect2> - <title>Procédure de restauration d'urgence</title> - - <sect3> - <title>Avant le désastre</title> - - <para>Il y a quatre étapes à mettre en oeuvre en prévision d'un désastre éventuel.</para> - - <para>Tout d'abord, imprimez le label de chacun de vos disques - (<command>e.g. disklabel sd0 | lpr</command>), votre table des systèmes de fichiers - (<command>/etc/fstab</command>) et tous les messages de démarrage, - en deux exemplaires.</para> - - <para>Deuxièmement, vérifiez que vos disquettes de démarrage - et de reprise d'urgence - (<filename>boot.flp</filename> et <filename>fixit.flp</filename>) - incluent tous vos périphériques. La meilleure façon de le vérifier - est de redémarrer avec la disquette de démarrage dans le lecteur - et de contrôler les messages de démarrage. Si tous les périphériques - y figurent et sont opérationnels, passez à la troisième étape.</para> - - <para>Sinon, vous devez créer deux disquettes de démarrage sur-mesure - avec un noyau qui puisse monter tous vos disques et accéder à votre - unité de bandes. Ces disquettes doivent contenir: - <citerefentry> - <refentrytitle>fdisk</refentrytitle> - <manvolnum>8</manvolnum></citerefentry>, <citerefentry> - <refentrytitle>disklabel</refentrytitle> - <manvolnum>8</manvolnum></citerefentry>, <citerefentry> - <refentrytitle>newfs</refentrytitle> - <manvolnum>8</manvolnum></citerefentry>, <citerefentry> - <refentrytitle>mount</refentrytitle> - <manvolnum>8</manvolnum></citerefentry>, et celui des programmes - de sauvegarde que vous utilisez. L'édition de liens de ces - programmes doit être statique. Si vous utilisez - <citerefentry> - <refentrytitle>dump</refentrytitle> - <manvolnum>8</manvolnum></citerefentry>, les disquettes doivent - inclure - <citerefentry> - <refentrytitle>restore</refentrytitle> - <manvolnum>8</manvolnum></citerefentry>.</para> - - <para>Troisièmement, faites régulièrement des sauvegardes sur bandes. Toutes - les modifications effectuées après la dernière sauvegarde peuvent être - irrémédiablement perdues. Protégez vos bandes de sauvegarde en écriture.</para> - - <para>Quatrièmement, testez vos disquettes (soit <filename>boot.flp</filename> - et <filename>fixit.flp</filename>, soit les deux disquettes sur-mesure que vous - avez créées à la seconde étape) et vos bandes de sauvegarde. Prenez note de - la procédure (de restauration). Rangez ces notes avec la disquette de démarrage, - les impressions et les bandes de sauvegarde. Vous serez si préoccupé quand vous - devrez restaurer que ces notes peuvent vous éviter de détruire vos bandes de - sauvegarde (Comment? En tapant accidentellement - <command>tar cvf /dev/rst0</command> au lieu de <command>tar xvf</command> ce qui - écraserait vos bandes de sauvegarde).</para> - - <para>Par mesure de sécurité, créez une disquette de démarrage et deux bandes - de sauvegarde à chaque fois. Rangez-les dans un lieu éloigné. Le sous-sol - du même batiment <emphasis>n'est pas</emphasis> un endroit éloigné. Un certain - nombre de compagnies du World Trade Center l'ont appris à leurs dépends. Un - endroit éloigné doit être physiquement significativement séparé de vos - ordinateurs et de vos disques.</para> - - <para>Voici un exemple de procédure pour créer une disquette de démarrage:</para> - - <programlisting> -<![ CDATA [#!/bin/sh -# -# créer une disquette de restauration -# -# formater la disquette -# -PATH=/bin:/sbin:/usr/sbin:/usr/bin - -fdformat -q fd0 -if [ $? -ne 0 ] -then - echo "Mauvaise disquette, utilisez-en une neuve" - exit 1 -fi -# -# mettre les blocs de démarrage sur la disquette -# -disklabel -w -B -b /usr/mdec/fdboot -s /usr/mdec/bootfd /dev/rfd0c fd1440 - -# -# newfs sur la seule et unique partition -# -newfs -t 2 -u 18 -l 1 -c 40 -i 5120 -m 5 -o space /dev/rfd0a - -# -# monter la nouvelle disquette -# -mount /dev/fd0a /mnt - -# -# créer les répertoires voulus -# -mkdir /mnt/dev -mkdir /mnt/bin -mkdir /mnt/sbin -mkdir /mnt/etc -mkdir /mnt/root -mkdir /mnt/mnt # pour la partition racine -mkdir /mnt/tmp -mkdir /mnt/var - -# -# peupler les répertoires -# -if [ ! -x /sys/compile/MINI/kernel ] -then - cat << EOM -Le noyau MINI n'existe pas, créez-le. -Voici un exemple de fichier de configuration: -# -# MINI -- Un noyau pour FreeBSD pour mettre sur une disquette. -# -machine "i386" -cpu "I486_CPU" -ident MINI -maxusers 5 - -options INET # requis pour _tcp _icmpstat _ipstat - # _udpstat _tcpstat _udb -options FFS #Berkeley Fast File System -options FAT_CURSOR #gros curseur pour syscons ou pccons -options SCSI_DELAY=15 #Etre pessimiste pour les périphériques SCSI de Joe -options NCONS=2 #1 consoles virtuelle -options USERCONFIG #Permettre la configuration utilisateur avec -c XXX - -config kernel root on sd0 swap on sd0 and sd1 dumps on sd0 - -controller isa0 -controller pci0 - -controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr -disk fd0 at fdc0 drive 0 - -controller ncr0 - -controller scbus0 - -device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr -device npx0 at isa? port "IO_NPX" irq 13 vector npxintr - -device sd0 -device sd1 -device sd2 - -device st0 - -pseudo-device loop # requis par INET -pseudo-device gzip # Pouvoir exécuter les a.out "gzippés" -EOM - exit 1 -fi - -cp -f /sys/compile/MINI/kernel /mnt - -gzip -c -best /sbin/init > /mnt/sbin/init -gzip -c -best /sbin/fsck > /mnt/sbin/fsck -gzip -c -best /sbin/mount > /mnt/sbin/mount -gzip -c -best /sbin/halt > /mnt/sbin/halt -gzip -c -best /sbin/restore > /mnt/sbin/restore - -gzip -c -best /bin/sh > /mnt/bin/sh -gzip -c -best /bin/sync > /mnt/bin/sync - -cp /root/.profile /mnt/root - -cp -f /dev/MAKEDEV /mnt/dev -chmod 755 /mnt/dev/MAKEDEV - -chmod 500 /mnt/sbin/init -chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt -chmod 555 /mnt/bin/sh /mnt/bin/sync -chmod 6555 /mnt/sbin/restore - -# -# créer les fichiers spéciaux de périphériques -# -cd /mnt/dev -./MAKEDEV std -./MAKEDEV sd0 -./MAKEDEV sd1 -./MAKEDEV sd2 -./MAKEDEV st0 -./MAKEDEV pty0 -cd / - -# -# créer une table des systèmes de fichiers minimale -# -cat > /mnt/etc/fstab <<EOM -/dev/fd0a / ufs rw 1 1 -EOM - -# -# créer un fichier d'utilisateurs minimal -# -cat > /mnt/etc/passwd <<EOM -root:*:0:0:Charlie &:/root:/bin/sh -EOM - -cat > /mnt/etc/master.passwd <<EOM -root::0:0::0:0:Charlie &:/root:/bin/sh -EOM - -chmod 600 /mnt/etc/master.passwd -chmod 644 /mnt/etc/passwd -/usr/sbin/pwd_mkdb -d/mnt/etc /mnt/etc/master.passwd - -# -# démonter la disquette et prévenir l'utilisateur -# -/sbin/umount /mnt]]></programlisting> - </sect3> - - <sect3> - <title>Après le désastre</title> - - <para>La question cruciale est: votre matériel a-t-il survécu? Vous avez fait - des sauvegardes régulières, donc vous n'avez pas besoin de vous inquiéter - pour les logiciels et les fichiers.</para> - - <para>Si le matériel a subi des dégats, remplacez d'abord ce qui a été - endommagé.</para> - - <para>Si votre matériel est en état, récupérez vos disquettes. Si vous - utilisez une disquette sur-mesure, démarrez en mode mono-utilisateur - (tapez <literal>-s</literal> à l'invite <prompt>boot:</prompt>). Sautez - le paragraphe suivant.</para> - - <para>Si vous utilisez les disquettes <filename>boot.flp</filename> et - <filename>fixit.flp</filename>, continuez à lire. Mettez la disquette - <filename>boot.flp</filename> dans le premier lecteur et démarrez - l'ordinateur. Le menu d'installation d'origine s'affiche à l'écran, - choisissez l'option <literal>Fixit--Repair mode with CDROM or - floppy</literal> (Reprise avec une disquette ou un CDROM). Insérez la - disquette <filename>fixit.flp</filename> quand on vous la demande. - <command>restore</command> et les autres programmes dont vous avez besoin - sont dans le répertoire <filename>/mnt2/stand</filename>.</para> - - <para>Restaurez séparement chaque système de fichiers.</para> - - <para>Essayez <citerefentry> - <refentrytitle>mount</refentrytitle> - <manvolnum>8</manvolnum> - </citerefentry>(e.g. <command>mount /dev/sd0a - /mnt</command>) sur la partition racine de votre premier disque. - Si le label du disque est endommagé, utilisez <citerefentry> - <refentrytitle>disklabel</refentrytitle> - <manvolnum>8</manvolnum></citerefentry> pour repartitionner et - libeller le disque comme l'indique le label que vous avez imprimé - et mis de côté. Utilisez - <citerefentry> - <refentrytitle>newfs</refentrytitle> - <manvolnum>8</manvolnum></citerefentry> pour recréer les systèmes - de fichiers. Remontez la partition racine de la disquette en - lecture/écriture (<command>mount -u -o rw /mnt</command>). Utilisez - votre programme de restauration et vos bandes de sauvegardes pour - restaurer les fichiers de ce système de fichiers (e.g. - <command>restore vrf /dev/st0</command>). Démontez le système de fichiers - (e.g. <command>umount /mnt</command>). Répétez l'opération pour chacun - des systèmes de fichiers endommagés.</para> - - <para>Une fois que le système fonctionne de nouveau, faites une sauvegarde - sur de nouvelles bandes. Ce qui a causé la panne ou la perte de données - peut se reproduire. Une heure de perdue maintenant peut vous épargner - d'autres ennuis plus tard.</para> - </sect3> - - <sect3> - <title>* Je ne me suis pas préparé au désastre, que faire?</title> - - <para></para> - </sect3> - </sect2> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> diff --git a/fr_FR.ISO8859-1/books/handbook/basics/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/basics/chapter.sgml deleted file mode 100644 index e725f90411..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/basics/chapter.sgml +++ /dev/null @@ -1,163 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: 1.9 ---> - - <chapter id="basics"> - <title>Quelques bases d'Unix</title> - &trans.a.breard; - - - <sect1 id="basics-man"> - <title>Le manuel en ligne</title> - - <para>La documentation la plus importante sur FreeBSD est sous forme - <emphasis>de pages de manuel</emphasis>. Presque tous les programmes - du système sont fournis avec un court manuel de - référence expliquant les opérations de bases - et leurs différents arguments. - Ces pages de manuel peuvent être lues avec la commande - <command>man</command>. - L'utilisation de la commande <command>man</command> est simple :</para> - <informalexample> - <screen>&prompt.user <userinput>man <replaceable>commande</replaceable></userinput> - </screen> - </informalexample> - - <para>où <replaceable>commande</replaceable> est le nom - de la commande dont vous voulez voir la page de manuel. - Par exemple pour en savoir plus sur la commande <command>ls</command> - tapez :</para> - - <screen>&prompt.user; <userinput>man ls</userinput></screen> - - <para>Le manuel en ligne est divisé en plusieurs sections - numérotées :</para> - - <orderedlist> - - <listitem> - <para>Les commandes utilisateur</para> - </listitem> - - <listitem> - <para>Les appels systèmes et les numéros d'erreurs</para> - </listitem> - - <listitem> - <para>Les fonctions de la bibliothèque C</para> - </listitem> - - <listitem> - <para>Les pilotes de périphériques</para> - </listitem> - - <listitem> - <para>Les formats de fichiers</para> - </listitem> - - <listitem> - <para>Les jeux et autres divertissements</para> - </listitem> - - <listitem> - <para>Des informations diverses</para> - </listitem> - - <listitem> - <para>Les commandes d'administration et de maintenance du système</para> - </listitem> - - </orderedlist> - - <para>Dans certains cas le même sujet peut apparaître dans - plusieurs sections du manuel en ligne. Par exemple il y a une commande - utilisateur <command>chmod</command> et un appel système - <function>chmod()</function>. - Dans ce cas, vous pouvez appeler la commande <command>man</command> - en spécifiant la section souhaitée :</para> - - <screen>&prompt.user; <userinput>man 1 chmod</userinput></screen> - - <para>affichera la page de manuel pour la commande utilisateur - <command>chmod</command>. - Les références à une section particulière - du manuel sont traditionnellement placées entre - parenthèses dans les documentations. Ainsi - <citerefentry><refentrytitle>chmod</refentrytitle><manvolnum>1</manvolnum></citerefentry> - fait référence à la commande utilisateur - <command>chmod</command> et - <citerefentry><refentrytitle>chmod</refentrytitle><manvolnum>2</manvolnum></citerefentry> - fait référence à l'appel système.</para> - - <para>C'est bien si vous connaissez le nom des commandes et que vous voulez - simplement savoir comment les utiliser, mais si vous ne vous rappeler pas - le nom d'une commande, comment faire ? Vous pouvez alors utiliser - <command>man</command> pour rechercher un mot clef dans la partie - <emphasis>descriptions</emphasis> des pages de manuel en utilisant - l'option <option>-k</option> :</para> - - - <screen>&prompt.user; <userinput>man -k mail</userinput></screen> - - <para>Avec cette commande vous obtiendrez la liste de toutes les commandes - qui contiennent le mot clef “mail” dans leur description. - C'est l'équivalent de la commande <command>apropos</command>.</para> - - <para>Si vous souhaitez avoir un aperçu rapide des fonctions de - toutes les commandes qui se trouvent dans un répertoire, - par exemple <filename>/usr/bin</filename> vous pouvez simplement taper : - - - <screen>&prompt.user; <userinput>cd /usr/bin; man -f *</userinput></screen> - - - ou encore - - - <screen>&prompt.user; <userinput>cd /usr/bin; whatis *</userinput></screen> - - - qui fait la même chose.</para> - - </sect1> - - <sect1 id="basics-info"> - - <title>Les fichiers GNU INFO</title> - - <para>FreeBSD comprend plusieurs applications et utilitaires produit par - la Free Software Foundation (FSF). En plus des pages de manuel, ces programmes - sous fournis avec une documentation hypertexte plus importante appelée - fichier “info ” qui peut être visualisée avec la commande - <command>info</command> ou, si vous avez installé <command>Emacs</command>, - avec le mode info d'<command>Emacs</command>.</para> - - <para>Pour utiliser la commande - <citerefentry><refentrytitle>info</refentrytitle> - <manvolnum>1</manvolnum></citerefentry> tapez simplement : - - <screen>&prompt.user; <userinput>info</userinput></screen> - - Pour une brève introduction à l'utilisation d'<command>info</command> tapez - <userinput>h</userinput>. - Pour une référence rapide des commandes d'<command>info</command> tapez - <userinput>?</userinput>.</para> - - </sect1> - </chapter> -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-shorttag: nil - sgml-always-quote-attributes: t - sgml-minimize-attributes: max - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> diff --git a/fr_FR.ISO8859-1/books/handbook/bibliography/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/bibliography/chapter.sgml deleted file mode 100644 index 857b440c61..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/bibliography/chapter.sgml +++ /dev/null @@ -1,498 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: 1.10 ---> - -<chapter id="bibliography"> - <title>Bibliographie</title> - - <para>Bien que les pages de manuel soient la documentation de - référence pour chaque facette du systàme - d'exploitation FreeBSD, il est de notoriété publique qu'elles - n'expliquent pas comment assembler les morceaux pour avoir un système - d'exploitation qui tourne sans encombre. Il n'y a pour cela pas d'autre - alternative qu'un bon livre sur l'administration Unix et un bo manuel - utilisateur.</para> - - <sect1> - <title>Livres & revues consacrés à FreeBSD</title> - - <para><emphasis>Livres & revues internationaux :</emphasis></para> - - <itemizedlist> - <listitem> - <para><ulink URL="http://freebsd.csie.nctu.edu.tw/~jdli/book.html">Utiliser - FreeBSD</ulink> (en Chinois).</para> - </listitem> - - <listitem> - <para>FreeBSD pour les utilisateurs de PC 98 (en Japonais), - publié par SHUWA System Co, LTD. - ISBN 4-87966-468-5 C3055 P2900E.</para> - </listitem> - - <listitem> - <para>FreeBSD (en Japonais), publié par CUTT. ISBN 4-906391-22-2 - C3055 P2400E.</para> - </listitem> - - <listitem> - <para><ulink URL="http://www.shoeisha.co.jp/pc/index/shinkan/97_05_06.htm">Introduction - complète à FreeBSD</ulink> (en Japonais), publié - par <ulink URL="http://www.shoeisha.co.jp/">Shoeisha Co., Ltd</ulink>. - ISBN 4-88135-473-6 P3600E.</para> - </listitem> - - <listitem> - <para><ulink URL="http://www.ascii.co.jp/pb/book1/shinkan/detail/1322785.html">Kit - de démarrage pour Unix personnel FreeBSD</ulink> (en Japonais), - publié par <ulink URL="http://www.ascii.co.jp/">ASCII</ulink>. - ISBN 4-7561-1733-3 P3000E.</para> - </listitem> - - <listitem> - <para>Manuel de référence FreeBSD (traduction en - Japonais), publié par - <ulink URL="http://www.ascii.co.jp/">ASCII</ulink>. - ISBN 4-7561-1580-2 P3800E.</para> - </listitem> - - <listitem> - <para>FreeBSD avec méthode (en Allemand), publié par - Computer und Literatur Verlag/Vertrieb Hanser, 1998. - ISBN 3-932311-31-0.</para> - </listitem> - - <listitem> - <para><ulink url="http://www.pc.mycom.co.uk/FreeBSD/install-manual.html">Manuel - d'installation et d'utilisation de FreeBSD</ulink> (en Japonais), - publié par <ulink url="http://www.pc.mycom.co.jp/">Mainichi - Communications Inc.</ulink>.</para> - </listitem> - </itemizedlist> - - <para><emphasis>Livres & revues en langue - anglaise :</emphasis></para> - - <itemizedlist> - <listitem> - <para><ulink URL="http://www.cdrom.com/titles/freebsd/bsdbook2.phtml">FreeBSD - intégral</ulink>, publié par - <ulink URL="http://www.cdrom.com">Walnut Creek CDROM</ulink>.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1> - <title>Manuels d'utilisation</title> - - <itemizedlist> - <listitem> - <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD - User's Reference Manual</emphasis>. O'Reilly & Associates, - Inc., 1994. ISBN 1-56592-075-9</para> - </listitem> - - <listitem> - <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD - User's Supplementary Documents</emphasis>. O'Reilly & - Associates, Inc., 1994. ISBN 1-56592-076-7</para> - </listitem> - - <listitem> - <para><emphasis>UNIX in a Nutshell</emphasis>. O'Reilly & - Associates, Inc., 1990. ISBN 093717520X</para> - </listitem> - - <listitem> - <para>Mui, Linda. <emphasis>What You Need To Know When You Can't Find - Your UNIX System Administrator</emphasis>. O'Reilly & - Associates, Inc., 1995. ISBN 1-56592-104-6</para> - </listitem> - - <listitem> - <para><ulink URL="http://www-wks.acs.ohio-state.edu/">L'Université - de l'Etat d'Ohio</ulink> a écrit un - <ulink URL="http://www-wks.acs.ohio-state.edu/unix_course/unix.html">Cours - d'introduction à Unix</ulink> disponible en ligne aux formats - HTML et PostScript.</para> - </listitem> - - <listitem> - <para><ulink url="http://www.jp.FreeBSD.ORG/">Jpman Project, Groupe - d'utilisateurs japonais de FreeBSD</ulink>. - <ulink url="http://www.pc.mycom.co.jp/FreeBSD/urm.html">Manuel de - référence utilisateur de FreeBSD</ulink> (traduction - en Japonais). <ulink url="http://www.pc.mycom.co.jp/">Mainichi - Communications Inc.</ulink>, 1998. ISBN4-8399-0088-4 P3800E.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1> - <title>Manuels d'administration</title> - - <itemizedlist> - <listitem> - <para>Albitz, Paul and Liu, Cricket. <emphasis>DNS and - BIND</emphasis>, 2nd Ed. O'Reilly & Associates, Inc., 1997. - ISBN 1-56592-236-0</para> - </listitem> - - <listitem> - <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD - System Manager's Manual</emphasis>. O'Reilly & Associates, - Inc., 1994. ISBN 1-56592-080-5</para> - </listitem> - - <listitem> - <para>Costales, Brian, et al. <emphasis>Sendmail</emphasis>, 2nd Ed. - O'Reilly & Associates, Inc., 1997. ISBN 1-56592-222-0</para> - </listitem> - - <listitem> - <para>Frisch, Æleen. <emphasis>Essential System - Administration</emphasis>, 2nd Ed. O'Reilly & Associates, - Inc., 1995. ISBN 1-56592-127-5<footnote><para>N.d.T.: traduit en - français sous le titre “Les bases essentielles de - l'administration système”, chez le même - éditeur.</para></footnote></para> - </listitem> - - <listitem> - <para>Hunt, Craig. <emphasis>TCP/IP Network - Administration</emphasis>. O'Reilly & Associates, Inc., 1992. - ISBN 0-937175-82-X<footnote><para>N.d.T.: traduit en - français sous le titre “Administration réseau - TCP/IP”, chez le même - éditeur.</para></footnote></para> - </listitem> - - <listitem> - <para>Nemeth, Evi. <emphasis>UNIX System Administration - Handbook</emphasis>. 2nd Ed. Prentice Hall, 1995. ISBN - 0131510517</para> - </listitem> - - <listitem> - <para>Stern, Hal <emphasis>Managing NFS and NIS</emphasis> O'Reilly - & Associates, Inc., 1991. ISBN 0-937175-75-7</para> - </listitem> - - <listitem> - <para><ulink url="http://www.jp.FreeBSD.ORG/">Jpman Project, Groupe - d'utilisateurs japonais de FreeBSD</ulink>. - <ulink url="http://www.pc.mycom.co.jp/FreeBSD/sam.html">Manuel de - l'administrateur système FreeBSD</ulink> (traduction - en Japonais). <ulink url="http://www.pc.mycom.co.jp/">Mainichi - Communications Inc.</ulink>, 1998. ISBN4-8399-0109-0 P3300E.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1> - <title>Manuels de programmation</title> - - <itemizedlist> - <listitem> - <para>Asente, Paul. <emphasis>X Window System Toolkit</emphasis>. - Digital Press. ISBN 1-55558-051-3</para> - </listitem> - - <listitem> - <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD - Programmer's Reference Manual</emphasis>. O'Reilly & - Associates, Inc., 1994. ISBN 1-56592-078-3</para> - </listitem> - - <listitem> - <para>Computer Systems Research Group, UC Berkeley. <emphasis>4.4BSD - Programmer's Supplementary Documents</emphasis>. O'Reilly & - Associates, Inc., 1994. ISBN 1-56592-079-1</para> - </listitem> - - <listitem> - <para>Harbison, Samuel P. and Steele, Guy L. Jr. <emphasis>C: A - Reference Manual</emphasis>. 4rd ed. Prentice Hall, 1995. - ISBN 0-13-326224-3</para> - </listitem> - - <listitem> - <para>Kernighan, Brian and Dennis M. Ritchie. <emphasis>The C - Programming Language.</emphasis>. PTR Prentice Hall, 1988. - ISBN 0-13-110362-9</para> - </listitem> - - <listitem> - <para>Lehey, Greg. <emphasis>Porting UNIX Software</emphasis>. - O'Reilly & Associates, Inc., 1995. ISBN 1-56592-126-7</para> - </listitem> - - <listitem> - <para>Plauger, P. J. <emphasis>The Standard C Library</emphasis>. - Prentice Hall, 1992. ISBN 0-13-131509-9</para> - </listitem> - - <listitem> - <para>Stevens, W. Richard. <emphasis>Advanced Programming in the UNIX - Environment</emphasis>. Reading, Mass. : Addison-Wesley, 1992 - ISBN 0-201-56317-7</para> - </listitem> - - <listitem> - <para>Stevens, W. Richard. <emphasis>UNIX Network - Programming</emphasis>. 2nd Ed, PTR Prentice Hall, 1998. ISBN - 0-13-490012-X</para> - </listitem> - - <listitem> - <para>Wells, Bill. “Writing Serial Drivers for UNIX”. - <emphasis>Dr. Dobb's Journal</emphasis>. 19(15), December 1994. - pp68-71, 97-99.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1> - <title>“Internes” du système d'exploitation</title> - - <itemizedlist> - <listitem> - <para>Andleigh, Prabhat K. <emphasis>UNIX System - Architecture</emphasis>. Prentice-Hall, Inc., 1990. ISBN - 0-13-949843-5</para> - </listitem> - - <listitem> - <para>Jolitz, William. “Porting UNIX to the 386”. - <emphasis>Dr. Dobb's Journal</emphasis>. January 1991-July - 1992.</para> - </listitem> - - <listitem> - <para>Leffler, Samuel J., Marshall Kirk McKusick, Michael J Karels and - John Quarterman <emphasis>The Design and Implementation of the - 4.3BSD UNIX Operating System</emphasis>. Reading, Mass. : - Addison-Wesley, 1989. ISBN 0-201-06196-1</para> - </listitem> - - <listitem> - <para>Leffler, Samuel J., Marshall Kirk McKusick, <emphasis>The Design - and Implementation of the 4.3BSD UNIX Operating System: Answer - Book</emphasis>. Reading, Mass. : Addison-Wesley, 1991. ISBN - 0-201-54629-9</para> - </listitem> - - <listitem> - <para>McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and - John Quarterman. <emphasis>The Design and Implementation of the - 4.4BSD Operating System</emphasis>. Reading, Mass. : - Addison-Wesley, 1996. ISBN 0-201-54979-4</para> - </listitem> - - <listitem> - <para>Stevens, W. Richard. <emphasis>TCP/IP Illustrated, Volume 1: - The Protocols</emphasis>. Reading, Mass. : Addison-Wesley, - 1996. ISBN 0-201-63346-9</para> - </listitem> - - <listitem> - <para>Schimmel, Curt. <emphasis>Unix Systems for Modern - Architectures</emphasis>. Reading, Mass. : Addison-Wesley, 1994. - ISBN 0-201-63338-8</para> - </listitem> - - <listitem> - <para>Stevens, W. Richard. <emphasis>TCP/IP Illustrated, Volume 3: - TCP for Transactions, HTTP, NNTP and the UNIX Domain - Protocols</emphasis>. Reading, Mass. : Addison-Wesley, 1996. - ISBN 0-201-63495-3</para> - </listitem> - - <listitem> - <para>Vahalia, Uresh. <emphasis>UNIX Internals -- The New - Frontiers</emphasis>. Prentice Hall, 1996. ISBN - 0-13-101908-2</para> - </listitem> - - <listitem> - <para>Wright, Gary R. and W. Richard Stevens. <emphasis>TCP/IP - Illustrated, Volume 2: The Implementation</emphasis>. Reading, - Mass. : Addison-Wesley, 1995. ISBN 0-201-63354-X</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1> - <title>Ouvrages de référence en matière de - sécurité</title> - - <itemizedlist> - <listitem> - <para>Cheswick, William R. and Steven M. Bellovin. <emphasis>Firewalls - and Internet Security: Repelling the Wily Hacker</emphasis>. - Reading, Mass. : Addison-Wesley, 1995. ISBN - 0-201-63357-4</para> - </listitem> - - <listitem> - <para>Garfinkel, Simson and Gene Spafford. <emphasis>Practical UNIX - Security</emphasis>. 2nd Ed. O'Reilly & Associates, Inc., - 1996. ISBN 1-56592-148-8</para> - </listitem> - - <listitem> - <para>Garfinkel, Simson. <emphasis>PGP Pretty Good - Privacy</emphasis> O'Reilly & Associates, Inc., 1995. ISBN - 1-56592-098-8</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1> - <title>Ouvrages de référence sur le matériel</title> - - <itemizedlist> - <listitem> - <para>Anderson, Don and Tom Shanley. <emphasis>Pentium Processor - System Architecture</emphasis>. 2nd Ed. Reading, Mass. : - Addison-Wesley, 1995. ISBN 0-201-40992-5</para> - </listitem> - - <listitem> - <para>Ferraro, Richard F. <emphasis>Programmer's Guide to the EGA, - VGA, and Super VGA Cards</emphasis>. 3rd ed. Reading, Mass. : - Addison-Wesley, 1995. ISBN 0-201-62490-7</para> - </listitem> - - <listitem> - <para>Intel Corporation publie la documentation de ses processeurs, - circuits et standards sur son - <ulink url="http://developer.intel.com/">site Web - développeur</ulink>, habituellement sous forme de fichiers - PDF.</para> - </listitem> - - <listitem> - <para>Shanley, Tom. <emphasis>80486 System Architecture</emphasis>. - 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN - 0-201-40994-1</para> - </listitem> - - <listitem> - <para>Shanley, Tom. <emphasis>ISA System Architecture</emphasis>. - 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN - 0-201-40996-8</para> - </listitem> - - <listitem> - <para>Shanley, Tom. <emphasis>PCI System Architecture</emphasis>. - 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN - 0-201-40993-3</para> - </listitem> - - <listitem> - <para>Van Gilluwe, Frank. <emphasis>The Undocumented PC</emphasis>. - Reading, Mass: Addison-Wesley Pub. Co., 1994. ISBN - 0-201-62277-7</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1> - <title>Histoire d'Unix</title> - - <itemizedlist> - <listitem> - <para>Lion, John <emphasis>Lion's Commentary on UNIX, 6th Ed. With - Source Code</emphasis>. ITP Media Group, 1996. ISBN - 1573980137</para> - </listitem> - - <listitem> - <para>Raymond, Eric S. <emphasis>The New Hacker's Dictonary, 3rd - edition</emphasis>. MIT Press, 1996. ISBN - 0-262-68092-0. Connu aussi sous le nom de <ulink - URL="http://www.ccil.org/jargon/jargon.html">Jargon - File</ulink></para> - </listitem> - - <listitem> - <para>Salus, Peter H. <emphasis>A quarter century of UNIX</emphasis>. - Addison-Wesley Publishing Company, Inc., 1994. ISBN - 0-201-54777-5</para> - </listitem> - - <listitem> - <para>Simon Garfinkel, Daniel Weise, Steven Strassmann. <emphasis>The - UNIX-HATERS Handbook</emphasis>. IDG Books Worldwide, Inc., - 1994. ISBN 1-56884-203-1</para> - </listitem> - - <listitem> - <para>Don Libes, Sandy Ressler <emphasis>Life with UNIX</emphasis> - — special edition. Prentice-Hall, Inc., 1989. ISBN - 0-13-536657-7</para> - </listitem> - - <listitem> - <para><emphasis>The BSD family tree</emphasis>. 1997. <ulink - url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/misc/bsd-family-tree">ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/misc/bsd-family-tree</ulink> ou <ulink URL="file:/usr/share/misc/bsd-family-tree">local</ulink> sur une machine sous FreeBSD-current.</para> - </listitem> - - <listitem> - <para><emphasis>The BSD Release Announcements collection</emphasis>. - 1997. <ulink - URL="http://www.de.FreeBSD.ORG/de/ftp/releases/">http://www.de.FreeBSD.ORG/de/ftp/releases/</ulink></para> - </listitem> - - <listitem> - <para><emphasis>Networked Computer Science Technical Reports - Library</emphasis>. <ulink - URL="http://www.ncstrl.org/">http://www.ncstrl.org/</ulink></para> - </listitem> - - <listitem> - <para><emphasis>Anciennes versions de BSD du Computer Systems Research - Group (CSRG)</emphasis>. - <ulink url="http://www.mckusick.com/csrg/">http://www.mckusick.com/csrg/</ulink> : - Ces 4 CD-ROMs incluent toutes les versions de BSD de 1BSD à - 4.4BSD et 4.4BSD-Lite2 (mais malheureusement pas 2.11BSD). De plus, le - dernier CD-ROM contient les derniers sources et les fichiers - SCCS.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1> - <title>Revues et journaux</title> - - <itemizedlist> - <listitem> - <para><emphasis>The C/C++ Users Journal</emphasis>. R&D - Publications Inc. ISSN 1075-2838</para> - </listitem> - - <listitem> - <para><emphasis>Sys Admin — The Journal for UNIX System - Administrators</emphasis> Miller Freeman, Inc., ISSN - 1061-2688</para> - </listitem> - </itemizedlist> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> - diff --git a/fr_FR.ISO8859-1/books/handbook/book.sgml b/fr_FR.ISO8859-1/books/handbook/book.sgml deleted file mode 100644 index 85843bfdc6..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/book.sgml +++ /dev/null @@ -1,142 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: n.nn ---> - -<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [ -<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> -%man; - -<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES Common Document URL Entities//FR"> -%urls; - -<!ENTITY % bookinfo PUBLIC "-//FreeBSD//ENTITIES DocBook BookInfo Entities//FR"> -%bookinfo; - -<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//FR"> -%translators; - -<!ENTITY % chapters SYSTEM "chapters.ent"> %chapters; -<!ENTITY % authors SYSTEM "../../../en_US.ISO_8859-1/books/handbook/authors.ent"> %authors; -<!ENTITY % mailing-lists SYSTEM "mailing-lists.ent"> %mailing-lists; -<!ENTITY rel.current CDATA "2.2.8"> -<!-- We need the followings until the translation is completed --> -<!ENTITY sgml.in-progress SYSTEM "in-progress.sgml"> -<!ENTITY sgml.todo SYSTEM "todo.sgml"> -]> - -<book lang="fr"> - <bookinfo> - <title>Manuel FreeBSD</title> - - <authorgroup> - <author> - <surname>Groupe de Documentation de FreeBSD</surname> - </author> - </authorgroup> - - <copyright> - <year>1999</year> - <holder>Groupe de Documentation de FreeBSD</holder> - </copyright> - - &bookinfo.legalnotice; - - <abstract> - <para>Bienvenue à FreeBSD! Ce manuel décrit l'installation - et l'utilisation quotidienne de la <emphasis>Version &rel.current de - FreeBSD</emphasis>. Ce manuel est en <emphasis>constante - évolution</emphasis>. Il est le résultat du travail de - nombreuses personnes. Certaines sections ne sont pas encore - rédigées et celles qui le sont ont besoin d'être - mises à jour. Si vous voulez participer à ce projet, - envoyez un courrier électronique à la &a.doc;. La - dernière version anglaise de ce document est disponible sur le - <ulink url="http://www.FreeBSD.ORG/">serveur World Wide Web - FreeBSD</ulink>. Il existe aussi une version texte, - PostScript ou HTML téléchargeable depuis le - <ulink url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/docs">serveur FTP - FreeBSD</ulink> ou l'un des nombreux <link linkend="mirrors-ftp">sites - miroirs</link>. Vous pouvez aussi - <ulink url="http://www.freeBSD.ORG/search/search.html">faire des - recherches dans le Manuel</ulink>.</para> - <para>N.d.T.: La version française est publiée sur le - <ulink url="&url.base;">serveur World Wide Web du groupe de - traduction en langue française de la documentation de - FreeBSD</ulink>.</para> - - <para>N.d.T.: Contactez la &a.fr-doc si vous voulez collaborer à - la traduction.</para> - <para>La traduction de ce manuel est “en cours”. Dans la - table des matières ci-dessous: - <itemizedlist> - <listitem> - <para>Les chapitres marqués de deux astérisques sont - en cours de traduction.</para> - </listitem> - <listitem> - <para>Les chapitres marqués de trois astérisques sont - à traduire.</para> - </listitem> - <listitem> - <para>L'astérisque simple est réservé aux - chapitres et sections en cours de rédaction dans la version - U.S.</para> - </listitem> - </itemizedlist> - </para> - </abstract> - </bookinfo> - <part> - <title>Pour commencer</title> - &chap.introduction; - &chap.install; - &chap.basics; - &chap.ports; - </part> - <part> - <title>Administration Système</title> - &chap.kernelconfig; - &chap.security; - &chap.printing; - &chap.disks; - &chap.backups; - &chap.quotas; - &chap.x11; - &chap.hw; - &chap.l10n; - </part> - <part> - <title>Réseau</title> - &chap.serialcomms; - &chap.ppp-and-slip; - &chap.advanced-networking; - &chap.mail; - </part> - <part><title>Questions avancées</title> - &chap.cutting-edge; - &chap.contrib; - &chap.policies; - &chap.kernelopts; - &chap.kerneldebug; - &chap.linuxemu; - &chap.internals; - </part> - <part><title>Annexes</title> - &chap.mirrors; - &chap.bibliography; - &chap.eresources; - &chap.staff; - &chap.pgpkeys; - </part> -</book> -<!-- - mode: sgml - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - End: ---> diff --git a/fr_FR.ISO8859-1/books/handbook/chapter.decl b/fr_FR.ISO8859-1/books/handbook/chapter.decl deleted file mode 100644 index ce0a7ed16a..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/chapter.decl +++ /dev/null @@ -1 +0,0 @@ -<!DOCTYPE chapter PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN"> diff --git a/fr_FR.ISO8859-1/books/handbook/chapters.ent b/fr_FR.ISO8859-1/books/handbook/chapters.ent deleted file mode 100644 index d983d5ef52..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/chapters.ent +++ /dev/null @@ -1,53 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: n.nn - - Creates entities for each chapter in the FreeBSD Handbook. Each entity - is named chap.foo, where foo is the value of the id attribute on that - chapter, and corresponds to the name of the directory in which that - chapter's .sgml file is stored. - - Chapters should be listed in the order in which they are referenced. ---> - -<!-- Part one --> -<!ENTITY chap.introduction SYSTEM "introduction/chapter.sgml"> -<!ENTITY chap.install SYSTEM "install/chapter.sgml"> -<!ENTITY chap.basics SYSTEM "basics/chapter.sgml"> -<!ENTITY chap.ports SYSTEM "ports/chapter.sgml"> - -<!-- Part two --> -<!ENTITY chap.kernelconfig SYSTEM "kernelconfig/chapter.sgml"> -<!ENTITY chap.security SYSTEM "security/chapter.sgml"> -<!ENTITY chap.printing SYSTEM "printing/chapter.sgml"> -<!ENTITY chap.disks SYSTEM "disks/chapter.sgml"> -<!ENTITY chap.backups SYSTEM "backups/chapter.sgml"> -<!ENTITY chap.quotas SYSTEM "quotas/chapter.sgml"> -<!ENTITY chap.x11 SYSTEM "x11/chapter.sgml"> -<!ENTITY chap.hw SYSTEM "hw/chapter.sgml"> -<!ENTITY chap.l10n SYSTEM "l10n/chapter.sgml"> - -<!-- Part three --> -<!ENTITY chap.serialcomms SYSTEM "serialcomms/chapter.sgml"> -<!ENTITY chap.ppp-and-slip SYSTEM "ppp-and-slip/chapter.sgml"> -<!ENTITY chap.advanced-networking SYSTEM "advanced-networking/chapter.sgml"> -<!ENTITY chap.mail SYSTEM "mail/chapter.sgml"> - -<!-- Part four --> -<!ENTITY chap.cutting-edge SYSTEM "cutting-edge/chapter.sgml"> -<!ENTITY chap.contrib SYSTEM "contrib/chapter.sgml"> -<!ENTITY chap.policies SYSTEM "policies/chapter.sgml"> -<!ENTITY chap.kernelopts SYSTEM "kernelopts/chapter.sgml"> -<!ENTITY chap.kerneldebug SYSTEM "kerneldebug/chapter.sgml"> -<!ENTITY chap.linuxemu SYSTEM "linuxemu/chapter.sgml"> -<!ENTITY chap.internals SYSTEM "internals/chapter.sgml"> - -<!-- Part five (appendices) --> -<!ENTITY chap.mirrors SYSTEM "mirrors/chapter.sgml"> -<!ENTITY chap.bibliography SYSTEM "bibliography/chapter.sgml"> -<!ENTITY chap.eresources SYSTEM "eresources/chapter.sgml"> -<!ENTITY chap.staff SYSTEM "staff/chapter.sgml"> -<!ENTITY chap.pgpkeys SYSTEM "pgpkeys/chapter.sgml"> diff --git a/fr_FR.ISO8859-1/books/handbook/contrib/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/contrib/chapter.sgml deleted file mode 100644 index 217bf94071..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/contrib/chapter.sgml +++ /dev/null @@ -1,5888 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: n.nn ---> - - <chapter id="contrib"><title>Collaborer à FreeBSD</title> - &trans.a.dntt; - - <para><emphasis> Contribution de &a.jkh;.</emphasis></para> - - <para>Alors, comme ça vous voulez collaborer à FreeBSD ? - C'est génial ! Toute aide peut toujours servir, et FreeBSD est - un de ces systèmes qui <emphasis>s'appuie</emphasis> sur les - contributions de sa base d'utilisateurs pour survivre. Vos - contributions ne sont pas seulement appréciées, elles sont vitales - pour la progression de FreeBSD !</para> - - <para>Contrairement à ce que certaines personnes et - peut-être vous-même pouvez croire, vous n'avez pas à être un - expert programmeur ou un ami très proche de l'équipe principale - de FreeBSD pour faire accepter votre contribution. Le - développement du projet FreeBSD est fait par une grande et - toujours plus nombreuse, équipe de collaborateurs - à travers le monde, dont les âges et l'expertise techniques - sont très variables, et il y aura toujours plus de travail à - faire que de gens qui peuvent le faire.</para> - - <para>Comme le projet FreeBSD est responsable de tout - l'environnement du système d'exploitation (et de son - installation) et pas seulement juste du noyau ou de quelques - utilitaires éparpillés, notre liste <filename>TODO</filename> - (à faire) s'étend sur une large gamme de tâches, depuis la - documentation, les beta-test et présentation jusqu'à des types de - développement du noyau hautement spécialisés. - Quelque soit votre niveau de compétence, il y aura sûrement - quelque chose que vous pourrez faire pour aider le projet !</para> - - <para>Les entités commerciales engagées dans des entreprises - relatives à FreeBSD sont encouragées à nous contacter. Vous - avez besoin d'une extension spéciale pour faire marcher votre - produit ? Vous nous trouverez attentifs à votre requête, du - moment que celle-ci ne soit pas trop hors-sujet. Vous - travaillez sur un produit à valeur ajoutée ? Dites-le nous ! - Nous serons peut-être capable de coopérer sur certains aspects. - Le monde du logiciel libre va à l'encontre de nombreuses - suppositions sur la manière dont les logiciels sont - développés, vendus et maintenus durant son cycle de vie, - et nous vous invitons à lui donner au moins un second regard. - </para> - - - <sect1> - <title> Les besoins</title> - - <para>La liste de tâches et de sous-projets qui suit, représente - une sorte d'amalgame des différentes listes - <filename>TODO</filename> de l'équipe de base, et des demandes - d'utilisateurs que nous avons regroupés depuis ces derniers - mois. Lorsque cela a été possible, nous avons rangés ces - tâches par degré d'urgence. Si vous êtes interessé par le fait - de travailler sur l'une des tâches que vous voyez ici, envoyez - un mail au coordinateur en cliquant sur leur nom. Si aucun - coordinateur n'a été désigné, peut-être voudriez-vous vous - désigner ?</para> - - <sect2> - <title> Tâches de première priorité</title> - - <para>Les tâches suivantes sont considérées comme urgentes, - généralement parce qu'elles représentent - quelque chose posant des problèmes, ou parce qu'on en a - désespérement besoin.</para> - - <orderedlist> - <listitem> - <para>démarrage en 3 étapes. coordination globale : - &a.hackers;</para> - - <itemizedlist> - <listitem> - <para>Faire un marquage de disque compatible WinNT - de telle sorte que la troisième étape puisse fournir - un mapping précis de la géométrie BIOS pour les - disques.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>Problèmes du système de fichiers. Coordination - globale : &a.fs;</para> - - <itemizedlist> - <listitem> - <para>Corriger le système de fichiers MSDOS.</para> - </listitem> - - <listitem> - <para>Nettoyer et documenter le code du système de - fichier nullfs. - Coordination : &a.eivind;</para> - </listitem> - - <listitem> - <para>Corriger le système de fichiers d'union. - Coordination : &a.dg;</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>Implémenter le pilote de disque Int13 vm86. - Coordination : &a.hackers;</para> - </listitem> - - <listitem> - <para>Nouvelle architecture bus.</para> -<!-- Coordination : &a.newbus;</para> --> - - <itemizedlist> - <listitem> - <para>Porter les pilotes ISA existant vers la nouvelle - architecture.</para> - </listitem> - - <listitem> - <para>Déplacer tous le code de gestion d'interruption - vers les parties appropriées des pilotes de bus.</para> - </listitem> - - <listitem> - <para>Porter les sous-système PCI à la nouvelle - architecture. - Coordination : &a.dfr;</para> - </listitem> - - <listitem> - <para>Chercher la bonne manière pour manier les - périphériques extractibles, puis utiliser ceci comme - base pour l'implémentation de support de PC-Card et - CardBus.</para> - </listitem> - - <listitem> - <para>Résoudre une fois pour toute, le problème de - priorité de détection / attachement.</para> - </listitem> - - <listitem> - <para>Déplacer tous les bus restants vers la nouvelle - architecture.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>Problèmes relatifs au noyau. - Coordination globale : &a.hackers;</para> - </listitem> - - <listitem> - <para>Ajouter une infrastructure pour une meilleure sécurité - pro-active. - Coordination globale : &a.security;</para> - - <itemizedlist> - <listitem> - <para>Construire quelque chose comme Tripwire (TM) dans - le noyau, avec une partie distante et une partie - locale. Il y a un certain nombre de problèmes - de cryptographie à prendre en compte pour bien le - réaliser. Contacter le coodinateur pour plus de - détails. - Coordination : &a.eivind;</para> - </listitem> - - <listitem> - <para>Faire de telle sorte que tout le noyau utilise - <literal>suser()</literal> au lieu de comparer avec 0. - Pour l'instant, on n'utilise que la moitié de chaque. - Coordination : &a.eivind;</para> - </listitem> - - <listitem> - <para>Découper les niveaux de sécurité en plusieurs - parties, afin de permettre à un administrateur de jeter - les privilèges qu'il peut jeter. Mettre en place tous - ces niveaux de sécurité devra avoir malgrès tout - les mêmes effets qu'actuellement. - Coordination : &a.eivind;</para> - </listitem> - - <listitem> - <para>Rendre possible le chargement de “programmes - autorisés à utiliser BPF” puis bloquer BPF - pour qu'il ne puisse pas accepter d'autres programmes. - Cela permettrait à BPF d'être utilisé par exemple par - DHCP, ceci sans permettre à un attaquant de prendre - contrôle du réseau local.</para> - </listitem> - - <listitem> - <para>Mettre à jour les scripts de vérification de - sécurité. Nous devrions au moins pouvoir récupérer - toutes les vérifications d'autres dérivés BSD, et - ajouter une vérification qu'un système ayant un - niveau de sécurité ainsi augmenté puisse aussi avoir un - témoin raisonnable sur les parties concernées. - Coordination : &a.eivind;</para> - </listitem> - - <listitem> - <para>Ajouter une infrastructure d'autorisation au - noyau, afin de permettre diverses politiques - d'autorisation. Une partie de ceci pourrait être fait - en modifiant <literal>suser()</literal>. - Coordination : &a.eivind;</para> - </listitem> - - <listitem> - <para>Ajouter du code à la couche NFS afin que l'on ne - puisse pas faire un <literal>chdir ("..")</literal> en - dehors d'une partition NFS, - Par exemple : - <filename>/usr</filename> est une partition UFS avec - la partition NFS <filename>/usr/src</filename> exportée. - Il est à présent possible d'utiliser le gestionnaire - de fichier NFS pour <filename>/usr/src</filename> pour - obtenir l'accès à <filename>/usr</filename>.</para> - </listitem> - </itemizedlist> - </listitem> - </orderedlist> - </sect2> - - - - <sect2> - <title> Tâches de moyenne priorité</title> - - <para>Les tâches suivantes doivent être effectuées, mais - sans urgence particulière :</para> - - <orderedlist> - <listitem> - <para>Support et gestion de configuration de tous les - pilotes basés sur KLD.</para> - - <itemizedlist> - <listitem> - <para>Ecrire un gestionnaire de configuration (dans la - troisième partie du démarrage ?) qui détecterait votre - matériel de manière propre, et garderait seulement les - KLDs requis pour votre matériel, etc.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>PCMCIA/PCCARD. - Coordination : &a.msmith; et &a.phk;</para> - - <itemizedlist> - <listitem> - <para>Documentation !</para> - </listitem> - - <listitem> - <para>Opération fiable du pilote pcic - (besoin de test).</para> - </listitem> - - <listitem> - <para>Reconnaissance et prise en charge de - <filename>sio.c</filename> (presque fait).</para> - </listitem> - - <listitem> - <para>>Reconnaissance et prise en charge de - <filename>ed.c</filename> (presque fait).</para> - </listitem> - - <listitem> - <para>Reconnaissance et prise en charge de - <filename>ep.c</filename> (presque fait).</para> - </listitem> - - <listitem> - <para>Reconnaissance et prise en charge du - mode utilisateur (partiellement fait).</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>Gestionnaire d'énergie avancé. - Coordination : &a.msmith; et &a.phk;</para> - - <itemizedlist> - <listitem> - <para>sous-pilote APM (presque fait).</para> - </listitem> - - <listitem> - <para>sous-pilote de disques IDE/ATA - (partiellement fait).</para> - </listitem> - - <listitem> - <para>sous-pilote syscons/pcvt.</para> - </listitem> - - <listitem> - <para>Intégration avec les pilotes PCMCIA/PCCARD - (suspendu / en cours).</para> - </listitem> - </itemizedlist> - </listitem> - </orderedlist> - </sect2> - - - - <sect2> - <title>Tâches de moindre priorité</title> - - <para>Les tâches suivantes sont purement esthètiques et - représentent un tel investissement qu'il semblerait - qu'elles seront pas accomplie de sitôt :</para> - - <para>Les premiers points sont de Terry Lambert - <email>terry@lambert.org</email></para> - - <orderedlist> - <listitem> - <para>Chargeur serveur NetWare (pilote ODI en mode protégé) - et sous-services pour autoriser l'utilisation de pilotes - de cartes ODI avec des cartes réseaux. - Même chose avec les pilotes NDIS et les pilotes - NetWare SCSI.</para> - </listitem> - - <listitem> - <para>Uni option "évolution système" marchant sur des - machines sous Linux et pas seulement sur des - machines sous une version plus anciennes de FreeBSD.</para> - </listitem> - - <listitem> - <para>Multi-processeur symétrique avec préemption du noyau (requiert - une préemption du noyau).</para> - </listitem> - - <listitem> - <para>Un effort concerté sur les ordinateurs portables. - Cela est en quelque sorte pris en charge en - changeant les règles de passage PCMCIA - et en traitant le gestionnaire d'énergie. - Mais il y a certaines choses comme la détection de - l'affichage interne vs. externe et l'utilisation d'une - résolution d'écran différente en considérant ce fait, - ne pas arrêter le disque si la machine est refermée, et - autoriser les cartes pour portable à disparaitre sans - empêcher la machine de démarrer (même problème que pour le - PCMIA).</para> - </listitem> - </orderedlist> - </sect2> - - - - <sect2> - <title>Tâches moins lourdes</title> - - <para>La plupart des tâches citées dans la section - précédente nécessitent soit un investissement - important en temps, soit une connaissance en - profondeur du noyau (ou les deux). - Quoiqu'il en soit, il y a de nombreuses - tâches utiles pour les - "programmeurs occasionnels", ou les - personnes sans compétences en programmation.</para> - - <orderedlist> - <listitem> - <para>Si vous utilisez FreeBSD-current et que vous - avez une bonne connexion Internet, il y a une machine - <hostid role="fqdn">current.freebsd.org</hostid> - qui construit une version complète tous les - jours — à chaque fois, essayer et - installer la dernière version depuis ceci et - reporter toutes les erreurs durant le processus.</para> - </listitem> - - <listitem> - <para>Lire les messages de la liste de diffusion - <email>freebsd-bugs</email>. - Il peut y avoir un problème que vous - pouvez commenter de manière constructive ou alors - des patches que vous pouvez tester. - Vous pouvez aussi essayer de résoudre un de ces - problèmes vous-même.</para> - </listitem> - - <listitem> - <para>Lisez la FAQ et le manuel régulièrement, - si quelque chose est mal expliqué, pas à jour - ou simplement complètement faux, dites le - nous. - Mieux, envoyez nous le correctif - (SGML n'est pas difficile à apprendre, - mais il n'y a pas d'objection à des soumissions - au format ASCII).</para> - </listitem> - - <listitem> - <para>Aidez à traduire la documentation - FreeBSD dans votre langue (si elle n'est - pas déjà disponible) — envoyez juste un - courrier électronique à &a.doc; demandant si - quelqu'un est en train d'y travailler. - Notez que vous ne vous engagez pas - à traduire chacun des documents FreeBSD ce faisant — - en fait la documentation dont on a le plus souvent besoin - est les instructions d'installation.</para> - </listitem> - - <listitem> - <para> - Lire la liste de diffusion <email>freebsd-questions</email>. - et les newsgroup <email>comp.unix.bsd.freebsd.misc</email> de - temps en temps (ou même régulièrement). - Il peut être très satisfaisant de partager - ses expérience et aider les gens à résoudre - leurs problèmes; parfois, vous - pouvez même ainsi apprendre de nouvelles choses ! - Ces forums peuvent parfois être une source d'idées sur ce - qu'il faut travailler.</para> - </listitem> - - <listitem> - <para>Si vous connaissez un correctif appliqué - avec succès à -current mais qui n'a pas été - appliqué à -stable après un intervalle de temps - raisonnable (normalement quelques - semaines), envoyer aux collaborateurs un - rappel poli.</para> - </listitem> - - <listitem> - <para>Déplacer les logiciels de collaboration de - <filename>src/contrib</filename> dans - l'arborescence source.</para> - </listitem> - - <listitem> - <para>Assurez vous que le code dans - <filename>src/contrib</filename> - est à jour.</para> - </listitem> - - <listitem> - <para>Cherchez les bugs de l'an 2000 - (et corrigez ceux que vous trouvez !)</para> - </listitem> - - <listitem> - <para>Construire l'arbre des sources - (ou une partie) avec les messages de tous les - avertissements activés et faire de - sorte à ce qu'il n'y ait plus ces - avertissements.</para> - </listitem> - - <listitem> - <para>Corriger les avertissements pour les ports qui - réalisent des choses obsolètes comme - gets () ou les inclusions de malloc.h.</para> - </listitem> - - <listitem> - <para>Si vous avez collaboré à un des ports, envoyez vos - correctifs à leurs auteurs originaux (cela leur facilitera - la vie lors de la sortie de la prochaine version)</para> - </listitem> - - <listitem> - <para>Suggèrez d'autres tâches pour cette liste !</para> - </listitem> - </orderedlist> - </sect2> - </sect1> - - - - <sect1> - <title>Comment participer</title> - - <para>Les contributions au systèmes tombent - générallement dans l'une de ces 6 catégories :</para> - - <sect2 id="contrib-general"> - <title>Rapports de bogues et commentaires généraux</title> - - <para>Une idée ou une suggestion d'interêt technique - <emphasis>général</emphasis> devrait être envoyée à - &a.hackers;. - les personnes interessées par cela (et qu'un - <emphasis>grand</emphasis> volume de courrier - électronique ne dérange pas, devraient s'abonner à - la liste de diffusion hackers en envoyant un - courrier électronique à &a.majordomo;. - Voir <link linkend="eresources-mail">les listes de - diffusions lists</link> pour plus d'informations - pour ceci et les autres listes de diffusions.</para> - - <para>Si vous trouvez un bug ou si vous - soumettez un changement spécifique, enregistrez - le en utilisant le programme <command>send-pr (1)</command> - ou son <ulink - URL="http://www.freebsd.org/send-pr.html">équivalent - web</ulink>. - Essayez de remplir chaque champ de l'enregistrement de bug. - A moins qu'ils ne dépassent 65KB, y inclure tous - les correctifs directement dans l'enregistrement. - Penser à les compresser et à utiliser - <command>uuencode (1)</command>; s'ils - dépassent 20KB. - Charger les grosses soumissions vers <ulink - url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming/">ftp.freebsd.org:/pub/FreeBSD/incoming/</ulink></para> - - <para>Après avoir rempli la fiche d'enregistrement, vous devriez - recevoir une confirmation avec un numéro d'enregistrement. - Gardez ce numéro afin que vous puissiez nous soumettre plus de - détails à propos du problème en envoyant un courrier - électronique à <email>bug-followup@FreeBSD.ORG</email>. - Utilisez le numéro comme sujet du message, par exemple - <literal>"Re: kern/3377"</literal>. - Toute information supplémentaire sur - un bug enregistré devrait être soumise de la même - manière.</para> - - <para>Si vous ne recevez aucune confirmation en un temps - raisonnable (de 3 jours à une semaine suivant votre connexion - pour le courrier) ou qu'il vous est, pour une raison quelconque, - impossible d'utiliser la commande <command>send-pr (1)</command>, vous pouvez - demander à quelqu'un de le faire pour vous en envoyant un - courrier électronique à &a.bugs;.</para> - </sect2> - - <sect2> - <title>Modifications de la documentation</title> - - <para>Les modifications dans la documentation sont - supervisées par &a.doc;. - Envoyez les soumissions et les modifications (même les - plus petites sont les bienvenus !) en utilisant - la commande <command>send-pr</command> - comme décrit dans - <link linkend="contrib-general">Soumission de bug - et commentaires généraux</link>.</para> - </sect2> - - <sect2> - <title>Modification dans le code source existant</title> - - <para>Un ajout ou modification dans le code source - existant est une autre affaire, et dépend beaucoup - de votre version par rapport à l'état - courant du développement de base de FreeBSD. - Il y a une version spéciale du FreeBSD en cours - de développement, connu sous le nom de - “FreeBSD-current” qui est - disponible de diverses manières pour le confort - des développeurs qui travaillent activement sur - le système. - Voir <link linkend="current">Etre à jour avec - FreeBSD</link> pour plus d'informations sur - la manière d'obtenir et d'utiliser - FreeBSD-current.</para> - - <para>Déveloper avec des sources plus anciennes - signifie que vos modifications peuvent parfois - devenir trop obsolète ou trop divergentes pour - permettre une ré-intégration dans FreeBSD. - On peut limiter cela en souscrivant aux - listes de diffusion &a.announce; et &a.current; - où des discussions sur l'état - courant du système ont lieu.</para> - - <para>En supposant que vous pouvez vous arranger pour avoir de - manière sûre des sources à jour comme base pour vos - modifications, l'étape suivante consiste à produire - un ensemble de diffs à envoyer à ceux qui sont chargés - de maintenir FreeBSD. - Cela est fait par l'intermédiaire de la commande - <command>diff (1)</command>, avec une préférence pour le formulaire - “contexte diff”. - Par exemple :</para> - - <para> - <screen>&prompt.user; - <userinput>diff -c oldfile newfile</userinput></screen> - - ou - - <screen>&prompt.user; - <userinput>diff -c -r olddir newdir</userinput></screen> - - génèrera un ensemble de contexte diffs pour un fichier - source ou une hiérarchie de répertoires donné. - Voir les pages de manuel pour <command>diff (1)</command> pour plus de - détails.</para> - - <para>Une fois que vous avez l'ensemble des diffs (que vous - pouvez tester avec la commande <command>patch(1)</command>, vous devriez les - soumettre pour qu'ils puissent être inclus dans FreeBSD. - Utilisez le programme <command>send-pr (1)</command> comme décrit dans - <link linkend="contrib-general">Rapport de bugs et commentaires - généraux</link>. - <emphasis>Ne pas</emphasis> simplement envoyer les diffs à - &a.hackers; ou ils seront perdus ! - Nous apprécions beaucoup vos soumissions (c'est un - projet fait par des volontaires !), - mais parce que nous sommes très occupé, nous ne - pourrons pas les étudier immédiatement, - mais cela restera dans la base de - données jusqu'à ce que nous le fassions.</para> - - <para>Si cela vous semble approprié (par exemple si vous avez - renommé les fichiers), mettre vos modifications dans un fichier - <command>tar</command> et lancer le programme <command>uuencode (1)</command> - dessus. Les archives <command>shar</command> sont aussi les - bienvenues.</para> - - <para>Si vos modifications sont potentiellement sensibles, par - exemple si vous n'êtes pas sûr des problèmes de copyright - concernant sa distribution, ou si vous n'êtes simplement pas - prêt à le distribuer sans y avoir jeté un coup d'oeil, alors - vous devriez l'envoyer directement à &a.core; plutôt que de le - soumettre avec <command>send-pr(1)</command>. - La liste de diffusion principale atteint un petit - groupe de personnes qui réalise la - plupart du travail quotidien de FreeBSD. - Notez que ce groupe est aussi - <emphasis>très occupé</emphasis>, et donc que vous ne - devriez leur envoyer un courrier électronique - que lorsque cela est réellement nécessaire.</para> - - <para>Se réferrer à <command>man 9 intro</command> - et <command>man 9 style</command> pour plus - d'informations sur la manière de coder. - Nous apprécierons le fait que vous soyez au moins au courant de cette - information avant de nous soumettre du code.</para> - </sect2> - - - <sect2> - <title>Nouveau code source ou logiciel à valeur ajoutée - importante</title> - - <para>Dans les rares cas d'une collaboration - importante, ou de l'addition d'une importante - fonctionnalité à FreeBSD, il devient presque nécessaire - d'envoyer les modification en les uuncodant dans - des fichiers tar et en les chargeant sur notre - site FTP <ulink - URL="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming">ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming</ulink>.</para> - - <para>Lorsque l'on travaille avec un grand volume - de code, le sujet sensible du copyright revient - invariablement. - Les copyrights acceptables pour le code inclu - dans FreeBSD sont :</para> - - <orderedlist> - <listitem> - <para>Le copyright BSD. Ce copyright est le plus apprécié - par son côté “sans attaches” et son - attractivité générale pour les entreprises commerciales. - Loin de décourager un tel usage commercial, le - projet FreeBSD encourage activement une telle - participation avec interêts commerciaux pour ceux - qui seraient éventuellement tenté d'investir - quelque chose dans FreeBSD.</para> - </listitem> - - <listitem> - <para>La licence publique GNU, ou “GPL”. - Cette licence n'est pas aussi populaire chez nous à - cause du volume d'efforts supplémentaires demandés - à celui qui voudrait utiliser le code dans un - but commercial. - Mais étant donné la quantité de code de code GPL dont - nous avons actuellement besoin (compilateur, - assembleur, formatteur de texte, etc), - il serait absurde de refuser des - collaborations sous cette licence. - Le code sous GPL va dans une différente partie de - l'arborescence des répertoires : - <filename>/sys/gnu</filename> ou - <filename>/usr/src/gnu</filename>, et est de ce - fait très identifiable par quelqu'un dont la - licence GNU poserait un problème.</para> - </listitem> - </orderedlist> - - <para>Les collaborations venant avec un autre - type de copyright doivent - être soigneusement vérifié avant leur - inclusion dans FreeBSD. - Les contributions où des restrictions commerciales - particulières s'appliquent sont généralement rejetées. - Les auteurs sont toujours encouragés à mettre ces - modifications disponibles par leur propre - moyens.</para> - - <para>Pour mettre un copyright de “style - BSD” sur votre travail, inclure le texte - suivant au tout début de chaque code source que - vous voulez protéger, en remplaçant le texte entre les - <literal>%%</literal> par l'information appropriée.</para> - - <programlisting> -Copyright (c) %%annee%% - %%votre_nom_ici%%, %%votre_ville%% %%votre_code_postal%%. - Tous droits réservés - - La redistribution et l'utilisation des sources et des - formes binaires, avec ou sans modifications, sont - autorisées si les conditions suivantes soient réunies : - -1. Les redistributions du code source doivent conserver - la notification de copyright ci-dessus, cette liste - de conditions et le démenti suivant comme premières - lignes de ce fichier, ceci non modifiés. -2. Les redistributions sous forme binaire doivent - reproduire la notification de copyright ci-dessus, - cette liste de conditions et le démenti suivant - en documentation et/ou sur les autres supports - de la distribution. - - CE LOGICIEL EST FOURNI EN L'ETAT PAR ''%%VOTRE_NOM_ICI%%'' - ET TOUTES GARANTIES EXPRES OU IMPLICITES, Y COMPRIS, - MAIS NON LIMITE A, LES GARANTIES IMPLICITES DE LA VALEUR - MARCHANDE ET PHYSIQUE DANS UN BUT PARTICULIER - SONT DEMENTIES. - EN AUCUN CAS %%VOTRE_NOM_ICI%% SERA RESPONSABLE DES - DOMMAGES DIRECTS, INDIRECTS, FORTUITS, SPECIAUX, - EXEMPLAIRES, OU CONSECUTIFS (COMPRENANT, MAIS NON - LIMITÉ A : REMPLACEMENT DES MARCHANDISES OU - SERVICES; PERTE DE DONNEES, OU DE BENEFICES ; - OU INTERRUPTION D'AFFAIRES) CAUSEE ET SUR TOUTE - THEORIE DE RESPONSABILITE, SI DANS LE CONTRAT, LA - RESPONSABILITE SANS FAUTE INTENTIONNELLE, OU TORT - (NEGLIGENCE Y COMPRIS OU AUTRES) SURGISSANT EN CONSEQUENCE - DE L'UTILISATION DE CE LOGICIEL, CECI, MĘME SI INFORME - DE LA POSSIBILITE D'UN TEL DOMMAGE. - - $Id$</programlisting> - - <para>Pour votre convenance, une copie de ce texte - peut être trouvée dans - <filename>/usr/share/examples/etc/bsd-style-copyright</filename>.</para> - </sect2> - - - <sect2> - <title>Contribution financière, matériel - ou accès Internet</title> - - <para>Nous sommes toujours très heureux de - recevoir des donations pour poursuivre la cause - du projet FreeBSD, et dans un effort - volontaire comme le nôtre, un rien peut faire du chemin ! - Les donations de matériel sont également très importantes - pour augmenter notre liste de périphériques supportés - puisque nous manquons souvent de fonds pour acheter de tels - éléments nous-mêmes.</para> - - <sect3> - <title><anchor id="donations">Donation de fonds</title> - - <para>Comme le projet FreeBSD n'est pas une corporation - 501(c)(3) (charitable), et par conséquent ne peut - offrir des réductions fiscales, toute donation - sera acceptée avec reconnaissance au nom du projet par - FreeBSD, inc.</para> - - <para>FreeBSD, Inc. a été fondé au début de - l'année 1995 par &a.jkh; et &a.dg; avec le but de - promouvoir les objectifs du projet de FreeBSD - et de lui donner une présence minimale de corporation. - Tout fond donné (ainsi que tous bénéfices qui - peuvent par la suite être réalisés par - FreeBSD, inc.) seront exclusivement employés à - poursuivre les buts du projet.</para> - - <para>Tous les chèques doivent être adressés - à l'ordre de FreeBSD, Inc. et envoyés à - l'adresse suivante :</para> - - <address> - <otheraddr>FreeBSD, Inc.</otheraddr> - <otheraddr>c/o Jordan Hubbard</otheraddr> - <street>4041 Pike Lane, Suite F</street> - <city>Concord</city> - <state>CA</state>, <postcode>94520</postcode> - </address> - - <para>(utilisant l'adresse de - Walnut Creek CDROM en attendant qu'une boite - postale puisse être ouverte)</para> - - <para>Les transferts de fonds peuvent être - directement envoyés à :</para> - - <address> - <otheraddr>Bank Of America</otheraddr> - <otheraddr>Concord Main Office</otheraddr> - <pob>P.O. Box 37176</pob> - <city>San Francisco</city> - <state>CA</state>, <postcode>94137-5176</postcode> - - <otheraddr>Routage #: 121-000-358</otheraddr> - <otheraddr>Compte #: 01411-07441 (FreeBSD, Inc.)</otheraddr> - </address> - - <para>Toute correspondance à propos de dons, devrait être - envoyé directement à Jordan - Hubbard <email>jkh@FreeBSD.org</email>, - soit par courrier électronique, soit à l'adresse - postale de FreeBSD, Inc. donnée ci-dessus.</para> - - <para>Si vous ne voulez pas être listé - dans notre section <link - linkend="donors">donateur</link> le spécifier - lors de votre don, merci !</para> - </sect3> - - <sect3> - <title>Contribution matérielle</title> - - <para>La contribution en matériel tombant dans une - des trois catégories suivantes sont joyeusement - acceptées par le projet FreeBSD :</para> - - <itemizedlist> - <listitem> - <para>Le matériel à caractère général comme - les disques, la mémoire ou des systèmes - complets doivent être envoyés à l'adresse - de FreeBSD, Inc. donnée dans la section - <emphasis>donation de fonds</emphasis>.</para> - </listitem> - - <listitem> - <para>Le matériel pour tests de compatibilité - en cours est apprécié. - Nous sommes actuellement en train de rassembler un - laboratoire de test pour tous les composants - supportés par FreeBSD, ceci afin que - des tests de regressions puissent être effectués à - chaque nouvelle version. - Nous manquons actuellement d'importants - composants (cartes éthernet, cartes mère, etc) - et si vous voulez faire un tel don, contactez - &a.dg; pour des informations sur le - matériel dont nous avons toujours besoin.</para> - </listitem> - - <listitem> - <para>Du matériel non supporté actuellement - par FreeBSD et que vous voudriez voir supporté. - Contactez &a.core; avant de nous envoyer ces - articles car il faut que nous trouvons - un développeur acceptant de se charger de cette - tâche avant d'accepter ce nouveau matériel.</para> - </listitem> - </itemizedlist> - </sect3> - - <sect3> - <title>Contribution d'accès Internet</title> - - <para>Nous pouvons toujours utiliser de - nouveaux sites mirroirs pour les FTP, - WWW ou <command>cvsup</command>. - Si vous voulez devenir un tel mirroir, contactez les - administrateurs du projet FreeBSD <email>admin@FreeBSD.ORG</email> - pour plus d'informations.</para> - </sect3> - </sect2> - </sect1> - - - - - <sect1 id="donors"> - <title>Les donateurs</title> - - <para>Le projet FreeBSD est en dette envers les - donateurs suivants et voudrait les remercier - publiquement ici !</para> - - <itemizedlist> - <listitem> - <para><emphasis>Contributeurs au projet du - serveur central :</emphasis></para> - - <para>Les personnes à titre privé ou commercial - suivantes ont rendu possible pour le projet - FreeBSD de construire la machine serveur - centrale pour éventuellement remplacer <hostid - role="fqdn">freefall.freebsd.org</hostid> - en donnant les articles suivants :</para> - - <itemizedlist> - <listitem> - <para>Ade Barkah <email>mbarkah@freebsd.org</email> et son - employeur, <ulink URL="http://www.hemi.com">Hemisphere - Online</ulink>, ont donné un - <emphasis>Pentium Pro (P6) 200Mhz - CPU</emphasis></para> - </listitem> - - <listitem> - <para><ulink URL="http://www.asacomputers.com">ASA - Computers</ulink> ont donné - <emphasis>une carte mère Tyan - 1662</emphasis>.</para> - </listitem> - - <listitem> - <para>Joe McGuckin <email>joe@via.net</email> - de <ulink - URL="http://www.via.net">ViaNet Communications</ulink> - a donné un <emphasis>contrôleur ethernet - Kingston.</emphasis></para> - </listitem> - - <listitem> - <para>Jack O'Neill <email>jack@diamond.xtalwind.net</email> - a donné <emphasis>une carte - contrôleur NCR 53C875 SCSI</emphasis>.</para> - </listitem> - - <listitem> - <para>Ulf Zimmermann <email>ulf@Alameda.net</email> de <ulink - URL="http://www.Alameda.net">Alameda - Networks</ulink> a donné <emphasis>128MB - de mémoire </emphasis>, un <emphasis>disque - de 4 Gb et la valise.</emphasis></para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para><emphasis>Fonds directs :</emphasis></para> - - <para>Les personnes suivantes ont généreusement - contribué - à titre privé ou commercial - - directement aux fonds du projet :</para> - - <itemizedlist> - <listitem> - <para>Annelise Anderson - <email>ANDRSN@HOOVER.STANFORD.EDU</email></para> - </listitem> - - <listitem> - <para>Matt Dillon <email>dillon@best.net</email></para> - </listitem> - - <listitem> - <para><ulink URL="http://www.epilogue.com/">Epilogue Technology - Corporation</ulink></para> - </listitem> - - <listitem> - <para>Sean Eric Fagan</para> - </listitem> - - <listitem> - <para>Don Scott Wilde</para> - </listitem> - - <listitem> - <para>Gianmarco Giovannelli - <email>gmarco@masternet.it</email></para> - </listitem> - - <listitem> - <para>Josef C. Grosch <email>joeg@truenorth.org</email></para> - </listitem> - - <listitem> - <para>Robert T. Morris</para> - </listitem> - - <listitem> - <para>Chuck Robey <email>chuckr@freebsd.org</email></para> - </listitem> - - <listitem> - <para>Kenneth P. Stox <email>ken@stox.sa.enteract.com</email> de - <ulink URL="http://www.imagescape.com">Imaginary Landscape, - LLC.</ulink></para> - </listitem> - - <listitem> - <para>Dmitry S. Kohmanyuk <email>dk@dog.farm.org</email></para> - </listitem> - - <listitem> - <para><ulink URL="http://www.cdrom.co.jp/">Laser5</ulink> - du Japon (une partie de leur bénéfice de la vente - de leurs différents CD-ROM de FreeBSD.</para> - </listitem> - - <listitem> - <para><ulink URL="http://www.mmjp.or.jp/fuki/">Fuki - Shuppan Publishing Co.</ulink> ont donné - une partie de leur bénéfice sur <emphasis>Hajimete - no FreeBSD</emphasis> (débuter sous FreeBSD) - aux projets FreeBSD et XFree86.</para> - </listitem> - - <listitem> - <para><ulink URL="http://www.ascii.co.jp/">ASCII - Corp.</ulink> ont donné une partie de leur - bénéfice de vente sur des produits sur FreeBSD.</para> - </listitem> - - <listitem> - <para><ulink URL="http://www.yokogawa.co.jp/">Yokogawa - Electric Corp</ulink> ont généreusement donné des - fonds significatifs au projet FreeBSD.</para> - </listitem> - - <listitem> - <para><ulink URL="http://www.buffnet.net/">BuffNET</ulink></para> - </listitem> - - <listitem> - <para><ulink url="http://www.pacificsolutions.com/">Pacific - Solutions</ulink></para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para><emphasis>Contribution matérielle :</emphasis></para> - - <para>Les personnes suivantes à titre privé ou - commercial, ont généreusement contribué en - matériel pour les tests et le - développement/support des pilotes de - périphérique :</para> - - <itemizedlist> - <listitem> - <para>Walnut Creek CDROM pour avoir fourni - le Pentium P5-90 et le 486/DX2-66 EISA/VL - qui sont actuellement utilisés pour notre - travail de développement, cela sans parler - de l'accès réseau et d'autres dons - de matériels.</para> - </listitem> - - <listitem> - <para>TRW Financial Systems, Inc. nous a - fourni 130 PC, trois serveurs de fichiers - 68 GB, douze Ethernets, deux routeurs et - un commutateur ATM pour déboguer un - code sans disque.</para> - </listitem> - - <listitem> - <para>Dermot McDonnell a donné un - lecteur CDROM Toshiba XM3401B - actuellement utilisé dans freefall.</para> - </listitem> - - <listitem> - <para>&a.chuck; a contribué par son lecteur de - bande pour le travail expérimental.</para> - </listitem> - - <listitem> - <para>Larry Altneu <email>larry@ALR.COM</email>, - and &a.wilko;, ont donné des lecteurs de - bandes Wangtek and Archive QIC-02 afin d'améliorer - les <devicename>wt</devicename> pilotes.</para> - </listitem> - - <listitem> - <para>Ernst Winter <email>ewinter@lobo.muc.de</email> - a contribué par son lecteur de disquette - 2.88 MB au projet. - Cela augmentera la pression pour réécrire le - pilote du lecteur de disquette.<!-- smiley -->;-)</para> - </listitem> - - <listitem> - <para><ulink URL="http://www.tekram.com">Tekram - Technologies</ulink> a envoyé chacun de - leur carte adapteur hôte DC-390, DC-390U - et DC-390F FAST and ULTRA SCSI pour - les tests de regression des pilotes - NCR et AMD avec leur cartes. - Ils peuvent être aussi acclamé pour avoir rendu leurs - sources de pilotes disponibles sur les serveur - FTP pour les systèmes s'exploitation libres.<ulink - URL="ftp://ftp.tekram.com/scsi/FreeBSD">ftp://ftp.tekram.com/scsi/FreeBSD</ulink>.</para> - </listitem> - - <listitem> - <para><email>Larry M. Augustin</email> ont - contribué non seulement avec une carte - Symbios Sym8751S SCSI mais aussi par un ensemble de - livres de données, y compris la prochaine puce - Sym53c895 chip avec support Ultra-2 - et LVD, et pour le dernier manuel de programmation - avec des informations sur la manière d'utiliser - sûrement les fonctionnalités avancées de la dernière puce - Symbios SCSI chips. Merci beaucoup !</para> - </listitem> - - <listitem> - <para>Christoph Kukulies <email>kuku@freebsd.org</email> - a donné un lecteur CDROM FX120 12 vitesse - Mitsumi pour le développement de pilote - CDROM IDE.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para><emphasis>Contributeurs spéciaux :</emphasis></para> - - <itemizedlist> - <listitem> - <para><ulink URL="http://www.cdrom.com">Walnut Creek CDROM</ulink> - a donné plus que nous pourrions le dire (voir le document de - <link linkend="history">l'historique</link> pour plus de détails. - En particulier, nous voudrions les remercier pour le matériel - original utilisé pour <hostid - role="fqdn">freefall.FreeBSD.ORG</hostid>, notre principale - machine de développement, et pour <hostid - role="fqdn">thud.FreeBSD.ORG</hostid>, une machine de - test et de construction. Nous leur sommes aussi gré pour - le financement de plusieurs collaborateurs au fil des années, et - pour nous avoir fourni un accès illimité à leur connexion T1 - à l'Internet.</para> - </listitem> - - <listitem> - <para><ulink URL="http://www.interface-business.de">interface - business GmbH, Dresden</ulink> qui ont patiemment - supportés &a.joerg; qui a souvent préféré le travail FreeBSD - au travail pour lequel il était payé, et a utilisé leur - (coûteuse) connexion EUnet Internet lorsque sa connexion privée - devenait trop lente pour tavailler décemment avec ...</para> - </listitem> - - <listitem> - <para><ulink URL="http://www.bsdi.com">Berkeley Software Design, - Inc.</ulink> ont contribué en donnant leur émulateur - DOS au reste du monde BSD, qui est utilisé dans la commande - <emphasis>dosemu</emphasis>.</para> - </listitem> - </itemizedlist> - </listitem> - </itemizedlist> - - </sect1> - - <sect1> - <title>Les anciens de l'équipe principale</title> - - <para>Les personnes suivantes ont été membre de l'équipe - de base de FreeBSD durant la période indiquée. - Nous les remercions de leurs efforts passés au - service du projet FreeBSD.</para> - - <para><emphasis>Dans un ordre chronologique brut :</emphasis></para> - - <itemizedlist> - <listitem> - <para>Guido van Rooij (1995 - 1999)</para> - </listitem> - - <listitem> - <para>John Dyson (1993 - 1998)</para> - </listitem> - - <listitem> - <para>Nate Williams (1992 - 1996)</para> - </listitem> - - <listitem> - <para>Rod Grimes (1992 - 1995)</para> - </listitem> - - <listitem> - <para>Andreas Schulz (1992 - 1995)</para> - </listitem> - - <listitem> - <para>Geoff Rehmet (1993 - 1995)</para> - </listitem> - - <listitem> - <para>Paul Richards (1992 - 1995)</para> - </listitem> - - <listitem> - <para>Scott Mace (1993 - 1994)</para> - </listitem> - - <listitem> - <para>Andrew Moore (1993 - 1994)</para> - </listitem> - - <listitem> - <para>Christoph Robitschko (1993 - 1994)</para> - </listitem> - - <listitem> - <para>J. T. Conklin (1992 - 1993)</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="contrib-additional"> - <title>Collaborateurs des logiciels dérivés</title> - - <para>Ce logiciel dérive originelement du 386BSD - version 0.1 de William F. Jolitz. - Ce logiciel a été essentiellement réimplémenté depuis - la version 4.4BSD-Lite fourni par le Computer - Science Research Group (CSRG) à l'université de - Californie à Berkeley et des académies - collaboratices associées.</para> - - <para>Il ya aussi des portions de NetBSD et - OpenBSD qui ont été intégrés dans le code FreeBSD, - et nous voulons de ce fait remercier tous les - collaborateurs de NetBSD et OpenBSD pour leur travail.</para> - - <para>(Dans l'order alphabétique par le prénom) :</para> - - <itemizedlist> - <listitem> - <para>ABURAYA Ryushirou <email>rewsirow@ff.iij4u.or.jp</email></para> - </listitem> - - <listitem> - <para>AMAGAI Yoshiji <email>amagai@nue.org</email></para> - </listitem> - - <listitem> - <para>Aaron Bornstein <email>aaronb@j51.com</email></para> - </listitem> - - <listitem> - <para>Aaron Smith <email>aaron@tau.veritas.com</email></para> - </listitem> - - <listitem> - <para>Achim Patzner <email>ap@noses.com</email></para> - </listitem> - - <listitem> - <para>Ada T Lim <email>ada@bsd.org</email></para> - </listitem> - - <listitem> - <para>Adam Baran <email>badam@mw.mil.pl</email></para> - </listitem> - - <listitem> - <para>Adam Glass <email>glass@postgres.berkeley.edu</email></para> - </listitem> - - <listitem> - <para>Adam McDougall <email>mcdouga9@egr.msu.edu</email></para> - </listitem> - - <listitem> - <para>Adrian Colley <email>aecolley@ois.ie</email></para> - </listitem> - - <listitem> - <para>Adrian Hall <email>adrian@ibmpcug.co.uk</email></para> - </listitem> - - <listitem> - <para>Adrian Mariano <email>adrian@cam.cornell.edu</email></para> - </listitem> - - <listitem> - <para>Adrian Steinmann <email>ast@marabu.ch</email></para> - </listitem> - - <listitem> - <para>Adrian T. Filipi-Martin - <email>atf3r@agate.cs.virginia.edu</email></para> - </listitem> - - <listitem> - <para>Ajit Thyagarajan <email>unknown</email></para> - </listitem> - - <listitem> - <para>Akio Morita - <email>amorita@meadow.scphys.kyoto-u.ac.jp</email></para> - </listitem> - - <listitem> - <para>Akira SAWADA <email>unknown</email></para> - </listitem> - - <listitem> - <para>Akira Watanabe - <email>akira@myaw.ei.meisei-u.ac.jp</email></para> - </listitem> - - <listitem> - <para>Akito Fujita <email>fujita@zoo.ncl.omron.co.jp</email></para> - </listitem> - - <listitem> - <para>Alain Kalker - <email>A.C.P.M.Kalker@student.utwente.nl</email></para> - </listitem> - - <listitem> - <para>Alan Bawden <email>alan@curry.epilogue.com</email></para> - </listitem> - - <listitem> - <para>Alan Cox <email>alc@cs.rice.edu</email></para> - </listitem> - - <listitem> - <para>Alec Wolman <email>wolman@cs.washington.edu</email></para> - </listitem> - - <listitem> - <para>Aled Morris <email>aledm@routers.co.uk</email></para> - </listitem> - - <listitem> - <para>Alex <email>garbanzo@hooked.net</email></para> - </listitem> - - <listitem> - <para>Alex D. Chen - <email>dhchen@Canvas.dorm7.nccu.edu.tw</email></para> - </listitem> - - <listitem> - <para>Alex G. Bulushev <email>bag@demos.su</email></para> - </listitem> - - <listitem> - <para>Alex Le Heux <email>alexlh@funk.org</email></para> - </listitem> - - <listitem> - <para>Alexander B. Povolotsky <email>tarkhil@mgt.msk.ru</email></para> - </listitem> - - <listitem> - <para>Alexander Leidinger - <email>netchild@wurzelausix.CS.Uni-SB.DE</email></para> - </listitem> - - <listitem> - <para>Alexandre Snarskii <email>snar@paranoia.ru</email></para> - </listitem> - - <listitem> - <para>Alistair G. Crooks <email>agc@uts.amdahl.com</email></para> - </listitem> - - <listitem> - <para>Allan Saddi <email>asaddi@philosophysw.com</email></para> - </listitem> - - <listitem> - <para>Allen Campbell <email>allenc@verinet.com</email></para> - </listitem> - - <listitem> - <para>Amakawa Shuhei <email>amakawa@hoh.t.u-tokyo.ac.jp</email></para> - </listitem> - - <listitem> - <para>Amancio Hasty <email>hasty@star-gate.com</email></para> - </listitem> - - <listitem> - <para>Amir Farah <email>amir@comtrol.com</email></para> - </listitem> - - <listitem> - <para>Amy Baron <email>amee@beer.org</email></para> - </listitem> - - <listitem> - <para>Anatoly A. Orehovsky <email>tolik@mpeks.tomsk.su</email></para> - </listitem> - - <listitem> - <para>Anatoly Vorobey <email>mellon@pobox.com</email></para> - </listitem> - - <listitem> - <para>Anders Nordby <email>nickerne@nome.no</email></para> - </listitem> - - <listitem> - <para>Anders Thulin <email>Anders.X.Thulin@telia.se</email></para> - </listitem> - - <listitem> - <para>Andras Olah <email>olah@cs.utwente.nl</email></para> - </listitem> - - <listitem> - <para>Andre Albsmeier - <email>Andre.Albsmeier@mchp.siemens.de</email></para> - </listitem> - - <listitem> - <para>Andre Oppermann <email>andre@pipeline.ch</email></para> - </listitem> - - <listitem> - <para>Andreas Haakh <email>ah@alman.robin.de</email></para> - </listitem> - - <listitem> - <para>Andreas Kohout <email>shanee@rabbit.augusta.de</email></para> - </listitem> - - <listitem> - <para>Andreas Lohr <email>andreas@marvin.RoBIN.de</email></para> - </listitem> - - <listitem> - <para>Andreas Schulz <email>unknown</email></para> - </listitem> - - <listitem> - <para>Andreas Wetzel <email>mickey@deadline.snafu.de</email></para> - </listitem> - - <listitem> - <para>Andreas Wrede <email>andreas@planix.com</email></para> - </listitem> - - <listitem> - <para>Andres Vega Garcia <email>unknown</email></para> - </listitem> - - <listitem> - <para>Andrew Atrens <email>atreand@statcan.ca</email></para> - </listitem> - - <listitem> - <para>Andrew Gillham <email>gillham@andrews.edu</email></para> - </listitem> - - <listitem> - <para>Andrew Gordon <email>andrew.gordon@net-tel.co.uk</email></para> - </listitem> - - <listitem> - <para>Andrew Herbert <email>andrew@werple.apana.org.au</email></para> - </listitem> - - <listitem> - <para>Andrew J. Korty <email>ajk@purdue.edu</email></para> - </listitem> - - <listitem> - <para>Andrew L. Moore <email>alm@mclink.com</email></para> - </listitem> - - <listitem> - <para>Andrew McRae <email>amcrae@cisco.com</email></para> - </listitem> - - <listitem> - <para>Andrew Stevenson <email>andrew@ugh.net.au</email></para> - </listitem> - - <listitem> - <para>Andrew Timonin <email>tim@pool1.convey.ru</email></para> - </listitem> - - <listitem> - <para>Andrew V. Stesin <email>stesin@elvisti.kiev.ua</email></para> - </listitem> - - <listitem> - <para>Andrew Webster <email>awebster@dataradio.com</email></para> - </listitem> - - <listitem> - <para>Andrey Zakhvatov <email>andy@icc.surw.chel.su</email></para> - </listitem> - - <listitem> - <para>Andy Farkas <email>andyf@speednet.com.au</email></para> - </listitem> - - <listitem> - <para>Andy Valencia <email>ajv@csd.mot.com</email></para> - </listitem> - - <listitem> - <para>Andy Whitcroft <email>andy@sarc.city.ac.uk</email></para> - </listitem> - - <listitem> - <para>Angelo Turetta <email>ATuretta@stylo.it</email></para> - </listitem> - - <listitem> - <para>Anthony C. Chavez <email>magus@xmission.com</email></para> - </listitem> - - <listitem> - <para>Anthony Yee-Hang Chan <email>yeehang@netcom.com</email></para> - </listitem> - - <listitem> - <para>Anton Berezin <email>tobez@plab.ku.dk</email></para> - </listitem> - - <listitem> - <para>Antti Kaipila <email>anttik@iki.fi</email></para> - </listitem> - - <listitem> - <para>Are Bryne <email>are.bryne@communique.no</email></para> - </listitem> - - <listitem> - <para>Ari Suutari <email>ari@suutari.iki.fi</email></para> - </listitem> - - <listitem> - <para>Arjan de Vet <email>devet@IAEhv.nl</email></para> - </listitem> - - <listitem> - <para>Arne Henrik Juul <email>arnej@Lise.Unit.NO</email></para> - </listitem> - - <listitem> - <para>Assar Westerlund <email>assar@sics.se</email></para> - </listitem> - - <listitem> - <para>Atsushi Furuta <email>furuta@sra.co.jp</email></para> - </listitem> - - <listitem> - <para>Atsushi Murai <email>amurai@spec.co.jp</email></para> - </listitem> - - <listitem> - <para>Bakul Shah <email>bvs@bitblocks.com</email></para> - </listitem> - - <listitem> - <para>Barry Bierbauch <email>pivrnec@vszbr.cz</email></para> - </listitem> - - <listitem> - <para>Barry Lustig <email>barry@ictv.com</email></para> - </listitem> - - <listitem> - <para>Ben Hutchinson <email>benhutch@xfiles.org.uk</email></para> - </listitem> - - <listitem> - <para>Ben Jackson <email>unknown</email></para> - </listitem> - - <listitem> - <para>Ben Smithurst <email>ben@scientia.demon.co.uk</email></para> - </listitem> - - <listitem> - <para>Ben Walter <email>bwalter@itachi.swcp.com</email></para> - </listitem> - - <listitem> - <para>Benjamin Lewis <email>bhlewis@gte.net</email></para> - </listitem> - - <listitem> - <para>Bernd Rosauer <email>br@schiele-ct.de</email></para> - </listitem> - - <listitem> - <para>Bill Kish <email>kish@osf.org</email></para> - </listitem> - - <listitem> - <para>Bill Trost <email>trost@cloud.rain.com</email></para> - </listitem> - - <listitem> - <para>Blaz Zupan <email>blaz@amis.net</email></para> - </listitem> - - <listitem> - <para>Bob Van Valzah <email>Bob@whitebarn.com</email></para> - </listitem> - - <listitem> - <para>Bob Willcox <email>bob@luke.pmr.com</email></para> - </listitem> - - <listitem> - <para>Boris Staeblow <email>balu@dva.in-berlin.de</email></para> - </listitem> - - <listitem> - <para>Boyd R. Faulkner <email>faulkner@asgard.bga.com</email></para> - </listitem> - - <listitem> - <para>Brad Karp <email>karp@eecs.harvard.edu</email></para> - </listitem> - - <listitem> - <para>Bradley Dunn <email>bradley@dunn.org</email></para> - </listitem> - - <listitem> - <para>Brandon Gillespie <email>brandon@roguetrader.com</email></para> - </listitem> - - <listitem> - <para>&a.wlloyd</para> - </listitem> - - <listitem> - <para>Bob Wilcox <email>bob@obiwan.uucp</email></para> - </listitem> - - <listitem> - <para>Boyd Faulkner <email>faulkner@mpd.tandem.com</email></para> - </listitem> - - <listitem> - <para>Brent J. Nordquist <email>bjn@visi.com</email></para> - </listitem> - - <listitem> - <para>Brett Lymn <email>blymn@mulga.awadi.com.AU</email></para> - </listitem> - - <listitem> - <para>Brett Taylor - <email>brett@peloton.physics.montana.edu</email></para> - </listitem> - - <listitem> - <para>Brian Campbell <email>brianc@pobox.com</email></para> - </listitem> - - <listitem> - <para>Brian Clapper <email>bmc@willscreek.com</email></para> - </listitem> - - <listitem> - <para>Brian Cully <email>shmit@kublai.com</email></para> - </listitem> - - <listitem> - <para>Brian F. Feldman <email>green@unixhelp.org</email></para> - </listitem> - - <listitem> - <para>Brian Handy - <email>handy@lambic.space.lockheed.com</email></para> - </listitem> - - <listitem> - <para>Brian Litzinger <email>brian@MediaCity.com</email></para> - </listitem> - - <listitem> - <para>Brian McGovern <email>bmcgover@cisco.com</email></para> - </listitem> - - <listitem> - <para>Brian Moore <email>ziff@houdini.eecs.umich.edu</email></para> - </listitem> - - <listitem> - <para>Brian R. Haug <email>haug@conterra.com</email></para> - </listitem> - - <listitem> - <para>Brian Tao <email>taob@risc.org</email></para> - </listitem> - - <listitem> - <para>Brion Moss <email>brion@queeg.com</email></para> - </listitem> - - <listitem> - <para>Bruce A. Mah <email>bmah@ca.sandia.gov</email></para> - </listitem> - - <listitem> - <para>Bruce Albrecht <email>bruce@zuhause.mn.org</email></para> - </listitem> - - <listitem> - <para>Bruce Gingery <email>bgingery@gtcs.com</email></para> - </listitem> - - <listitem> - <para>Bruce J. Keeler <email>loodvrij@gridpoint.com</email></para> - </listitem> - - <listitem> - <para>Bruce Murphy <email>packrat@iinet.net.au</email></para> - </listitem> - - <listitem> - <para>Bruce Walter <email>walter@fortean.com</email></para> - </listitem> - - <listitem> - <para>Carey Jones <email>mcj@acquiesce.org</email></para> - </listitem> - - <listitem> - <para>Carl Fongheiser <email>cmf@netins.net</email></para> - </listitem> - - <listitem> - <para>Carl Mascott <email>cmascott@world.std.com</email></para> - </listitem> - - <listitem> - <para>Casper <email>casper@acc.am</email></para> - </listitem> - - <listitem> - <para>Castor Fu <email>castor@geocast.com</email></para> - </listitem> - - <listitem> - <para>Cejka Rudolf <email>cejkar@dcse.fee.vutbr.cz</email></para> - </listitem> - - <listitem> - <para>Chain Lee <email>chain@110.net</email></para> - </listitem> - - <listitem> - <para>Charles Hannum <email>mycroft@ai.mit.edu</email></para> - </listitem> - - <listitem> - <para>Charles Henrich <email>henrich@msu.edu</email></para> - </listitem> - - <listitem> - <para>Charles Mott <email>cmott@srv.net</email></para> - </listitem> - - <listitem> - <para>Charles Owens <email>owensc@enc.edu</email></para> - </listitem> - - <listitem> - <para>Chet Ramey <email>chet@odin.INS.CWRU.Edu</email></para> - </listitem> - - <listitem> - <para>Chia-liang Kao <email>clkao@CirX.ORG</email></para> - </listitem> - - <listitem> - <para>Chiharu Shibata <email>chi@bd.mbn.or.jp</email></para> - </listitem> - - <listitem> - <para>Chip Norkus <email>unknown</email></para> - </listitem> - - <listitem> - <para>Choi Jun Ho <email>junker@jazz.snu.ac.kr</email></para> - </listitem> - - <listitem> - <para>Chris Csanady <email>cc@tarsier.ca.sandia.gov</email></para> - </listitem> - - <listitem> - <para>Chris Dabrowski <email>chris@vader.org</email></para> - </listitem> - - <listitem> - <para>Chris Dillon <email>cdillon@wolves.k12.mo.us</email></para> - </listitem> - - <listitem> - <para>Chris Piazza <email>cpiazza@home.net</email></para> - </listitem> - - <listitem> - <para>Chris Shenton - <email>cshenton@angst.it.hq.nasa.gov</email></para> - </listitem> - - <listitem> - <para>Chris Stenton <email>jacs@gnome.co.uk</email></para> - </listitem> - - <listitem> - <para>Chris Timmons <email>skynyrd@opus.cts.cwu.edu</email></para> - </listitem> - - <listitem> - <para>Chris Torek <email>torek@ee.lbl.gov</email></para> - </listitem> - - <listitem> - <para>Christian Gusenbauer - <email>cg@fimp01.fim.uni-linz.ac.at</email></para> - </listitem> - - <listitem> - <para>Christian Haury <email>Christian.Haury@sagem.fr</email></para> - </listitem> - - <listitem> - <para>Christian Weisgerber - <email>naddy@bigeye.rhein-neckar.de</email></para> - </listitem> - - <listitem> - <para>Christoph P. Kukulies <email>kuku@FreeBSD.org</email></para> - </listitem> - - <listitem> - <para>Christoph Robitschko - <email>chmr@edvz.tu-graz.ac.at</email></para> - </listitem> - - <listitem> - <para>Christoph Weber-Fahr - <email>wefa@callcenter.systemhaus.net</email></para> - </listitem> - - <listitem> - <para>Christopher G. Demetriou - <email>cgd@postgres.berkeley.edu</email></para> - </listitem> - - <listitem> - <para>Christopher T. Johnson - <email>cjohnson@neunacht.netgsi.com</email></para> - </listitem> - - <listitem> - <para>Chrisy Luke <email>chrisy@flix.net</email></para> - </listitem> - - <listitem> - <para>Chuck Hein <email>chein@cisco.com</email></para> - </listitem> - - <listitem> - <para>Clive Lin <email>clive@CiRX.ORG</email></para> - </listitem> - - <listitem> - <para>Colman Reilly <email>careilly@tcd.ie</email></para> - </listitem> - - <listitem> - <para>Conrad Sabatier <email>conrads@neosoft.com</email></para> - </listitem> - - <listitem> - <para>Coranth Gryphon <email>gryphon@healer.com</email></para> - </listitem> - - <listitem> - <para>Cornelis van der Laan - <email>nils@guru.ims.uni-stuttgart.de</email></para> - </listitem> - - <listitem> - <para>Cove Schneider <email>cove@brazil.nbn.com</email></para> - </listitem> - - <listitem> - <para>Craig Leres <email>leres@ee.lbl.gov</email></para> - </listitem> - - <listitem> - <para>Craig Loomis <email>unknown</email></para> - </listitem> - - <listitem> - <para>Craig Metz <email>cmetz@inner.net</email></para> - </listitem> - - <listitem> - <para>Craig Spannring <email>cts@internetcds.com</email></para> - </listitem> - - <listitem> - <para>Craig Struble <email>cstruble@vt.edu</email></para> - </listitem> - - <listitem> - <para>Cristian Ferretti <email>cfs@riemann.mat.puc.cl</email></para> - </listitem> - - <listitem> - <para>Curt Mayer <email>curt@toad.com</email></para> - </listitem> - - <listitem> - <para>Cy Schubert <email>cschuber@uumail.gov.bc.ca</email></para> - </listitem> - - <listitem> - <para>DI. Christian Gusenbauer - <email>cg@scotty.edvz.uni-linz.ac.at</email></para> - </listitem> - - <listitem> - <para>Dai Ishijima <email>ishijima@tri.pref.osaka.jp</email></para> - </listitem> - - <listitem> - <para>Damian Hamill <email>damian@cablenet.net</email></para> - </listitem> - - <listitem> - <para>Dan Cross <email>tenser@spitfire.ecsel.psu.edu</email></para> - </listitem> - - <listitem> - <para>Dan Lukes <email>dan@obluda.cz</email></para> - </listitem> - - <listitem> - <para>Dan Nelson <email>dnelson@emsphone.com</email></para> - </listitem> - - <listitem> - <para>Dan Walters <email>hannibal@cyberstation.net</email></para> - </listitem> - - <listitem> - <para>Daniel Baker <email>dbaker@crash.ops.neosoft.com</email></para> - </listitem> - - <listitem> - <para>Daniel M. Eischen - <email>deischen@iworks.InterWorks.org</email></para> - </listitem> - - <listitem> - <para>Daniel O'Connor <email>doconnor@gsoft.com.au</email></para> - </listitem> - - <listitem> - <para>Daniel Poirot <email>poirot@aio.jsc.nasa.gov</email></para> - </listitem> - - <listitem> - <para>Daniel Rock <email>rock@cs.uni-sb.de</email></para> - </listitem> - - <listitem> - <para>Danny Egen <email>unknown</email></para> - </listitem> - - <listitem> - <para>Danny J. Zerkel <email>dzerkel@phofarm.com</email></para> - </listitem> - - <listitem> - <para>Darren Reed <email>avalon@coombs.anu.edu.au</email></para> - </listitem> - - <listitem> - <para>Dave Adkins <email>adkin003@tc.umn.edu</email></para> - </listitem> - - <listitem> - <para>Dave Andersen <email>angio@aros.net</email></para> - </listitem> - - <listitem> - <para>Dave Blizzard <email>dblizzar@sprynet.com</email></para> - </listitem> - - <listitem> - <para>Dave Bodenstab <email>imdave@synet.net</email></para> - </listitem> - - <listitem> - <para>Dave Burgess <email>burgess@hrd769.brooks.af.mil</email></para> - </listitem> - - <listitem> - <para>Dave Chapeskie <email>dchapes@ddm.on.ca</email></para> - </listitem> - - <listitem> - <para>Dave Cornejo <email>dave@dogwood.com</email></para> - </listitem> - - <listitem> - <para>Dave Edmondson <email>davided@sco.com</email></para> - </listitem> - - <listitem> - <para>Dave Glowacki <email>dglo@ssec.wisc.edu</email></para> - </listitem> - - <listitem> - <para>Dave Marquardt <email>marquard@austin.ibm.com</email></para> - </listitem> - - <listitem> - <para>Dave Tweten <email>tweten@FreeBSD.org</email></para> - </listitem> - - <listitem> - <para>David A. Adkins <email>adkin003@tc.umn.edu</email></para> - </listitem> - - <listitem> - <para>David A. Bader <email>dbader@umiacs.umd.edu</email></para> - </listitem> - - <listitem> - <para>David Borman <email>dab@bsdi.com</email></para> - </listitem> - - <listitem> - <para>David Dawes <email>dawes@XFree86.org</email></para> - </listitem> - - <listitem> - <para>David Filo <email>filo@yahoo.com</email></para> - </listitem> - - <listitem> - <para>David Holland <email>dholland@eecs.harvard.edu</email></para> - </listitem> - - <listitem> - <para>David Holloway <email>daveh@gwythaint.tamis.com</email></para> - </listitem> - - <listitem> - <para>David Horwitt <email>dhorwitt@ucsd.edu</email></para> - </listitem> - - <listitem> - <para>David Hovemeyer <email>daveho@infocom.com</email></para> - </listitem> - - <listitem> - <para>David Jones <email>dej@qpoint.torfree.net</email></para> - </listitem> - - <listitem> - <para>David Kelly <email>dkelly@tomcat1.tbe.com</email></para> - </listitem> - - <listitem> - <para>David Kulp <email>dkulp@neomorphic.com</email></para> - </listitem> - - <listitem> - <para>David L. Nugent <email>davidn@blaze.net.au</email></para> - </listitem> - - <listitem> - <para>David Leonard <email>d@scry.dstc.edu.au</email></para> - </listitem> - - <listitem> - <para>David Malone <email>dwmalone@maths.tcd.ie</email></para> - </listitem> - - <listitem> - <para>David Muir Sharnoff <email>muir@idiom.com</email></para> - </listitem> - - <listitem> - <para>David S. Miller <email>davem@jenolan.rutgers.edu</email></para> - </listitem> - - <listitem> - <para>David Wolfskill <email>dhw@whistle.com</email></para> - </listitem> - - <listitem> - <para>Dean Gaudet <email>dgaudet@arctic.org</email></para> - </listitem> - - <listitem> - <para>Dean Huxley <email>dean@fsa.ca</email></para> - </listitem> - - <listitem> - <para>Denis Fortin <email>unknown</email></para> - </listitem> - - <listitem> - <para>Dennis Glatting - <email>dennis.glatting@software-munitions.com</email></para> - </listitem> - - <listitem> - <para>Denton Gentry <email>denny1@home.com</email></para> - </listitem> - - <listitem> - <para>Derek Inksetter <email>derek@saidev.com</email></para> - </listitem> - - <listitem> - <para>Dima Sivachenko <email>dima@Chg.RU</email></para> - </listitem> - - <listitem> - <para>Dirk Keunecke <email>dk@panda.rhein-main.de</email></para> - </listitem> - - <listitem> - <para>Dirk Nehrling <email>nerle@pdv.de</email></para> - </listitem> - - <listitem> - <para>Dmitry Khrustalev <email>dima@xyzzy.machaon.ru</email></para> - </listitem> - - <listitem> - <para>Dmitry Kohmanyuk <email>dk@farm.org</email></para> - </listitem> - - <listitem> - <para>Dom Mitchell <email>dom@myrddin.demon.co.uk</email></para> - </listitem> - - <listitem> - <para>Don Croyle <email>croyle@gelemna.ft-wayne.in.us</email></para> - </listitem> - - <listitem> - <para>&a.whiteside;</para> - </listitem> - - <listitem> - <para>Don Morrison <email>dmorrisn@u.washington.edu</email></para> - </listitem> - - <listitem> - <para>Don Yuniskis <email>dgy@rtd.com</email></para> - </listitem> - - <listitem> - <para>Donald Maddox <email>dmaddox@conterra.com</email></para> - </listitem> - - <listitem> - <para>Doug Barton <email>studded@dal.net</email></para> - </listitem> - - <listitem> - <para>Douglas Ambrisko <email>ambrisko@whistle.com</email></para> - </listitem> - - <listitem> - <para>Douglas Carmichael <email>dcarmich@mcs.com</email></para> - </listitem> - - <listitem> - <para>Douglas Crosher <email>dtc@scrooge.ee.swin.oz.au</email></para> - </listitem> - - <listitem> - <para>Drew Derbyshire <email>ahd@kew.com</email></para> - </listitem> - - <listitem> - <para>Duncan Barclay <email>dmlb@ragnet.demon.co.uk</email></para> - </listitem> - - <listitem> - <para>Dustin Sallings <email>dustin@spy.net</email></para> - </listitem> - - <listitem> - <para>Eckart "Isegrim" Hofmann - <email>Isegrim@Wunder-Nett.org</email></para> - </listitem> - - <listitem> - <para>Ed Gold - <email>vegold01@starbase.spd.louisville.edu</email></para> - </listitem> - - <listitem> - <para>Ed Hudson <email>elh@p5.spnet.com</email></para> - </listitem> - - <listitem> - <para>Edward Wang <email>edward@edcom.com</email></para> - </listitem> - - <listitem> - <para>Edwin Groothus <email>edwin@nwm.wan.philips.com</email></para> - </listitem> - - <listitem> - <para>Eiji-usagi-MATSUmoto <email>usagi@clave.gr.jp</email></para> - </listitem> - - <listitem> - <para>ELISA Font Project</para> - </listitem> - - <listitem> - <para>Elmar Bartel - <email>bartel@informatik.tu-muenchen.de</email></para> - </listitem> - - <listitem> - <para>Eric A. Griff <email>eagriff@global2000.net</email></para> - </listitem> - - <listitem> - <para>Eric Blood <email>eblood@cs.unr.edu</email></para> - </listitem> - - <listitem> - <para>Eric J. Haug <email>ejh@slustl.slu.edu</email></para> - </listitem> - - <listitem> - <para>Eric J. Schwertfeger <email>eric@cybernut.com</email></para> - </listitem> - - <listitem> - <para>Eric L. Hernes <email>erich@lodgenet.com</email></para> - </listitem> - - <listitem> - <para>Eric P. Scott <email>eps@sirius.com</email></para> - </listitem> - - <listitem> - <para>Eric Sprinkle <email>eric@ennovatenetworks.com</email></para> - </listitem> - - <listitem> - <para>Erich Stefan Boleyn <email>erich@uruk.org</email></para> - </listitem> - - <listitem> - <para>Erik E. Rantapaa <email>rantapaa@math.umn.edu</email></para> - </listitem> - - <listitem> - <para>Erik H. Moe <email>ehm@cris.com</email></para> - </listitem> - - <listitem> - <para>Ernst Winter <email>ewinter@lobo.muc.de</email></para> - </listitem> - - <listitem> - <para>Eugene M. Kim <email>astralblue@usa.net</email></para> - </listitem> - - <listitem> - <para>Eugene Radchenko <email>genie@qsar.chem.msu.su</email></para> - </listitem> - - <listitem> - <para>Evan Champion <email>evanc@synapse.net</email></para> - </listitem> - - <listitem> - <para>Faried Nawaz <email>fn@Hungry.COM</email></para> - </listitem> - - <listitem> - <para>Flemming Jacobsen <email>fj@tfs.com</email></para> - </listitem> - - <listitem> - <para>Fong-Ching Liaw <email>fong@juniper.net</email></para> - </listitem> - - <listitem> - <para>Francis M J Hsieh <email>mjshieh@life.nthu.edu.tw</email></para> - </listitem> - - <listitem> - <para>Frank Bartels <email>knarf@camelot.de</email></para> - </listitem> - - <listitem> - <para>Frank Chen Hsiung Chan - <email>frankch@waru.life.nthu.edu.tw</email></para> - </listitem> - - <listitem> - <para>Frank Durda IV <email>uhclem@nemesis.lonestar.org</email></para> - </listitem> - - <listitem> - <para>Frank MacLachlan <email>fpm@n2.net</email></para> - </listitem> - - <listitem> - <para>Frank Nobis <email>fn@Radio-do.de</email></para> - </listitem> - - <listitem> - <para>Frank Volf <email>volf@oasis.IAEhv.nl</email></para> - </listitem> - - <listitem> - <para>Frank ten Wolde <email>franky@pinewood.nl</email></para> - </listitem> - - <listitem> - <para>Frank van der Linden <email>frank@fwi.uva.nl</email></para> - </listitem> - - <listitem> - <para>Fred Cawthorne <email>fcawth@jjarray.umn.edu</email></para> - </listitem> - - <listitem> - <para>Fred Gilham <email>gilham@csl.sri.com</email></para> - </listitem> - - <listitem> - <para>Fred Templin <email>templin@erg.sri.com</email></para> - </listitem> - - <listitem> - <para>Frederick Earl Gray <email>fgray@rice.edu</email></para> - </listitem> - - <listitem> - <para>FUJIMOTO Kensaku - <email>fujimoto@oscar.elec.waseda.ac.jp</email></para> - </listitem> - - <listitem> - <para>FUJISHIMA Satsuki <email>k5@respo.or.jp</email></para> - </listitem> - - <listitem> - <para>FURUSAWA Kazuhisa - <email>furusawa@com.cs.osakafu-u.ac.jp</email></para> - </listitem> - - <listitem> - <para>Gabor Kincses <email>gabor@acm.org</email></para> - </listitem> - - <listitem> - <para>Gabor Zahemszky <email>zgabor@CoDe.hu</email></para> - </listitem> - - <listitem> - <para>Garance A Drosehn <email>gad@eclipse.its.rpi.edu</email></para> - </listitem> - - <listitem> - <para>Gareth McCaughan <email>gjm11@dpmms.cam.ac.uk</email></para> - </listitem> - - <listitem> - <para>Gary A. Browning <email>gab10@griffcd.amdahl.com</email></para> - </listitem> - - <listitem> - <para>Gary Howland <email>gary@hotlava.com</email></para> - </listitem> - - <listitem> - <para>Gary J. <email>garyj@rks32.pcs.dec.com</email></para> - </listitem> - - <listitem> - <para>Gary Kline <email>kline@thought.org</email></para> - </listitem> - - <listitem> - <para>Gaspar Chilingarov <email>nightmar@lemming.acc.am</email></para> - </listitem> - - <listitem> - <para>Gea-Suan Lin <email>gsl@tpts4.seed.net.tw</email></para> - </listitem> - - <listitem> - <para>Geoff Rehmet <email>csgr@alpha.ru.ac.za</email></para> - </listitem> - - <listitem> - <para>Georg Wagner <email>georg.wagner@ubs.com</email></para> - </listitem> - - <listitem> - <para>Gerard Roudier <email>groudier@club-internet.fr</email></para> - </listitem> - - <listitem> - <para>Gianmarco Giovannelli - <email>gmarco@giovannelli.it</email></para> - </listitem> - - <listitem> - <para>Gil Kloepfer Jr. <email>gil@limbic.ssdl.com</email></para> - </listitem> - - <listitem> - <para>Gilad Rom <email>rom_glsa@ein-hashofet.co.il</email></para> - </listitem> - - <listitem> - <para>Ginga Kawaguti - <email>ginga@amalthea.phys.s.u-tokyo.ac.jp</email></para> - </listitem> - - <listitem> - <para>Giles Lean <email>giles@nemeton.com.au</email></para> - </listitem> - - <listitem> - <para>Glen Foster <email>gfoster@gfoster.com</email></para> - </listitem> - - <listitem> - <para>Glenn Johnson <email>gljohns@bellsouth.net</email></para> - </listitem> - - <listitem> - <para>Godmar Back <email>gback@facility.cs.utah.edu</email></para> - </listitem> - - <listitem> - <para>Goran Hammarback <email>goran@astro.uu.se</email></para> - </listitem> - - <listitem> - <para>Gord Matzigkeit <email>gord@enci.ucalgary.ca</email></para> - </listitem> - - <listitem> - <para>Graham Wheeler <email>gram@cdsec.com</email></para> - </listitem> - - <listitem> - <para>Greg A. Woods <email>woods@zeus.leitch.com</email></para> - </listitem> - - <listitem> - <para>Greg Ansley <email>gja@ansley.com</email></para> - </listitem> - - <listitem> - <para>Greg Troxel <email>gdt@ir.bbn.com</email></para> - </listitem> - - <listitem> - <para>Greg Ungerer <email>gerg@stallion.oz.au</email></para> - </listitem> - - <listitem> - <para>Gregory Bond <email>gnb@itga.com.au</email></para> - </listitem> - - <listitem> - <para>Gregory D. Moncreaff - <email>moncrg@bt340707.res.ray.com</email></para> - </listitem> - - <listitem> - <para>Guy Harris <email>guy@netapp.com</email></para> - </listitem> - - <listitem> - <para>Guy Helmer <email>ghelmer@cs.iastate.edu</email></para> - </listitem> - - <listitem> - <para>HAMADA Naoki <email>hamada@astec.co.jp</email></para> - </listitem> - - <listitem> - <para>HONDA Yasuhiro - <email>honda@kashio.info.mie-u.ac.jp</email></para> - </listitem> - - <listitem> - <para>HOSOBUCHI Noriyuki <email>hoso@buchi.tama.or.jp</email></para> - </listitem> - - <listitem> - <para>Hannu Savolainen <email>hannu@voxware.pp.fi</email></para> - </listitem> - - <listitem> - <para>Hans Huebner <email>hans@artcom.de</email></para> - </listitem> - - <listitem> - <para>Hans Petter Bieker <email>zerium@webindex.no</email></para> - </listitem> - - <listitem> - <para>Hans Zuidam <email>hans@brandinnovators.com</email></para> - </listitem> - - <listitem> - <para>Harlan Stenn <email>Harlan.Stenn@pfcs.com</email></para> - </listitem> - - <listitem> - <para>Harold Barker <email>hbarker@dsms.com</email></para> - </listitem> - - <listitem> - <para>Havard Eidnes - <email>Havard.Eidnes@runit.sintef.no</email></para> - </listitem> - - <listitem> - <para>Heikki Suonsivu <email>hsu@cs.hut.fi</email></para> - </listitem> - - <listitem> - <para>Heiko W. Rupp <email>unknown</email></para> - </listitem> - - <listitem> - <para>Helmut F. Wirth <email>hfwirth@ping.at</email></para> - </listitem> - - <listitem> - <para>Henrik Vestergaard Draboel - <email>hvd@terry.ping.dk</email></para> - </listitem> - - <listitem> - <para>Herb Peyerl <email>hpeyerl@NetBSD.org</email></para> - </listitem> - - <listitem> - <para>Hideaki Ohmon <email>ohmon@tom.sfc.keio.ac.jp</email></para> - </listitem> - - <listitem> - <para>Hidekazu Kuroki <email>hidekazu@cs.titech.ac.jp</email></para> - </listitem> - - <listitem> - <para>Hideki Yamamoto <email>hyama@acm.org</email></para> - </listitem> - - <listitem> - <para>Hidetoshi Shimokawa - <email>simokawa@sat.t.u-tokyo.ac.jp</email></para> - </listitem> - - <listitem> - <para>Hideyuki Suzuki - <email>hideyuki@sat.t.u-tokyo.ac.jp</email></para> - </listitem> - - <listitem> - <para>Hirayama Issei <email>iss@mail.wbs.ne.jp</email></para> - </listitem> - - <listitem> - <para>Hiroaki Sakai <email>sakai@miya.ee.kagu.sut.ac.jp</email></para> - </listitem> - - <listitem> - <para>Hiroharu Tamaru <email>tamaru@ap.t.u-tokyo.ac.jp</email></para> - </listitem> - - <listitem> - <para>Hironori Ikura <email>hikura@kaisei.org</email></para> - </listitem> - - <listitem> - <para>Hiroshi Nishikawa <email>nis@pluto.dti.ne.jp</email></para> - </listitem> - - <listitem> - <para>Hiroya Tsubakimoto <email>unknown</email></para> - </listitem> - - <listitem> - <para>Hiroyuki NAKAJI - <email>nakaji@zeisei3.dpri.kyoto-u.ac.jp</email></para> - </listitem> - - <listitem> - <para>Holger Veit <email>Holger.Veit@gmd.de</email></para> - </listitem> - - <listitem> - <para>Holm Tiffe <email>holm@geophysik.tu-freiberg.de</email></para> - </listitem> - - <listitem> - <para>Horance Chou - <email>horance@freedom.ie.cycu.edu.tw</email></para> - </listitem> - - <listitem> - <para>Horihiro Kumagaio <email>kuma@jp.freebsd.org</email></para> - </listitem> - - <listitem> - <para>Horikawa Kazuo <email>k-horik@mail.yk.rim.or.jp</email></para> - </listitem> - - <listitem> - <para>Hr.Ladavac <email>lada@ws2301.gud.siemens.co.at</email></para> - </listitem> - - <listitem> - <para>Hubert Feyrer <email>hubertf@NetBSD.ORG</email></para> - </listitem> - - <listitem> - <para>Hugh F. Mahon <email>hugh@nsmdserv.cnd.hp.com</email></para> - </listitem> - - <listitem> - <para>Hugh Mahon <email>h_mahon@fc.hp.com</email></para> - </listitem> - - <listitem> - <para>Hung-Chi Chu <email>hcchu@r350.ee.ntu.edu.tw</email></para> - </listitem> - - <listitem> - <para>IMAI Takeshi <email>take-i@ceres.dti.ne.jp</email></para> - </listitem> - - <listitem> - <para>IMAMURA Tomoaki - <email>tomoak-i@is.aist-nara.ac.jp</email></para> - </listitem> - - <listitem> - <para>Ian Dowse <email>iedowse@maths.tcd.ie</email></para> - </listitem> - - <listitem> - <para>Ian Holland <email>ianh@tortuga.com.au</email></para> - </listitem> - - <listitem> - <para>Ian Struble <email>ian@broken.net</email></para> - </listitem> - - <listitem> - <para>Ian Vaudrey <email>i.vaudrey@bigfoot.com</email></para> - </listitem> - - <listitem> - <para>Igor Khasilev <email>igor@jabber.paco.odessa.ua</email></para> - </listitem> - - <listitem> - <para>Igor Roshchin <email>str@giganda.komkon.org</email></para> - </listitem> - - <listitem> - <para>Igor Sviridov <email>siac@ua.net</email></para> - </listitem> - - <listitem> - <para>Igor Vinokurov <email>igor@zynaps.ru</email></para> - </listitem> - - <listitem> - <para>Ikuo Nakagawa <email>ikuo@isl.intec.co.jp</email></para> - </listitem> - - <listitem> - <para>Ilya V. Komarov <email>mur@lynx.ru</email></para> - </listitem> - - <listitem> - <para>Issei Suzuki <email>issei@jp.FreeBSD.org</email></para> - </listitem> - - <listitem> - <para>Itsuro Saito <email>saito@miv.t.u-tokyo.ac.jp</email></para> - </listitem> - - <listitem> - <para>J. Bryant <email>jbryant@argus.flash.net</email></para> - </listitem> - - <listitem> - <para>J. David Lowe <email>lowe@saturn5.com</email></para> - </listitem> - - <listitem> - <para>J. Han <email>hjh@best.com</email></para> - </listitem> - - <listitem> - <para>J. Hawk <email>jhawk@MIT.EDU</email></para> - </listitem> - - <listitem> - <para>J.T. Conklin <email>jtc@cygnus.com</email></para> - </listitem> - - <listitem> - <para>J.T. Jang <email>keith@email.gcn.net.tw</email></para> - </listitem> - - <listitem> - <para>Jack <email>jack@zeus.xtalwind.net</email></para> - </listitem> - - <listitem> - <para>Jacob Bohn Lorensen <email>jacob@jblhome.ping.mk</email></para> - </listitem> - - <listitem> - <para>Jagane D Sundar <email>jagane@netcom.com</email></para> - </listitem> - - <listitem> - <para>Jake Hamby <email>jehamby@lightside.com</email></para> - </listitem> - - <listitem> - <para>James Clark <email>jjc@jclark.com</email></para> - </listitem> - - <listitem> - <para>James D. Stewart <email>jds@c4systm.com</email></para> - </listitem> - - <listitem> - <para>James Jegers <email>jimj@miller.cs.uwm.edu</email></para> - </listitem> - - <listitem> - <para>James Raynard - <email>fhackers@jraynard.demon.co.uk</email></para> - </listitem> - - <listitem> - <para>James T. Liu <email>jtliu@phlebas.rockefeller.edu</email></para> - </listitem> - - <listitem> - <para>James da Silva <email>jds@cs.umd.edu</email></para> - </listitem> - - <listitem> - <para>Jan Conard - <email>charly@fachschaften.tu-muenchen.de</email></para> - </listitem> - - <listitem> - <para>Jan Koum <email>jkb@FreeBSD.org</email></para> - </listitem> - - <listitem> - <para>Janick Taillandier - <email>Janick.Taillandier@ratp.fr</email></para> - </listitem> - - <listitem> - <para>Janusz Kokot <email>janek@gaja.ipan.lublin.pl</email></para> - </listitem> - - <listitem> - <para>Jarle Greipsland <email>jarle@idt.unit.no</email></para> - </listitem> - - <listitem> - <para>Jason Garman <email>init@risen.org</email></para> - </listitem> - - <listitem> - <para>Jason Thorpe <email>thorpej@NetBSD.org</email></para> - </listitem> - - <listitem> - <para>Jason Wright <email>jason@OpenBSD.org</email></para> - </listitem> - - <listitem> - <para>Jason Young - <email>doogie@forbidden-donut.anet-stl.com</email></para> - </listitem> - - <listitem> - <para>Javier Martin Rueda <email>jmrueda@diatel.upm.es</email></para> - </listitem> - - <listitem> - <para>Jay Fenlason <email>hack@datacube.com</email></para> - </listitem> - - <listitem> - <para>Jaye Mathisen <email>mrcpu@cdsnet.net</email></para> - </listitem> - - <listitem> - <para>Jeff Bartig <email>jeffb@doit.wisc.edu</email></para> - </listitem> - - <listitem> - <para>Jeff Forys <email>jeff@forys.cranbury.nj.us</email></para> - </listitem> - - <listitem> - <para>Jeff Kletsky <email>Jeff@Wagsky.com</email></para> - </listitem> - - <listitem> - <para>Jeffrey Evans <email>evans@scnc.k12.mi.us</email></para> - </listitem> - - <listitem> - <para>Jeffrey Wheat <email>jeff@cetlink.net</email></para> - </listitem> - - <listitem> - <para>Jens Schweikhardt - <email>schweikh@ito.uni-stuttgart.de</email></para> - </listitem> - - <listitem> - <para>Jeremy Allison <email>jallison@whistle.com</email></para> - </listitem> - - <listitem> - <para>Jeremy Chatfield <email>jdc@xinside.com</email></para> - </listitem> - - <listitem> - <para>Jeremy Lea <email>reg@shale.csir.co.za</email></para> - </listitem> - - <listitem> - <para>Jeremy Prior <email>unknown</email></para> - </listitem> - - <listitem> - <para>Jeroen Ruigrok/Asmodai <email>asmodai@wxs.nl</email></para> - </listitem> - - <listitem> - <para>Jesse Rosenstock <email>jmr@ugcs.caltech.edu</email></para> - </listitem> - - <listitem> - <para>Jian-Da Li <email>jdli@csie.nctu.edu.tw</email></para> - </listitem> - - <listitem> - <para>Jim Babb <email>babb@FreeBSD.org</email></para> - </listitem> - - <listitem> - <para>Jim Binkley <email>jrb@cs.pdx.edu</email></para> - </listitem> - - <listitem> - <para>Jim Carroll <email>jim@carroll.com</email></para> - </listitem> - - <listitem> - <para>Jim Flowers <email>jflowers@ezo.net</email></para> - </listitem> - - <listitem> - <para>Jim Leppek <email>jleppek@harris.com</email></para> - </listitem> - - <listitem> - <para>Jim Lowe <email>james@cs.uwm.edu</email></para> - </listitem> - - <listitem> - <para>Jim Mattson <email>jmattson@sonic.net</email></para> - </listitem> - - <listitem> - <para>Jim Mercer <email>jim@komodo.reptiles.org</email></para> - </listitem> - - <listitem> - <para>Jim Mock <email>jim@phrantic.phear.net</email></para> - </listitem> - - <listitem> - <para>Jim Wilson <email>wilson@moria.cygnus.com</email></para> - </listitem> - - <listitem> - <para>Jimbo Bahooli - <email>griffin@blackhole.iceworld.org</email></para> - </listitem> - - <listitem> - <para>Jin Guojun <email>jin@george.lbl.gov</email></para> - </listitem> - - <listitem> - <para>Joachim Kuebart <email>unknown</email></para> - </listitem> - - <listitem> - <para>Joao Carlos Mendes Luis <email>jonny@jonny.eng.br</email></para> - </listitem> - - <listitem> - <para>Jochen Pohl <email>jpo.drs@sni.de</email></para> - </listitem> - - <listitem> - <para>Joe "Marcus" Clarke <email>marcus@miami.edu</email></para> - </listitem> - - <listitem> - <para>Joe Abley <email>jabley@clear.co.nz</email></para> - </listitem> - - <listitem> - <para>Joe Jih-Shian Lu <email>jslu@dns.ntu.edu.tw</email></para> - </listitem> - - <listitem> - <para>Joe Orthoefer <email>j_orthoefer@tia.net</email></para> - </listitem> - - <listitem> - <para>Joe Traister <email>traister@mojozone.org</email></para> - </listitem> - - <listitem> - <para>Joel Faedi <email>Joel.Faedi@esial.u-nancy.fr</email></para> - </listitem> - - <listitem> - <para>Joel Ray Holveck <email>joelh@gnu.org</email></para> - </listitem> - - <listitem> - <para>Joel Sutton <email>sutton@aardvark.apana.org.au</email></para> - </listitem> - - <listitem> - <para>Johan Granlund <email>johan@granlund.nu</email></para> - </listitem> - - <listitem> - <para>Johan Karlsson <email>k@numeri.campus.luth.se</email></para> - </listitem> - - <listitem> - <para>Johan Larsson <email>johan@moon.campus.luth.se</email></para> - </listitem> - - <listitem> - <para>Johann Tonsing <email>jtonsing@mikom.csir.co.za</email></para> - </listitem> - - <listitem> - <para>Johannes Helander <email>unknown</email></para> - </listitem> - - <listitem> - <para>Johannes Stille <email>unknown</email></para> - </listitem> - - <listitem> - <para>John Baldwin <email>jobaldwi@vt.edu</email></para> - </listitem> - - <listitem> - <para>John Beckett <email>jbeckett@southern.edu</email></para> - </listitem> - - <listitem> - <para>John Beukema <email>jbeukema@hk.super.net</email></para> - </listitem> - - <listitem> - <para>John Brezak <email>unknown</email></para> - </listitem> - - <listitem> - <para>John Capo <email>jc@irbs.com</email></para> - </listitem> - - <listitem> - <para>John F. Woods <email>jfw@jfwhome.funhouse.com</email></para> - </listitem> - - <listitem> - <para>John Goerzen - <email>jgoerzen@alexanderwohl.complete.org</email></para> - </listitem> - - <listitem> - <para>John Hay <email>jhay@mikom.csir.co.za</email></para> - </listitem> - - <listitem> - <para>John Heidemann <email>johnh@isi.edu</email></para> - </listitem> - - <listitem> - <para>John Hood <email>cgull@owl.org</email></para> - </listitem> - - <listitem> - <para>John Kohl <email>unknown</email></para> - </listitem> - - <listitem> - <para>John Lind <email>john@starfire.mn.org</email></para> - </listitem> - - <listitem> - <para>John Mackin <email>john@physiol.su.oz.au</email></para> - </listitem> - - <listitem> - <para>John P <email>johnp@lodgenet.com</email></para> - </listitem> - - <listitem> - <para>John Perry <email>perry@vishnu.alias.net</email></para> - </listitem> - - <listitem> - <para>John Preisler <email>john@vapornet.com</email></para> - </listitem> - - <listitem> - <para>John Rochester <email>jr@cs.mun.ca</email></para> - </listitem> - - <listitem> - <para>John Sadler <email>john_sadler@alum.mit.edu</email></para> - </listitem> - - <listitem> - <para>John Saunders <email>john@pacer.nlc.net.au</email></para> - </listitem> - - <listitem> - <para>John W. DeBoskey <email>jwd@unx.sas.com</email></para> - </listitem> - - <listitem> - <para>John Wehle <email>john@feith.com</email></para> - </listitem> - - <listitem> - <para>John Woods <email>jfw@eddie.mit.edu</email></para> - </listitem> - - <listitem> - <para>Jon Morgan <email>morgan@terminus.trailblazer.com</email></para> - </listitem> - - <listitem> - <para>Jonathan H N Chin <email>jc254@newton.cam.ac.uk</email></para> - </listitem> - - <listitem> - <para>Jonathan Hanna - <email>jh@pc-21490.bc.rogers.wave.ca</email></para> - </listitem> - - <listitem> - <para>Jorge Goncalves <email>j@bug.fe.up.pt</email></para> - </listitem> - - <listitem> - <para>Jorge M. Goncalves <email>ee96199@tom.fe.up.pt</email></para> - </listitem> - - <listitem> - <para>Jos Backus <email>jbackus@plex.nl</email></para> - </listitem> - - <listitem> - <para>Jose M. Alcaide <email>jose@we.lc.ehu.es</email></para> - </listitem> - - <listitem> - <para>Josef Grosch - <email>jgrosch@superior.mooseriver.com</email></para> - </listitem> - - <listitem> - <para>Josef Karthauser <email>joe@uk.freebsd.org</email></para> - </listitem> - - <listitem> - <para>Joseph Stein <email>joes@seaport.net</email></para> - </listitem> - - <listitem> - <para>Josh Gilliam <email>josh@quick.net</email></para> - </listitem> - - <listitem> - <para>Josh Tiefenbach <email>josh@ican.net</email></para> - </listitem> - - <listitem> - <para>Juergen Lock <email>nox@jelal.hb.north.de</email></para> - </listitem> - - <listitem> - <para>Juha Inkari <email>inkari@cc.hut.fi</email></para> - </listitem> - - <listitem> - <para>Jukka A. Ukkonen <email>jua@iki.fi</email></para> - </listitem> - - <listitem> - <para>Julian Assange <email>proff@suburbia.net</email></para> - </listitem> - - <listitem> - <para>Julian Coleman <email>j.d.coleman@ncl.ac.uk</email></para> - </listitem> - - <listitem> - <para>Julian H. Stacey <email>jhs@freebsd.org</email></para> - </listitem> - - <listitem> - <para>Julian Jenkins <email>kaveman@magna.com.au</email></para> - </listitem> - - <listitem> - <para>Junichi Satoh <email>junichi@jp.freebsd.org</email></para> - </listitem> - - <listitem> - <para>Junji SAKAI <email>sakai@jp.freebsd.org</email></para> - </listitem> - - <listitem> - <para>Junya WATANABE <email>junya-w@remus.dti.ne.jp</email></para> - </listitem> - - <listitem> - <para>K.Higashino <email>a00303@cc.hc.keio.ac.jp</email></para> - </listitem> - - <listitem> - <para>KUNISHIMA Takeo <email>kunishi@c.oka-pu.ac.jp</email></para> - </listitem> - - <listitem> - <para>Kai Vorma <email>vode@snakemail.hut.fi</email></para> - </listitem> - - <listitem> - <para>Kaleb S. Keithley <email>kaleb@ics.com</email></para> - </listitem> - - <listitem> - <para>Kaneda Hiloshi <email>vanitas@ma3.seikyou.ne.jp</email></para> - </listitem> - - <listitem> - <para>Kapil Chowksey <email>kchowksey@hss.hns.com</email></para> - </listitem> - - <listitem> - <para>Karl Denninger <email>karl@mcs.com</email></para> - </listitem> - - <listitem> - <para>Karl Dietz <email>Karl.Dietz@triplan.com</email></para> - </listitem> - - <listitem> - <para>Karl Lehenbauer <email>karl@NeoSoft.com</email></para> - </listitem> - - <listitem> - <para>Kato Takenori - <email>kato@eclogite.eps.nagoya-u.ac.jp</email></para> - </listitem> - - <listitem> - <para>Kauzo Horikawa <email>h-horik@yk.rim.or.jp</email></para> - </listitem> - - <listitem> - <para>Kawanobe Koh <email>kawanobe@st.rim.or.jp</email></para> - </listitem> - - <listitem> - <para>Kazuhiko Kiriyama <email>kiri@kiri.toba-cmt.ac.jp</email></para> - </listitem> - - <listitem> - <para>Kazuo Horikawa <email>horikawa@jp.FreeBSD.org</email></para> - </listitem> - - <listitem> - <para>Kees Jan Koster <email>kjk1@ukc.ac.uk</email></para> - </listitem> - - <listitem> - <para>Keith Bostic <email>bostic@bostic.com</email></para> - </listitem> - - <listitem> - <para>Keith E. Walker <email>unknown</email></para> - </listitem> - - <listitem> - <para>Keith Moore <email>unknown</email></para> - </listitem> - - <listitem> - <para>Keith Sklower <email>unknown</email></para> - </listitem> - - <listitem> - <para>Ken Hornstein <email>unknown</email></para> - </listitem> - - <listitem> - <para>Ken Key <email>key@cs.utk.edu</email></para> - </listitem> - - <listitem> - <para>Ken Mayer <email>kmayer@freegate.com</email></para> - </listitem> - - <listitem> - <para>Kenji Saito <email>marukun@mx2.nisiq.net</email></para> - </listitem> - - <listitem> - <para>Kenji Tomita <email>tommyk@da2.so-net.or.jp</email></para> - </listitem> - - <listitem> - <para>Kenneth Furge <email>kenneth.furge@us.endress.com</email></para> - </listitem> - - <listitem> - <para>Kenneth Monville <email>desmo@bandwidth.org</email></para> - </listitem> - - <listitem> - <para>Kenneth R. Westerback <email>krw@tcn.net</email></para> - </listitem> - - <listitem> - <para>Kenneth Stailey <email>kstailey@gnu.ai.mit.edu</email></para> - </listitem> - - <listitem> - <para>Kent Talarico <email>kent@shipwreck.tsoft.net</email></para> - </listitem> - - <listitem> - <para>Kent Vander Velden <email>graphix@iastate.edu</email></para> - </listitem> - - <listitem> - <para>Kentaro Inagaki <email>JBD01226@niftyserve.ne.jp</email></para> - </listitem> - - <listitem> - <para>Kevin Bracey <email>kbracey@art.acorn.co.uk</email></para> - </listitem> - - <listitem> - <para>Kevin Day <email>toasty@dragondata.com</email></para> - </listitem> - - <listitem> - <para>Kevin Lahey <email>kml@nas.nasa.gov</email></para> - </listitem> - - <listitem> - <para>Kevin Street <email>street@iname.com</email></para> - </listitem> - - <listitem> - <para>Kevin Van Maren <email>vanmaren@fast.cs.utah.edu</email></para> - </listitem> - - <listitem> - <para>Kiroh HARADA <email>kiroh@kh.rim.or.jp</email></para> - </listitem> - - <listitem> - <para>Klaus Klein <email>kleink@layla.inka.de</email></para> - </listitem> - - <listitem> - <para>Klaus-J. Wolf <email>Yanestra@t-online.de</email></para> - </listitem> - - <listitem> - <para>Koichi Sato <email>copan@ppp.fastnet.or.jp</email></para> - </listitem> - - <listitem> - <para>Kostya Lukin <email>lukin@okbmei.msk.su</email></para> - </listitem> - - <listitem> - <para>Kouichi Hirabayashi <email>kh@mogami-wire.co.jp</email></para> - </listitem> - - <listitem> - <para>Kurt D. Zeilenga <email>Kurt@Boolean.NET</email></para> - </listitem> - - <listitem> - <para>Kurt Olsen <email>kurto@tiny.mcs.usu.edu</email></para> - </listitem> - - <listitem> - <para>L. Jonas Olsson - <email>ljo@ljo-slip.DIALIN.CWRU.Edu</email></para> - </listitem> - - <listitem> - <para>Lars Köller - <email>Lars.Koeller@Uni-Bielefeld.DE</email></para> - </listitem> - - <listitem> - <para>Larry Altneu <email>larry@ALR.COM</email></para> - </listitem> - - <listitem> - <para>Laurence Lopez <email>lopez@mv.mv.com</email></para> - </listitem> - - <listitem> - <para>Lee Cremeans <email>lcremean@tidalwave.net</email></para> - </listitem> - - <listitem> - <para>Liang Tai-hwa - <email>avatar@www.mmlab.cse.yzu.edu.tw</email></para> - </listitem> - - <listitem> - <para>Lon Willett <email>lon%softt.uucp@math.utah.edu</email></para> - </listitem> - - <listitem> - <para>Louis A. Mamakos <email>louie@TransSys.COM</email></para> - </listitem> - - <listitem> - <para>Louis Mamakos <email>loiue@TransSys.com</email></para> - </listitem> - - <listitem> - <para>Lucas James <email>Lucas.James@ldjpc.apana.org.au</email></para> - </listitem> - - <listitem> - <para>Lyndon Nerenberg <email>lyndon@orthanc.com</email></para> - </listitem> - - <listitem> - <para>M.C. Wong <email>unknown</email></para> - </listitem> - - <listitem> - <para>MANTANI Nobutaka <email>nobutaka@nobutaka.com</email></para> - </listitem> - - <listitem> - <para>MIHIRA Sanpei Yoshiro <email>sanpei@sanpei.org</email></para> - </listitem> - - <listitem> - <para>MITA Yoshio <email>mita@jp.FreeBSD.ORG</email></para> - </listitem> - - <listitem> - <para>MITSUNAGA Noriaki - <email>mitchy@er.ams.eng.osaka-u.ac.jp</email></para> - </listitem> - - <listitem> - <para>MOROHOSHI Akihiko <email>moro@race.u-tokyo.ac.jp</email></para> - </listitem> - - <listitem> - <para>Magnus Enbom <email>dot@tinto.campus.luth.se</email></para> - </listitem> - - <listitem> - <para>Mahesh Neelakanta <email>mahesh@gcomm.com</email></para> - </listitem> - - <listitem> - <para>Makoto MATSUSHITA <email>matusita@jp.freebsd.org</email></para> - </listitem> - - <listitem> - <para>Makoto WATANABE - <email>watanabe@zlab.phys.nagoya-u.ac.jp</email></para> - </listitem> - - <listitem> - <para>Malte Lance <email>malte.lance@gmx.net</email></para> - </listitem> - - <listitem> - <para>Manu Iyengar - <email>iyengar@grunthos.pscwa.psca.com</email></para> - </listitem> - - <listitem> - <para>Marc Frajola <email>marc@dev.com</email></para> - </listitem> - - <listitem> - <para>Marc Ramirez <email>mrami@mramirez.sy.yale.edu</email></para> - </listitem> - - <listitem> - <para>Marc Slemko <email>marcs@znep.com</email></para> - </listitem> - - <listitem> - <para>Marc van Kempen <email>wmbfmk@urc.tue.nl</email></para> - </listitem> - - <listitem> - <para>Marcel Moolenaar <email>marcel@scc.nl</email></para> - </listitem> - - <listitem> - <para>Mario Sergio Fujikawa Ferreira - <email>lioux@gns.com.br</email></para> - </listitem> - - <listitem> - <para>Mark Andrews <email>unknown</email></para> - </listitem> - - <listitem> - <para>Mark Cammidge <email>mark@gmtunx.ee.uct.ac.za</email></para> - </listitem> - - <listitem> - <para>Mark Diekhans <email>markd@grizzly.com</email></para> - </listitem> - - <listitem> - <para>Mark Huizer <email>xaa@stack.nl</email></para> - </listitem> - - <listitem> - <para>Mark J. Taylor <email>mtaylor@cybernet.com</email></para> - </listitem> - - <listitem> - <para>Mark Krentel <email>krentel@rice.edu</email></para> - </listitem> - - <listitem> - <para>Mark Mayo <email>markm@vmunix.com</email></para> - </listitem> - - <listitem> - <para>Mark Thompson <email>thompson@tgsoft.com</email></para> - </listitem> - - <listitem> - <para>Mark Tinguely <email>tinguely@plains.nodak.edu</email></para> - </listitem> - - <listitem> - <para>Mark Treacy <email>unknown</email></para> - </listitem> - - <listitem> - <para>Mark Valentine <email>mark@linus.demon.co.uk</email></para> - </listitem> - - <listitem> - <para>Martin Birgmeier</para> - </listitem> - - <listitem> - <para>Martin Ibert <email>mib@ppe.bb-data.de</email></para> - </listitem> - - <listitem> - <para>Martin Kammerhofer <email>dada@sbox.tu-graz.ac.at</email></para> - </listitem> - - <listitem> - <para>Martin Renters <email>martin@tdc.on.ca</email></para> - </listitem> - - <listitem> - <para>Martti Kuparinen - <email>erakupa@kk.etx.ericsson.se</email></para> - </listitem> - - <listitem> - <para>Masachika ISHIZUKA - <email>ishizuka@isis.min.ntt.jp</email></para> - </listitem> - - <listitem> - <para>Mas.TAKEMURA <email>unknown</email></para> - </listitem> - - <listitem> - <para>Masafumi NAKANE <email>max@wide.ad.jp</email></para> - </listitem> - - <listitem> - <para>Masahiro Sekiguchi - <email>seki@sysrap.cs.fujitsu.co.jp</email></para> - </listitem> - - <listitem> - <para>Masanobu Saitoh <email>msaitoh@spa.is.uec.ac.jp</email></para> - </listitem> - - <listitem> - <para>Masanori Kanaoka <email>kana@saijo.mke.mei.co.jp</email></para> - </listitem> - - <listitem> - <para>Masanori Kiriake <email>seiken@ncs.co.jp</email></para> - </listitem> - - <listitem> - <para>Masatoshi TAMURA - <email>tamrin@shinzan.kuee.kyoto-u.ac.jp</email></para> - </listitem> - - <listitem> - <para>Mats Lofkvist <email>mal@algonet.se</email></para> - </listitem> - - <listitem> - <para>Matt Bartley <email>mbartley@lear35.cytex.com</email></para> - </listitem> - - <listitem> - <para>Matt Thomas <email>matt@3am-software.com</email></para> - </listitem> - - <listitem> - <para>Matt White <email>mwhite+@CMU.EDU</email></para> - </listitem> - - <listitem> - <para>Matthew C. Mead <email>mmead@Glock.COM</email></para> - </listitem> - - <listitem> - <para>Matthew Cashdollar <email>mattc@rfcnet.com</email></para> - </listitem> - - <listitem> - <para>Matthew Flatt <email>mflatt@cs.rice.edu</email></para> - </listitem> - - <listitem> - <para>Matthew Fuller <email>fullermd@futuresouth.com</email></para> - </listitem> - - <listitem> - <para>Matthew N. Dodd <email>winter@jurai.net</email></para> - </listitem> - - <listitem> - <para>Matthew Stein <email>matt@bdd.net</email></para> - </listitem> - - <listitem> - <para>Matthias Pfaller <email>leo@dachau.marco.de</email></para> - </listitem> - - <listitem> - <para>Matthias Scheler <email>tron@netbsd.org</email></para> - </listitem> - - <listitem> - <para>Mattias Gronlund - <email>Mattias.Gronlund@sa.erisoft.se</email></para> - </listitem> - - <listitem> - <para>Mattias Pantzare <email>pantzer@ludd.luth.se</email></para> - </listitem> - - <listitem> - <para>Maurice Castro - <email>maurice@planet.serc.rmit.edu.au</email></para> - </listitem> - - <listitem> - <para>Max Euston <email>meuston@jmrodgers.com</email></para> - </listitem> - - <listitem> - <para>Max Khon <email>fjoe@husky.iclub.nsu.ru</email></para> - </listitem> - - <listitem> - <para>Maxim Bolotin <email>max@rsu.ru</email></para> - </listitem> - - <listitem> - <para>Micha Class - <email>michael_class@hpbbse.bbn.hp.com</email></para> - </listitem> - - <listitem> - <para>Michael Butler <email>imb@scgt.oz.au</email></para> - </listitem> - - <listitem> - <para>Michael Butschky <email>butsch@computi.erols.com</email></para> - </listitem> - - <listitem> - <para>Michael Clay <email>mclay@weareb.org</email></para> - </listitem> - - <listitem> - <para>Michael Elbel <email>me@FreeBSD.ORG</email></para> - </listitem> - - <listitem> - <para>Michael Galassi <email>nerd@percival.rain.com</email></para> - </listitem> - - <listitem> - <para>Michael Hancock <email>michaelh@cet.co.jp</email></para> - </listitem> - - <listitem> - <para>Michael Hohmuth <email>hohmuth@inf.tu-dresden.de</email></para> - </listitem> - - <listitem> - <para>Michael Perlman <email>canuck@caam.rice.edu</email></para> - </listitem> - - <listitem> - <para>Michael Petry <email>petry@netwolf.NetMasters.com</email></para> - </listitem> - - <listitem> - <para>Michael Reifenberger <email>root@totum.plaut.de</email></para> - </listitem> - - <listitem> - <para>Michael Searle <email>searle@longacre.demon.co.uk</email></para> - </listitem> - - <listitem> - <para>Michal Listos <email>mcl@Amnesiac.123.org</email></para> - </listitem> - - <listitem> - <para>Michio Karl Jinbo - <email>karl@marcer.nagaokaut.ac.jp</email></para> - </listitem> - - <listitem> - <para>Miguel Angel Sagreras - <email>msagre@cactus.fi.uba.ar</email></para> - </listitem> - - <listitem> - <para>Mihoko Tanaka <email>m_tonaka@pa.yokogawa.co.jp</email></para> - </listitem> - - <listitem> - <para>Mika Nystrom <email>mika@cs.caltech.edu</email></para> - </listitem> - - <listitem> - <para>Mikael Hybsch <email>micke@dynas.se</email></para> - </listitem> - - <listitem> - <para>Mikael Karpberg - <email>karpen@ocean.campus.luth.se</email></para> - </listitem> - - <listitem> - <para>Mike Del <email>repenting@hotmail.com</email></para> - </listitem> - - <listitem> - <para>Mike Durian <email>durian@plutotech.com</email></para> - </listitem> - - <listitem> - <para>Mike Durkin <email>mdurkin@tsoft.sf-bay.org</email></para> - </listitem> - - <listitem> - <para>Mike E. Matsnev <email>mike@azog.cs.msu.su</email></para> - </listitem> - - <listitem> - <para>Mike Evans <email>mevans@candle.com</email></para> - </listitem> - - <listitem> - <para>Mike Grupenhoff <email>kashmir@umiacs.umd.edu</email></para> - </listitem> - - <listitem> - <para>Mike Hibler <email>mike@marker.cs.utah.edu</email></para> - </listitem> - - <listitem> - <para>Mike Karels <email>unknown</email></para> - </listitem> - - <listitem> - <para>Mike McGaughey <email>mmcg@cs.monash.edu.au</email></para> - </listitem> - - <listitem> - <para>Mike Meyer <email>mwm@shiva.the-park.com</email></para> - </listitem> - - <listitem> - <para>Mike Mitchell <email>mitchell@ref.tfs.com</email></para> - </listitem> - - <listitem> - <para>Mike Murphy <email>mrm@alpharel.com</email></para> - </listitem> - - <listitem> - <para>Mike Peck <email>mike@binghamton.edu</email></para> - </listitem> - - <listitem> - <para>Mike Spengler <email>mks@msc.edu</email></para> - </listitem> - - <listitem> - <para>Mikhail A. Sokolov <email>mishania@demos.su</email></para> - </listitem> - - <listitem> - <para>Mikhail Teterin <email>mi@aldan.ziplink.net</email></para> - </listitem> - - <listitem> - <para>Ming-I Hseh <email>PA@FreeBSD.ee.Ntu.edu.TW</email></para> - </listitem> - - <listitem> - <para>Mitsuru IWASAKI <email>iwasaki@pc.jaring.my</email></para> - </listitem> - - <listitem> - <para>Monte Mitzelfelt <email>monte@gonefishing.org</email></para> - </listitem> - - <listitem> - <para>Morgan Davis <email>root@io.cts.com</email></para> - </listitem> - - <listitem> - <para>Mostyn Lewis <email>mostyn@mrl.com</email></para> - </listitem> - - <listitem> - <para>Motoyuki Kasahara <email>m-kasahr@sra.co.jp</email></para> - </listitem> - - <listitem> - <para>Motoyuki Konno <email>motoyuki@snipe.rim.or.jp</email></para> - </listitem> - - <listitem> - <para>Munechika Sumikawa <email>sumikawa@kame.net</email></para> - </listitem> - - <listitem> - <para>Murray Stokely <email>murray@cdrom.com</email></para> - </listitem> - - <listitem> - <para>N.G.Smith <email>ngs@sesame.hensa.ac.uk</email></para> - </listitem> - - <listitem> - <para>NAGAO Tadaaki <email>nagao@cs.titech.ac.jp</email></para> - </listitem> - - <listitem> - <para>NAKAJI Hiroyuki - <email>nakaji@zeisei.dpri.kyoto-u.ac.jp</email></para> - </listitem> - - <listitem> - <para>NAKAMURA Kazushi <email>nkazushi@highway.or.jp</email></para> - </listitem> - - <listitem> - <para>NAKAMURA Motonori - <email>motonori@econ.kyoto-u.ac.jp</email></para> - </listitem> - - <listitem> - <para>NIIMI Satoshi <email>sa2c@and.or.jp</email></para> - </listitem> - - <listitem> - <para>NOKUBI Hirotaka <email>h-nokubi@yyy.or.jp</email></para> - </listitem> - - <listitem> - <para>Nadav Eiron <email>nadav@barcode.co.il</email></para> - </listitem> - - <listitem> - <para>Nanbor Wang <email>nw1@cs.wustl.edu</email></para> - </listitem> - - <listitem> - <para>Naofumi Honda - <email>honda@Kururu.math.sci.hokudai.ac.jp</email></para> - </listitem> - - <listitem> - <para>Naoki Hamada <email>nao@tom-yam.or.jp</email></para> - </listitem> - - <listitem> - <para>Narvi <email>narvi@haldjas.folklore.ee</email></para> - </listitem> - - <listitem> - <para>Nathan Dorfman <email>nathan@rtfm.net</email></para> - </listitem> - - <listitem> - <para>Neal Fachan <email>kneel@ishiboo.com</email></para> - </listitem> - - <listitem> - <para>Neil Blakey-Milner <email>nbm@rucus.ru.ac.za</email></para> - </listitem> - - <listitem> - <para>Niall Smart <email>rotel@indigo.ie</email></para> - </listitem> - - <listitem> - <para>Nick Barnes <email>Nick.Barnes@pobox.com</email></para> - </listitem> - - <listitem> - <para>Nick Handel <email>nhandel@NeoSoft.com</email></para> - </listitem> - - <listitem> - <para>Nick Hilliard <email>nick@foobar.org</email></para> - </listitem> - - <listitem> - <para>Nick Sayer <email>nsayer@quack.kfu.com</email></para> - </listitem> - - <listitem> - <para>Nick Williams <email>njw@cs.city.ac.uk</email></para> - </listitem> - - <listitem> - <para>Nickolay N. Dudorov <email>nnd@itfs.nsk.su</email></para> - </listitem> - - <listitem> - <para>Niklas Hallqvist <email>niklas@filippa.appli.se</email></para> - </listitem> - - <listitem> - <para>Nisha Talagala <email>nisha@cs.berkeley.edu</email></para> - </listitem> - - <listitem> - <para>No Name <email>ZW6T-KND@j.asahi-net.or.jp</email></para> - </listitem> - - <listitem> - <para>No Name <email>adrian@virginia.edu</email></para> - </listitem> - - <listitem> - <para>No Name <email>alex@elvisti.kiev.ua</email></para> - </listitem> - - <listitem> - <para>No Name <email>anto@netscape.net</email></para> - </listitem> - - <listitem> - <para>No Name <email>bobson@egg.ics.nitch.ac.jp</email></para> - </listitem> - - <listitem> - <para>No Name <email>bovynf@awe.be</email></para> - </listitem> - - <listitem> - <para>No Name <email>burg@is.ge.com</email></para> - </listitem> - - <listitem> - <para>No Name <email>chris@gnome.co.uk</email></para> - </listitem> - - <listitem> - <para>No Name <email>colsen@usa.net</email></para> - </listitem> - - <listitem> - <para>No Name <email>coredump@nervosa.com</email></para> - </listitem> - - <listitem> - <para>No Name <email>dannyman@arh0300.urh.uiuc.edu</email></para> - </listitem> - - <listitem> - <para>No Name <email>davids@SECNET.COM</email></para> - </listitem> - - <listitem> - <para>No Name <email>derek@free.org</email></para> - </listitem> - - <listitem> - <para>No Name <email>devet@adv.IAEhv.nl</email></para> - </listitem> - - <listitem> - <para>No Name <email>djv@bedford.net</email></para> - </listitem> - - <listitem> - <para>No Name <email>dvv@sprint.net</email></para> - </listitem> - - <listitem> - <para>No Name <email>enami@ba2.so-net.or.jp</email></para> - </listitem> - - <listitem> - <para>No Name <email>flash@eru.tubank.msk.su</email></para> - </listitem> - - <listitem> - <para>No Name <email>flash@hway.ru</email></para> - </listitem> - - <listitem> - <para>No Name <email>fn@pain.csrv.uidaho.edu</email></para> - </listitem> - - <listitem> - <para>No Name <email>gclarkii@netport.neosoft.com</email></para> - </listitem> - - <listitem> - <para>No Name <email>gordon@sheaky.lonestar.org</email></para> - </listitem> - - <listitem> - <para>No Name <email>graaf@iae.nl</email></para> - </listitem> - - <listitem> - <para>No Name <email>greg@greg.rim.or.jp</email></para> - </listitem> - - <listitem> - <para>No Name <email>grossman@cygnus.com</email></para> - </listitem> - - <listitem> - <para>No Name <email>gusw@fub46.zedat.fu-berlin.de</email></para> - </listitem> - - <listitem> - <para>No Name <email>hfir@math.rochester.edu</email></para> - </listitem> - - <listitem> - <para>No Name <email>hnokubi@yyy.or.jp</email></para> - </listitem> - - <listitem> - <para>No Name <email>iaint@css.tuu.utas.edu.au</email></para> - </listitem> - - <listitem> - <para>No Name <email>invis@visi.com</email></para> - </listitem> - - <listitem> - <para>No Name <email>ishisone@sra.co.jp</email></para> - </listitem> - - <listitem> - <para>No Name <email>iverson@lionheart.com</email></para> - </listitem> - - <listitem> - <para>No Name <email>jpt@magic.net</email></para> - </listitem> - - <listitem> - <para>No Name <email>junker@jazz.snu.ac.kr</email></para> - </listitem> - - <listitem> - <para>No Name <email>k-sugyou@ccs.mt.nec.co.jp</email></para> - </listitem> - - <listitem> - <para>No Name <email>kenji@reseau.toyonaka.osaka.jp</email></para> - </listitem> - - <listitem> - <para>No Name <email>kfurge@worldnet.att.net</email></para> - </listitem> - - <listitem> - <para>No Name <email>lh@aus.org</email></para> - </listitem> - - <listitem> - <para>No Name <email>lhecking@nmrc.ucc.ie</email></para> - </listitem> - - <listitem> - <para>No Name <email>mrgreen@mame.mu.oz.au</email></para> - </listitem> - - <listitem> - <para>No Name <email>nakagawa@jp.freebsd.org</email></para> - </listitem> - - <listitem> - <para>No Name <email>ohki@gssm.otsuka.tsukuba.ac.jp</email></para> - </listitem> - - <listitem> - <para>No Name <email>owaki@st.rim.or.jp</email></para> - </listitem> - - <listitem> - <para>No Name <email>pechter@shell.monmouth.com</email></para> - </listitem> - - <listitem> - <para>No Name <email>pete@pelican.pelican.com</email></para> - </listitem> - - <listitem> - <para>No Name <email>pritc003@maroon.tc.umn.edu</email></para> - </listitem> - - <listitem> - <para>No Name <email>risner@stdio.com</email></para> - </listitem> - - <listitem> - <para>No Name <email>roman@rpd.univ.kiev.ua</email></para> - </listitem> - - <listitem> - <para>No Name <email>root@ns2.redline.ru</email></para> - </listitem> - - <listitem> - <para>No Name <email>root@uglabgw.ug.cs.sunysb.edu</email></para> - </listitem> - - <listitem> - <para>No Name <email>stephen.ma@jtec.com.au</email></para> - </listitem> - - <listitem> - <para>No Name <email>sumii@is.s.u-tokyo.ac.jp</email></para> - </listitem> - - <listitem> - <para>No Name <email>takas-su@is.aist-nara.ac.jp</email></para> - </listitem> - - <listitem> - <para>No Name <email>tamone@eig.unige.ch</email></para> - </listitem> - - <listitem> - <para>No Name <email>tjevans@raleigh.ibm.com</email></para> - </listitem> - - <listitem> - <para>No Name <email>tony-o@iij.ad.jp amurai@spec.co.jp</email></para> - </listitem> - - <listitem> - <para>No Name <email>torii@tcd.hitachi.co.jp</email></para> - </listitem> - - <listitem> - <para>No Name <email>uenami@imasy.or.jp</email></para> - </listitem> - - <listitem> - <para>No Name <email>uhlar@netlab.sk</email></para> - </listitem> - - <listitem> - <para>No Name <email>vode@hut.fi</email></para> - </listitem> - - <listitem> - <para>No Name <email>wlloyd@mpd.ca</email></para> - </listitem> - - <listitem> - <para>No Name <email>wlr@furball.wellsfargo.com</email></para> - </listitem> - - <listitem> - <para>No Name <email>wmbfmk@urc.tue.nl</email></para> - </listitem> - - <listitem> - <para>No Name <email>yamagata@nwgpc.kek.jp</email></para> - </listitem> - - <listitem> - <para>No Name <email>ziggy@ryan.org</email></para> - </listitem> - - <listitem> - <para>Nobuhiro Yasutomi <email>nobu@psrc.isac.co.jp</email></para> - </listitem> - - <listitem> - <para>Nobuyuki Koganemaru - <email>kogane@koganemaru.co.jp</email></para> - </listitem> - - <listitem> - <para>Norio Suzuki <email>nosuzuki@e-mail.ne.jp</email></para> - </listitem> - - <listitem> - <para>Noritaka Ishizumi <email>graphite@jp.FreeBSD.ORG</email></para> - </listitem> - - <listitem> - <para>Noriyuki Soda <email>soda@sra.co.jp</email></para> - </listitem> - - <listitem> - <para>Olaf Wagner <email>wagner@luthien.in-berlin.de</email></para> - </listitem> - - <listitem> - <para>Oleg Sharoiko <email>os@rsu.ru</email></para> - </listitem> - - <listitem> - <para>Oliver Breuninger <email>ob@seicom.NET</email></para> - </listitem> - - <listitem> - <para>Oliver Friedrichs <email>oliver@secnet.com</email></para> - </listitem> - - <listitem> - <para>Oliver Fromme - <email>oliver.fromme@heim3.tu-clausthal.de</email></para> - </listitem> - - <listitem> - <para>Oliver Laumann - <email>net@informatik.uni-bremen.de</email></para> - </listitem> - - <listitem> - <para>Oliver Oberdorf <email>oly@world.std.com</email></para> - </listitem> - - <listitem> - <para>Olof Johansson <email>offe@ludd.luth.se</email></para> - </listitem> - - <listitem> - <para>Osokin Sergey aka oZZ <email>ozz@freebsd.org.ru</email></para> - </listitem> - - <listitem> - <para>Pace Willisson <email>pace@blitz.com</email></para> - </listitem> - - <listitem> - <para>Paco Rosich <email>rosich@modico.eleinf.uv.es</email></para> - </listitem> - - <listitem> - <para>Palle Girgensohn <email>girgen@partitur.se</email></para> - </listitem> - - <listitem> - <para>Parag Patel <email>parag@cgt.com</email></para> - </listitem> - - <listitem> - <para>Pascal Pederiva <email>pascal@zuo.dec.com</email></para> - </listitem> - - <listitem> - <para>Pasvorn Boonmark <email>boonmark@juniper.net</email></para> - </listitem> - - <listitem> - <para>Patrick Gardella <email>patrick@cre8tivegroup.com</email></para> - </listitem> - - <listitem> - <para>Patrick Hausen <email>unknown</email></para> - </listitem> - - <listitem> - <para>Paul Antonov <email>apg@demos.su</email></para> - </listitem> - - <listitem> - <para>Paul F. Werkowski <email>unknown</email></para> - </listitem> - - <listitem> - <para>Paul Fox <email>pgf@foxharp.boston.ma.us</email></para> - </listitem> - - <listitem> - <para>Paul Koch <email>koch@thehub.com.au</email></para> - </listitem> - - <listitem> - <para>Paul Kranenburg <email>pk@NetBSD.org</email></para> - </listitem> - - <listitem> - <para>Paul Mackerras <email>paulus@cs.anu.edu.au</email></para> - </listitem> - - <listitem> - <para>Paul Popelka <email>paulp@uts.amdahl.com</email></para> - </listitem> - - <listitem> - <para>Paul S. LaFollette, Jr. <email>unknown</email></para> - </listitem> - - <listitem> - <para>Paul Saab <email>paul@mu.org</email></para> - </listitem> - - <listitem> - <para>Paul Sandys <email>myj@nyct.net</email></para> - </listitem> - - <listitem> - <para>Paul T. Root <email>proot@horton.iaces.com</email></para> - </listitem> - - <listitem> - <para>Paul Vixie <email>paul@vix.com</email></para> - </listitem> - - <listitem> - <para>Paulo Menezes <email>paulo@isr.uc.pt</email></para> - </listitem> - - <listitem> - <para>Paulo Menezes <email>pm@dee.uc.pt</email></para> - </listitem> - - <listitem> - <para>Pedro A M Vazquez <email>vazquez@IQM.Unicamp.BR</email></para> - </listitem> - - <listitem> - <para>Pedro Giffuni <email>giffunip@asme.org</email></para> - </listitem> - - <listitem> - <para>Pete Bentley <email>pete@demon.net</email></para> - </listitem> - - <listitem> - <para>Peter Childs <email>pjchilds@imforei.apana.org.au</email></para> - </listitem> - - <listitem> - <para>Peter Cornelius <email>pc@inr.fzk.de</email></para> - </listitem> - - <listitem> - <para>Peter Haight <email>peterh@prognet.com</email></para> - </listitem> - - <listitem> - <para>Peter Jeremy <email>perer.jeremy@alcatel.com.au</email></para> - </listitem> - - <listitem> - <para>Peter M. Chen <email>pmchen@eecs.umich.edu</email></para> - </listitem> - - <listitem> - <para>Peter Much <email>peter@citylink.dinoex.sub.org</email></para> - </listitem> - - <listitem> - <para>Peter Olsson <email>unknown</email></para> - </listitem> - - <listitem> - <para>Peter Philipp <email>pjp@bsd-daemon.net</email></para> - </listitem> - - <listitem> - <para>Peter Stubbs <email>PETERS@staidan.qld.edu.au</email></para> - </listitem> - - <listitem> - <para>Phil Maker <email>pjm@cs.ntu.edu.au</email></para> - </listitem> - - <listitem> - <para>Phil Sutherland - <email>philsuth@mycroft.dialix.oz.au</email></para> - </listitem> - - <listitem> - <para>Phil Taylor <email>phil@zipmail.co.uk</email></para> - </listitem> - - <listitem> - <para>Philip Musumeci <email>philip@rmit.edu.au</email></para> - </listitem> - - <listitem> - <para>Pierre Y. Dampure <email>pierre.dampure@k2c.co.uk</email></para> - </listitem> - - <listitem> - <para>Pius Fischer <email>pius@ienet.com</email></para> - </listitem> - - <listitem> - <para>Pomegranate <email>daver@flag.blackened.net</email></para> - </listitem> - - <listitem> - <para>Powerdog Industries - <email>kevin.ruddy@powerdog.com</email></para> - </listitem> - - <listitem> - <para>R. Kym Horsell</para> - </listitem> - - <listitem> - <para>Rajesh Vaidheeswarran <email>rv@fore.com</email></para> - </listitem> - - <listitem> - <para>Ralf Friedl <email>friedl@informatik.uni-kl.de</email></para> - </listitem> - - <listitem> - <para>Randal S. Masutani <email>randal@comtest.com</email></para> - </listitem> - - <listitem> - <para>Randall Hopper <email>rhh@ct.picker.com</email></para> - </listitem> - - <listitem> - <para>Randall W. Dean <email>rwd@osf.org</email></para> - </listitem> - - <listitem> - <para>Randy Bush <email>rbush@bainbridge.verio.net</email></para> - </listitem> - - <listitem> - <para>Reinier Bezuidenhout - <email>rbezuide@mikom.csir.co.za</email></para> - </listitem> - - <listitem> - <para>Remy Card <email>Remy.Card@masi.ibp.fr</email></para> - </listitem> - - <listitem> - <para>Ricardas Cepas <email>rch@richard.eu.org</email></para> - </listitem> - - <listitem> - <para>Richard Henderson <email>richard@atheist.tamu.edu</email></para> - </listitem> - - <listitem> - <para>Richard Hwang <email>rhwang@bigpanda.com</email></para> - </listitem> - - <listitem> - <para>Richard J Kuhns <email>rjk@watson.grauel.com</email></para> - </listitem> - - <listitem> - <para>Richard M. Neswold - <email>rneswold@drmemory.fnal.gov</email></para> - </listitem> - - <listitem> - <para>Richard Seaman, Jr. <email>dick@tar.com</email></para> - </listitem> - - <listitem> - <para>Richard Stallman <email>rms@gnu.ai.mit.edu</email></para> - </listitem> - - <listitem> - <para>Richard Straka <email>straka@user1.inficad.com</email></para> - </listitem> - - <listitem> - <para>Richard Tobin <email>richard@cogsci.ed.ac.uk</email></para> - </listitem> - - <listitem> - <para>Richard Wackerbarth <email>rkw@Dataplex.NET</email></para> - </listitem> - - <listitem> - <para>Richard Winkel <email>rich@math.missouri.edu</email></para> - </listitem> - - <listitem> - <para>Richard Wiwatowski <email>rjwiwat@adelaide.on.net</email></para> - </listitem> - - <listitem> - <para>Rick Macklem <email>rick@snowhite.cis.uoguelph.ca</email></para> - </listitem> - - <listitem> - <para>Rick Macklin <email>unknown</email></para> - </listitem> - - <listitem> - <para>Rob Austein <email>sra@epilogue.com</email></para> - </listitem> - - <listitem> - <para>Rob Mallory <email>rmallory@qualcomm.com</email></para> - </listitem> - - <listitem> - <para>Rob Snow <email>rsnow@txdirect.net</email></para> - </listitem> - - <listitem> - <para>Robert Crowe <email>bob@speakez.com</email></para> - </listitem> - - <listitem> - <para>Robert D. Thrush <email>rd@phoenix.aii.com</email></para> - </listitem> - - <listitem> - <para>Robert Eckardt - <email>roberte@MEP.Ruhr-Uni-Bochum.de</email></para> - </listitem> - - <listitem> - <para>Robert Sanders <email>rsanders@mindspring.com</email></para> - </listitem> - - <listitem> - <para>Robert Sexton <email>robert@kudra.com</email></para> - </listitem> - - <listitem> - <para>Robert Shady <email>rls@id.net</email></para> - </listitem> - - <listitem> - <para>Robert Swindells <email>swindellsr@genrad.co.uk</email></para> - </listitem> - - <listitem> - <para>Robert Watson <email>robert@cyrus.watson.org</email></para> - </listitem> - - <listitem> - <para>Robert Withrow <email>witr@rwwa.com</email></para> - </listitem> - - <listitem> - <para>Robert Yoder <email>unknown</email></para> - </listitem> - - <listitem> - <para>Robin Carey - <email>robin@mailgate.dtc.rankxerox.co.uk</email></para> - </listitem> - - <listitem> - <para>Roger Hardiman <email>roger@cs.strath.ac.uk</email></para> - </listitem> - - <listitem> - <para>Roland Jesse <email>jesse@cs.uni-magdeburg.de</email></para> - </listitem> - - <listitem> - <para>Ron Bickers <email>rbickers@intercenter.net</email></para> - </listitem> - - <listitem> - <para>Ron Lenk <email>rlenk@widget.xmission.com</email></para> - </listitem> - - <listitem> - <para>Ronald Kuehn <email>kuehn@rz.tu-clausthal.de</email></para> - </listitem> - - <listitem> - <para>Rudolf Cejka <email>unknown</email></para> - </listitem> - - <listitem> - <para>Ruslan Belkin <email>rus@home2.UA.net</email></para> - </listitem> - - <listitem> - <para>Ruslan Ermilov <email>ru@ucb.crimea.ua</email></para> - </listitem> - - <listitem> - <para>Ruslan Shevchenko <email>rssh@cam.grad.kiev.ua</email></para> - </listitem> - - <listitem> - <para>Russell L. Carter <email>rcarter@pinyon.org</email></para> - </listitem> - - <listitem> - <para>Russell Vincent <email>rv@groa.uct.ac.za</email></para> - </listitem> - - <listitem> - <para>Ryan Younce <email>ryany@pobox.com</email></para> - </listitem> - - <listitem> - <para>SANETO Takanori <email>sanewo@strg.sony.co.jp</email></para> - </listitem> - - <listitem> - <para>SAWADA Mizuki <email>miz@qb3.so-net.ne.jp</email></para> - </listitem> - - <listitem> - <para>SUGIMURA Takashi <email>sugimura@jp.FreeBSD.ORG</email></para> - </listitem> - - <listitem> - <para>SURANYI Peter - <email>suranyip@jks.is.tsukuba.ac.jp</email></para> - </listitem> - - <listitem> - <para>Sakari Jalovaara <email>sja@tekla.fi</email></para> - </listitem> - - <listitem> - <para>Sam Hartman <email>hartmans@mit.edu</email></para> - </listitem> - - <listitem> - <para>Samuel Lam <email>skl@ScalableNetwork.com</email></para> - </listitem> - - <listitem> - <para>Sander Vesik <email>sander@haldjas.folklore.ee</email></para> - </listitem> - - <listitem> - <para>Sandro Sigala <email>ssigala@globalnet.it</email></para> - </listitem> - - <listitem> - <para>Sascha Blank <email>blank@fox.uni-trier.de</email></para> - </listitem> - - <listitem> - <para>Sascha Wildner <email>swildner@channelz.GUN.de</email></para> - </listitem> - - <listitem> - <para>Satoh Junichi <email>junichi@astec.co.jp</email></para> - </listitem> - - <listitem> - <para>Satoshi Taoka - <email>taoka@infonets.hiroshima-u.ac.jp</email></para> - </listitem> - - <listitem> - <para>Scot Elliott <email>scot@poptart.org</email></para> - </listitem> - - <listitem> - <para>Scot W. Hetzel <email>hetzels@westbend.net</email></para> - </listitem> - - <listitem> - <para>Scott A. Kenney <email>saken@rmta.ml.org</email></para> - </listitem> - - <listitem> - <para>Scott Blachowicz - <email>scott.blachowicz@seaslug.org</email></para> - </listitem> - - <listitem> - <para>Scott Burris <email>scott@pita.cns.ucla.edu</email></para> - </listitem> - - <listitem> - <para>Scott Hazen Mueller <email>scott@zorch.sf-bay.org</email></para> - </listitem> - - <listitem> - <para>Scott Michel <email>scottm@cs.ucla.edu</email></para> - </listitem> - - <listitem> - <para>Scott Reynolds <email>scott@clmqt.marquette.mi.us</email></para> - </listitem> - - <listitem> - <para>Sebastian Strollo <email>seb@erix.ericsson.se</email></para> - </listitem> - - <listitem> - <para>Seigou TANIMURA - <email>tanimura@naklab.dnj.ynu.ac.jp</email></para> - </listitem> - - <listitem> - <para>Serge A. Babkin <email>babkin@hq.icb.chel.su</email></para> - </listitem> - - <listitem> - <para>Serge V. Vakulenko <email>vak@zebub.msk.su</email></para> - </listitem> - - <listitem> - <para>Sergei Chechetkin - <email>csl@whale.sunbay.crimea.ua</email></para> - </listitem> - - <listitem> - <para>Sergei S. Laskavy <email>laskavy@pc759.cs.msu.su</email></para> - </listitem> - - <listitem> - <para>Sergey Gershtein <email>sg@mplik.ru</email></para> - </listitem> - - <listitem> - <para>Sergey Potapov <email>sp@alkor.ru</email></para> - </listitem> - - <listitem> - <para>Sergey Shkonda <email>serg@bcs.zp.ua</email></para> - </listitem> - - <listitem> - <para>Sergey V.Dorokhov <email>svd@kbtelecom.nalnet.ru</email></para> - </listitem> - - <listitem> - <para>Sergio Lenzi <email>lenzi@bsi.com.br</email></para> - </listitem> - - <listitem> - <para>Shaun Courtney <email>shaun@emma.eng.uct.ac.za</email></para> - </listitem> - - <listitem> - <para>Shawn M. Carey <email>smcarey@mailbox.syr.edu</email></para> - </listitem> - - <listitem> - <para>Sheldon Hearn <email>axl@iafrica.com</email></para> - </listitem> - - <listitem> - <para>Shigio Yamaguchi <email>shigio@wafu.netgate.net</email></para> - </listitem> - - <listitem> - <para>Shunsuke Akiyama <email>akiyama@jp.freebsd.org</email></para> - </listitem> - - <listitem> - <para>Simon <email>simon@masi.ibp.fr</email></para> - </listitem> - - <listitem> - <para>Simon Burge <email>simonb@telstra.com.au</email></para> - </listitem> - - <listitem> - <para>Simon J Gerraty <email>sjg@melb.bull.oz.au</email></para> - </listitem> - - <listitem> - <para>Simon Marlow <email>simonm@dcs.gla.ac.uk</email></para> - </listitem> - - <listitem> - <para>Simon Shapiro <email>shimon@simon-shapiro.org</email></para> - </listitem> - - <listitem> - <para>Sin'ichiro MIYATANI <email>siu@phaseone.co.jp</email></para> - </listitem> - - <listitem> - <para>Slaven Rezic <email>eserte@cs.tu-berlin.de</email></para> - </listitem> - - <listitem> - <para>Soochon Radee <email>slr@mitre.org</email></para> - </listitem> - - <listitem> - <para>Soren Dayton <email>csdayton@midway.uchicago.edu</email></para> - </listitem> - - <listitem> - <para>Soren Dossing <email>sauber@netcom.com</email></para> - </listitem> - - <listitem> - <para>Soren S. Jorvang <email>soren@dt.dk</email></para> - </listitem> - - <listitem> - <para>Stefan Bethke <email>stb@hanse.de</email></para> - </listitem> - - <listitem> - <para>Stefan Eggers <email>seggers@semyam.dinoco.de</email></para> - </listitem> - - <listitem> - <para>Stefan Moeding <email>s.moeding@ndh.net</email></para> - </listitem> - - <listitem> - <para>Stefan Petri <email>unknown</email></para> - </listitem> - - <listitem> - <para>Stefan `Sec` Zehl <email>sec@42.org</email></para> - </listitem> - - <listitem> - <para>Steinar Haug <email>sthaug@nethelp.no</email></para> - </listitem> - - <listitem> - <para>Stephane E. Potvin <email>sepotvin@videotron.ca</email></para> - </listitem> - - <listitem> - <para>Stephane Legrand <email>stephane@lituus.fr</email></para> - </listitem> - - <listitem> - <para>Stephen Clawson - <email>sclawson@marker.cs.utah.edu</email></para> - </listitem> - - <listitem> - <para>Stephen F. Combs <email>combssf@salem.ge.com</email></para> - </listitem> - - <listitem> - <para>Stephen Farrell <email>stephen@farrell.org</email></para> - </listitem> - - <listitem> - <para>Stephen Hocking <email>sysseh@devetir.qld.gov.au</email></para> - </listitem> - - <listitem> - <para>Stephen J. Roznowski <email>sjr@home.net</email></para> - </listitem> - - <listitem> - <para>Stephen McKay <email>syssgm@devetir.qld.gov.au</email></para> - </listitem> - - <listitem> - <para>Stephen Melvin <email>melvin@zytek.com</email></para> - </listitem> - - <listitem> - <para>Steve Bauer <email>sbauer@rock.sdsmt.edu</email></para> - </listitem> - - <listitem> - <para>Steve Deering <email>unknown</email></para> - </listitem> - - <listitem> - <para>Steve Gerakines <email>steve2@genesis.tiac.net</email></para> - </listitem> - - <listitem> - <para>Steve Gericke <email>steveg@comtrol.com</email></para> - </listitem> - - <listitem> - <para>Steve Piette <email>steve@simon.chi.il.US</email></para> - </listitem> - - <listitem> - <para>Steve Schwarz <email>schwarz@alpharel.com</email></para> - </listitem> - - <listitem> - <para>Steven G. Kargl - <email>kargl@troutmask.apl.washington.edu</email></para> - </listitem> - - <listitem> - <para>Steven H. Samorodin <email>samorodi@NUXI.com</email></para> - </listitem> - - <listitem> - <para>Steven McCanne <email>mccanne@cs.berkeley.edu</email></para> - </listitem> - - <listitem> - <para>Steven Plite <email>splite@purdue.edu</email></para> - </listitem> - - <listitem> - <para>Steven Wallace <email>unknown</email></para> - </listitem> - - <listitem> - <para>Stuart Henderson - <email>stuart@internationalschool.co.uk</email></para> - </listitem> - - <listitem> - <para>Sue Blake <email>sue@welearn.com.au</email></para> - </listitem> - - <listitem> - <para>Sugiura Shiro <email>ssugiura@duo.co.jp</email></para> - </listitem> - - <listitem> - <para>Sujal Patel <email>smpatel@wam.umd.edu</email></para> - </listitem> - - <listitem> - <para>Sune Stjerneby <email>stjerneby@usa.net</email></para> - </listitem> - - <listitem> - <para>Suzuki Yoshiaki - <email>zensyo@ann.tama.kawasaki.jp</email></para> - </listitem> - - <listitem> - <para>Tadashi Kumano <email>kumano@strl.nhk.or.jp</email></para> - </listitem> - - <listitem> - <para>Taguchi Takeshi <email>taguchi@tohoku.iij.ad.jp</email></para> - </listitem> - - <listitem> - <para>Takahashi Yoshihiro <email>nyan@dd.catv.ne.jp</email></para> - </listitem> - - <listitem> - <para>Takahiro Yugawa <email>yugawa@orleans.rim.or.jp</email></para> - </listitem> - - <listitem> - <para>Takanori Watanabe - <email>takawata@shidahara1.planet.sci.kobe-u.ac.jp</email></para> - </listitem> - - <listitem> - <para>Takashi Mega <email>mega@minz.org</email></para> - </listitem> - - <listitem> - <para>Takashi Uozu <email>j1594016@ed.kagu.sut.ac.jp</email></para> - </listitem> - - <listitem> - <para>Takayuki Ariga <email>a00821@cc.hc.keio.ac.jp</email></para> - </listitem> - - <listitem> - <para>Takeru NAIKI <email>naiki@bfd.es.hokudai.ac.jp</email></para> - </listitem> - - <listitem> - <para>Takeshi Amaike <email>amaike@iri.co.jp</email></para> - </listitem> - - <listitem> - <para>Takeshi MUTOH <email>mutoh@info.nara-k.ac.jp</email></para> - </listitem> - - <listitem> - <para>Takeshi Ohashi - <email>ohashi@mickey.ai.kyutech.ac.jp</email></para> - </listitem> - - <listitem> - <para>Takeshi WATANABE - <email>watanabe@crayon.earth.s.kobe-u.ac.jp</email></para> - </listitem> - - <listitem> - <para>Takuya SHIOZAKI - <email>tshiozak@makino.ise.chuo-u.ac.jp</email></para> - </listitem> - - <listitem> - <para>Tatoku Ogaito <email>tacha@tera.fukui-med.ac.jp</email></para> - </listitem> - - <listitem> - <para>Tatsumi HOSOKAWA <email>hosokawa@jp.FreeBSD.org</email></para> - </listitem> - - <listitem> - <para>Ted Buswell <email>tbuswell@mediaone.net</email></para> - </listitem> - - <listitem> - <para>Ted Faber <email>faber@isi.edu</email></para> - </listitem> - - <listitem> - <para>Ted Lemon <email>unknown</email></para> - </listitem> - - <listitem> - <para>Terry Lambert <email>terry@lambert.org</email></para> - </listitem> - - <listitem> - <para>Terry Lee <email>terry@uivlsi.csl.uiuc.edu</email></para> - </listitem> - - <listitem> - <para>Tetsuya Furukawa <email>tetsuya@secom-sis.co.jp</email></para> - </listitem> - - <listitem> - <para>Theo de Raadt <email>deraadt@OpenBSD.org</email></para> - </listitem> - - <listitem> - <para>Thomas <email>thomas@mathematik.uni-Bremen.de</email></para> - </listitem> - - <listitem> - <para>Thomas D. Dean <email>tomdean@ix.netcom.com</email></para> - </listitem> - - <listitem> - <para>Thomas David Rivers <email>rivers@dignus.com</email></para> - </listitem> - - <listitem> - <para>Thomas G. McWilliams <email>tgm@netcom.com</email></para> - </listitem> - - <listitem> - <para>Thomas Gellekum - <email>thomas@ghpc8.ihf.rwth-aachen.de</email></para> - </listitem> - - <listitem> - <para>Thomas Graichen - <email>graichen@omega.physik.fu-berlin.de</email></para> - </listitem> - - <listitem> - <para>Thomas König - <email>Thomas.Koenig@ciw.uni-karlsruhe.de</email></para> - </listitem> - - <listitem> - <para>Thomas Ptacek <email>unknown</email></para> - </listitem> - - <listitem> - <para>Thomas Stromberg <email>tstrombe@rtci.com</email></para> - </listitem> - - <listitem> - <para>Thomas Valentino Crimi - <email>tcrimi+@andrew.cmu.edu</email></para> - </listitem> - - <listitem> - <para>Thomas Wintergerst <email>thomas@lemur.nord.de</email></para> - </listitem> - - <listitem> - <para>Þórður Ívarsson - <email>totii@est.is</email></para> - </listitem> - - <listitem> - <para>Tim Kientzle <email>kientzle@netcom.com</email></para> - </listitem> - - <listitem> - <para>Tim Singletary - <email>tsingle@sunland.gsfc.nasa.gov</email></para> - </listitem> - - <listitem> - <para>Tim Wilkinson <email>tim@sarc.city.ac.uk</email></para> - </listitem> - - <listitem> - <para>Timo J. Rinne <email>tri@iki.fi</email></para> - </listitem> - - <listitem> - <para>Todd Miller <email>millert@openbsd.org</email></para> - </listitem> - - <listitem> - <para>Tom <email>root@majestix.cmr.no</email></para> - </listitem> - - <listitem> - <para>Tom <email>tom@sdf.com</email></para> - </listitem> - - <listitem> - <para>Tom Gray - DCA <email>dcasba@rain.org</email></para> - </listitem> - - <listitem> - <para>Tom Hukins <email>tom@eborcom.com</email></para> - </listitem> - - <listitem> - <para>Tom Jobbins <email>tom@tom.tj</email></para> - </listitem> - - <listitem> - <para>Tom Pusateri <email>pusateri@juniper.net</email></para> - </listitem> - - <listitem> - <para>Tom Rush <email>tarush@mindspring.com</email></para> - </listitem> - - <listitem> - <para>Tom Samplonius <email>tom@misery.sdf.com</email></para> - </listitem> - - <listitem> - <para>Tomohiko Kurahashi - <email>kura@melchior.q.t.u-tokyo.ac.jp</email></para> - </listitem> - - <listitem> - <para>Tony Kimball <email>alk@Think.COM</email></para> - </listitem> - - <listitem> - <para>Tony Li <email>tli@jnx.com</email></para> - </listitem> - - <listitem> - <para>Tony Lynn <email>wing@cc.nsysu.edu.tw</email></para> - </listitem> - - <listitem> - <para>Torbjorn Granlund <email>tege@matematik.su.se</email></para> - </listitem> - - <listitem> - <para>Toshihiko ARAI <email>toshi@tenchi.ne.jp</email></para> - </listitem> - - <listitem> - <para>Toshihiko SHIMOKAWA <email>toshi@tea.forus.or.jp</email></para> - </listitem> - - <listitem> - <para>Toshihiro Kanda <email>candy@kgc.co.jp</email></para> - </listitem> - - <listitem> - <para>Toshiomi Moriki - <email>Toshiomi.Moriki@ma1.seikyou.ne.jp</email></para> - </listitem> - - <listitem> - <para>Trefor S. <email>trefor@flevel.co.uk</email></para> - </listitem> - - <listitem> - <para>Trevor Blackwell <email>tlb@viaweb.com</email></para> - </listitem> - - <listitem> - <para>URATA Shuichiro <email>s-urata@nmit.tmg.nec.co.jp</email></para> - </listitem> - - <listitem> - <para>Ugo Paternostro <email>paterno@dsi.unifi.it</email></para> - </listitem> - - <listitem> - <para>Ulf Kieber <email>kieber@sax.de</email></para> - </listitem> - - <listitem> - <para>Ulli Linzen <email>ulli@perceval.camelot.de</email></para> - </listitem> - - <listitem> - <para>Ustimenko Semen <email>semen@iclub.nsu.ru</email></para> - </listitem> - - <listitem> - <para>Uwe Arndt <email>arndt@mailhost.uni-koblenz.de</email></para> - </listitem> - - <listitem> - <para>Vadim Chekan <email>vadim@gc.lviv.ua</email></para> - </listitem> - - <listitem> - <para>Vadim Kolontsov <email>vadim@tversu.ac.ru</email></para> - </listitem> - - <listitem> - <para>Vadim Mikhailov <email>mvp@braz.ru</email></para> - </listitem> - - <listitem> - <para>Van Jacobson <email>van@ee.lbl.gov</email></para> - </listitem> - - <listitem> - <para>Vasily V. Grechishnikov - <email>bazilio@ns1.ied-vorstu.ac.ru</email></para> - </listitem> - - <listitem> - <para>Vasim Valejev <email>vasim@uddias.diaspro.com</email></para> - </listitem> - - <listitem> - <para>Vernon J. Schryver <email>vjs@mica.denver.sgi.com</email></para> - </listitem> - - <listitem> - <para>Vic Abell <email>abe@cc.purdue.edu</email></para> - </listitem> - - <listitem> - <para>Ville Eerola <email>ve@sci.fi</email></para> - </listitem> - - <listitem> - <para>Vincent Poy <email>vince@venus.gaianet.net</email></para> - </listitem> - - <listitem> - <para>Vincenzo Capuano - <email>VCAPUANO@vmprofs.esoc.esa.de</email></para> - </listitem> - - <listitem> - <para>Virgil Champlin <email>champlin@pa.dec.com</email></para> - </listitem> - - <listitem> - <para>Vladimir A. Jakovenko - <email>vovik@ntu-kpi.kiev.ua</email></para> - </listitem> - - <listitem> - <para>Vladimir Kushnir <email>kushn@mail.kar.net</email></para> - </listitem> - - <listitem> - <para>Vsevolod Lobko <email>seva@alex-ua.com</email></para> - </listitem> - - <listitem> - <para>W. Gerald Hicks <email>wghicks@bellsouth.net</email></para> - </listitem> - - <listitem> - <para>W. Richard Stevens <email>rstevens@noao.edu</email></para> - </listitem> - - <listitem> - <para>Walt Howard <email>howard@ee.utah.edu</email></para> - </listitem> - - <listitem> - <para>Warren Toomey <email>wkt@csadfa.cs.adfa.oz.au</email></para> - </listitem> - - <listitem> - <para>Wayne Scott <email>wscott@ichips.intel.com</email></para> - </listitem> - - <listitem> - <para>Werner Griessl - <email>werner@btp1da.phy.uni-bayreuth.de</email></para> - </listitem> - - <listitem> - <para>Wes Santee <email>wsantee@wsantee.oz.net</email></para> - </listitem> - - <listitem> - <para>Wietse Venema <email>wietse@wzv.win.tue.nl</email></para> - </listitem> - - <listitem> - <para>Wilfredo Sanchez <email>wsanchez@apple.com</email></para> - </listitem> - - <listitem> - <para>Wiljo Heinen <email>wiljo@freeside.ki.open.de</email></para> - </listitem> - - <listitem> - <para>Wilko Bulte <email>wilko@yedi.iaf.nl</email></para> - </listitem> - - <listitem> - <para>Willem Jan Withagen <email>wjw@surf.IAE.nl</email></para> - </listitem> - - <listitem> - <para>William Jolitz <email>withheld</email></para> - </listitem> - - <listitem> - <para>William Liao <email>william@tale.net</email></para> - </listitem> - - <listitem> - <para>Wojtek Pilorz - <email>wpilorz@celebris.bdk.lublin.pl</email></para> - </listitem> - - <listitem> - <para>Wolfgang Helbig <email>helbig@ba-stuttgart.de</email></para> - </listitem> - - <listitem> - <para>Wolfgang Solfrank <email>ws@tools.de</email></para> - </listitem> - - <listitem> - <para>Wolfgang Stanglmeier <email>wolf@FreeBSD.org</email></para> - </listitem> - - <listitem> - <para>Wu Ching-hong <email>woju@FreeBSD.ee.Ntu.edu.TW</email></para> - </listitem> - - <listitem> - <para>Yarema <email>yds@ingress.com</email></para> - </listitem> - - <listitem> - <para>Yaroslav Terletsky <email>ts@polynet.lviv.ua</email></para> - </listitem> - - <listitem> - <para>Yen-Shuo Su <email>yssu@CCCA.NCTU.edu.tw</email></para> - </listitem> - - <listitem> - <para>Ying-Chieh Liao <email>ijliao@csie.NCTU.edu.tw</email></para> - </listitem> - - <listitem> - <para>Yixin Jin <email>yjin@rain.cs.ucla.edu</email></para> - </listitem> - - <listitem> - <para>Yoshiaki Uchikawa <email>yoshiaki@kt.rim.or.jp</email></para> - </listitem> - - <listitem> - <para>Yoshihiko OHTA <email>yohta@bres.tsukuba.ac.jp</email></para> - </listitem> - - <listitem> - <para>Yoshihisa NAKAGAWA - <email>y-nakaga@ccs.mt.nec.co.jp</email></para> - </listitem> - - <listitem> - <para>Yoshikazu Goto <email>gotoh@ae.anritsu.co.jp</email></para> - </listitem> - - <listitem> - <para>Yoshimasa Ohnishi - <email>ohnishi@isc.kyutech.ac.jp</email></para> - </listitem> - - <listitem> - <para>Yoshishige Arai <email>ryo2@on.rim.or.jp</email></para> - </listitem> - - <listitem> - <para>Yuichi MATSUTAKA <email>matutaka@osa.att.ne.jp</email></para> - </listitem> - - <listitem> - <para>Yujiro MIYATA - <email>miyata@bioele.nuee.nagoya-u.ac.jp</email></para> - </listitem> - - <listitem> - <para>Yukihiro Nakai <email>nacai@iname.com</email></para> - </listitem> - - <listitem> - <para>Yusuke Nawano <email>azuki@azkey.org</email></para> - </listitem> - - <listitem> - <para>Yuval Yarom <email>yval@cs.huji.ac.il</email></para> - </listitem> - - <listitem> - <para>Yves Fonk <email>yves@cpcoup5.tn.tudelft.nl</email></para> - </listitem> - - <listitem> - <para>Yves Fonk <email>yves@dutncp8.tn.tudelft.nl</email></para> - </listitem> - - <listitem> - <para>Zach Heilig <email>zach@gaffaneys.com</email></para> - </listitem> - - <listitem> - <para>Zahemszhky Gabor <email>zgabor@code.hu</email></para> - </listitem> - - <listitem> - <para>Zhong Ming-Xun <email>zmx@mail.CDPA.nsysu.edu.tw</email></para> - </listitem> - - <listitem> - <para>arci <email>vega@sophia.inria.fr</email></para> - </listitem> - - <listitem> - <para>der Mouse <email>mouse@Collatz.McRCIM.McGill.EDU</email></para> - </listitem> - - <listitem> - <para>frf <email>frf@xocolatl.com</email></para> - </listitem> - - <listitem> - <para>Ege Rekk <email>aagero@aage.priv.no</email></para> - </listitem> - </itemizedlist> - </sect1> - - <sect1> - <title>Collaborateurs pour les correctif 386BSD</title> - - <para>(En ordre alphabétique par prénom) :</para> - - <itemizedlist> - <listitem> - <para>Adam Glass <email>glass@postgres.berkeley.edu</email></para> - </listitem> - - <listitem> - <para>Adrian Hall <email>adrian@ibmpcug.co.uk</email></para> - </listitem> - - <listitem> - <para>Andrey A. Chernov <email>ache@astral.msk.su</email></para> - </listitem> - - <listitem> - <para>Andrew Herbert <email>andrew@werple.apana.org.au</email></para> - </listitem> - - <listitem> - <para>Andrew Moore <email>alm@netcom.com</email></para> - </listitem> - - <listitem> - <para>Andy Valencia <email>ajv@csd.mot.com</email> - <email>jtk@netcom.com</email></para> - </listitem> - - <listitem> - <para>Arne Henrik Juul <email>arnej@Lise.Unit.NO</email></para> - </listitem> - - <listitem> - <para>Bakul Shah <email>bvs@bitblocks.com</email></para> - </listitem> - - <listitem> - <para>Barry Lustig <email>barry@ictv.com</email></para> - </listitem> - - <listitem> - <para>Bob Wilcox <email>bob@obiwan.uucp</email></para> - </listitem> - - <listitem> - <para>Branko Lankester</para> - </listitem> - - <listitem> - <para>Brett Lymn <email>blymn@mulga.awadi.com.AU</email></para> - </listitem> - - <listitem> - <para>Charles Hannum <email>mycroft@ai.mit.edu</email></para> - </listitem> - - <listitem> - <para>Chris G. Demetriou - <email>cgd@postgres.berkeley.edu</email></para> - </listitem> - - <listitem> - <para>Chris Torek <email>torek@ee.lbl.gov</email></para> - </listitem> - - <listitem> - <para>Christoph Robitschko - <email>chmr@edvz.tu-graz.ac.at</email></para> - </listitem> - - <listitem> - <para>Daniel Poirot <email>poirot@aio.jsc.nasa.gov</email></para> - </listitem> - - <listitem> - <para>Dave Burgess <email>burgess@hrd769.brooks.af.mil</email></para> - </listitem> - - <listitem> - <para>Dave Rivers <email>rivers@ponds.uucp</email></para> - </listitem> - - <listitem> - <para>David Dawes <email>dawes@physics.su.OZ.AU</email></para> - </listitem> - - <listitem> - <para>David Greenman <email>dg@Root.COM</email></para> - </listitem> - - <listitem> - <para>Eric J. Haug <email>ejh@slustl.slu.edu</email></para> - </listitem> - - <listitem> - <para>Felix Gaehtgens - <email>felix@escape.vsse.in-berlin.de</email></para> - </listitem> - - <listitem> - <para>Frank Maclachlan <email>fpm@crash.cts.com</email></para> - </listitem> - - <listitem> - <para>Gary A. Browning <email>gab10@griffcd.amdahl.com</email></para> - </listitem> - - <listitem> - <para>Gary Howland <email>gary@hotlava.com</email></para> - </listitem> - - <listitem> - <para>Geoff Rehmet <email>csgr@alpha.ru.ac.za</email></para> - </listitem> - - <listitem> - <para>Goran Hammarback <email>goran@astro.uu.se</email></para> - </listitem> - - <listitem> - <para>Guido van Rooij <email>guido@gvr.org</email></para> - </listitem> - - <listitem> - <para>Guy Harris <email>guy@auspex.com</email></para> - </listitem> - - <listitem> - <para>Havard Eidnes - <email>Havard.Eidnes@runit.sintef.no</email></para> - </listitem> - - <listitem> - <para>Herb Peyerl <email>hpeyerl@novatel.cuc.ab.ca</email></para> - </listitem> - - <listitem> - <para>Holger Veit <email>Holger.Veit@gmd.de</email></para> - </listitem> - - <listitem> - <para>Ishii Masahiro, R. Kym Horsell</para> - </listitem> - - <listitem> - <para>J.T. Conklin <email>jtc@cygnus.com</email></para> - </listitem> - - <listitem> - <para>Jagane D Sundar <email>jagane@netcom.com</email></para> - </listitem> - - <listitem> - <para>James Clark <email>jjc@jclark.com</email></para> - </listitem> - - <listitem> - <para>James Jegers <email>jimj@miller.cs.uwm.edu</email></para> - </listitem> - - <listitem> - <para>James W. Dolter</para> - </listitem> - - <listitem> - <para>James da Silva <email>jds@cs.umd.edu</email> et al</para> - </listitem> - - <listitem> - <para>Jay Fenlason <email>hack@datacube.com</email></para> - </listitem> - - <listitem> - <para>Jim Wilson <email>wilson@moria.cygnus.com</email></para> - </listitem> - - <listitem> - <para>Jörg Lohse - <email>lohse@tech7.informatik.uni-hamburg.de</email></para> - </listitem> - - <listitem> - <para>Jörg Wunsch - <email>joerg_wunsch@uriah.heep.sax.de</email></para> - </listitem> - - <listitem> - <para>John Dyson</para> - </listitem> - - <listitem> - <para>John Woods <email>jfw@eddie.mit.edu</email></para> - </listitem> - - <listitem> - <para>Jordan K. Hubbard <email>jkh@whisker.hubbard.ie</email></para> - </listitem> - - <listitem> - <para>Julian Elischer <email>julian@dialix.oz.au</email></para> - </listitem> - - <listitem> - <para>Julian Stacey <email>jhs@freebsd.org</email></para> - </listitem> - - <listitem> - <para>Karl Dietz <email>Karl.Dietz@triplan.com</email></para> - </listitem> - - <listitem> - <para>Karl Lehenbauer <email>karl@NeoSoft.com</email> - <email>karl@one.neosoft.com</email></para> - </listitem> - - <listitem> - <para>Keith Bostic <email>bostic@toe.CS.Berkeley.EDU</email></para> - </listitem> - - <listitem> - <para>Ken Hughes</para> - </listitem> - - <listitem> - <para>Kent Talarico <email>kent@shipwreck.tsoft.net</email></para> - </listitem> - - <listitem> - <para>Kevin Lahey <email>kml%rokkaku.UUCP@mathcs.emory.edu</email> - <email>kml@mosquito.cis.ufl.edu</email></para> - </listitem> - - <listitem> - <para>Marc Frajola <email>marc@dev.com</email></para> - </listitem> - - <listitem> - <para>Mark Tinguely <email>tinguely@plains.nodak.edu</email> - <email>tinguely@hookie.cs.ndsu.NoDak.edu</email></para> - </listitem> - - <listitem> - <para>Martin Renters <email>martin@tdc.on.ca</email></para> - </listitem> - - <listitem> - <para>Michael Clay <email>mclay@weareb.org</email></para> - </listitem> - - <listitem> - <para>Michael Galassi <email>nerd@percival.rain.com</email></para> - </listitem> - - <listitem> - <para>Mike Durkin <email>mdurkin@tsoft.sf-bay.org</email></para> - </listitem> - - <listitem> - <para>Naoki Hamada <email>nao@tom-yam.or.jp</email></para> - </listitem> - - <listitem> - <para>Nate Williams <email>nate@bsd.coe.montana.edu</email></para> - </listitem> - - <listitem> - <para>Nick Handel <email>nhandel@NeoSoft.com</email> - <email>nick@madhouse.neosoft.com</email></para> - </listitem> - - <listitem> - <para>Pace Willisson <email>pace@blitz.com</email></para> - </listitem> - - <listitem> - <para>Paul Kranenburg <email>pk@cs.few.eur.nl</email></para> - </listitem> - - <listitem> - <para>Paul Mackerras <email>paulus@cs.anu.edu.au</email></para> - </listitem> - - <listitem> - <para>Paul Popelka <email>paulp@uts.amdahl.com</email></para> - </listitem> - - <listitem> - <para>Peter da Silva <email>peter@NeoSoft.com</email></para> - </listitem> - - <listitem> - <para>Phil Sutherland - <email>philsuth@mycroft.dialix.oz.au</email></para> - </listitem> - - <listitem> - <para>Poul-Henning Kamp<email>phk@FreeBSD.ORG</email></para> - </listitem> - - <listitem> - <para>Ralf Friedl <email>friedl@informatik.uni-kl.de</email></para> - </listitem> - - <listitem> - <para>Rick Macklem <email>root@snowhite.cis.uoguelph.ca</email></para> - </listitem> - - <listitem> - <para>Robert D. Thrush <email>rd@phoenix.aii.com</email></para> - </listitem> - - <listitem> - <para>Rodney W. Grimes <email>rgrimes@cdrom.com</email></para> - </listitem> - - <listitem> - <para>Sascha Wildner <email>swildner@channelz.GUN.de</email></para> - </listitem> - - <listitem> - <para>Scott Burris <email>scott@pita.cns.ucla.edu</email></para> - </listitem> - - <listitem> - <para>Scott Reynolds <email>scott@clmqt.marquette.mi.us</email></para> - </listitem> - - <listitem> - <para>Sean Eric Fagan <email>sef@kithrup.com</email></para> - </listitem> - - <listitem> - <para>Simon J Gerraty <email>sjg@melb.bull.oz.au</email> - <email>sjg@zen.void.oz.au</email></para> - </listitem> - - <listitem> - <para>Stephen McKay <email>syssgm@devetir.qld.gov.au</email></para> - </listitem> - - <listitem> - <para>Terry Lambert <email>terry@icarus.weber.edu</email></para> - </listitem> - - <listitem> - <para>Terry Lee <email>terry@uivlsi.csl.uiuc.edu</email></para> - </listitem> - - <listitem> - <para>Tor Egge <email>Tor.Egge@idi.ntnu.no</email></para> - </listitem> - - <listitem> - <para>Warren Toomey <email>wkt@csadfa.cs.adfa.oz.au</email></para> - </listitem> - - <listitem> - <para>Wiljo Heinen <email>wiljo@freeside.ki.open.de</email></para> - </listitem> - - <listitem> - <para>William Jolitz <email>withheld</email></para> - </listitem> - - <listitem> - <para>Wolfgang Solfrank <email>ws@tools.de</email></para> - </listitem> - - <listitem> - <para>Wolfgang Stanglmeier <email>wolf@dentaro.GUN.de</email></para> - </listitem> - - <listitem> - <para>Yuval Yarom <email>yval@cs.huji.ac.il</email></para> - </listitem> - </itemizedlist> - - </sect1> -</chapter> - - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-shorttag: nil - sgml-always-quote-attributes: t - sgml-minimize-attributes: max - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> diff --git a/fr_FR.ISO8859-1/books/handbook/cutting-edge/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/cutting-edge/chapter.sgml deleted file mode 100644 index f5a65e8559..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/cutting-edge/chapter.sgml +++ /dev/null @@ -1,2628 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: n.nn ---> - - <chapter> - <title>La dernière mise à jour : FreeBSD-current et FreeBSD-stable</title> - &trans.a.haby; - - <para>FreeBSD est développé sans interruption entre deux versions. Pour - ceux qui veulent toujours être à jour, il y a plusieurs mécanismes de - synchronisation simples pour maintenir votre système au niveau des plus - récents développements. Soyez prévenus: ce “fil du rasoir” - n'est pas pour tout le monde! Ce chapitre vous aidera à décider si vous - voulez suivre le développement au fil de l'eau, ou vous en tenir à l'une - des versions publiées.</para> - - <sect1 id="current"> - <title>Se synchroniser avec la version -current de FreeBSD</title> - - <para><emphasis>Contribution de &a.jkh;.</emphasis></para> - - <sect2> - <title>Qu'est-ce que FreeBSD-current?</title> - - <para>FreeBSD-current n'est, littéralement, rien d'autre qu'un - instantané quotidien des sources de FreeBSD en cours de - développement. Ce qui inclut des évolutions en cours, des - modifications expérimentales et des mécanismes de transition, - qui feront ou ne feront pas partie de la prochaine livraison - officielle du logiciel. Bien que nombre d'entre nous compilent - quotidiennement sur la base des sources de FreeBSD-current, il - arrive que ceux-ci soit, pendant un temps, littéralement - incompilables. Ces problèmes sont généralement résolus aussi - rapidement que possible, mais que les sources de FreeBSD-current - vous provoquent un désastre ou vous procurent une nouvelle - fonctionnalité que vous attendiez impatiemment peut parfois - ne dépendre que du moment dans la journée où vous les avez - chargés.</para> - - </sect2> - - <sect2> - <title>Qui a besoin de FreeBSD-current?</title> - - <para>FreeBSD-current est essentiellement mis à disposition pour les - besoins:</para> - - <orderedlist> - - <listitem> - <para>Des membres du groupe FreeBSD qui travaillent sur une - partie de l'arborescence des sources, et pour qui rester - constamment à jour est une nécessité absolue.</para> - </listitem> - - <listitem> - <para>Des membres du groupe FreeBSD qui participent activement - aux tests et sont disposés à passer du temps à étudier les - problèmes pour garantir que FreeBSD-current reste aussi sain - que possible. Il y a aussi ceux qui font des suggestions dans - certains domaines sur les modifications à faire et la - direction générale que prend FreeBSD.</para> - </listitem> - - <listitem> - <para>Des membres de la périphérie du groupe FreeBSD (et - quelques autres) qui veulent simplement garder un oeil - sur les évolutions et se servir des derniers sources comme - référence (e.g., pour les <emphasis>lire</emphasis> et non - pour les utiliser). Ces personnes font parfois des remarques - ou fournissent du code.</para> - </listitem> - - </orderedlist> - - </sect2> - - <sect2> - <title>Qu'est-ce que <emphasis>n'est pas</emphasis> - FreeBSD-current?</title> - - <orderedlist> - - <listitem> - <para>Un raccourci pour se procurer des pré-versions parce que - vous avez entendu dire qu'il y a de nouvelles fonctionnalités - géniales et voulez être les premiers du coin à les - avoir.</para> - </listitem> - - <listitem> - <para>Un moyen rapide d'avoir des corrections de bogues.</para> - </listitem> - - <listitem> - <para>Nous ne le “supportons officiellement” en - aucun cas. Nous faisons du mieux que nous pouvons pour aider - les personnes qui font vraiment partie des trois groupes - d'utilisateurs “légitimes”, mais nous n'avons - tout simplement <emphasis>pas le temps</emphasis> d'en fournir - le support technique. Ce n'est pas parce que nous sommes des - “méchants” qui n'aimons pas aider les autres - (nous ne ferions pas FreeBSD si tel était le cas), c'est - parce que nous ne pouvons réellement pas répondre à 400 - messages tous les jours <emphasis>et</emphasis> en même temps - travailler sur FreeBSD. Je suis sûr que, si vous aviez à - choisir entre le fait que nous répondions à un tas de - questions ou que nous continuions à améliorer FreeBSD, la - plupart d'entre vous préféreraient la seconde - alternative.</para> - </listitem> - - </orderedlist> - - </sect2> - - <sect2> - <title>Utiliser FreeBSD-current</title> - - <orderedlist> - - <listitem> - <para>Inscrivez-vous sur la &a.current; et la &a.cvsall;. Ce - n'est pas seulement une bonne idée, c'est - <emphasis>essentiel</emphasis>. Si vous n'êtes pas sur la - liste de diffusion de <emphasis>FreeBSD-current</emphasis>, - vous ne verrez pas les commentaires qui sont faits sur l'état - courant du système et vous retrouverez probablement confrontés - à de nombreux problèmes que d'autres ont déjà identifiés et - résolus. Encore plus important, vous manqueriez des - informations potentiellement critiques (e.g. “Avis à - tous, avant de recompiler <filename>/usr/src</filename>, vous - <emphasis>devez</emphasis> recompiler le noyau, sans quoi - votre système s'écroulera de façon terrible!”). La - liste de diffusion <emphasis>cvs-all</emphasis> vous permettra - de voir les courriers de trace des soumissions de toutes les - modifications dès qu'elles sont faites et des informations - pertinentes sur les effets de bord éventuels. Pour vous - inscrire sur ces listes, envoyez un courrier électronique à - &a.majordomo; et précisez:</para> - - <programlisting> -subscribe freebsd-current -subscribe cvs-all - </programlisting> - - <para>dans le corps de votre message. Eventuellement, vous - pouvez aussi y mettre <literal>help</literal> pour que - Majordomo vous envoie des indications complètes sur la façon - de s'abonner et de se désabonner des autres listes que nous - avons mises en place.</para> - </listitem> - - <listitem> - <para>Récupérez les sources sur - <hostid role="fqdn">ftp.FreeBSD.ORG</hostid>. Il y a trois - manières de le faire:</para> - - <orderedlist> - - <listitem> - <para>Utilisez la fonctionnalité - <link linkend="ctm"><application>CTM</application></link>. - A moins que vous n'ayez une bonne connexion TCP/IP bon - marché, c'est la bonne façon de procéder.</para> - </listitem> - - <listitem> - <para>Utilisez le programme - <link linkend="cvsup">cvsup</link> avec ce fichier - <ulink - url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/standard-supfile">supfile</ulink>. - C'est la méthode recommandée en second lieu, parce - qu'elle vous permet de ne récupérer la totalité des - sources que la première fois et de n'avoir ensuite - que les différences. De nombreuses personnes exécutent - <command>cvsup</command> depuis <command>cron</command> - et maintiennent ainsi automatiquement à jour leurs - sources.</para> - </listitem> - - <listitem> - <para>Utilisez <command>ftp</command>. L'arborescence des - sources de FreeBSD-current est toujours - “exportée” dans: <ulink - url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current">ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current</ulink>. - Nous employons aussi <command>wu-ftpd</command> qui permet - de récupérer sous forme d'archive compressée un - sous-répertoire complet. e.g., si vous voyez:</para> - - <informalexample> - <screen>usr.bin/lex</screen> - </informalexample> - - <para>vous pouvez taper: - - <informalexample> - <screen><prompt>ftp></prompt> <userinput>cd usr.bin</userinput> -<prompt>ftp></prompt> <userinput>get lex.tar.Z</userinput></screen> - </informalexample> - - et il vous transmettra un fichier d'archive compressée de - tout le répertoire.</para> - </listitem> - - </orderedlist> - - </listitem> - - <listitem> - <para>S'il vous faut un accès rapide aux sources au fur et à - mesure de vos besoins, et que vous n'avez pas de problème de - bande passante, utilisez <command>cvsup</command> ou - <command>ftp</command>. Sinon, employez - <application>CTM</application>.</para> - </listitem> - - <listitem> - <para>Si vous récupérez les sources pour compiler un système - opérationnel, et pas simplement pour les lire, alors - récupérez <emphasis>tout</emphasis> - <foreignphrase>-current</foreignphrase>, et non uniquement - quelques morceaux choisis. Cela parce que diverses parties - du source dépendent de modifications effectuées ailleurs, et - si vous essayez de n'en compiler qu'une partie, il est - quasiment certain que vous aurez des problèmes.</para> - </listitem> - - <listitem> - <para>Avant de compiler <foreignphrase>-current</foreignphrase>, - lisez attentivement le <filename>Makefile</filename> dans - <filename>/usr/src</filename>. Vous devriez au moins lancer - une première fois un - <link linkend="makeworld"><command>make world</command></link> - intégral, comme étape nécessaire à votre processus de mise à - niveau. Lire la &a.current; vous tiendra au courant des - autres procédures de transition qui sont parfois - nécessaires lorsque nous préparons la prochaine - version.</para> - </listitem> - - <listitem> - <para>Participez. Si vous tournez sous FreeBSD-current, nous - aimerions savoir ce que vous en pensez, tout particulièrement - si vous avez des améliorations à nous suggérer ou des - corrections de bogues à nous soummettre. Les suggestions - accompagnées de code sont accueillies avec - enthousiasme!</para> - </listitem> - - </orderedlist> - - </sect2> - </sect1> - - <sect1 id="stable"> - <title>Se synchroniser avec la version -stable de FreeBSD</title> - - <para><emphasis>Contribution de &a.jkh;.</emphasis></para> - - <sect2> - <title>Qu'est-ce que FreeBSD-stable?</title> - - <para>FreeBSD-stable est notre branche de développement pour les - modifications moins osées et plus conservatrices, destinée à notre - prochaine version d'exploitation. Les modifications expérimentales - ou non testées ne sont pas faites sur cette branche (pour cela, - voyez <link linkend="current">FreeBSD-current</link>).</para> - - </sect2> - - <sect2> - <title>Qui a besoin de FreeBSD-stable?</title> - - <para>Si vous êtes un utilisateur commercial ou quelqu'un dont la - principale préoccupation est la stabilité de son système FreeBSD, - vous devriez envisager de rester à jour sur la branche - <emphasis>stable</emphasis>. C'est particulièrement vrai si vous - avez installé la version la plus récente - (<ulink - url="ftp://ftp.freebsd.org/pub/FreeBSD/&rel.current;-RELEASE">&rel.current;-RELEASE</ulink> au moment où j'écris ceci) car c'est sur la branche - <emphasis>stable</emphasis> que sont effectivement faites les - corrections de bogues relatives à la dernière version - publiée.</para> - - <warning> - <para>Nous essayons de garder l'arborescence - <emphasis>-stable</emphasis> avant tout, intégralement compilable - et constamment stable, mais il nous arrive aussi de faire des - erreurs (ce sont des sources encore en évolution dont les - modifications sont transmises rapidement, - après tout). Nous faisons - aussi de notre mieux pour tester exhaustivement les corrections - dans <emphasis>-current</emphasis> avant de les intégrer à la - branche <emphasis>-stable</emphasis>, mais nos tests ne couvrent - parfois pas tous les cas de figure. Si quelque chose ne fonctionne - pas chez vous avec <emphasis>-stable</emphasis>, faites-le nous - s'il vous plaît savoir <emphasis>immédiatement!</emphasis> (voyez - la section suivante).</para> - </warning> - </sect2> - - <sect2> - <title>Utiliser FreeBSD-stable</title> - - <para> - <orderedlist> - - <listitem> - <para>Inscrivez-vous sur la &a.stable;. Vous serez tenu au - courant des dépendances de compilation qui peuvent intervenir - dans la branche <emphasis>-stable</emphasis> et de toute autre - question demandant une attention particulière. Les - développeurs publient aussi leurs annonces sur cette liste - lorsqu'ils envisagent une correction ou une modification - controversée, pour donner la possibilité aux utilisateurs - de répondre s'ils ont des questions à soulever en rapport - avec la modification proposée. Pour vous abonner à cette - liste, envoyez un courrier électronique à &a.majordomo; - contenant:</para> - <programlisting> -subscribe freebsd-stable - </programlisting> - <para>dans le corps du message. Vous pouvez aussi - mentionner:</para> - <programlisting> -help - </programlisting> - <para>et Majordomo vous enverra une aide complète sur la façon - de s'abonner et de se désabonner des autres listes de - diffusion que nous avons mises en place.</para> - </listitem> - - <listitem> - <para>Récupérez les sources sur - <hostid role="fqdn">ftp.FreeBSD.ORG</hostid>. Il y a trois - façons de le faire:</para> - - <orderedlist> - - <listitem> - <para>Utilisez la fonctionnalité - <link linkend="ctm"><application>CTM</application></link>. - A moins que vous n'ayez une bonne connexion TCP/IP bon - marché, c'est la bonne façon de procéder.</para> - </listitem> - - <listitem> - <para>Utilisez le programme - <link linkend="cvsup">cvsup</link> avec ce fichier - <ulink - url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current -/src/share/examples/cvsup/stable-supfile">supfile</ulink>. - C'est la méthode recommandée en second lieu, parce - qu'elle vous permet de ne récupérer la totalité des - sources que la première fois et de n'avoir ensuite - que les différences. De nombreuses personnes exécutent - <command>cvsup</command> depuis <command>cron</command> - et maintiennent ainsi automatiquement à jour leurs - sources.</para> - </listitem> - - <listitem> - <para>Utilisez <command>ftp</command>. L'arborescence des - sources de FreeBSD-stable est toujours - “exportée” dans: <ulink - url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-stable">ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-stable</ulink>.</para> - <para>Nous employons aussi <command>wu-ftpd</command> qui - permet de récupérer sous forme d'archive compressée un - sous-répertoire complet. e.g., si vous voyez:</para> - - <informalexample> - <screen>usr.bin/lex</screen> - </informalexample> - - <para>vous pouvez taper: - - <informalexample> - <screen><prompt>ftp></prompt> <userinput>cd usr.bin -</userinput> -<prompt>ftp></prompt> <userinput>get lex.tar.Z</userinput></screen> - </informalexample> - - et il vous transmettra un fichier d'archive compressée de - tout le répertoire.</para> - </listitem> - - </orderedlist> - - </listitem> - - <listitem> - <para>S'il vous faut un accès rapide aux sources au fur et à - mesure de vos besoins, et que vous n'avez pas de problème de - bande passante, utilisez <command>cvsup</command> ou - <command>ftp</command>. Sinon, employez - <application>CTM</application>.</para> - </listitem> - - <listitem> - <para>Avant de compiler <foreignphrase>-stable</foreignphrase>, - lisez attentivement le <filename>Makefile</filename> dans - <filename>/usr/src</filename>. Vous devriez au moins lancer - une première fois un - <link linkend="makeworld"><command>make world</command></link> - intégral, comme étape nécessaire à votre processus de mise à - niveau. Lire la &a.stable; vous tiendra au courant des - autres procédures de transition qui sont parfois - nécessaires lorsque nous préparons la prochaine - version.</para> - </listitem> - - </orderedlist> - - </para> - - </sect2> - </sect1> - - <sect1 id="synching"> - <title>Synchroniser l'arborescence des sources par Internet</title> - - <para><emphasis>Contribution de &a.jkh;.</emphasis></para> - - <para>Il y a différentes façons d'utiliser une connexion Internet - (ou le courrier électronique) pour garder à jour ses sources d'un - domaine donné, ou de l'ensemble, du projet FreeBSD, selon ce qui - vous intéresse. Les principaux services que nous fournissons sont - <link linkend="anoncvs">CVS anonyme</link>, - <link linkend="cvsup">CVSup</link> et - <link linkend="ctm">CTM</link>.</para> - - <para><application>CVS anonyme</application> et - <application>CVSup</application> utilisent une méthode de mise à - jour pilotée par le client - <foreignphrase><emphasis>pull</emphasis></foreignphrase>. - Dans le cas de <application>CVSup</application>, l'utilisateur - (ou une procédure <command>cron</command>) appelle le - programme <command>cvsup</command>, qui interagit avec un serveur - <command>cvsupd</command> ailleurs, pour mettre à jour ses fichiers. - Vous recevez les mises à jour dans leur état courant, et vous ne les - recevez uniquement que quand vous les voulez. Il est facile de - limiter ces mises à jour aux fichiers ou répertoires particuliers qui - vous intéressent. Les mises à jour sont générées à la volée par le - serveur, selon ce que vous avez déjà, et ce que vous voulez. - <application>CVS anonyme</application> est un peu plus simpliste que - <application>CVSup</application>, car ce n'est qu'une extension de - <application>CVS</application> qui permet de récupérer des - modifications directement d'une archive CVS distante. Pour cela, - <application>CVSup</application> est beaucoup plus efficace, mais - <application>CVS anonyme</application> est plus facile à - utiliser.</para> - - <para><application>CTM</application>, à l'inverse, ne compare pas - interactivement les sources dont vous disposez et ceux qui sont - sur l'archive de référence. Au lieu de cela, une procédure qui - identifie les modifications intervenues depuis qu'elle a été exécutée - pour la dernière fois, est lancée plusieurs fois par jour sur - l'archive de référence, les modifications détectées sont compressées, - affectées d'un numéro de séquence et encodées pour pouvoir être - envoyées par courrier électronique (ASCII imprimable uniquement). - Une fois reçues, ces “deltas CTM” peuvent être passés - à l'utilitaire - <citerefentry><refentrytitle>ctm_rmail</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - qui les décodera, les contrôlera et appliquera les modifications à - l'exemplaire des sources de l'utilisateur. Cette méthode est beaucoup - plus efficace que <application>CVSup</application> et consomme - beaucoup moins de ressources de notre serveur, parce que c'est un - modèle piloté par le - serveur - <foreignphrase><emphasis>push</emphasis></foreignphrase> - plutôt que - par l'utilisateur - <foreignphrase><emphasis>pull</emphasis></foreignphrase>.</para> - - <para>Il y a quelques contre-parties, bien sûr. Si vous effacez par - inadvertance des parties de votre archive, - <application>CVSup</application> s'en apercevra et vous reconstruira - les parties abîmées. <application>CTM</application> ne le fera pas, - et si vous effacez des parties de l'arborescence des sources (et - n'avez pas fait de sauvegarde), vous devrez repartir de zéro (à partir - du plus récent “delta de base” sous CVS) et tout - reconstituer avec CTM ou, avec CVS anonyme, effacer les parties - endommagées et resynchroniser.</para> - - <para>Pour plus d'informations sur - <application>CVS anonyme</application>, <application>CTM</application> - et <application>CVSup</application>, reportez-vous s'il vous plaît à - l'une des sections qui suivent.</para> - - <sect2 id="anoncvs"> - <title>CVS Anonyme</title> - - <para><emphasis>Contribution de &a.jkh;</emphasis></para> - - <sect3> - <title><anchor id="anoncvs-intro">Introduction</title> - - <para>CVS anonyme (ou, comme on l'appelle aussi, - <emphasis>anoncvs</emphasis>) est une des fonctionnalités des - utilitaires CVS livrés avec FreeBSD qui permet la synchronisation - avec une archive CVS sur une machine distante. Elle permet, entre - autres, aux utilisateurs de FreeBSD, de lire, sans autorisation - particulière, les archives disponibles sur l'un des serveurs - <foreignphrase>anoncvs</foreignphrase> officiels du projet FreeBSD. - Pour l'utiliser, il suffit simplement de définir la variable - d'environnement <envar>CVSROOT</envar> pour qu'elle pointe sur le - serveur <foreignphrase>anoncvs</foreignphrase> voulu, et d'employer - ensuite la commande - <citerefentry><refentrytitle>cvs</refentrytitle> <manvolnum>1</manvolnum></citerefentry> - pour y accéder de la même manière qu'à une archive locale.</para> - - <para> Bien que l'on puisse aussi dire que les services <link - linkend="cvsup">CVSup</link> et <emphasis>anoncvs</emphasis> - aient essentiellement la même fonction, il y a des nuances diverses - qui peuvent influencer l'utilisateur dans son choix d'une méthode - de synchronisation. En résumé, <application>CVSup</application> - utilise beaucoup 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 <application>CVSup</application>, 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-ensembles relativements importants, que - <application>CVSup</application> appelle - <emphasis>catalogues</emphasis>.</para> - - <para><application>anoncvs</application>, au contraire, peut être - utilisé pour examiner n'importe quoi, d'un seul fichier à un - programme particulier (tel que <command>ls</command> ou - <command>grep</command>) en faisant référence au nom du module CVS. - <application>anoncvs</application> ne sert bien sûr qu'à lire les - archives CVS, si donc vous avez l'intention de développer localement - sur une archive partagée avec le projet FreeBSD, alors vous n'avez - d'autre choix que <application>CVSup</application>.</para> - </sect3> - - <sect3> - <title><anchor id="anoncvs-usage">Utiliser CVS anonyme</title> - - <para>Configurer <citerefentry> - <refentrytitle>cvs</refentrytitle> - <manvolnum>1</manvolnum> - </citerefentry> pour utiliser une archive CVS anonyme consiste - simplement à définir la variable d'environnement - <envar>CVSROOT</envar> pour qu'elle pointe sur l'un des serveurs - <emphasis>anoncvs</emphasis> du projet FreeBSD. A la date de - rédaction de ce document, les serveurs suivants sont - disponibles:</para> - - <itemizedlist> - <listitem> - <para><emphasis>USA</emphasis>: - anoncvs@anoncvs.freebsd.org:/cvs</para> - </listitem> - </itemizedlist> - - <para>Comme CVS vous permet de - récupérer - “<foreignphrase>check out</foreignphrase>” - pratiquement - n'importe quelle version ayant existé (ou, dans certains cas, à - venir <!-- smiley -->:) des sources de FreeBSD, vous devrez - maîtriser l'indicateur de révision (<option>-r</option>) de - <citerefentry><refentrytitle>cvs</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> - et connaître les valeurs qu'il peut prendre dans les archives du - projet FreeBSD.</para> - - <para>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.</para> - - <para>Voici les étiquettes de branches qui peuvent intéresser les - utilisateurs:</para> - - <variablelist> - <varlistentry> - <term>HEAD</term> - - <listitem> - <para>Nom 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.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_2_2</term> - - <listitem> - <para>Branche de développement de FreeBSD-2.2.x, connue aussi - sous le nom de FreeBSD-stable. Ne s'applique pas au - catalogue des logiciels portés.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_2_1_0</term> - - <listitem> - <para>Branche de développement de FreeBSD-2.1.x - cette branche - est largement obsolète. Ne s'applique pas au catalogue des - logiciels portés.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>Voici les étiquettes de révision qui peuvent vous - intéresser:</para> - - <variablelist> - <varlistentry> - <term>RELENG_2_2_6_RELEASE</term> - - <listitem> - <para>FreeBSD-2.2.6. Ne s'applique pas au catalogue des - logiciels portés.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_2_2_5_RELEASE</term> - - <listitem> - <para>FreeBSD-2.2.5. Ne s'applique pas au catalogue des - logiciels portés.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_2_2_2_RELEASE</term> - - <listitem> - <para>FreeBSD-2.2.2. Ne s'applique pas au catalogue des - logiciels portés.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_2_2_1_RELEASE</term> - - <listitem> - <para>FreeBSD-2.2.1. Ne s'applique pas au catalogue des - logiciels portés.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_2_2_0_RELEASE</term> - - <listitem> - <para>FreeBSD-2.2.0. Ne s'applique pas au catalogue des - logiciels portés.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_2_1_7_RELEASE</term> - - <listitem> - <para>FreeBSD-2.1.7. Ne s'applique pas au catalogue des - logiciels portés.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_2_1_6_1_RELEASE</term> - - <listitem> - <para>FreeBSD-2.1.6.1. Ne s'applique pas au catalogue des - logiciels portés.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_2_1_6_RELEASE</term> - - <listitem> - <para>FreeBSD-2.1.6. Ne s'applique pas au catalogue des - logiciels portés.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_2_1_5_RELEASE</term> - - <listitem> - <para>FreeBSD-2.1.5. Ne s'applique pas au catalogue des - logiciels portés.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>RELENG_2_1_0_RELEASE</term> - - <listitem> - <para>FreeBSD-2.1.0. Ne s'applique pas au catalogue des - logiciels portés.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>Lorsque vous donnez 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 la date avec l'indicateur - <option>-D date</option>. Reportez-vous au pages de manuel de - <citerefentry><refentrytitle>cvs</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> - pour plus de détails.</para> - </sect3> - - <sect3> - <title>Exemples</title> - - <para>Bien qu'il soit vraiment conseillé de lire attentivement les - pages de manuel de - <citerefentry><refentrytitle>cvs</refentrytitle> <manvolnum>1</manvolnum></citerefentry> - avant de faire quoi que ce soit, voici quelques exemples rapides - qui vous montrent essentiellement comment utiliser CVS - anonyme:</para> - - <example> - <title>Récupérer quelque chose de -current (<citerefentry> - <refentrytitle>ls</refentrytitle> - <manvolnum>1</manvolnum></citerefentry>) et l'effacer - ensuite:</title> - - <screen> -&prompt.user; <userinput>setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs</userinput> -&prompt.user; <userinput>cvs co ls</userinput> -&prompt.user; <userinput>cvs release -d ls</userinput></screen> - </example> - - <example> - <title>Récupérer la version de <citerefentry> - <refentrytitle>ls</refentrytitle> - <manvolnum>1</manvolnum></citerefentry> sur la branche - 2.2-stable:</title> - - <screen> -&prompt.user; <userinput>setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs</userinput> -&prompt.user; <userinput>cvs co -rRELENG_2_2 ls</userinput> -&prompt.user; <userinput>cvs release -d ls</userinput></screen> - </example> - - <example> - <title>Générer la liste des différences - (<foreignphrase>unidiffs(</foreignphrase>) entre les versions - FreeBSD 2.2.2 et FreeBSD 2.2.6 de - <citerefentry><refentrytitle>ls</refentrytitle> <manvolnum>1</manvolnum></citerefentry>:</title> - - <screen> -&prompt.user; <userinput>setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs</userinput> -&prompt.user; <userinput>cvs rdiff -u -rRELENG_2_2_2_RELEASE -rRELENG_2_2_6_RELEASE ls</userinput></screen> - </example> - - <example> - <title>Savoir quels autres noms de modules peuvent être - utilisés:</title> - - <screen> -&prompt.user; <userinput>setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs</userinput> -&prompt.user; <userinput>cvs co modules</userinput> -&prompt.user; <userinput>more modules/modules</userinput> -&prompt.user; <userinput>cvs release -d modules</userinput></screen> - </example> - </sect3> - - <sect3> - <title>Autres ressources</title> - - <para>Les autres ressources supplémentaires suivantes peuvent être - utiles pour apprendre à se servir de CVS:</para> - - <itemizedlist> - <listitem> - <para><ulink - url="http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/cvs/">Guide CVS</ulink> de “Cal Poly.”</para> - </listitem> - - <listitem> - <para><ulink url="http://www.cyclic.com">Cyclic - Software</ulink>, qui maintiennent commercialement CVS.</para> - </listitem> - - <listitem> - <para><ulink - url="http://www.freebsd.org/cgi/cvsweb.cgi">CVSWeb</ulink> - est l'interface Web pour CVS du projet FreeBSD.</para> - </listitem> - </itemizedlist> - </sect3> - </sect2> - - <sect2 id="ctm"> - <title><application>CTM</application></title> - - <para><emphasis>Contribution by &a.phk;. Mise à jour le - 19 Octobre 1997.</emphasis></para> - - <para><application>CTM</application> est une méthode pour synchroniser - une arborescence de répertoires deportée et une version centrale. - Elle a été développée pour être utilisée avec l'arborescence des - sources de FreeBSD, bien que d'autres puissent avec le temps la - trouver utile pour d'autres propos. Il existe actuellement très - peu, sinon aucune, documentation sur la façon de créer les deltas, - adressez-vous donc à &a.phk; pour avoir plus d'informations si vous - souhaitez utiliser <application>CTM</application> pour autre - chose.</para> - - <sect3> - <title>Pourquoi utiliser <application>CTM</application>?</title> - - <para><application>CTM</application> vous procurera un exemplaire - local de l'arborescence des sources de FreeBSD. Il y a plusieurs - “moutures” de l'arborescence disponibles. Que vous - vouliez garder à jour toute l'arborescence CVS ou seulement une - de ses branches, <application>CTM</application> peut vous - fournir ce dont vous avez besoin. Si vous développez activement - avec FreeBSD, 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 transmises, - CTM est ce qu'il vous faut. Il vous faudra jusqu'à trois deltas - par jour sur les branches les plus actives. Vous devriez toutefois - 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.</para> - - <para>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”. - Je vous recommande alors de lire la section - <link linkend="current">Se synchroniser avec la version - -current de FreeBSD</link>.</para> - - </sect3> - - <sect3> - <title>Que vous faut-il pour utiliser - <application>CTM</application>?</title> - - <para>Vous aurez besoin de deux choses: le programme - <application>CTM</application> et les deltas initiaux à lui - fournir (pour vous mettre à jour avec la version - “courante”).</para> - - <para>Le programme <application>CTM</application> fait partie de - FreeBSD depuis la publication de la version 2.0, et se trouve - dans <filename>/usr/src/usr.sbin/CTM</filename>, si vous avez un - exemplaire des sources en ligne.</para> - - <para>Si vous utilisez une version de FreeBSD antérieure à la 2.0, - vous pouvez récupérer la version courante des sources de - <application>CTM</application> directement de:</para> - - <para><ulink - url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current/src/usr.sbin/ctm">ftp://ftp.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current/src/usr.sbin/ctm</ulink></para> - - <para>Vous pouvez obtenir les “deltas” à fournir à - <application>CTM</application> de deux façons, par FTP ou par - courrier électronique. Si vous avec un accès FTP à l'Internet, - les sites FTP suivants supportent l'accès via - <application>CTM</application>:</para> - - <para><ulink - url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/CTM">ftp://ftp.FreeBSD.ORG/pub/FreeBSD/CTM</ulink></para> - - <para>ou reportez-vous à la section - <link linkend="mirrors-ctm">Sites miroirs</link>.</para> - - <para>Allez dans le répertoire qui vous concerne et commencez par - télécharger le fichier <filename>README</filename>.</para> - - <para>Si vous souhaitez récupérer vos deltas par courrier - électronique:</para> - - <para>Envoyez un courrier électronique à &a.majordomo; pour vous - abonner à l'une des listes de distribution - <application>CTM</application>. “ctm-cvs-cur” - comprend toute l'arborescence CVS. “ctm-src-cur” - concerne la dernière version de la branche de développement. - “ctm-src-2_2” s'applique à la branche 2.2-RELEASE, - etc. (Si vous ne savez pas comment vous abonner avec Majordomo, - envoyez un message commençant par le mot - <literal>help</literal> - vous recevrez un mode d'emploi - en retour.)</para> - - <para>Dès que vous commencer à recevoir vos mises à jour - <application>CTM</application> par courrier électronique, vous - pouvez utiliser le programme <symbol>ctm_rmail</symbol> pour les - décompacter et les appliquer. Vous pouvez de fait lancer le - programme <symbol>ctm_rmail</symbol> directement à partir d'une - entrée dans <filename>/etc/aliases</filename> si vous voulez - automatiser complètement le processus. Consultez les pages de - manuel de <symbol>ctm_rmail</symbol> pour plus de détails.</para> - - <note> - <para>Quelle que soit la méthode que vous utilisiez pour récupérer - vos deltas <application>CTM</application>, vous devriez vous - abonner à la liste de diffusion - <email>ctm-announce@FreeBSD.ORG</email>. Ce sera, dans l'avenir, - le seul endroit où les annonces concernant le fonctionnement du - système <application>CTM</application> seront faites. Envoyez - un courier à &a.majordomo; ne contenant que la ligne - <literal>subscribe ctm-announce</literal> pour être inscrit - sur la liste.</para> - </note> - </sect3> - - <sect3> - <title>Utiliser <application>CTM</application> pour la première - fois</title> - - <para>Avant de pouvoir utiliser les deltas - <application>CTM</application>, il vous faut un point de départ, - pour appliquer les deltas générés à partir de là.</para> - - <para>Vous devez d'abord savoir ce que vous avez déjà. Tout le monde - peut partir d'un répertoire “vide”. Néanmoins, comme - 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'un version sur CD-ROM, vous pouvez copier ou - extraire le source initial qui s'y trouve. Cela vous évitera un - transfert de données conséquent.</para> - - <para>Une fois que vous avez repéré un point de départ significatif, - vous devez utiliser un delta de “transition” initial, - pour le transformer en une arborescence supportée par - <application>CTM</application>.</para> - - <para>Vous reconnaîtrez ces deltas de transition au - <literal>X</literal> qui suit leur numéro de séquence - (<filename>src-cur.3210XEmpty.gz</filename> par exemple). La - dénomination après le <filename>X</filename> - correspond à l'origine de votre “racine” initiale. - <filename>Empty</filename> est un répertoire vide, - <filename>R225</filename> serait la version 2.2.5, - etc. La règle est qu'une transition de base à partir de - <filename>Empty</filename> est générée tous les 100 deltas. Au - passage, elles sont volumineuses! de 25 à 30 mégaoctets de données - compressées avec <command>gzip</command> est une taille habituelle - pour les deltas <filename>XEmpty</filename>.</para> - - <para>Une fois que vous avez sélectionné un delta initial, il vous - faudra aussi tous les deltas de numéro supérieur qui le - suivent.</para> - - </sect3> - - <sect3> - <title>Utiliser au quotidien <application>CTM</application></title> - - <para>Pour appliquer les deltas, tapez simplement:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cd /où/vous/voulez/mettre/les/fichiers</userinput> -&prompt.root; <userinput>ctm -v -v /où/vous/mettez/vos/deltas/src-xxx.*</userinput></screen> - </informalexample> - - <para><application>CTM</application> reconnait les deltas qui ont - été compressés avec <command>gzip</command>, vous n'avez donc - pas besoin de les décompresser avant, ce qui économise de - l'espace disque.</para> - - <para>A moins d'être absolument sûr du résultat, - <application>CTM</application> ne touchera pas à votre - arborescence. Pour contrôler la validité d'un delta, vous - pouvez aussi utiliser l'indicateur <option>-c</option> et - <application>CTM</application> 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.</para> - - <para>Il y a aussi d'autres options pour - <application>CTM</application>, voyez les pages de manuel ou lisez - les sources pour plus d'informations.</para> - - <para>Je serais aussi très content si quelqu'un voulait m'aider à - mettre au point l'“interface utilisateur”, parce que - je me suis rendu compte que je n'arrivais pas à me décider quant - à ce que devait faire telle ou telle option, quand et - comment...</para> - - <para>C'est à peu près tout. Chaque fois que vous recevez un delta, - passez-le à <application>CTM</application> pour tenir à jour - votre arborescence des sources.</para> - - <para>N'effacez pas les deltas s'il vous est difficile de les - télécharger de nouveau. Vous pouvez avoir en besoin si quelque - chose se produit. Même si vous n'avez que des disquettes, - envisagez d'utiliser <command>fdwrite</command> pour en faire - une copie.</para> - - </sect3> - - <sect3> - <title>Conserver vos modifications locales</title> - - <para>Si vous êtes développeur, vous voudrez expérimenter et - modifier des fichiers de l'arborescence des sources. - <application>CTM</application> supporte de façon limitée les - modifications locales: avant de regarder si le fichier - <filename>foo</filename> existe, il regarde d'abord s'il y a - un fichier <filename>foo.ctm</filename>. Si ce fichier existe, - <application>CTM</application> l'utilise au lieu de - <filename>foo</filename>.</para> - - <para>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 <filename>.ctm</filename>. Vous pouvez alors - tranquillement bidouiller le code, pendant que - <application>CTM</application> maintient le fichier - <filename>.ctm</filename> à jour.</para> - - </sect3> - - <sect3> - <title>D'autres options intéressantes de - <application>CTM</application></title> - - <sect4> - <title>Savoir avec précision ce que va modifier une mise à - jour</title> - - <para>Vous pouvez connaître la liste des modifications que - <application>CTM</application> appliquera à votre archive - des sources en utilisant <application>CTM</application> - avec l'option <option>-l</option>.</para> - - <para>C'est utile si vous voulez conserver la trace des - modifications, pré- ou post-processer les fichiers modifiés - de quelque façon que ce soit, ou vous sentez un tantinet - paranoïde <!-- smiley -->:-).</para> - - </sect4> - - <sect4> - <title>Faire des sauvegardes avant la mise à jour</title> - - <para>Vous souhaiterez parfois faire des sauvegardes de tous - les fichiers qui seront touchés par une mise à jour - <application>CTM</application>.</para> - - <para>Avec l'option <option>-B fichier_de_sauvegarde</option>, - <application>CTM</application> sauvegarde tous les fichiers - qui seront modifiés par un delta - <application>CTM</application> donné dans - <filename>fichier_de_sauvegarde</filename>.</para> - - </sect4> - - <sect4> - <title>Restreindre la liste des fichiers touchés par une mise - à jour</title> - - <para>Vous voudrez parfois restreindre le champ d'application - d'une mise à jour <application>CTM</application> donnée, ou - serez intéressé à n'extraire que quelques fichiers d'une - séquence de deltas.</para> - - <para>Vous pouvez contrôler la liste des fichiers sur laquelle - <application>CTM</application> travaille en donnant comme - filtre une expression régulière avec les options - <option>-e</option> et <option>-x</option>.</para> - - <para>Par exemple, pour extraire une version à jour de - <filename>lib/libc/Makefile</filename> de la série de - deltas <application>CTM</application> que vous avez sauvegardés, - utilisez les commandes:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cd /où/vous/voulez/l/extraire/</userinput> -&prompt.root; <userinput>ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*</userinput></screen> - </informalexample> - - <para>Pour chaque fichier du delta <application>CTM</application>, - les options <option>-e</option> et <option>-x</option> sont - appliquées dans l'ordre donné sur la ligne de commande. Le - fichier est traité par <application>CTM</application> uniquement - s'il est encore sélectionné après que toutes les options - <option>-e</option> et <option>-x</option> lui aient été - appliquées.</para> - - </sect4> - </sect3> - - <sect3> - <title>Perspectives pour <application>CTM</application></title> - - <para>Il y en a des tonnes:</para> - - <itemizedlist> - - <listitem> - <para>Utilisez une méthode ou une autre d'authentification - au système <application>CTM</application> pour pouvoir - détecter la - substitution - <foreignphrase>spoofing</foreignphrase> - de - mises à jour.</para> - </listitem> - - <listitem> - <para>Faire le ménage dans les options de - <application>CTM</application>, elles commencent à engendrer - de la confusion et à contredire l'intuition.</para> - </listitem> - - </itemizedlist> - - <para>La mauvaise nouvelle est que je suis très occupé, toute aide - pour le faire sera vraiment la bienvenue. N'oubliez pas aussi de - me dire ce que vous souhaiteriez...</para> - - </sect3> - - <sect3> - <title>Divers</title> - - <para>Tous les sources “infectés par le DES” (e.g. - restreints à l'exportation) ne sont pas inclus. Vous n'aurez - que la version “internationale”. Si cela rencontre - suffisamment d'intérêt, nous mettrons aussi en place une séquence - <literal>sec-cur</literal>. Il y a 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. Dites-moi si vous voulez - une liste de courrier électronique pour cela aussi et - j'envisagerai de la mettre en place.</para> - - </sect3> - - <sect3> - <title>Remerciements</title> - - <variablelist> - <varlistentry><term>&a.bde;,</term> - <listitem> - <para>pour son crayon pointé et ses commentaires - inestimables.</para> - - </listitem> - </varlistentry> - - <varlistentry><term>&a.sos;,</term> - - <listitem> - <para>pour sa patience.</para> - - </listitem> - </varlistentry> - - <varlistentry><term>Stephen McKay,</term> - - <listitem> - <para>a écrit <command>ctm_[rs]mail</command>, - très apprécié.</para> - - </listitem> - </varlistentry> - - <varlistentry><term>&a.jkh;,</term> - - <listitem> - <para>pour avoir toujours insisté pour que je - l'améliore.</para> - - </listitem> - </varlistentry> - - <varlistentry><term>Tous les utilisateurs,</term> - - <listitem> - <para>J'espère qu'il vous convient...</para> - - </listitem> - </varlistentry> - </variablelist> - - - </sect3> - </sect2> - - <sect2 id="cvsup"> - <title><application>CVSup</application></title> - - <para><emphasis>Contribution de &a.jdp;</emphasis>.</para> - - <sect3 id="cvsup-intro"> - <title>Introduction</title> - - <para><application>CVSup</application> est un ensemble de logiciels - pour la distribution et la mise à jour d'arborescences de sources - à partir d'une archive originale sur une machine serveur distante. - Les sources de FreeBSD sont archivés avec CVS sur une machine - centrale de développement en Californie. Grâce à - <application>CVSup</application>, les utilisateurs de FreeBSD - peuvent facilement tenir à jour leur propre arborescence de - sources.</para> - - <para><application>CVSup</application> utilise le modèle - <emphasis>pull</emphasis> 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 utiliseurs doivent soit exécuter le client - <application>CVSup</application> à la main pour obtenir une mise - à jour, soit mettre en oeuvre une tâche - <command>cron</command> pour l'exécuter automatiquement et à - intervalles réguliers.</para> - - <para>Le terme <application>CVSup</application>, avec les - majuscules, désigne l'ensemble du logiciel. Ses principales - composantes sont le client <command>cvsup</command>, qui s'exécute - sur les machines de chaque utilisateur, et le serveur - <command>cvsupd</command>, qui tourne sur tous les sites miroir - de FreeBSD.</para> - - <para>En lisant la documentation et les listes de diffusion de - FreeBSD, vous trouverez des références à - <application>sup</application>. <application>Sup</application> - était le prédécesseur de <application>CVSup</application>, et - remplissait la même fonction. <application>CVSup</application> est - utilisé de la même façon que <application>sup</application> et, - emploie de fait des fichiers de configuration qui sont compatibles - avec ceux de <command>sup</command>. - <application>Sup</application> n'est plus utilisé pour le projet - FreeBSD, parce que <application>CVSup</application> est à la fois - plus rapide et plus souple.</para> - - </sect3> - - <sect3 id="cvsup-install"> - <title>Installation</title> - - <para>La méthode la plus facile pour installer - <application>CVSup</application>, si vous êtes sous FreeBSD 2.2 - ou ultérieur est d'utiliser le - <ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/net/cvsup.tar">logiciel - porté</ulink> du <link linkend="ports">catalogue</link> de - FreeBSD ou le - <ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/packages-current/net/cvsup-15.3.tgz">“paquetage” - binaire</ulink> correspondant, selon que vous préfériez ou non le - compiler vous-même.</para> - - <para>Si vous êtes sous FreeBSD-2.1.6 ou 2.1.7, vous ne pouvez - malheureusement pas utiliser le binaire tel que, parce qu'il lui - faut une version de la bibliothèque C qui n'existait pas encore - sous FreeBSD-2.1.{6,7}. Vous pouvez malgré tout facilement vous - servir du - <ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/net/cvsup.tar">logiciel - porté</ulink>, tout comme sous FreeBSD 2.2. Décompressez - simplement l'archive, allez dans le sous-répertoire - <filename>cvsup</filename> et tapez - <command>make install</command>.</para> - - <para>Comme <application>CVSup</application> est écrit en <ulink - url="http://www.research.digital.com/SRC/modula-3/html/home.html">Modula-3</ulink>, et le “paquetage” et le logiciel porté ont - besoin que les bibliothèques d'exécution de Modula-3 soient - installées. Elles sont disponibles dans le portage - <ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/ports-current/lang/modula-3-lib.tar">lang/modula-3-lib</ulink> - et dans le “paquetage” - <ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/packages-current/lang/modula-3-lib-3.6.tgz">lang/modula-3-lib-3.6</ulink>. - Si vous suivez les instructions données pour - <command>cvsup</command>, ces bibliothèques seront compilées et/ou - installées automatiquement en même temps que le logiciel porté ou le - “paquetage” <application>CVSup</application>.</para> - - <para>Les bibliothèques Modula-3 sont assez volumineuses, et il - n'est pas immédiat de les rapatrier et les compiler. Pour cette - raison, une troisième possibilité est fournie. Vous pouvez vous - procurer les exécutables <emphasis>liés statiquement</emphasis> - de <application>CVSup</application> pour FreeBSD, soit du site de - distribution aux USA:</para> - - <itemizedlist> - - <listitem> - <para><ulink - url="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup-bin-15.3.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup-bin-15.3.tar.gz</ulink> (client avec interface homme/machine graphique).</para> - </listitem> - - <listitem> - <para><ulink - url="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.3.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.3.tar.gz</ulink> (client sans interface homme/machine graphique).</para> - </listitem> - - <listitem> - <para><ulink - url="ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsupd-bin-15.3.tar.gz">ftp://ftp.freebsd.org/pub/FreeBSD/CVSup/cvsupd-bin-15.3.tar.gz</ulink> (serveur).</para> - </listitem> - - </itemizedlist> - - <para>ou du site miroir en Allemagne:</para> - - <itemizedlist> - - <listitem> - <para><ulink - url="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsup-bin-15.3.tar.gz">ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsup-bin-15.3.tar.gz</ulink> (client avec interface homme/machine graphique).</para> - </listitem> - - <listitem> - <para><ulink - url="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.3.tar.gz">ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsup.nogui-bin-15.3.tar.gz</ulink> (client sans interface homme/machine graphique).</para> - </listitem> - - <listitem> - <para><ulink - url="ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsupd-bin-15.3.tar.gz">ftp://ftp.cs.tu-berlin.de/pub/FreeBSD/CVSup/cvsupd-bin-15.3.tar.gz</ulink> (serveur).</para> - </listitem> - - </itemizedlist> - - <para>La plupart des utilisateurs n'auront besoin que du client. Ces - exécutables n'utilisent rien d'autre et fonctionneront avec toutes - les versions de FreeBSD, de FreeBSD-2.1.0 à - FreeBSD-current.</para> - - <para>Pour résumer, les options pour installer CVSup sont:</para> - - <itemizedlist> - - <listitem> - <para>FreeBSD-2.2 ou ultérieur: binaire statique, logiciel - porté ou “paquetage”,</para> - </listitem> - - <listitem> - <para>FreeBSD-2.1.6, 2.1.7: binaire statique ou logiciel - porté,</para> - </listitem> - - <listitem> - <para>FreeBSD-2.1.5 ou antérieur: binaire statique.</para> - </listitem> - - </itemizedlist> - - </sect3> - - <sect3 id="cvsup-config"> - <title>Configuration</title> - - <para>Le fonctionnement de <application>CVSup</application> - est contrôlé par un fichier de configuration appelé fichier - <filename>supfile</filename>. Depuis FreeBSD-2.2, il y a - des exemples de fichiers <filename>supfile</filename> - dans le répertoire - <ulink url="file:/usr/share/examples/cvsup">/usr/share/examples/cvsup</ulink>. - Ces exemples sont aussi disponibles sur - <ulink url="ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/">ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/share/examples/cvsup/</ulink> - si la version de votre système est antérieure à la 2.2.</para> - - <para>Les informations du fichier <filename>supfile</filename> - répondent pour - <citerefentry><refentrytitle>cvsup</refentrytitle></citerefentry> - aux questions suivantes:</para> - - <itemizedlist> - - <listitem> - <para><link linkend="cvsup-config-files">Quels fichiers - voulez-vous télécharger?</link></para> - </listitem> - - <listitem> - <para><link linkend="cvsup-config-vers">Quelles versions de - ces fichiers voulez-vous?</link></para> - </listitem> - - <listitem> - <para><link linkend="cvsup-config-where">D'où voulez-vous les - télécharger?</link></para> - </listitem> - - <listitem> - <para><link linkend="cvsup-config-dest">Où voulez-vous les - mettre sur votre machine?</link></para> - </listitem> - - <listitem> - <para><link linkend="cvsup-config-status">Où voulez-vous - mettre les fichiers d'état de votre archive?</link></para> - </listitem> - - </itemizedlist> - - <para>Dans les sections qui suivent, nous allons renseigner un - fichier <filename>supfile</filename> typique en répondant une à - une à chacune de ces questions. Commençons par décrire la - structure d'ensemble d'un fichier - <filename>supfile</filename>.</para> - - <para>Un fichier <filename>supfile</filename> est un fichier texte. - Les commentaires débutent par un <literal>#</literal> et se - prolongent jusqu'à la fin de la ligne. Les lignes vides ou qui ne - contiennent que des commentaires sont ignorées.</para> - - <para>Les autres lignes décrivent les ensembles de fichiers que - l'utilisateur souhaite recevoir. Ces lignes commencent par le - nom d'un - “catalogue” - <foreignphrase>collection</foreignphrase>, - 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 des blancs. Ces champs répondent aux questions listées - ci-dessus. Il y a deux sortes de champs: des indicateurs et des - valeurs. Un indicateur est un mot-clé autonome, e.g., - <literal>delete</literal> ou <literal>compress</literal>. Une - valeur commence aussi par un mot-clé, mais il est immédiatement - suivi - sans espace entre les deux - par un - <literal>=</literal> et un deuxième mot. Par exemple, - <literal>release=cvs</literal> est un champ définissant une - valeur.</para> - - <para>Un fichier <filename>supfile</filename> décrit en général plus - d'un catalogue à télécharger. Un façon de construire un fichier - <filename>supfile</filename> consiste à préciser explicitement - tous les champs nécessaires pour chaque catalogue. Cela génère - cependant des fichiers <filename>supfile</filename> 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 <filename>supfile</filename>. - <application>CVSup</application> fournit un mécanisme pour - définir des valeurs par défaut pour éviter ce problème. Les lignes - qui commencent par le nom du pseudo-catalogue spécial - <literal>*default</literal> servent à définir des indicateurs et - des valeurs qui seront pris par défaut pour les catalogues listés - ensuite dans le fichier <filename>supfile</filename>. 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 être aussi redéfinies, ou bien on peut en - définir de nouvelles, en cours de fichier - <filename>supfile</filename>, par de nouvelles lignes - <literal>*default</literal>.</para> - - <para>Sachant cela, nous allons maintenant mettre au point un - fichier <filename>supfile</filename> pour télécharger et mettre - à jour l'arborescence principale de - <link linkend="current">FreeBSD-current</link>.</para> - - <itemizedlist> - - <listitem> - <para>Quels fichiers voulons-nous télécharger?<anchor - id="cvsup-config-files"></para> - - <para>Les fichiers disponibles via - <application>CVSup</application> sont regroupés par - “catalogues” - <foreignphrase>collections</foreignphrase>. - Les catalogues disponibles sont décrits - <link linkend="cvsup-collec">ici</link>. Dans notre exemple, - nous souhaitons recevoir toute l'arborescence principale du - système FreeBSD. Il y a un unique gros catalogue - <literal>src-all</literal> qui correspond à tout cela, à - l'exception du code de cryptographie dont l'exportation est - soumise à des restrictions. Supposons que nous soyons aux - USA ou au Canada. Nous pouvons alors obtenir le code de - cryptographie avec le catalogue supplémentaire - <literal>cvs-crypto</literal>. Pour commencer à renseigner - notre fichier <filename>supfile</filename>, - nous listons simplement ces catalogues, chacun sur une - ligne.</para> - - <programlisting> -src-all -cvs-crypto - </programlisting> - </listitem> - - <listitem> - <para>Quelles version(s) voulons-nous télécharger?<anchor - id="cvsup-config-vers"></para> - - <para>Avec <application>CVSup</application>, vous pouvez obtenir - pratiquement n'importe quelle version qui ait existé des - sources. C'est possible parce que le serveur - <citerefentry><refentrytitle>cvsupd</refentrytitle></citerefentry> - travaille directement à partir des archives CVS, qui - contiennent toutes les versions. Vous dites quelle version - vous voulez en utilisant les valeurs - <literal>tag=</literal> et <option>date=</option>.</para> - - <warning> - <para>Faites très attention à définir correctement la valeur - <literal>tag=</literal>. Il y a des étiquettes qui ne - s'appliquent qu'à certains catalogues ou fichiers. 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 <emphasis>que</emphasis> <literal>tag=.</literal> - pour les catalogues <literal>ports-*</literal>.</para> - </warning> - - <para>Les valeurs données avec <literal>tag=</literal> sont - des étiquettes symboliques définies dans les archives. 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.</para> - - <para>Voici les étiquettes de branches qui peuvent intéresser les - utilisateurs:</para> - - <variablelist> - <varlistentry> - <term>tag=.</term> - - <listitem> - <para>La branche principale de développement, appelée aussi - FreeBSD-current.</para> - <note> - <para>Le <literal>.</literal> n'est pas un - ponctuation; C'est le nom de l'étiquette. - S'applique à tous les catalogues.</para> - </note> - </listitem> - </varlistentry> - - <varlistentry><term>tag=RELENG_2_2</term> - - <listitem> - <para>Branche de développement de FreeBSD-2.2.x, connue aussi - sous le nom de FreeBSD-stable. Ne s'applique pas aux - catalogues ports-*.</para> - </listitem> - </varlistentry> - - <varlistentry><term>tag=RELENG_2_1_0</term> - - <listitem> - <para>Branche de développement de FreeBSD-2.1.x - cette branche - est largement obsolète. Ne s'applique pas aux catalogues - ports-*.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>Voici les étiquettes de révision qui peuvent vous - intéresser:</para> - - <para> - <variablelist> - <varlistentry><term>tag=RELENG_2_2_6_RELEASE</term> - <listitem> - <para>FreeBSD-2.2.6. Ne s'applique pas aux - catalogues ports-*.</para> - </listitem> - </varlistentry> - - <varlistentry><term>tag=RELENG_2_2_5_RELEASE</term> - - <listitem> - <para>FreeBSD-2.2.5. Ne s'applique pas aux - catalogues ports-*.</para> - </listitem> - </varlistentry> - - <varlistentry><term>tag=RELENG_2_2_2_RELEASE</term> - - <listitem> - <para>FreeBSD-2.2.2. Ne s'applique pas aux - catalogues ports-*.</para> - </listitem> - </varlistentry> - - <varlistentry><term>tag=RELENG_2_2_1_RELEASE</term> - - <listitem> - <para>FreeBSD-2.2.1. Ne s'applique pas aux - catalogues ports-*.</para> - </listitem> - </varlistentry> - - <varlistentry><term>tag=RELENG_2_2_0_RELEASE</term> - - <listitem> - <para>FreeBSD-2.2.0. Ne s'applique pas aux - catalogues ports-*.</para> - </listitem> - </varlistentry> - - <varlistentry><term>tag=RELENG_2_1_7_RELEASE</term> - - <listitem> - <para>FreeBSD-2.1.7. Ne s'applique pas aux - catalogues ports-*.</para> - </listitem> - </varlistentry> - - <varlistentry><term>tag=RELENG_2_1_6_1_RELEASE</term> - - <listitem> - <para>FreeBSD-2.1.6.1. Ne s'applique pas aux - catalogues ports-*.</para> - </listitem> - </varlistentry> - - <varlistentry><term>tag=RELENG_2_1_6_RELEASE</term> - - <listitem> - <para>FreeBSD-2.1.6. Ne s'applique pas aux - catalogues ports-*.</para> - </listitem> - </varlistentry> - - <varlistentry><term>tag=RELENG_2_1_5_RELEASE</term> - - <listitem> - <para>FreeBSD-2.1.5. Ne s'applique pas aux - catalogues ports-*.</para> - </listitem> - </varlistentry> - - <varlistentry><term>tag=RELENG_2_1_0_RELEASE</term> - - <listitem> - <para>FreeBSD-2.1.0. Ne s'applique pas aux - catalogues ports-*.</para> - </listitem> - </varlistentry> - </variablelist> - </para> - - <warning> - <para>Faites très attention à mentionner précisement - l'étiquette exacte. <application>CVSup</application> - ne sait pas différencier une étiquette valide d'une - étiquette qui ne l'est pas. Si vous orthographiez mal - l'étiquette, <application>CVSup</application> se comportera - comme si vous aviez donné une étiquette valide qui ne - se réfère à aucun fichier et supprimera alors tous les - sources que vous avez déjà.</para> - </warning> - - <para>Lorsque vous donnez 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 versions antérieures, vous pouvez le faire en donnant - une date avec le champ <option>date=</option>. Les pages - de manuel de - <citerefentry><refentrytitle>cvsup</refentrytitle><manvolnum>1</manvolnum></citerefentry> - vous expliquent comment le faire.</para> - - <para>Dans notre exemple, nous voulons obtenir - FreeBSD-current. Nous ajoutons alors la ligne suivante au - début de notre fichier <filename>supfile</filename>:</para> - - <programlisting> -*default tag=. - </programlisting> - - <para>Ne spécifier ni le champ <literal>tag=</literal> ni le - champ <literal>date=</literal> est un cas particulier - important. Vous obtenez alors les fichiers RCS directement - des archives du serveur CVS, plutôt qu'une version donnée. - Les développeurs préfèrent généralement cette façon de - travailler. En maintenant une version des archives - elles-mêmes 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.</para> - </listitem> - - <listitem> - <para>D'où voulons-nous les télécharger?<anchor - id="cvsup-config-where"></para> - - <para>Nous employons le champ <literal>host=</literal> pour - dire à <command>cvsup</command> où récupérer ses mises à - jour. N'importe lequel des - <link linkend="mirrors-cvsup">sites miroir CVSup</link> fera - l'affaire, bien que vous devriez essayer de choisir un site - proche de vous. Dans notre exemple, nous utiliserons le site - principal de distribution de FreeBSD, - <hostid role="fqdn">cvsup.FreeBSD.org</hostid>:</para> - - <programlisting> -*default host=cvsup.FreeBSD.org - </programlisting> - - <para>Lors de l'exécution de <command>cvsup</command>, vous - pouvez surcharger cette définition sur la ligne de commande, - avec l'option <option>-h - <replaceable>nom_de_machine</replaceable></option>.</para> - </listitem> - - <listitem> - <para>Où voulons-nous les mettre sur notre - machine?<anchor id="cvsup-config-dest"></para> - - <para>Le champ <literal>prefix=</literal> dit à - <command>cvsup</command> où mettre les fichiers qu'il obtient. - Dans l'exemple, nous mettrons les fichiers source directement - dans notre arborescence des sources, - <filename>/usr/src</filename>. Le répertoire - <filename>src</filename> est déjà implicitement défini dans - les catalogues que nous avons choisis de télécharger, voici - donc la définition correcte:</para> - - <programlisting> -*default prefix=/usr - </programlisting> - </listitem> - - <listitem> - <para>Où <command>cvsup</command> doit-il mettre les fichiers - décrivant l'état de notre archive?<anchor - id="cvsup-config-status"></para> - - <para>Le client - <citerefentry><refentrytitle>cvsup</refentrytitle></citerefentry> - tient à jour des fichiers d'état dans ce qui est appelé le - répertoire de “base”. Ces fichiers - permettent à <application>CVSup</application> de travailler - plus efficacement en gardant la trace des modifications que - nous avons déjà reçues. Nous utiliserons le répertoire de - base standard, - <filename>/usr/local/etc/cvsup</filename>:</para> - - <programlisting> -*default base=/usr/local/etc/cvsup - </programlisting> - - <para>Cette configuration est utilisée par défaut, si elle - n'est pas précisée dans le fichier - <filename>supfile</filename>, la ligne ci-dessus n'est donc - pas indispensable.</para> - - <para>Si votre répertoire de base n'existe pas encore, c'est - le moment de le créer. Le client <command>cvsup</command> - refusera de s'exécuter si le répertoire de base n'existe - pas.</para> - </listitem> - - <listitem> - <para>Diverses autres options de configuration dans le fichier - <filename>supfile</filename>:</para> - - <para>Il y a une autre ligne d'instructions qui doit - normalement figurer dans le fichier - <filename>supfile</filename>:</para> - - <programlisting> -*default release=cvs delete use-rel-suffix compress - </programlisting> - - <para><literal>release=cvs</literal> dit au serveur d'obtenir - les informations des archives principales de FreeBSD. C'est - quasiment toujours le cas, mais il existe d'autres - possibilités qui sortent du cadre du présent - document.</para> - - <para><literal>delete</literal> donne à - <application>CVSup</application> l'autorisation de supprimer - des fichiers. Utilisez toujours cette possibilité, de sorte - que <application>CVSup</application> puisse vraiment maintenir - à jour votre arborescence des sources. - <application>CVSup</application> veille à ne supprimer que - les fichiers qu'il maintient. Les fichiers supplémentaires - que vous pourriez avoir ne seront pas touchés.</para> - - <para><literal>use-rel-suffix</literal> est ... ésotérique. Si - vous voulez vraiment savoir de quoi il retourne, lisez les - pages de manuel de - <citerefentry><refentrytitle>cvsup</refentrytitle><manvolnum>1</manvolnum></citerefentry>. - Sinon, mettez cet indicateur et ne vous en souciez pas - plus.</para> - - <para><literal>compress</literal> permet d'utiliser un - algorithme de compression de type - <citerefentry><refentrytitle>gzip</refentrytitle></citerefentry> - sur la ligne de communication. Si votre liaison a la - vitesse d'une ligne T1 ou plus, vous ne devriez - probablement pas utiliser la compression. Sinon, cela - facilite substantiellement les choses.</para> - </listitem> - - <listitem> - <para>Assembler les morceaux:</para> - - <para>Voici le fichier <filename>supfile</filename> de notre - exemple en entier:</para> - - <programlisting> -*default tag=. -*default host=cvsup.FreeBSD.org -*default prefix=/usr -*default base=/usr/local/etc/cvsup -*default release=cvs delete use-rel-suffix compress - -src-all -cvs-crypto - </programlisting> - </listitem> - - </itemizedlist> - - </sect3> - - <sect3> - <title>Exécuter <application>CVSup</application></title> - - <para>Vous êtes maintenant prêt à essayer de faire une mise une - jour. La ligne de commande à utiliser est très simple:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cvsup <replaceable>supfile</replaceable></userinput></screen> - </informalexample> - - <para>où <filename><replaceable>supfile</replaceable></filename> est - bien sûr le nom du fichier <filename>supfile</filename> que vous - venez de créer. Si vous êtes sous X11, <command>cvsup</command> - affichera une interface utilisateur graphique avec des boutons - pour les opérations courantes. Appuyez sur le bouton - “go” et suivez le déroulement des opérations.</para> - - <para>Comme, dans l'exemple, vous mettez directement à jour votre - arborescence <filename>/usr/src</filename>, vous devrez exécuter - le programme en tant que super-utilisateur - <username>root</username> de façon à ce que - <command>cvsup</command> ait le droit de mettre à jour ces - fichiers. Comme vous venez tout juste de mettre au point 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 une nouveau répertoire quelque part et donnez-le - en argument supplémentaire sur la ligne de commande:</para> - - <informalexample> - <screen>&prompt.root; <userinput>mkdir /var/tmp/dest</userinput> -&prompt.root; <userinput>cvsup <replaceable>supfile</replaceable> /var/tmp/dest</userinput></screen> - </informalexample> - - <para>Le répertoire indiqué sera pris comme destination pour tous - les fichiers modifiés. <application>CVSup</application> consultera - les fichiers habituels dans <filename>/usr/src</filename>, mais ne - les modifiera pas et n'en supprimera aucun. Les modifications - atterriront dans <filename>/var/tmp/dest/usr/src</filename>. - <application>CVSup</application> 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 mentionné. A partir du moment où vous avez les - droits en lecture sur <filename>/usr/src</filename>, vous n'avez même pas besoin d'être <username>root</username> pour faire ce - genre d'essai.</para> - - <para>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 <command>cvsup</command>:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cvsup -g -L 2 supfile</userinput></screen> - </informalexample> - - <para>L'option <option>-g</option> dit à <command>cvsup</command> - de ne pas utiliser son interface graphique. C'est automatique si - vous n'êtes pas sous X11, sinon vous devez le préciser.</para> - - <para>L'option <option>-L 2</option> dit à <command>cvsup</command> - d'imprimer le détail de ce qu'il est en train de faire. Il y a - trois niveaux de trace, de <option>-L 0</option> à - <option>-L 2</option>. Le valeur par défaut est de 0, qui équivaut - à n'émettre que les messages d'erreur.</para> - - <para>Il y a de nombreuses autres options disponibles. Pour en - avoir un résumé, tapez <command>cvsup -H</command>. Pour en avoir - une description plus détaillée, reportez-vous aux pages de - manuel.</para> - - <para>Une fois que vous êtes satisfait de la façon dont se passent - vos mises à jour, vous pouvez mettre en place un fonctionnement - de <command>cvsup</command> à intervalles réguliers en - utilisant - <citerefentry><refentrytitle>cron</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Bien évidemment, vous ne devez pas utiliser l'interface - graphique de <command>cvsup</command> quand vous le lancez depuis - <command>cron</command>.</para> - - </sect3> - <sect3 id="cvsup-collec"> - <title>Catalogue de fichiers - <application>CVSup</application></title> - - <para>Les catalogues de fichiers disponibles via - <application>CVSup</application> 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.</para> - - <para>Les catalogues habituellement les plus employés sont - <literal>src-all</literal>, <literal>cvs-crypto</literal>, - et <literal>ports-all</literal>. Les autres catalogues ne sont - utilisés que par de petits groupes de personnes pour des besoins - particuliers, et certains sites miroir ne le mettent pas à - disposition.</para> - - <variablelist> - <varlistentry><term><literal>cvs-all - release=cvs</literal></term> - <listitem> - <para>L'archive CVS principale de FreeBSD, à l'exception - des logiciels de cryptographie soumis à des restrictions - à l'exportation.</para> - - <para> - <variablelist> - <varlistentry><term><literal>distrib - release=cvs</literal></term> - <listitem> - <para>Les fichiers ayant trait à la distribution et - à la mise en place de sites miroir FreeBSD.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>doc-all - release=cvs</literal></term> - - <listitem> - <para>Les sources du manuel FreeBSD et d'autres - documentations.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-all - release=cvs</literal></term> - - <listitem> - <para>Le catalogue des logiciels portés de - FreeBSD.</para> - - <para> - <variablelist> - <varlistentry><term><literal>ports-archivers - release=cvs</literal></term> - <listitem> - <para>Outils d'archivage.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-astro - release=cvs</literal></term> - - <listitem> - <para>Logiciels d'astronomie.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-audio - release=cvs</literal></term> - - <listitem> - <para>Support du son.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-base - release=cvs</literal></term> - - <listitem> - <para>Fichiers divers en haut de la - hiérarchie - <filename>/usr/ports</filename>.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-benchmarks - release=cvs</literal></term> - - <listitem> - <para>Evaluation de performances.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-biology - release=cvs</literal></term> - - <listitem> - <para>Biologie.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-cad - release=cvs</literal></term> - - <listitem> - <para>Outils de Conception Assistée par - Ordinateur.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-chinese - release=cvs</literal></term> - - <listitem> - <para>Support pour le chinois.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-comms - release=cvs</literal></term> - - <listitem> - <para>Logiciels de communication.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-converters - release=cvs</literal></term> - - <listitem> - <para>Conversion entre codages des - caractères.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-databases - release=cvs</literal></term> - - <listitem> - <para>Bases de données.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-devel - release=cvs</literal></term> - - <listitem> - <para>Outils de développement.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-editors - release=cvs</literal></term> - - <listitem> - <para>Editeurs.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-emulators - release=cvs</literal></term> - - <listitem> - <para>Emulateurs d'autres systèmes - d'exploitation.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-games - release=cvs</literal></term> - - <listitem> - <para>Jeux.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-german - release=cvs</literal></term> - - <listitem> - <para>Support pour l'allemand.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-graphics - release=cvs</literal></term> - - <listitem> - <para>Outils graphiques.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-japanese - release=cvs</literal></term> - - <listitem> - <para>Support pour le japonais.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-korean - release=cvs</literal></term> - - <listitem> - <para>Support pour le coréen.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-lang - release=cvs</literal></term> - - <listitem> - <para>Langages de programmation.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-mail - release=cvs</literal></term> - - <listitem> - <para>Logiciels de courrier - électronique.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-math - release=cvs</literal></term> - - <listitem> - <para>Logiciels de calcul - numérique.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-mbone - release=cvs</literal></term> - - <listitem> - <para>Applications MBone.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-misc - release=cvs</literal></term> - - <listitem> - <para>Utilitaires divers.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-net - release=cvs</literal></term> - - <listitem> - <para>Logiciels réseau.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-news - release=cvs</literal></term> - - <listitem> - <para>Logiciels pour les forums de - discussion USENET.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-plan9 - release=cvs</literal></term> - - <listitem> - <para>Différents programmes pour - Plan9.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-print - release=cvs</literal></term> - - <listitem> - <para>Logiciels d'impression.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-russian - release=cvs</literal></term> - - <listitem> - <para>Support pour le russe.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-security - release=cvs</literal></term> - - <listitem> - <para>Outils de sécurité.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-shells - release=cvs</literal></term> - - <listitem> - <para>Interpréteurs de commandes.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-sysutils - release=cvs</literal></term> - - <listitem> - <para>Utilitaires système.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-textproc - release=cvs</literal></term> - - <listitem> - <para>Outils de traitement de texte (sauf - les logiciels de Publication Assistée - par Ordinateur).</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-vietnamese - release=cvs</literal></term> - - <listitem> - <para>Support pour le vietnamien.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-www - release=cvs</literal></term> - - <listitem> - <para>Logiciels World Wide Web.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>ports-x11 - release=cvs</literal></term> - - <listitem> - <para>Logiciels pour X11.</para> - - </listitem> - </varlistentry> - </variablelist> - </para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>src-all - release=cvs</literal></term> - - <listitem> - <para>Les sources du système FreeBSD, à l'exception - des logiciels de cryptographie, soumis à des - restrictions à l'exportation.</para> - - <para> - <variablelist> - <varlistentry><term><literal>src-base - release=cvs</literal></term> - <listitem> - <para>Divers fichiers en haut de la - hiérarchie - <filename>/usr/src</filename>.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>src-bin - release=cvs</literal></term> - - <listitem> - <para>Programmes utilisateurs qui peuvent - être utiles en mode mono-utilisateur - (<filename>/usr/src/bin</filename>).</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>src-contrib - release=cvs</literal></term> - - <listitem> - <para>Utilitaires et bibliothèques d'origine - indépendante du projet FreeBSD, employés - à peu près tels quels - (<filename>/usr/src/contrib</filename>).</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>src-etc - release=cvs</literal></term> - - <listitem> - <para>Fichiers de configuration du système - (<filename>/usr/src/etc</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry><term><literal>src-games - release=cvs</literal></term> - - <listitem> - <para>Jeux - (<filename>/usr/src/games</filename>).</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>src-gnu - release=cvs</literal></term> - - <listitem> - <para>Utilitaires soumis à la licence - publique GNU - (<filename>/usr/src/gnu</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry><term><literal>src-include - release=cvs</literal></term> - - <listitem> - <para>Fichiers d'en-tête - (<filename>/usr/src/include</filename>).</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>src-kerberosIV - release=cvs</literal></term> - - <listitem> - <para>Logiciel de sécurité KerberosIV - (<filename>/usr/src/kerberosIV</filename>).</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>src-lib - release=cvs</literal></term> - - <listitem> - <para>Bibliothèques - (<filename>/usr/src/lib</filename>).</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>src-libexec - release=cvs</literal></term> - - <listitem> - <para>Programmes système normalement - exécutés par d'autres programmes - (<filename>/usr/src/libexec</filename>).</para> - </listitem> - </varlistentry> - - <varlistentry><term><literal>src-release - release=cvs</literal></term> - - <listitem> - <para>Fichiers nécessaires à la génération - d'une version de FreeBSD - (<filename>/usr/src/release</filename>).</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>src-sbin - release=cvs</literal></term> - - <listitem> - <para>Utilitaires système pour le mode - mono-utilisateur - (<filename>/usr/src/sbin</filename>).</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>src-share - release=cvs</literal></term> - - <listitem> - <para>Fichiers qui peuvent être partagés par - plusieurs systèmes - (<filename>/usr/src/share</filename>).</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>src-sys - release=cvs</literal></term> - - <listitem> - <para>Le noyau - (<filename>/usr/src/sys</filename>).</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>src-tools - release=cvs</literal></term> - - <listitem> - <para>Divers outils de maintenance de - FreeBSD - (<filename>/usr/src/tools</filename>).</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>src-usrbin - release=cvs</literal></term> - - <listitem> - <para>Outils utilisateurs - (<filename>/usr/src/usr.bin</filename>).</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>src-usrsbin - release=cvs</literal></term> - - <listitem> - <para>Utilitaires système - (<filename>/usr/src/usr.sbin</filename>).</para> - - </listitem> - </varlistentry> - </variablelist> - </para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>www - release=cvs</literal></term> - - <listitem> - <para>Sources du site World Wide Web.</para> - - </listitem> - </varlistentry> - </variablelist> - </para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>cvs-crypto - release=cvs</literal></term> - - <listitem> - <para>Le code de cryptographie soumis à des restrictions à - l'exportation.</para> - - <para> - <variablelist> - <varlistentry><term><literal>src-crypto - release=cvs</literal></term> - <listitem> - <para>Utilitaires et bibliothèques restreints à - l'exportation, d'origine extérieure au projet - FreeBSD, employés quasiment tels quels - (<filename>/usr/src/crypto</filename>).</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>src-eBones - release=cvs</literal></term> - - <listitem> - <para>Kerberos et DES - (<filename>/usr/src/eBones</filename>).</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>src-secure - release=cvs</literal></term> - - <listitem> - <para>DES - (<filename>/usr/src/secure</filename>).</para> - - </listitem> - </varlistentry> - </variablelist> - </para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>distrib - release=self</literal></term> - - <listitem> - <para>Fichier de configuration du serveur CVSup. Utilisés - par les sites miroir CVSup.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>gnats - release=current</literal></term> - - <listitem> - <para>Bases de données GNATS d'historique des bogues.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>mail-archive - release=current</literal></term> - - <listitem> - <para>Archives des listes de diffusion FreeBSD.</para> - - </listitem> - </varlistentry> - - <varlistentry><term><literal>www - release=current</literal></term> - - <listitem> - <para>Données World Wide Web publiées. Utilisées par les - sites miroir WWW.</para> - - </listitem> - </varlistentry> - </variablelist> - - </sect3> - - <sect3> - <title>Annonces, questions, et rapports de bogues</title> - - <para>La plupart des discussions relatives à - <application>CVSup</application> pour FreeBSD ont lieu sur la - &a.hackers;. Les nouvelles versions du logiciel y sont annoncées, - ainsi que sur la &a.announce;.</para> - - <para>Questions et rapports de bogues doivent être adressés à - l'auteur du programme à l'adresse - <email>cvsup-bugs@polstra.com</email>.</para> - - </sect3> - </sect2> - </sect1> - - <sect1 id="makeworld"> - <title>Utiliser <command>make world</command> pour recompiler votre - système</title> - - <para><emphasis>Contribution de &a.nik;.</emphasis></para> - - <para>Une fois que vous avez synchronisé votre arborescence avec une - version donnée de FreeBSD (<literal>-stable</literal>, - <literal>-current</literal> et ainsi de suite) vous devez utiliser - cette arborescence des sources pour regénérer votre système.</para> - - <para>La meilleure source d'information sur la façon de le faire est - aujourd'hui un guide disponible sur - <ulink url="&url.tutorials;make-world/index.html">&url.tutorials;make-world</ulink>.</para> - - <para>Une nouvelle version de ce guide sera intégrée à ce manuel.</para> - - </sect1> - </chapter> -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-shorttag: nil - sgml-always-quote-attributes: t - sgml-minimize-attributes: max - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> diff --git a/fr_FR.ISO8859-1/books/handbook/disks/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/disks/chapter.sgml deleted file mode 100755 index fb90e9cfa1..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/disks/chapter.sgml +++ /dev/null @@ -1,191 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: n.nn ---> - -<chapter id="disks"> - <title>Disques</title> - - <para><emphasis>Contribution de &a.obrien; 26 April 1998</emphasis></para> - &trans.a.haby; - - <para>Supposons que nous voulions ajouter un second disque SCSI à une machine - qui n'a pour l'instant qu'un seul disque. Commençons par arrêter l'ordinateur - et installer le disque en suivant les instructions données pour l'ordinateur, - le contrôleur et le disque. Comme il y a de nombreuses variantes pour ces - procédures, les détails débordent le cadre de ce document.</para> - - <para>Ouvrons maintenant un session sous le compte - super-utilisateur <username>root</username>. Après - avoir installé le disque, consultons le fichier - <filename>/var/run/dmesg.boot</filename> - pour vérifier que le disque a été reconnu. Dans notre exemple, le disque - que nous venons d'ajouter sera le périphérique <filename>sd1</filename> - que nous monterons sur le répertoire <filename>/1</filename>. (Si vous - ajoutez un disque IDE, remplacez <filename>sd</filename> par - <filename>wd</filename>).</para> - - <para>Comme FreeBSD tourne sur des ordinateurs compatibles IBM-PC, il doit - prendre en compte les partitions PC BIOS. Celles-ci sont différentes des - partitions BSD traditionnelles. Un disque PC peut avoir jusqu'à quatre - partitions. Si le disque va être réservé à FreeBSD, vous pouvez utiliser - le mode <emphasis>dédié</emphasis>. Sinon FreeBSD devra utiliser une des - partitions PC BIOS. FreeBSD appelle les partitions PC BIOS - <emphasis>tranches (“slices”)</emphasis> pour les distinguer - des partitions BSD traditionnelles. Vous pouvez aussi utiliser des - tranches sur un disque dédié à FreeBSD, sur une machine où un autre - système d'exploitation est aussi installé. Cela évite de perturber - l'utilitaire <command>fdisk</command> de l'autre système - d'exploitation.</para> - - <para>Dans le cas d'une tranche, le disque ajouté deviendra le périphérique - <filename>/dev/sd1s1e</filename>. Ce qui se lit: disque SCSI, numéro - d'unité 1 (second disque SCSI), tranche 1 (partition PC BIOS 1), et - partition BSD <filename>e</filename>. Dans le cas d'un disque dédié, ce - sera simplement <filename>/dev/sd1e</filename>.</para> - - <sect1> - <title>Utiliser sysinstall</title> - - <para>Vous pouvez utiliser <command>/stand/sysinstall</command> - et ses menus simples d'emploi pour - partitionner et libeller le nouveau disque. - Ouvrez une session sous le compte - super-utilisateur <username>root</username> - ou servez-vous de la commande <command>su</command>. Lancez - <command>/stand/sysinstall</command> et choisissez le menu - <literal>Configure</literal> (Configurer). Dans le <literal>FreeBSD - Configuration Menu</literal> (Menu de Configuration de FreeBSD), - descendez dans la liste et sélectionnez <literal>Partition</literal>. - Vous devriez voir apparaître la liste des disques durs de votre - système. Si <literal>sd1</literal> n'est pas dans la liste, il vous - faut vérifier votre installation physique et le résultat de la - commande <command>dmesg</command> dans le fichier - <filename>/var/run/dmesg.boot</filename>.</para> - - <para>Sélectionnez <literal>sd1</literal> pour allez dans le - <literal>FDISK Partition Editor</literal> (l'éditeur de - Partition FDISK). Prenez l'option <literal>A</literal> pour utiliser - tout le disque pour FreeBSD. Lorsque l'on vous demande si vous - voulez vous garder la possibilité de pouvoir coopérer avec d'autres - systèmes d'exploitation (“remain cooperative with any future - possible operating systems”), répondez par l'affirmative - (<literal>YES</literal>). Enregistrez vos modifications sur disque - avec <command>W</command>. Quittez maintenant l'éditeur FDISK avec - <command>q</command>. La prochaine question concernera l'enregistrement - de démarrage (“Master Boot Record”). Comme vous ajoutez un - disque à un système déjà opérationnel, choisissez <literal>None</literal> - (aucun).</para> - - <para>Allez maintenant dans le <literal>Disk Label Editor</literal> (l'éditeur - de label du disque). C'est là que vous allez créer les partitions BSD - traditionnelles. Un disque peut avoir jusqu'à huit partitions, libellées - de a à h. Certains de ces labels ont des significations particulières. - La partition <literal>a</literal> est la partition racine (<filename>/</filename>). - Seul votre disque système (e.g., celui à partir duquel vous démarrez) - doit avoir une partition <literal>a</literal>. La partition - <literal>b</literal> sert à la pagination, vous pouvez avoir plusieurs - disques avec des partitions de pagination. La partition <literal>c</literal> - désigne la totalité du disque en mode dédié, ou toute la tranche FreeBSD - dans le cas contraire. Les autres partitions sont à usage général.</para> - - <para>L'éditeur de label de <command>sysinstall</command> définit par défaut la - partition <literal>e</literal> comme première partition qui n'est ni - racine, ni de pagination. Dans l'éditeur de label, créez un seul - système de fichiers avec l'option <command>C</command>. Quand on vous - demande si ce sera un système de fichier (FS) ou une partition de - pagination, choisissez <literal>FS</literal> et indiquez un point de - montage (e.g, <filename>/mnt</filename>). Lorsque vous ajoutez un - disque à un système déjà installé, <command>sysinstall</command> ne - crée pas d'entrée dans <filename>/etc/fstab</filename>, donc le nom - que vous donnez au point de montage n'a pas d'importance.</para> - - <para>Vous pouvez maintenant écrire le nouveau label sur le disque et y - créer un système de fichiers. Faites-le avec la commande <command>W</command>. - Ne faites pas attention aux erreurs de <command>sysinstall</command> - qui vous disent que la nouvelle partition ne peut pas être montée. Quittez - maintenant l'éditeur de label et <command>sysinstall</command>.</para> - - <para>La dernière étape consiste à éditer le fichier - <filename>/etc/fstab</filename> pour y ajouter une entrée pour votre nouveau - disque.</para> - </sect1> - - <sect1> - <title>Employer les utilitaires sur la ligne de commande</title> - - <sect2> - <title>* Utiliser les tranches - “slices”</title> - - <para></para> - </sect2> - - <sect2> - <title>Disque dédié</title> - - <para>Si le nouveau disque n'est pas destiné à être partagé avec un autre - système d'exploitation, vous pouvez utiliser le mode <literal>dédié</literal>. - Rappelez-vous que ce mode peut perturber les systèmes d'exploitation Microsoft; - cependant, ils ne toucheront pas au disque. OS/2 d'IBM, au contraire, - “s'approprie” toute partition qu'il trouve et ne reconnaît - pas.</para> - - <informalexample> - <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/rsd1 bs=1k count=1</userinput> -&prompt.root; <userinput>disklabel -Brw sd1 auto</userinput> -&prompt.root; <userinput>disklabel -e sd</userinput>1 # créer la partition `e' -&prompt.root; <userinput>newfs -d0 /dev/rsd1e</userinput> -&prompt.root; <userinput>mkdir -p /1</userinput> -&prompt.root; <userinput>vi /etc/fstab</userinput> # ajouter une entrée pour /dev/sd1e -&prompt.root; <userinput>mount /1</userinput></screen> - </informalexample> - - <para>Voici une autre méthode:</para> - - <informalexample> - <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/rsd1 count=2</userinput> -&prompt.root; <userinput>disklabel /dev/rsd1 | disklabel -BrR sd1 /dev/stdin</userinput> -&prompt.root; <userinput>newfs /dev/rsd1e</userinput> -&prompt.root; <userinput>mkdir -p /1</userinput> -&prompt.root; <userinput>vi /etc/fstab</userinput> # ajouter une entrée pour /dev/sd1e -&prompt.root; <userinput>mount /1</userinput></screen> - </informalexample> - </sect2> - </sect1> - - <sect1> - <title>* Autres types de disques</title> - - <sect2> - <title>* Disques Zip</title> - - <para></para> - </sect2> - - <sect2> - <title>* Disques Jazz</title> - - <para></para> - </sect2> - - <sect2> - <title>* Disques Sequest</title> - - <para></para> - </sect2> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> diff --git a/fr_FR.ISO8859-1/books/handbook/eresources/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/eresources/chapter.sgml deleted file mode 100644 index 4fc16d23e4..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/eresources/chapter.sgml +++ /dev/null @@ -1,1357 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: 1.11 ---> - -<chapter id="eresources"> - <title>Ressources sur Internet</title> - - <para><emphasis>Contribution de &a.jkh;.</emphasis></para> - &trans.a.haby; - - <para>L'évolution rapide de FreeBSD rend peu pratique le suivi des - derniers développements via des supports imprimés. Les - supports électroniques sont le meilleur, sinon la plupart du temps, - le seul moyen, de se tenir au courant des dernières - évolutions. Comme FreeBSD est une entreprise bénévole, - la communauté des utilisateurs sert aussi souvent de “service - de support technique”, le courrier électronique et les forums - de discussion étant le meilleur moyen de contacter cette - communauté.</para> - - <para>Les points de contact les plus importants avec la communauté des - utilisateurs de FreeBSD sont listés ci-dessous. Si vous connaissez - d'autres ressources qui n'y figurent pas, communiquez-les s'il vous - plaît à la &a.doc;, de façon à ce qu'elles - soient aussi mentionnées.</para> - - <sect1 id="eresources-mail"> - <title>Listes de diffusion</title> - - <para>Bien que nombre des développeurs de FreeBSD lisent les forums - de discussion, nous ne pouvons vous garantir de réponse en temps et - heure à vos questions (ni même de réponse tout court) - si vous ne les poster que sur un des groupes - <literal>comp.unix.bsd.freebsd.*</literal>. En posant vos questions sur - la liste de diffusion appropriée, vous nous contacterez en - même temps qu'un auditoire FreeBSD concentré, ce qui vous - garantit invariablement une meilleure réponse (ou au moins une - réponse plus rapide).</para> - - <para>Les directives d'usage des différentes listes sont - données à la fin de ce document. <emphasis>Lisez-les - s'il vous plaît avant de vous inscrire ou d'envoyer du courrier - à une liste</emphasis>. La plupart des souscripteurs de nos listes - recoivent maintenant des centaines de messages en rapport avec FreeBSD - tous les jours, et en définissant des directives et des - règles d'utilisation, nous essayons de garder assez - élevé le rapport signal/bruit sur ces listes. Ne pas le - faire amènerait l'échec des listes de diffusion comme - moyen efficace de communication pour le projet.</para> - - <para>Des archives de toutes les listes de diffusion sont conservées - et peuvent être consultées sur le - <ulink URL="http://www.FreeBSD.ORG/search.html">serveur World Wide Web de - FreeBSD</ulink>. Les archives interrogeables par mots-clés sont un - excellent moyen de trouver des réponses aux questions - fréquemment posées et devraient être consultées - avant de poster une question.</para> - - <sect2 id="eresources-summary"> - <title>Résumé des listes de diffusion</title> - - <para><emphasis>Listes générales :</emphasis> Les - listes suivantes sont des listes générales auxquelles - chacun est libre (et encouragé) à participer :</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Liste</entry> - <entry>Objet</entry> - </row> - </thead> - - <tbody> - <row> - <entry>freebsd-advocacy</entry> - <entry>Propagande FreeBSD</entry> - </row> - - <row> - <entry>freebsd-announce</entry> - <entry>Evénements importants concernant le projet</entry> - </row> - - <row> - <entry>freebsd-bugs</entry> - <entry>Rapports de bogues</entry> - </row> - - <row> - <entry>freebsd-chat</entry> - <entry>Sujets non-techniques en rapport avec la communauté - FreeBSD</entry> - </row> - - <row> - <entry>freebsd-current</entry> - <entry>Discussions concernant l'utilisation de - FreeBSD-current</entry> - </row> - - <row> - <entry>freebsd-isp</entry> - <entry>Pour les fournisseurs d'accès Internet utilisant - FreeBSD</entry> - </row> - - <row> - <entry>freebsd-jobs</entry> - <entry>Emplois et interventions de consultants en rapport avec - FreeBSD</entry> - </row> - - <row> - <entry>freebsd-newbies</entry> - <entry>Activités et discussions entre nouveaux utilisateurs - de FreeBSD</entry> - </row> - - <row> - <entry>freebsd-questions</entry> - <entry>Questions des utilisateurs et support technique</entry> - </row> - - <row> - <entry>freebsd-stable</entry> - <entry>Discussions concernant l'utilisation de - FreeBSD-stable</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Listes techniques :</emphasis> Les listes suivantes - sont destinées aux discussions techniques. Vous devriez lire les - directives relatives à chaque liste avant d'y souscrire ou d'y - adresser du courrier parce que ce sont des règles fermes quand - à leur utilisation et leur contenu.</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Liste</entry> - <entry>Objet</entry> - </row> - </thead> - - <tbody> - <row> - <entry>freebsd-afs</entry> - <entry>Portage d'AFS sous FreeBSD</entry> - </row> - - <row> - <entry>freebsd-alpha</entry> - <entry>Portage de FreeBSD sur Alpha</entry> - </row> - - <row> - <entry>freebsd-doc</entry> - <entry>Rédaction de documents relatifs à - FreeBSD</entry> - </row> - - <row> - <entry>freebsd-database</entry> - <entry>Discussions à propos de l'utilisation et du - développement de bases de données sous - FreeBSD</entry> - </row> - - <row> - <entry>freebsd-emulation</entry> - <entry>Emulation d'autres systèmes tels que - Linux/DOS/Windows</entry> - </row> - - <row> - <entry>freebsd-fs</entry> - <entry>Systèmes de fichiers</entry> - </row> - - <row> - <entry>freebsd-hackers</entry> - <entry>Discussions techniques générales</entry> - </row> - - <row> - <entry>freebsd-hardware</entry> - <entry>Discussions générales sur le matériel - utilisable avec FreeBSD</entry> - </row> - - <row> - <entry>freebsd-isdn</entry> - <entry>Développeurs ISDN</entry> - </row> - - <row> - <entry>freebsd-java</entry> - <entry>Développeurs Java et personnes portant les JDKs - sous FreeBSD</entry> - </row> - - <row> - <entry>freebsd-mobile</entry> - <entry>Discussions à propos des portables</entry> - </row> - - <row> - <entry>freebsd-mozilla</entry> - <entry>Portage de mozilla sous FreeBSD</entry> - </row> - - <row> - <entry>freebsd-net</entry> - <entry>Discussions sur le réseau et le code source - TCP/IP</entry> - </row> - - <row> - <entry>freebsd-platforms</entry> - <entry>A propos des portages sur les plates-formes - non-Intel</entry> - </row> - - <row> - <entry>freebsd-ports</entry> - <entry>Discussions sur le catalogue des logiciels - portés</entry> - </row> - - <row> - <entry>freebsd-scsi</entry> - <entry>Sous-système SCSI</entry> - </row> - - <row> - <entry>freebsd-security</entry> - <entry>Questions concernant la securité</entry> - </row> - - <row> - <entry>freebsd-small</entry> - <entry>Utilisation de FreeBSD pour des applications - embarquées</entry> - </row> - - <row> - <entry>freebsd-smp</entry> - <entry>Discussions sur l'implémentation du MultiProcessing - [A]Symétrique</entry> - </row> - - <row> - <entry>freebsd-sparc</entry> - <entry>Portage de FreeBSD sur les systèmes Sparc</entry> - </row> - - <row> - <entry>freebsd-tokenring</entry> - <entry>Support de l'anneau à jetons sous FreeBSD</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Listes à accès restreint :</emphasis> - Il faut l'accord de <email>core@FreeBSD.ORG</email> pour pouvoir - souscrire aux listes qui suivent, bien que chacun soit libre d'y - adresser des messages s'ils satisfont à leurs directives - d'utilisation. C'est aussi une bonne idée d'être d'abord - actif sur les listes techniques avant de souscrire à une des - listes réservées.</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Liste</entry> - <entry>Objet</entry> - </row> - </thead> - - <tbody> - <row> - <entry>freebsd-admin</entry> - <entry>Questions administratives</entry> - </row> - - <row> - <entry>freebsd-arch</entry> - <entry>Discussions sur l'architecture et - l'implémentation</entry> - </row> - - <row> - <entry>freebsd-core</entry> - <entry>Equipe de base FreeBSD</entry> - </row> - - <row> - <entry>freebsd-hubs</entry> - <entry>Pour ceux qui gèrent des sites miroir (questions - d'infrastructure)</entry> - </row> - - <row> - <entry>freebsd-install</entry> - <entry>Développements relatifs à - la procédure d'installation</entry> - </row> - - <row> - <entry>freebsd-security-notifications</entry> - <entry>Avis de sécurité</entry> - </row> - - <row> - <entry>freebsd-user-groups</entry> - <entry>Coordination des groupes d'utilisteurs</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para><emphasis>Listes CVS :</emphasis> Les listes qui suivent sont - destinées à ceux qui souhaitent voir les traces des - modifications de diférentes parties de l'arborescence des - sources. Ce sont des listes en <emphasis>lecture seule</emphasis> et il - ne faut pas leur adresser de courrier.</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <thead> - <row> - <entry>Liste</entry> - <entry>Partie du code</entry> - <entry>Description du source concerné</entry> - </row> - </thead> - - <tbody> - <row> - <entry>cvs-all</entry> - <entry>/usr/src</entry> - <entry>Toutes les modifications de l'arborescence - (sur-ensemble)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect2> - - <sect2 id="eresources-subscribe"> - <title>Comment souscrire</title> - - <para>Toutes les listes de diffusion sont gérées sur <hostid - role="fqdn">FreeBSD.ORG</hostid>. Pour poster sur une liste - donnée, vous envoyez simplement votre courrier à - <email><replaceable>nom-de-la-liste</replaceable>@FreeBSD.ORG</email>. - Il sera alors redistribué aux membres de la liste dans le monde - entier.</para> - - <para>Pour souscrire à une liste, envoyez un courrier - à &a.majordomo; et incluez :</para> - - <programlisting> -subscribe <nom-de-la-liste> [<adresse optionnelle>]</programlisting> - - <para>dans le corps de votre message. Par exemple, pour vous inscrire - à &a.announce;, vous taperiez :</para> - - <screen>&prompt.user; <userinput>mail majordomo@FreeBSD.ORG</userinput> -subscribe freebsd-announce -^D</screen> - - <para>Si vous voulez vous inscrire sous un autre nom, ou si vous envoyez - une demande d'inscription pour une liste de diffusion locale (c'est plus - efficace si vous avez plusieurs personnes intéressées sur - un même site, et très apprécié par - nous !), vous taperiez quelque chose comme :</para> - - <screen>&prompt.user; <userinput>mail majordomo@FreeBSD.ORG</userinput> -subscribe freebsd-announce annonces-locales@un-site.com -^D</screen> - - <para>Enfin, il est aussi possible de vous désabonner d'une liste, - d'obtenir la liste des autres membres de la liste, ou d'obtenir la liste - de toutes les listes en envoyant aussi des messages de contrôle - à &a.majordomo; Pour avoir la liste complète des - commandes disponibles, faites :</para> - - <screen>&prompt.user; <userinput>mail majordomo@FreeBSD.ORG</userinput> -help -^D</screen> - - <para>Nous voudrions vous demander encore de garder aux discussions sur - les listes techniques leur contenu technique. Si seuls les points - “saillants” vous intéressent, nous vous - suggérons de souscrire à &a.announce;, dont le trafic - n'est qu'occasionnel.</para> - </sect2> - - <sect2 id="eresources-charters"> - <title>Directives d'utilisation des listes</title> - - <para>Il y a pour <emphasis>toutes</emphasis> les listes de diffusion - FreeBSD des règles de base auxquelles tous leurs utilisateurs - doivent se conformer. En cas de non respect de ces règles, et - après deux (2) avertissements écrits de la part du - “<foreignphrase>Postmaster</foreignphrase>” - <email>postmaster@freebsd.org</email>, au troisième manquement, - le contrevenant sera désabonné de toutes les listes de - diffusion de FreeBSD, et ses messages ultérieurs filtrés. - Nous regrettons de devoir prendre de telles mesures, mais l'Internet - d'aujourd'hui est un milieu apparemment assez hostile, et beaucoup - ne se rendent pas compte de la fragilité de certains de ses - mécanismes.</para> - - <para>Règles générales :</para> - - <itemizedlist> - <listitem> - <para>Le sujet de tout message doit correspondre au sujet - traité par la liste à laquelle il est adressé, - e.g., si c'est une liste sur un sujet technique, le contenu du - message ne devra être que technique. Le bavardage continu et - les polémiques ne font que dégrader pour tous ses - utilisateurs la qualité de la liste de diffusion et ne seront - pas tolérés. La &a.chat; est disponible pour les - discussions sans sujet particulier et doit être - utilisée dans ce cas.</para> - </listitem> - - <listitem> - <para>Aucun message ne doit être adressé à plus de - 2 listes de diffusion, et à 2 listes uniquement au cas - où il y a nécessité évidente de poster - sur les 2 listes. Pour la plupart des listes, il y a - déjà beaucoup de souscripteurs communs, et mis - à part les cas les plus ésotériques (par - exemple “-stable & -scsi”), il n'y a pas vraiment de - raison de poster sur plus d'une liste à la fois. Si vous - recevez un message où apparaissent sur la ligne - <literal>Cc</literal> plusieurs listes de diffusion, vous devez - purger cette ligne <literal>cc</literal> avant d'y répondre. - Vous êtes <emphasis>toujours</emphasis> responsable de vos - expéditions croisées, peu importe qui en a - été à l'origine.</para> - </listitem> - - <listitem> - <para>Les attaques personnelles et les jurons (dans le cadre d'une - discussion) ne sont pas autorisés, et cela concerne tout - autant les utilisateurs que les développeurs. Les - manquements grossiers à la “nétiquette”, - citer ou reposter des courriers privés quand l'accord n'en - a pas été donné et ne le sera pas, par exemple, - sont désapprouvés, mais pas particulièrement - réprimés. Il y a - <emphasis>néanmoins</emphasis> de rares cas où de tels - contenus rentrent dans le cadre des violations aux règles - d'utilisation d'une liste, et entraîneront donc probablement - un avertissement (ou une exclusion) pour cette seule raison.</para> - </listitem> - - <listitem> - <para>La publicité pour des produits ou services sans rapport - avec FreeBSD est rigoureusement interdite et entraînera l'exclusion immédiate s'il s'avère que le contrevenant - adresse ses publicités par “courrier - électronique non - sollicité” - <foreignphrase>spam</foreignphrase>.</para> - </listitem> - </itemizedlist> - - <para><emphasis>Directives liste par liste :</emphasis></para> - - <variablelist> - <varlistentry> - <term>FREEBSD-AFS</term> - - <listitem> - <para><emphasis>Système de fichiers - AFS - <foreignphrase>Andrew File - System</foreignphrase></emphasis></para> - - <para>C'est une liste de discussion sur le portage et l'utilisation - d'AFS de CMU/Transarc.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-ADMIN</term> - - <listitem> - <para><emphasis>Questions administratives</emphasis></para> - - <para>Cette liste est réservée à la discussion - des questions relatives à - <hostid role="domainname">freebsd.org</hostid> et pour signaler - les problèmes et abus de ressources du projet. C'est une - liste fermée, bien que quiconque puisse y signaler un - problème (avec nos systèmes !).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-ANNOUNCE</term> - - <listitem> - <para><emphasis>Evénements importants</emphasis></para> - - <para>C'est une liste pour les gens intéressés - uniquement par les annonces occasionnelles d'évenements - FreeBSD importants. Cela inclut les annonces d'instantanés - et autres versions. Cela comprend aussi les annonces de nouvelles - fonctionnalités de FreeBSD. Il peut y avoir aussi appel - à volontaires, etc. C'est une liste de faible volume et - rigoureusement modérée.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-ARCH</term> - - <listitem> - <para><emphasis>Discussions concernant l'architecture et - l'implémentation</emphasis></para> - - <para>C'est une liste modérée pour discuter de - l'architecture de FreeBSD. Les messages y seront habituellement - de nature technique, bien que le modérateur puisse - (occasionnellement) laisser passer d'autres messages qu'il juge - nécessaire de transmettre aux autres membres de la liste. - Des exemples de sujets qui cadrent avec cette listes - sont :</para> - - <itemizedlist> - <listitem> - <para>Comment revoir le système de compilation pour que - plusieurs compilations personnalisées puissent - être effectuées en même temps,</para> - </listitem> - - <listitem> - <para>Que faut-il corriger dans VFS pour que les couches - Heidemann fonctionnent,</para> - </listitem> - - <listitem> - <para>Comment modifier l'interface des pilotes de - périphériques pour que la même interface - fonctionne proprement sur différents bus et - architectures,</para> - </listitem> - - <listitem> - <para>Comment écrire un pilote - réseau ?</para> - </listitem> - </itemizedlist> - - <para>Le modérateur se réserve le droit d'apporter des - corrections mineures (orthographe, grammaire, simplification) aux - messages qui sont postés sur la liste. Le volume de la - liste restera faible, ce qui peut impliquer de reporter des sujets - tant qu'une discussion en cours n'est pas terminée.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-BUGS</term> - - <listitem> - <para><emphasis>Rapports de bogues</emphasis></para> - - <para>C'est la liste pour émettre les rapports de bogues de - FreeBSD. Chaque fois que c'est possible, les rapports de bogues - doivent être soumis avec &man.send-pr.1; ou son - <ulink URL="http://www.freebsd.org/send-pr.html">interface - Web</ulink>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-CHAT</term> - - <listitem> - <para><emphasis>Sujets non techniques en rapport avec la - communauté FreeBSD</emphasis></para> - - <para>Cette liste reçoit le résidu des discussions sur - les autres listes : informations sociologiques, et non - techniques. Cela va de savoir si Jordan ressemble ou non au furet - de la bande dessinée, s'il faut tapez en majuscules, qui - boit trop de café, quelle est la meilleure bière, - qui brasse de la bière dans sa cave, et ainsi de suite. - Les annonces occasionnelles d'événements importants - (les prochaines fêtes, mariages, naissances, nouveaux - emplois, etc.) peuvent être adressées aux listes - techniques, mais doivent ensuite être redirigées sur - la &a.chat;.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-CORE</term> - - <listitem> - <para><emphasis>Equipe de base FreeBSD</emphasis></para> - - <para>C'est une liste interne à l'usage des membres de - l'équipe de base. Des messages peuvent y être - adressés lorsqu'un sujet en rapport avec FreeBSD demande - arbitrage ou examen à haut niveau.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-CURRENT</term> - - <listitem> - <para><emphasis>Discussions concernant l'utilisation de - FreeBSD-current</emphasis></para> - - <para>C'est la liste de diffusion pour les utilisateurs de - FreeBSD-current. Elle inclut avertissements au sujet de nouvelles - fonctionnalités de -current qui affecteront son - utilisation, et instructions sur ce qu'il faut faire pour - rester à jour avec -current. Tous les utilisateurs de - “current” doivent souscrire à cette liste. - C'est une liste de discussion technique sur laquelle le contenu - doit être strictement technique.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-CURRENT-DIGEST</term> - - <listitem> - <para><emphasis>Discussions concernant l'utilisation de - FreeBSD-current</emphasis></para> - - <para>C'est la version abrégé de la liste - freebsd-current. Le résumé est constitué de - tous les messages envoyés à freebsd-current - regroupés en un seul. La taille moyenne de ce message est - de 40 Ko. C'est une liste en <emphasis>lecture seule</emphasis> - sur laquelle il ne faut pas poster.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-DOC</term> - - <listitem> - <para><emphasis>Projet de documentation</emphasis></para> - - <para>C'est la liste de discussion sur les questions et projets - liés à la rédaction de documentation pour - FreeBSD. Les membres de cette liste sont collectivement - appelés “Le Projet de Documentation de - FreeBSD” - <foreignphrase>The FreeBSD - Documentation Project</foreignphrase>. C'est une liste ouverte; - n'hésitez pas à souscrire et à - participer.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-FS</term> - - <listitem> - <para><emphasis>Systèmes de fichiers</emphasis></para> - - <para>Discussions concernant les systèmes de fichiers - FreeBSD. C'est une liste de discussion technique sur laquelle le - contenu doit être strictement technique.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-HACKERS</term> - - <listitem> - <para><emphasis>Discussions techniques</emphasis></para> - - <para>C'est le forum pour les discussions techniques au sujet de - FreeBSD. C'est la principale liste technique. Elle est - destinée à ceux qui travaillent activement à - FreeBSD, pour soulever des problèmes et discuter de - solutions alternatives. Ceux qui sont intéressés - à suivre les discussions techniques sont aussi bienvenus. - C'est une liste de discussion technique sur laquelle le contenu - doit être strictement technique.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-HACKERS-DIGEST</term> - - <listitem> - <para><emphasis>Discussions techniques</emphasis></para> - - <para>C'est la version abrégé de la liste - freebsd-hackers. Le résumé est constitué de - tous les messages envoyés à freebsd-hackers - regroupés en un seul. La taille moyenne de ce message est - de 40 Ko. C'est une liste en <emphasis>lecture seule</emphasis> - sur laquelle il ne faut pas poster.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-HARDWARE</term> - - <listitem> - <para><emphasis>Discussions générales sur le - matériel pour FreeBSD</emphasis></para> - - <para>Discussions générales sur les types de - matériel sur lesquels tourne FreeBSD, les - problèmes rencontrés et suggestions sur quoi - acheter ou éviter.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-INSTALL</term> - - <listitem> - <para><emphasis>Discussions sur l'installation</emphasis></para> - - <para>C'est la liste pour discuter du développement de la - procédure d'installation des versions à venir de - FreeBSD. Elle n'est pas ouverte.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-ISDN</term> - - <listitem> - <para><emphasis>Communications ISDN</emphasis></para> - - <para>C'est la liste pour les personnes discutant du - développement du support ISDN de FreeBSD.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-ISP</term> - - <listitem> - <para><emphasis>Questions concernant les fournisseurs d'accès - à Internet</emphasis></para> - - <para>C'est la liste pour discuter des sujets qui intéressent - les fournisseurs d'accès - Internet - <foreignphrase>Internet Service Providers - (ISPs)</foreignphrase> - qui utilisent FreeBSD. C'est - une liste de discussion technique sur laquelle le contenu doit - être strictement technique.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-JAVA</term> - - <listitem> - <para><emphasis>Développement Java</emphasis></para> - - <para>C'est la liste pour les personnes discutant du - développement d'applications Java significatives sous - FreeBSD et du portage et de la maintenance des JDKs.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-NEWBIES</term> - - <listitem> - <para><emphasis>Discussions des activités des - débutants</emphasis></para> - - <para>Nous couvrons toutes les activités de ceux qui - débutent avec FreeBSD qui ne sont pas envisagées - ailleurs, y compris : apprentissage autonome et techniques de - résolutions des problèmes, comment trouver et - utiliser les ressources disponibles et demander ailleurs de - l'aide, comment utiliser les listes de diffusion et lesquelles - utiliser, la discussion d'ordre général, les - erreurs commises, les fanfaronnades, le partage d'idées, - les histoires, le support moral (mais pas technique) et comment - participer activement dans la communauté FreeBSD. Nous - transmettons nos problèmes et questions à - freebsd-questions, et nous servons de freebsd-newbies pour - rencontrer d'autres personnes qui, débutants comme nous, - font les mêmes choses que nous.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-PLATFORMS</term> - - <listitem> - <para><emphasis>Portages sur les plates-formes - Non-Intel</emphasis></para> - - <para>Questions concernant le support d'autres plates-formes, - discussions générales et propositions pour les - portages sur des plates-formes non-Intel. C'est une liste de - discussion technique sur laquelle le contenu doit être - strictement technique.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-PORTS</term> - - <listitem> - <para><emphasis>Discussions des - “logiciels portés”</emphasis></para> - - <para>Discussions concernant le “catalogue des logiciels - portés” de FreeBSD (<filename>/usr/ports</filename>), - propositions de portages, modifications de l'infrastructure du - catalogue des logiciels portés et coordination - générale. C'est une liste de discussion technique - sur laquelle le contenu doit être strictement - technique.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-QUESTIONS</term> - - <listitem> - <para><emphasis>Questions des utilisateurs</emphasis></para> - - <para>C'est la liste pour les questions à propos de FreeBSD. - Il ne faut pas adresser de questions “comment - faire ?” aux listes techniques à moins que vous - n'estimiez que la question soit vraiment très - technique.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-QUESTIONS-DIGEST</term> - - <listitem> - <para><emphasis>Questions des utilisateurs</emphasis></para> - - <para>C'est la version abrégé de la liste - freebsd-questions. Le résumé est constitué de - tous les messages envoyés à freebsd-questions - regroupés en un seul. La taille moyenne de ce message est - de 40 Ko.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-SCSI</term> - - <listitem> - <para><emphasis>Sous-système SCSI</emphasis></para> - - <para>C'est la liste de diffusion pour ceux qui travaillent sur le - sous-système SCSI de FreeBSD. C'est une liste de discussion - technique sur laquelle le contenu doit être strictement - technique.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-SECURITY</term> - - <listitem> - <para><emphasis>Questions relatives à la - sécurité</emphasis></para> - - <para>Questions ayant trait à la sécurité des - ordinateurs sous FreeBSD (DES, Kerberos, trous de - sécurité connus et correctifs, etc.) C'est une liste - de discussion technique sur laquelle le contenu doit être - strictement technique.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-SECURITY-NOTIFICATIONS</term> - - <listitem> - <para><emphasis>Avis de sécurité</emphasis></para> - - <para>Notifications des problèmes de sécurité - concernant FreeBSD et correctifs. Ce n'est pas une liste de - discussion. La liste de discussion correspondante est - FreeBSD-security.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-SMALL</term> - - <listitem> - <para>Cette liste discute des sujets relatifs aux installations - inhabituellement petites et embarquées de FreeBSD. C'est - une liste de discussion technique sur laquelle le contenu doit - être strictement technique.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-STABLE</term> - - <listitem> - <para><emphasis>Discussions concernant l'utilisation de - FreeBSD-stable</emphasis></para> - - <para>C'est la liste de diffusion pour les utilisateurs de - FreeBSD-stable. Elle inclut avertissements au sujet de nouvelles - fonctionnalités de -stable qui affecteront son - utilisation, et instructions sur ce qu'il faut faire pour - rester à jour avec -stable. Tous les utilisateurs de - “stable” doivent souscrire à cette liste. - C'est une liste de discussion technique sur laquelle le contenu - doit être strictement technique.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FREEBSD-USER-GROUPS</term> - - <listitem> - <para><emphasis>Coordination des groupes - d'utilisateurs</emphasis></para> - - <para>C'est la liste pour les coordinateurs des différents - groupes locaux d'utilisateurs, destinée à leurs - discussions entre eux et avec un membre désigné de - l'équipe de base. Cette liste doit se limiter aux - comptes-rendus de réunions et à la coordination de - projets entre plusieurs groupes d'utilisateurs. Ce n'est pas une - liste ouverte.</para> - </listitem> - </varlistentry> - </variablelist> - </sect2> - </sect1> - - <sect1 id="eresources-news"> - <title>Forums de discussion</title> - - <para>En plus des deux forums de discussion spécifiques à - FreeBSD, il y en a de nombreux autres où il est question de - FreeBSD ou qui sont par ailleurs d'interêt pour les utilisateurs - de FreeBSD. Pour certains de ces groupes, il existe des - <ulink URL="http://minnie.cs.adfa.oz.au/BSD-info/bsdnews_search.html">archives - interrogeables par mots-clés</ulink>, grace à Warren Toomey - <email>wkt@cs.adfa.oz.au</email>.</para> - - <sect2> - <title>Forums spécifiques à BSD</title> - - <itemizedlist> - <listitem> - <para><ulink - URL="news:comp.unix.bsd.freebsd.announce">comp.unix.bsd.freebsd.announce</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.unix.bsd.freebsd.misc">comp.unix.bsd.freebsd.misc</ulink></para> - </listitem> - </itemizedlist> - </sect2> - - <sect2> - <title>Autres forums Unix intéressants</title> - - <itemizedlist> - <listitem> - <para><ulink URL="news:comp.unix">comp.unix</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.unix.questions">comp.unix.questions</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.unix.admin">comp.unix.admin</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.unix.programmer">comp.unix.programmer</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.unix.shell">comp.unix.shell</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.unix.user-friendly">comp.unix.user-friendly</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.security.unix">comp.security.unix</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.sources.unix">comp.sources.unix</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.unix.advocacy">comp.unix.advocacy</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.unix.misc">comp.unix.misc</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.bugs.4bsd">comp.bugs.4bsd</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.bugs.4bsd.ucb-fixes">comp.bugs.4bsd.ucb-fixes</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.unix.bsd">comp.unix.bsd</ulink></para> - </listitem> - </itemizedlist> - </sect2> - - <sect2> - <title>Système X Window</title> - - <itemizedlist> - <listitem> - <para><ulink - URL="news:comp.windows.x.i386unix">comp.windows.x.i386unix</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.windows.x">comp.windows.x</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.windows.x.apps">comp.windows.x.apps</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.windows.x.announce">comp.windows.x.announce</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.windows.x.intrinsics">comp.windows.x.intrinsics</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.windows.x.motif">comp.windows.x.motif</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.windows.x.pex">comp.windows.x.pex</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="news:comp.emulators.ms-windows.wine">comp.emulators.ms-windows.wine</ulink></para> - </listitem> - </itemizedlist> - </sect2> - </sect1> - - <sect1 id="eresources-web"> - <title>Serveurs World Wide Web</title> - - <itemizedlist> - <listitem> - <para><ulink - URL="http://www.FreeBSD.ORG/">http://www.FreeBSD.ORG/</ulink> - — Serveur principal.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.za.freebsd.org/">http://www.za.freebsd.org/</ulink> — Afrique du Sud/1.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www2.za.freebsd.org/">http://www2.za.freebsd.org/</ulink> — Afrique du Sud/2.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.de.freebsd.org/">http://www.de.freebsd.org/</ulink> — Allemagne/1.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www1.de.freebsd.org/">http://www1.de.freebsd.org/</ulink> — Allemagne/2.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www2.de.freebsd.org/">http://www.de.freebsd.org/</ulink> — Allemagne/3.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.au.freebsd.org/FreeBSD/">http://www.au.freebsd.org/FreeBSD/</ulink> — Australie/1.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www2.au.freebsd.org/FreeBSD/">http://www2.au.freebsd.org/FreeBSD/</ulink> — Australie/2.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www3.au.freebsd.org/FreeBSD/">http://www3.au.freebsd.org/FreeBSD/</ulink> — Australie/3.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.br.freebsd.org/www.freebsd.org/">http://www.br.freebsd.org/www.freebsd.org/</ulink> — Brésil/1.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.br2.freebsd.org/www.freebsd.org/">http://www.br2.freebsd.org/www.freebsd.org/</ulink> — Brésil/2.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www3.br.freebsd.org/">http://www3.br.freebsd.org/</ulink> — Brésil/3.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.bg.freebsd.org/">http://www.bg.freebsd.org/</ulink> — Bulgarie.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.ca.freebsd.org/">http://www.ca.freebsd.org/</ulink> — Canada/1.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://freebsd.kawartha.com/">http://freebsd.kawartha.com/</ulink> — Canada/2.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.kr.freebsd.org/">http://www.kr.freebsd.org/</ulink> — Corée.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.dk.freebsd.org/">http://www.dk.freebsd.org/</ulink> — Danemark.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.es.freebsd.org/">http://www.es.freebsd.org/</ulink> — Espagne.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.ee.freebsd.org/">http://www.ee.freebsd.org/</ulink> — Estonie.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://freebsd.advansys.net/">http://freebsd.advansys.net/</ulink> — Etats-Unis/Indiana.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www6.freebsd.org/">http://www6.freebsd.org/</ulink> — Etats-Unis/Oregon.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www2freebsd.org/">http://www2.freebsd.org/</ulink> — Etats-Unis/Texas.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.fi.freebsd.org/">http://www.fi.freebsd.org/</ulink> — Finlande.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.fr.freebsd.org/">http://www.fr.freebsd.org/</ulink> — France.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.hu.freebsd.org/">http://www.hu.freebsd.org/</ulink> — Hongrie.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.is.freebsd.org/">http://www.is.freebsd.org/</ulink> — Icelande.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.ie.freebsd.org/">http://www.ie.freebsd.org/</ulink> — Irelande.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.jp.freebsd.org/www.freebsd.org/">http://www.jp.freebsd.org/www.freebsd.org/</ulink> — Japon.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.lv.freebsd.org/">http://www.lv.freebsd.org/</ulink> — Lettonie.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://rama.asiapac.net/freebsd/">http://rama.asiapac.net/freebsd/</ulink> — Malaisie.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.no.freebsd.org/">http://www.no.freebsd.org/</ulink> — Norvège.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.nl.freebsd.org/">http://www.nl.freebsd.org/</ulink> — Pays-Bas.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.pt.freebsd.org/">http://www.pt.freebsd.org/</ulink> — Portugal/1.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www2.pt.freebsd.org/">http://www2.pt.freebsd.org/</ulink> — Portugal/2.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www3.pt.freebsd.org/">http://www3.pt.freebsd.org/</ulink> — Portugal/3.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.sk.freebsd.org/">http://www.sk.freebsd.org/</ulink> — République Slovaque.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.ro.freebsd.org/">http://www.ro.freebsd.org/</ulink> — Roumanie.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.uk.freebsd.org/">http://www.uk.freebsd.org/</ulink> — Royaume-Uni.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.ru.freebsd.org/">http://www.ru.freebsd.org/</ulink> — Russie/1.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www2.ru.freebsd.org/">http://www2.ru.freebsd.org/</ulink> — Russie/2.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www3.ru.freebsd.org/">http://www3.ru.freebsd.org/</ulink> — Russie/3.</para> - </listitem> - - <listitem> - <para><ulink - url="http://www4.ru.freebsd.org/">http://www4.ru.freebsd.org/</ulink> — Russie/4.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.si.freebsd.org/">http://www.si.freebsd.org/</ulink> — Slovénie.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.se.freebsd.org/www.freebsd.org/">http://www.se.freebsd.org/www.freebsd.org/</ulink> — Suède.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.tr.freebsd.org/">http://www.tr.freebsd.org/</ulink> — Turquie.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www.ua.freebsd.org/">http://www.ua.freebsd.org/</ulink> — Ukraine/1.</para> - </listitem> - - <listitem> - <para><ulink - URL="http://www2.ua.freebsd.org/">http://www2.ua.freebsd.org/</ulink> — Ukraine/2.</para> - </listitem> - </itemizedlist> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> - diff --git a/fr_FR.ISO8859-1/books/handbook/hw/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/hw/chapter.sgml deleted file mode 100644 index 8d226e1099..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/hw/chapter.sgml +++ /dev/null @@ -1,5780 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: n.nn ---> - - <chapter id="hw"> - <title>** Compatibilité matérielle</title> - &trans.a.haby; - - - <para>Les questions de compatibilité matérielle sont aujourd'hui - les plus problématiques de l'industrie informatique et FreeBSD - n'en est nullement à l'abri. De ce point de vue, l'avantage qu'a - FreeBSD de pouvoir être utilisé sur du matériel PC courant et - peu coûteux est aussi une difficulté lorsqu'il faut supporter - l'incroyable variété de composants disponibles. - Il est impossible de donner une liste exhaustive des matériels - compatibles avec FreeBSD, mais ce chapitre est un catalogue des - pilotes de périphériques inclus dans FreeBSD et des matériels que - chaque pilote supporte. Si possible et approprié, des notes ont - ajoutées sur les matériels eux-mêmes. Vous pouvez aussi vous - référer au chapitre <link linkend="kernelconfig-config">Configurer - le noyau de FreeBSD</link> de ce manuel pour avoir - la liste des matériels supportés.</para> - - <para>FreeBSD est un projet bénévole qui n'a pas les moyens de financer - un service de tests, nous reposons sur vous, les utilisateurs, pour une - grande part des informations que fournit ce catalogue. Si vous avez - l'expérience personnelle d'un matériel qui fonctionne ou ne fonctionne - pas avec FreeBSD, faites-le nous savoir par courrier électronique - à &a.doc;. Les questions concernant les matériels compatibles doivent - être adressées à &a.questions; (voyez la section - <link linkend="eresources-mail">Listes de diffusion</link> - pour plus d'informations). Quand vous nous faites - parvenir de l'information ou posez une question, n'oubliez pas s'il vous - plaît de préciser exactement quelle version de FreeBSD vous utilisez et - de donner le maximum de détails sur votre configuration - matérielle.</para> - - <sect1> - <title>Ressources Internet</title> - - <para>Les liens donnés ci-dessous se sont avérés utiles pour guider - dans les choix de matériels. Bien que les renseignements qu'ils vous - donnent ne soient pas nécessairement spécifiques (ou même - applicables) à FreeBSD, ils ne dépendent pas, pour la plupart - du système d'exploitation. Vérifiez s'il vous plaît dans le guide - du matériel pour FreeBSD que la configuration que vous avez choisie - soit compatible avec FreeBSD avant d'acheter quoi que ce soit.</para> - - <para> - <itemizedlist> - - <listitem> - <para><ulink url="http://www.tomshardware.com/">The Pentium - Systems Hardware Performance Guide</ulink> - le - guide des performances des systèmes Pentium.</para> - </listitem> - - </itemizedlist> - </para> - - </sect1> - - <sect1 id="hw-configs"> - <title>Exemples de configurations</title> - - <para>La liste de configurations ci-dessous ne constitue en aucun - cas une publicité pour un constructeur ou un produit de la - part du <emphasis>Projet FreeBSD</emphasis>. Ces informations ne - sont données que pour être utiles et rassemblent simplement les - expériences de différentes personnes sur des configurations variées. - Tarifs indicatifs. Chaussée glissante. Attention au chien.</para> - - <sect2 id="hw-jordans-picks"> - <title>La sélection de Jordan</title> - - <para>J'ai obtenu de bons résultats en mettant sur pied des stations - de travail et des serveurs avec les composants ci-dessous. Je ne - peut vous garantir que vous en aurez aussi, ni qu'aucune des marques - citées restera “le meilleur choix”. J'essaierai, si - possible, de tenir cette liste à jour, mais ne peux bien évidemment - vous assurer qu'elle le soit à un moment donné.</para> - - <sect3 id="hw-mb"> - <title>Cartes mères</title> - - <para>Pour les systèmes Pentium Pro (P6), j'aime assez la carte mère - bi-processseurs - <ulink url="http://www.tyan.com/html/products.html">Tyan</ulink> - S1668. Elle fait un sympathique système à un ou deux processeurs - (ce que supporte FreeBSD 3.0) et le prix du Pentium Pro 180/256K - a maintenant baissé à un niveau vraiment abordable. Le Pentium Pro - reste mon processeur favori pour les serveurs (les mégahertzs ne - font pas tout).</para> - - <para>Pour les Pentium II, j'ai un sérieux préjugé en faveur de la - carte mère <ulink url="http://www.asus.com.tw">ASUS</ulink> - <ulink url="http://www.asus.com.tw/Products/Motherboard/Pentiumpro/P2l97-s/index.html">P2l97-S</ulink> - avec contrôleur WIDE SCSI intégré.</para> - - <para>Pour les machines Pentium, la carte mère ASUS - <ulink url="http://www.asus.com.tw/Products/Motherboard/Pentium/P55tp4/index.html">P55T2P4</ulink> - paraît un bon choix pour un serveur ou une station de travail - de taille moyenne à importante. Vous pouvez aussi - regarder du côté de la carte - <ulink url="http://asustek.asus.com.tw/FTP/ASUS/Info/Spec/pvi-486sp3.txt">486SP3G</ulink>, - si vous cherchez une carte mère 486.</para> - - <note> - <para>(Il semble qu'il soit devenu difficile de se procurer ces - dernières, qu'ASUS ne fabrique apparemment plus.) </para> - </note> - - <para>Ceux qui veulent utiliser des systèmes plus tolérants aux - erreurs doivent veiller à employer de la mémoire avec contrôle - de parité, ou ECC, pour des applications non-stop.</para> - - <note> - <para>La mémoire ECC entraîne une petite perte de performances - (que vous remarquerez ou non selon votre application) mais vous - apporte des gains significatifs en termes de tolérance - d'erreur.</para> - </note> - </sect3> - - <sect3> - <title>Contrôleurs de disque</title> - - <para>C'est un point plus délicat. J'utilisais - inconditionnellement des contrôleurs - <ulink url="http://www.buslogic.com">Buslogic</ulink> - pour tout, de l'ISA au PCI, j'incline maintenant plutôt vers - le contrôleur <ulink - url="http://www.adaptec.com">Adaptec</ulink> 1542CF pour l'ISA, - le contrôleur Buslogic Bt747c pour l'EISA et le contrôleur - Adaptec 2940UW pour le PCI.</para> - - <para>J'ai aussi eu de bons résultats avec les cartes - PCI NCR/Symbios, bien qu'il faille s'assurer que - votre carte mère supporte le modèle sans BIOS (s'il n'y - a rien sur votre carte qui ressemble vaguement à une puce - ROM, c'est probablement un modèle qui s'attend à ce que son - BIOS soit sur la carte mère).</para> - - <para>Si vous pensez qu'il vous faut plus d'un contrôleur SCSI, - vous pouvez songer à économiser vos maigres ressources en - emplacements PCI en achetant une carte Adaptec 3940, qui - intègre deux contrôleurs PCI sur un seul connecteur.</para> - - </sect3> - - <sect3 id="hw-disks"> - <title>Disques durs</title> - - <para>Pour cette version particulière de la roulette russe, je - donnerais peu de conseils précis sinon pour recommander - “du SCSI plutôt que de l'IDE dès que vous pouvez vous - l'offrir”. Même sur de petites machines de bureau, le SCSI - est souvent un meilleur choix parce qu'il vous permet de - migrer vos disques du serveur vers la machine de bureau lorsque - les prix en chute des disques en font une solution économiquement - viable. Si vous avez plus d'une machine à administrer, ne pensez - pas seulement en terme de stockage, voyez plutôt cela comme - une chaîne alimentaire!</para> - - <para>Je ne trouve pas que les disques WIDE SCSI représentent - un investissement nécessaire, à moins que vous ne mettiez en place - un serveur NFS ou des forums de discussion - qui devront supporter beaucoup d'accès disque pour de nombreux - utilisateurs.</para> - - </sect3> - - <sect3 id="hw-jordans-picks-cdrom"> - <title>Lecteur de CD-ROMs</title> - - <para>Ma préférence pour le SCSI s'applique aussi aux lecteurs de - CD-ROMs SCSI, et bien que j'ai toujours eu de bons résultats - avec le modèle <ulink url="http://www.toshiba.com">Toshiba</ulink> - XM-3501B (qui existe aussi en version tiroir sous la référence - XM-5401B), je suis maintenant très partisan du lecteur - <ulink url="http://www.plextor.com">Plextor</ulink> PX-12CS. - C'est un lecteur 12x dont les performances et la fiabilité sont - excellentes.</para> - - <para>D'une façon générale, la plupart des lecteurs de CD-ROMs SCSI - que j'ai vus, sont de fabrication robuste et vous ne vous - tromperez pas non plus si vous prenez un modèle HP ou NEC. Le prix - des lecteurs de CD-ROMs SCSI semble avoir aussi considérablement - baissé ces derniers mois et devient compétitif avec celui des - lecteurs IDE, alors qu'ils restent techniquement supérieurs. A - choisir entre les deux, je ne vois pas de raison de se décider - pour un lecteur IDE.</para> - - </sect3> - - <sect3 id="hw-worm"> - <title>Graveurs de CD-ROMs non réinscriptibles</title> - - <para>Au moment où j'écris ceci, FreeBSD supporte trois types de - graveurs de CD-ROMs (bien que je pense qu'ils viennent en fait - tous de chez Phillips): le Phillips CDD 522 (se comporte comme - le Plasmon), le Plasmon RF4100 et le HP 6020i. J'utilise - personnellement le HP 6020i pour graver mes CD-ROMs (avec la - version 2.2-current de FreeBSD - il ne fonctionne pas - avec la version 2.1.5 et les versions antérieures du pilote SCSI) - qui me donne toute satisfaction. Regardez dans le fichier - <ulink url="file:/usr/share/examples/worm">/usr/share/examples/worm</ulink> - sur votre système 2.2 pour avoir des exemples de procédures pour - créer des images au format ISO9660 (avec les extensions RockRidge) - de vos systèmes de fichiers et graver ensuite des CD-ROMs avec un - HP6020i.</para> - - </sect3> - - <sect3 id="hw-tape"> - <title>Lecteurs de bandes</title> - - <para>J'ai obtenu de bons résultats avec les lecteurs - <ulink url="http://www.Exabyte.COM:80/Products/8mm/8505XL/Rfeatures.html">8mm</ulink> - de chez - <ulink url="http://www.exabyte.com">Exabyte</ulink> - et - <ulink url="http://www-dmo.external.hp.com:80/tape/_cpb0001.htm">4mm (DAT)</ulink> - de chez <ulink url="http://www.hp.com">HP</ulink>.</para> - - <para>Pour les sauvegardes, je recommande les Exabytes pour la - robustesse (et la plus grande capacité) des bandes 8mm.</para> - - </sect3> - - <sect3 id="hw-video"> - <title>Cartes graphiques</title> - - <para>Si vous pouvez aussi vous offrir un serveur X commercial - pour 99$ US de chez - <ulink url="http://www.xig.com/">Xi Graphics, Inc. (autrefois, X Inside, Inc)</ulink> - alors je vous recommande vivement la carte - <ulink url="http://www.matrox.com/">Matrox</ulink> - <ulink url="http://www.matrox.com/mgaweb/brochure.htm">Millenium</ulink>. - Cette carte est aussi très bien supportée par le serveur - <ulink url="http://www.xfree86.org/">XFree86</ulink>, - qui en est maintenant à sa version 3.3.2.</para> - - <para>Les cartes - <ulink url="http://www.nine.com/">Number 9</ulink> sont aussi - un excellent choix - leurs cartes Vision 868 et 968 - (la série 9FX) basées sur le circuit S3 sont aussi très rapides - et bien gérées par le pilote S3 du serveur XFree86.</para> - - </sect3> - - <sect3 id="hw-monitors"> - <title>Moniteurs</title> - - <para>J'ai eu d'excellents résultats avec les moniteurs - <ulink url="http://cons3.sel.sony.com/SEL/ccpg/display/ms17se2.html">Sony Multiscan 17seII</ulink>, - et avec le Viewsonic qui utilise le même tube (Trinitron). Pour - des modèles au-delà de 17", tout ce que je peux aujourd'hui - conseiller est de ne pas dépenser moins de 2.500 $ pour - un moniteur 21" ou 1.700 $ pour un 20", si vous en avez - vraiment besoin. Il y de bons écrans dans - la gamme des 20" et plus, - et il y en a aussi de bon marché. Malheureusement, il y en a très - peu qui soient à la fois de bonne qualité et bon marché!</para> - - </sect3> - - <sect3 id="hw-networking"> - <title>Réseau</title> - - <para>Je peux recommander le contrôleur <ulink - url="http://www.smc.com/">SMC</ulink> Ultra 16 pour les - applications ISA et les cartes SMC EtherPower ou Compex ENET32 - pour les réseaux importants basés sur du PCI. Ces deux cartes - PCI sont construites autour de la puce contrôleur Ethernet - DEC DC21041 et les autres cartes qui employent cette puce, telles - que la Zynx ZX432 et la DEC DE435, fonctionneront aussi. Pour - les réseaux 100Mbit, les cartes SMC SMC9332DST 10/100MB ou Intel - Intel EtherExpress Pro/100B font du bon travail, ma préférence - allant à la carte Intel EtherExpress.</para> - - <para>Si d'un autre côté vous cherchez la solution la moins chère - possible, mais qui fonctionne malgré tout raisonnablement, alors - pratiquement n'importe quel clone NE2000 est un bon choix.</para> - - </sect3> - - <sect3 id="hw-serial"> - <title>Série</title> - - <para>Si vous cherchez des solutions pour un réseau série à grande - vitesse, alors <ulink url="http://www.dgii.com/">Digi - International</ulink> fabrique la série <ulink - url="http://www.dgii.com/prodprofiles/profiles-prices/digiprofiles/digispecs/sync570.html">SYNC/570</ulink>, - pour laquelle FreeBSD-current a maintenant des pilotes. - <ulink url="http://www.etinc.com">Emerging Technologies</ulink> - fabrique aussi une carte avec des fonctionnalités T1/E1, - qui utilise du logiciel qu'il fournit. - Je n'ai cependant pas l'expérience personnelle de ces deux - produits.</para> - - <para>Les possibilités de cartes multi-ports sont quelque peu plus - nombreuses, bien que le support par FreeBSD des produits - <ulink url="http://www.cyclades.com/">Cyclades</ulink> soit - réputé le plus complet, essentiellement en raison de - l'engagement pris par cette compagnie de nous fournir du - matériel pour évaluation et des spécifications techniques. J'ai - entendu dire que la Cyclom-16Ye offrait le meilleur rapport - prix/performances, mais je n'ai pas consulté les tarifs récents. - D'autres cartes multi-ports dont j'ai entendu dire du bien - sont les BOCA et les AST, et <ulink - url="http://www.stallion.com/">Stallion - Technologies</ulink> propose apparemment <ulink - url="ftp://ftp.stallion.com/drivers/unsupported/freebsd/stalbsd-0.0.4.tar.gz">ici</ulink> - un pilote non officiel pour ses cartes.</para> - - </sect3> - - <sect3 id="hw-audio"> - <title>Audio</title> - - <para>J'utilise actuellement une AWE32 de <ulink - url="http://www.creaf.com/">Creative Labs</ulink>, bien qu'à peu - près tout ce qui vient de chez Creative Labs marcherait - aujourd'hui. Ce qui ne veut pas dire que d'autres cartes son - ne marchent pas, simplemement je n'en ai qu'une expérience - limitée (j'aimais bien autrefois les cartes GUS, mais la - situation des cartes Gravis est délicate depuis quelque - temps).</para> - - </sect3> - - <sect3 id="hw-vgrabbers"> - <title>Vidéo</title> - - <para>Pour la capture vidéo, il y a deux bons - choix - n'importe - quelle carte à base de puce Brooktree BT848, comme les Hauppauge - ou les WinTV, marchera à merveille avec FreeBSD. Une autre carte - que j'utilise est la - <ulink - url="http://www.matrox.com/">Matrox</ulink> <ulink - url="http://www.matrox.com/imgweb/meteor.htm">Meteor</ulink>. - FreeBSD supporte aussi la carte d'incrustation vidéo plus ancienne - de chez Creative Labs, mais elles deviennent difficiles à trouver. - Notez que la carte Meteor <emphasis>ne fonctionnera pas</emphasis> - avec les cartes mères qui ont un contrôleur 440FX! Consultez - la section - <link linkend="hw-mb">Cartes mères</link> pour plus de - détails. Dans ce cas, il vaut mieux prendre une carte - BT848.</para> - - </sect3> - </sect2> - </sect1> - - <sect1 id="hw-core"> - <title>Composants de base/Processeurs</title> - - <sect2> - <title>Cartes mères, bus et contrôleurs de bus</title> - - <sect3> - <title>* ISA</title> - <para></para> - </sect3> - - <sect3> - <title>* EISA</title> - <para></para> - </sect3> - - <sect3> - <title>* VLB</title> - <para></para> - </sect3> - - <sect3 id="hw-mb-pci"> - <title>PCI</title> - - <para><emphasis>Contribution de &a.rgrimes;.<!-- <br> -->25 Avril - 1995.</emphasis></para> - - <para><emphasis>Mises à jour de &a.jkh;.</emphasis><!-- <br> - -->Dernière mise à jour le <emphasis>26 Août - 1996.</emphasis></para> - - <para>Parmi les contrôleurs INTEL PCI, la liste suivante décrit - différents types de problème connus, et leur gravité, du pire - au meilleur.</para> - - <variablelist> - <varlistentry><term>Mercury:</term> - <listitem> - <para>Problèmes de cohérence du cache, en particulier s'il - y a des contrôleurs de bus ISA en plus du pont ISA/PCI. - C'est un problème matériel, la seule solution consiste - à désactiver le cache.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Saturn-I <emphasis>(i.e., 82424ZX en i - révision 0, 1 ou 2)</emphasis>:</term> - - <listitem> - <para>Problème de cohérence lors de la réécriture dans le - cache. C'est un problème matériel. La seule parade - consiste à configurer le cache externe en mode - transparent. Ou à passer à la version Saturn-II.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Saturn-II <emphasis>(i.e., 82424ZX en - révision 3 ou 4)</emphasis>:</term> - - <listitem> - <para>Fonctionne bien, mais de nombreux fabriquants de - carte mère ne se préoccupent pas du bit SRAM nécessaire - aux opérations de réecriture. On peut y pallier en - utilisant le mode transparent ou en gérant le bit SRAM. - (J'ai fait cela avec une ASUS PCI/I-486SP3G révision 1.6 - et des cartes plus récentes).</para> - </listitem> - </varlistentry> - - <varlistentry><term>Neptune:</term> - - <listitem> - <para>Ne peut gérer plus de deux contrôleurs de bus. C'est - une erreur de conception reconnue par Intel. Parmi les - solutions: ne pas utiliser plus de deux contrôleurs, - matériel spécialement conçu pour remplacer l'arbitre de - bus PCI (apparu avec l'Intel Altair et d'autres cartes - mères pour serveur Intel), et bien sûr la réponse - officielle d'Intel, le remplacer par un Triton, nous - “l'y avons mis”.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Triton <emphasis>(ie, - 430FX)</emphasis>:</term> - - <listitem> - <para>Pas de problème de cohérence du cache ou de contrôle - du bus connu. Mais cette puce n'implémente tout simplement - pas le contrôle de parité. Contournez le problème de - parité. Utilisez des cartes Triton-II si vous avez - le choix.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Triton-II <emphasis>(ie, - 430HX)</emphasis>:</term> - - <listitem> - <para>Tous les échos sur les cartes mères avec cette puce - sont jusqu'ici favorables. Pas de problème connu.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Orion:</term> - - <listitem> - <para>Les premières versions de cette puce souffraient d'un - retard en écriture PCI qui entraînait des dégradations - sensibles de performance des applications gourmandes en - trafic sur le bus PCI. Les versions B0 et ultérieures de - cette puce ont réglé ce problème.</para> - </listitem> - </varlistentry> - - <varlistentry><term><ulink - url="http://developer.intel.com/design/pcisets/desktop.htm#440FX">440FX</ulink>:</term> - - <listitem> - <para>Cette puce pour <ulink - url="http://www.intel.com/procs/ppro/index.htm">Pentium Pro</ulink> - semble fonctionner correctement et ne souffre pas des - problèmes qu'ont connus - les premières puces Orion. Il accepte - aussi une plus grande variété de types de mémoire, y compris - l'ECC et le contrôle de parité. Le seul problème connu est - que la carte d'acquisition vidéo Matrox Meteor ne fonctionne - pas avec.</para> - - </listitem> - </varlistentry> - </variablelist> - - </sect3> - </sect2> - - <sect2> - <title>Processeurs/Coprocesseurs</title> - - <para><emphasis>Contribution de &a.asami;.<!-- <br> -->26 Décembre - 1997.</emphasis></para> - - <sect3> - <title>P6 (Pentium Pro/Pentium II)</title> - - <para>Le Pentium Pro et le Pentium II fonctionnent parfaitement - avec FreeBSD. - De fait, notre site ftp de base <ulink - url="ftp://ftp.freebsd.org/">ftp.freebsd.org</ulink> (aussi - appelé "<filename>ftp.cdrom.com</filename>", le site ftp le plus - important au monde) utilise FreeBSD sur un Pentium Pro. Des <ulink - url="ftp://ftp.cdrom.com/archive-info/wcarchive.txt">Détails de la configuration</ulink> sont disponibles si vous êtes intéressés.</para> - - </sect3> - - <sect3> - <title>Pentium</title> - - <para>Les Pentium Intel (P54C), Pentium MMX (P55C), AMD K6 et - Cyrix/IBM 6x86MX fonctionnent tous avec FreeBSD. Je n'entrerai - pas dans le détail de savoir lequel est plus rapide que l'autre, - il y a des zillions de sites Web sur l'Internet pour vous - l'expliquer à l'endroit et à l'envers. - <!-- smiley --><emphasis>:)</emphasis></para> - - <note> - <para>Les différents processeurs ont besoin d'une alimentation - et d'une ventilation différentes. Assurez-vous que votre carte - mère fournit la tension exacte requise par votre processeur. Par - exemple, de nombreuses puces MMX ont besoin d'une alimentation - dédoublée (e.g., 2.9V pour l'unité centrale, 3.3V pour les - entrées/sorties). Certaines puces AMD et Cyrix/IBM chauffent - plus que les puces Intel. Dans ce cas, vérifiez que vous avez - bien les bons radiateurs et ventilateurs (vous pouvez trouver la - liste des composants certifiés sur leurs pages Web).</para> - </note> - - <sect4> - <title>Vitesses d'horloge</title> - - <para><emphasis>Contribution de &a.rgrimes;.<!-- <br> -->1 - Octobre 1996.</emphasis></para> - - <para><emphasis>Mise à jour de &a.asami;.<!-- <br> -->27 Décembre - 1997.</emphasis></para> - - <para>Les machines de la catégorie Pentium utilisent des vitesses - d'horloge différentes pour leurs différents composants. Il y a - la fréquence du processeur, celle du bus mémoire externe et - celle du bus PCI. Il n'est pas toujours exact qu'un processeur - “plus rapide” compose un système plus rapide - qu'un “plus lent”, du fait de ces différentes - vitesses d'horloge. Voici une table qui donne la liste des - possibilités:</para> - - <informaltable frame="none"> - <tgroup cols="4"> - <thead> - <row> - <entry>Fréquence du processeur (MHz)</entry> - <entry>Horloge externe et fréquence du bus mémoire (mHz) - [a]</entry> - <entry>Coefficient multiplicateur horloge - interne/externe</entry> - <entry>Fréquence du bus PCI (MHz)</entry> - </row> - </thead> - <tbody> - <row> - <entry>60</entry> - <entry>60</entry> - <entry>1.0</entry> - <entry>30</entry> - </row> - - <row> - <entry>66</entry> - <entry>66</entry> - <entry>1.0</entry> - <entry>33</entry> - </row> - - <row> - <entry>75</entry> - <entry>50</entry> - <entry>1.5</entry> - <entry>25</entry> - </row> - - <row> - <entry>90</entry> - <entry>60</entry> - <entry>1.5</entry> - <entry>30</entry> - </row> - - <row> - <entry>100</entry> - <entry>50 [b] - </entry> - <entry>2</entry> - <entry>25</entry> - </row> - - <row> - <entry>100</entry> - <entry>66</entry> - <entry>1.5</entry> - <entry>33</entry> - </row> - - <row> - <entry>120</entry> - <entry>60</entry> - <entry>2</entry> - <entry>30</entry> - </row> - - <row> - <entry>133</entry> - <entry>66</entry> - <entry>2</entry> - <entry>33</entry> - </row> - - <row> - <entry>150</entry> - <entry>60</entry> - <entry>2.5</entry> - <entry>30 (Intel, AMD)</entry> - </row> - - <row> - <entry>150</entry> - <entry>75</entry> - <entry>2</entry> - <entry>37.5 (Cyrix/IBM 6x86MX)</entry> - </row> - - <row> - <entry>166</entry> - <entry>66</entry> - <entry>2.5</entry> - <entry>33</entry> - </row> - - <row> - <entry>180</entry> - <entry>60</entry> - <entry>3</entry> - <entry>30</entry> - </row> - - <row> - <entry>200</entry> - <entry>66</entry> - <entry>3</entry> - <entry>33</entry> - </row> - - <row> - <entry>233</entry> - <entry>66</entry> - <entry>3.5</entry> - <entry>33</entry> - </row> - </tbody> - </tgroup> - </informaltable> - <para>Remarques:</para> - <itemizedlist> - <listitem> - <para>[a] 66MHz peut être en fait 66.667MHz, mais ne pas le - présumer.</para> - </listitem> - <listitem> - <para>[b] Le Pentium 100 peut utiliser une horloge externe à - 50MHz avec un coefficient multiplicateur de 2 ou à 66MHz - avec un coefficient multiplicateur de 1.5.</para> - </listitem> - </itemizedlist> - <para>L'idéal est donc d'avoir un processeur à 100, - 133, 166, 200 ou 233, sinon qu'avec un coefficient - multiplicateur de 3 et plus, le processeur attend après - la mémoire.</para> - - </sect4> - - <sect4> - <title>Le bogue de l'AMD K6</title> - - <para>En 1997, on a rapporté des problèmes d'erreurs d'accès - à la mémoire lors de compilations intensives avec l'AMD K6. - Le problème a été réglé au troisième trimestre 97. D'après - les rapports, les puces K6 dont la date de fabrication est - “9733” ou plus (i.e., produites à partir de la - 33ème semaine de 97) n'ont plus ce problème.</para> - - </sect4> - </sect3> - - <sect3> - <title>* 486</title> - <para></para> - </sect3> - - <sect3> - <title>* 386</title> - <para></para> - </sect3> - - <sect3> - <title>286</title> - - <para>Désolé, FreeBSD ne tourne pas sur des machines 80286. Il est - quasiment impossible de faire tourner les UNIXs conséquents et - dotés de fonctionnalités complètes d'aujourd'hui sur de telles - machines.</para> - - </sect3> - </sect2> - - <sect2> - <title>Mémoire</title> - - <para>Il vous faudra au moins 5 MB de mémoire pour pouvoir installer - FreeBSD. Une fois votre système en état de marche, vous pouvez - <link linkend="kernelconfig-building">recompiler un noyau</link> - qui utilisera moins de mémoire. Avec <filename>boot4.flp</filename> - vous pouvez vous en sortir avec seulement 4 MB.</para> - - </sect2> - - <sect2> - <title>* BIOS</title> - - <para></para> - </sect2> - </sect1> - - <sect1 id="hw-io"> - <title>*** Périphériques d'Entrée/Sortie</title> - -<!-- - &trans.a.dntt; ---> - - <sect2> - <title>* Cartes graphiques</title> - - <para></para> - </sect2> - - <sect2> - <title>* Cartes son</title> - - <para></para> - </sect2> - - <sect2> - <title>*** Ports série et cartes multi-ports</title> - - <sect3 id="uart"> - <title>*** L'UART : Ce que c'est et comment il fonctionne</title> - &sgml.todo; - -<!-- - <para><emphasis>Copyright © 1996 &a.uhclem;, tous droits - réservés. 13 janvier 1996.</emphasis></para> - - <para>Le contrôleur du récepteur/émetteur - asynchrone universel <emphasis>Universal - Asynchronous Receiver/Transmitter (UART)</emphasis> - est le composant clef du sous-système de communication - d'un ordinateur. L'UART prend des octets de données et - transmet des bits individuels d'un manière séquentielle. - Au point de destination, un second UART re-assemble les - bits en octets complets.</para> - - <para>Les transmissions séries sont habituellement - utilisées avec les modems et pour les communications - non-réseaux entre les ordinateurs, terminaux et autres - périphériques.</para> - - <para>Il y a deux formes de transmission série : synchrone - et asynchrone. Dépendant du mode que votre matériel - supporte, le nom d'un sous-système de communication indiquera - <literal>A</literal> s'il supporte les communications - asynchrone et <literal>S</literal> s'il supporte les - communications synchrones. Les deux formes sont décrites - ci-dessous :</para> - - <para>Les acronymes les plus courants sont : - - <blockquote> - <para>UART <emphasis>Universal Asynchronous - Receiver/Transmitter></emphasis> : Récepteur/Emetteur - universel asynchrone</para> - </blockquote> - - <blockquote> - <para>USART <emphasis>Universal SYnchronous-Asynchronous - Receiver/Transmitter></emphasis> : Récepteur/Emetteur - universel synchrone-asynchrone</para> - </blockquote></para> - - <sect4> - <title>Transmission série synchrones</title> - - <para>Les transmissions séries synchrones nécessite le - fait que l'émetteur et le récepteur partage une horloge - commune, ou que l'envoyeur fournisse un signal - d'échantillonage - ou n'importe quel autre signal temporel afin que le - récepteur sache quand est-ce qu'il doit - “lire” le prochain bit de données. Dans la - plupart des formes de communication synchrone, s'il - n'y a pas de données disponibles au moment où il faut - envoyer, un caractère de remplissage doit être envoyé à - la place de telle sorte qu'il y ait toujours des - données en cours de transmission. - La communication synchrone est souvent plus efficace - parce seulement des bits de données sont transmis entre - l'émetteur et le récepteur, et la communication - synchrone peut coûter plus cher si du cablage et - circuit supplémentaires sont nécessaires pour partager - un signal d'horloge entre l'émetteur et le - récepteur.</para> - - <para>Une forme de transmission synchrone est celle - utilisée par les imprimantes et les périphériques disques - non amovibles dans lesquels la donnée est envoyé à un - ensemble de câbles pendant que l'horloge ou le signal - d'échantillonage est envoyé par un câble différent. - Les imprimantes et les périphériques de disques fixes ne - sont normalement pas des périphériques série parce que la - plupart des interfaces standards de disques fixes envoient - un mot entier de donnée par signal d'horloge ou - d'échantillonage en utilisant un câble séparé pour chaque - bit du mot. Dans l'industrie du PC, cela est appelé - périphérique parallèle.</para> - - <para>Le matériel de communication série standard dans un PC - ne supporte pas les opérations synchrones. Ce mode est crit - ici dans un seul but de comparaison.</para> - </sect4> - - <sect4> - <title>Transmission parallèle asynchrone</title> - - <para>La transmission asynchrone parallèle permet - au données d'être transmises sans que l'émetteur n'ait à - envoyer une horloge au récepteur. - A la place, l'émetteur et le récepteur doivent s'entendre - à l'avance sur les paramêtres de temps et des bits spéciaux - sont ajoutés à chaque mot utilisé pour synchroniser les - unités d'envoi et de réception.</para> - - <para>Lorsqu'un mot est donné à l'UART pour des - transmissions asynchrones, un bit nommé "bit de départ" - est ajouté au débute de chaque mot transmis. Le bit de - départ est utilisé pour avertir le récepteur qu'un mot de - donnée est sur le point d'être envoyé, et pour forcer - l'horloge du récepteur à se synchroniser avec l'horloge de - l'émetteur. Ces deux horloges doivent être assez précises - afin de ne pas avoir un décalage de fréquence supérieur à - 10% durant la transmission du reste des bits du mot. (cette - nécessité a été introduit aux jours des téléprinters - mécaniques et est fréquement rencontré par les équipements - électroniques modernes.</para> - - <para>Après le bit de départ, les bits individuels du mot de - données sont envoyés, avec le bit de poids faible - <emphasis> - the Least Significant Bit (LSB) - </emphasis> - devant être envoyé en premier. - Chaque bit dans la transmission est envoyé pour exactement - le même temps que tous les autres bits, et le récepteur - “regarde” dans le câble à - approximativement la moitié de la période assignée à - chaque bit pour déterminer si le bit est un - <literal>1</literal> ou un <literal>0</literal>. - Par exemple, si cela prend deux secondes pour - envoyer chaque bit, le récepteur examinera le - signal pour déterminer si c'est un <literal>1</literal> - ou un <literal>0</literal> après qu'une seconde - se soit passée, puis il attendra deux secondes, - et examinera la valeur du bit suivant, et ainsi - de suite.</para> - - <para>L'émetteur ne sait pas si le récepteur a - “regardé” la valeur du bit. - L'émetteur a seulement connaissance de - l'horloge lui disant de commencer à transmettre - le prochain bit du mot.</para> - - <para>Lorsqu'un mot de donnée complet a été - envoyé, l'émetteur peut ajouter un bit de - parité que l'émetteur génère. Le bit de - parité peut être utilisé par le récepteur pour - effectuer une vérification d'erreur simple. - Puis enfin, un bit d'arrêt est envoyé à - l'emmetteur.</para> - - <para>Lorsque le récepteur recoit tous les bits - du mot de données, il peut vérifier les bits de - parité (l'émetteur et le récepteur doivent - s'être mis d'accord sur le bit de parité - utilisé), puis le récepteur attend un bit - d'arrêt. Si le bit d'arrêt n'apparait pas au - moment où il est supposé le faire, l'UART - considère que le mot complet est erroné et - reportera une erreur de fenêtre au processeur - hôte lorsque le mot de donnée est lu. La cause - usuelle d'une erreur de fenêtre est lorsque - l'horloge de l'émetteur et du récepteur ne - tournent pas à la même vitesse, et que le - signal a été interrompu.</para> - - <para>Indépendamment de si les données ont été - reçu correctement ou non, l'UART écarte - automatiquement les bits de départ, d'arrêt et de - parité. - Si l'émetteur et le récepteur sont configurés - identiquement, ces bits ne sont pas passé à - l'hôte.</para> - - <para>Si un autre mot est prêt pour la - transmission, le bit de départ pour le nouveau mot - peut être envoyé aussitôt que le bit d'arrêt pour - le mot précédent a été envoyé.</para> - - <para>Parce que les données asynchrones sont - “auto-descriptibles”, s'il n'y a pas - de données à transmettre, la ligne de transmission - peut être inactive.</para> - </sect4> - - <sect4> - <title>Autres fonctions UART</title> - - <para>En plus de son travail qui est de convertir - des données de parallèle à série en réception, un - UART fournit usuellement des circuits addtionnel - pour les signaux qui peuvent être utilisés pour - indiquer l'état de le média de transmission, et - pour réguler le flux de données dans l'éventualité - où le périphérique distant n'est pas préparé à - accepter plus de données. Par exemple, quand le - périphérique connecté à l'UART est un modem, le - modem peut reporter la présence d'une portance sur - la ligne téléphonique alors que l'ordinateur peut - ordonner au modem de se réinitialiser ou de ne pas - prendre d'appel en prenant en compte ou non ces - signaux supplépmentaires. La fonction de chacun - de ces signaux supplémentaires est défini dans le - standard EIA RS232-C.</para> - </sect4> - - <sect4> - <title>Les standards RS232-C et V.24</title> - - <para>Dans la plupart des systèmes informatiques, - l'UART est connecté au circuit générant le signal - correspondant aux spécifications EIA RS232-C. - Il y a aussi un standard CCITT nommé V.24 - qui reprend les spécifications incluses dans - RS232-C.</para> - - <sect5> - <title>Assignation de bits RS232-C (marques et - espaces)</title> - - <para>Dans la RS232-C, une valeur de <literal>1</literal> - est appelée une <literal>marque</literal> et une - valeur de <literal>0</literal> est appelé un - <literal>espace</literal>. - Lorsqu'une ligne de communication est inactive, - la ligne est dite “marquant” ou - transmettant continuellement la valeur - <literal>1</literal>.</para> - - <para>Le bit de départ a toujours une valeur de - <literal>0</literal> (un espace). Le bit d'arrêt - a toujours une valeur de <literal>1</literal> - (une marque). Cela signifie qu'il y aura - toujours une transition d'une marque (1) à un - espace (0) sur la ligne à chaque mot, même si - plusieurs mots sont transmis à la suite. - Cela garanti que l'émetteur et le récepteur - peuvent resynchroniser leurs horloges, - indépendamment du contenu des bits de données en - train d'être transmis.</para> - - <para>Le temps d'inactivité entre les bits de - départ et d'arrêt n'ont pas à être exactement - multiple (en incluant zéro) de la vitesse de - transmission de bits sur le lien de - communication, mais la plupart des UART sont - conçus de cette manière pour que cela soit plus - simple.</para> - - <para>Dans la RS232-C, le signal "marquant" - (un <literal>1</literal>) est représenté par - un voltage entre -2 VDC (tension en courant - continu) et -12 VDC, et un - signal "d'espace" (un <literal>0</literal>) - est représenté par un voltage entre 0 et +12 VDC. - L'émetteur est supposé envoyer du +12 VDC ou - -12 VDC, et le récepteur, et le récepteur est - supposé supporter une perte de voltage sur les - longs câbles. - Certains émetteurs avec des périphériques de - basse énergie (comme les ordinateurs portables) - utilisent souvent seulement +5 VDC et -5 VDC, - mais ces valeurs sont toujours acceptables - par un récepteur RS232-C, du moment que la - longueur du câble soit courte.</para> - </sect5> - - <sect5> - <title>Signal de rupture RS232-C (Break Signal)</title> - - <para>La RS232-C spécifie aussi un signal - appelé <literal>rupture</literal> (break), - qui est causé en envoyant en continu des valeurs - d'espacement (ni de départ, ni d'arrêt). - Quand iul n'y a pas d'électricité présent sur le - circuit de données, la ligne est considérée en - train d'envoyer une <literal>Rupture</literal>.</para> - - <para>Le signal <literal>Rupture</literal> peut - être plus long que le temps mis pour envoyer un - octet complet plus les bits de départ, d'arrêt - et de parité. La plupart des UART peuvent - distinguer une erreur de fenêtre et une - rupture, mais si l'UART ne peut pas le - faire, la détection de fenêtre peut être - utilisée pour identifier les - ruptures.</para> - - <para>Aux jours du teleprinter, lorsque - plusieurs imprimantes à travers le monde étaient - câblées en série (comme les services de news), - toute unité pouvait causer une - <literal>Rupture</literal> en ouvrant - temporairement le circuit complet. - Cela était utilisé pour pouvoir autoriser un emplacement - avec des nouvelles importante d'interrompre un autre - emplacement en train de transmettre des informations.</para> - - <para>Dans les systèmes modernes, il y a deux types de - signal de rupture. Si la rupture est plus longue - que 1.6 secondes, on le considère comme une - "rupture de modem", et certains modems - peuvent être programmés pour terminer la conversation - et pour raccrocher ou entrer dans le mode de commande du - modem quand le modem détecte ce signal. - Si l'rupture est plus courte que 1.6 secondes, cela - signifie une rupture de données et il appartient à - l'ordinateur distant de répondre à ce signal. - Parfois cette forme de rupture est utilisée comme - signal d'attention ou d'interruption et est parfois - acceptée comme remplacement pour le caractère - ASCII CONTROL-C.</para> - - <para>Les marques et espaces sont équivalents aux - “trous” et “non trou” dans les - systèmes à cartes perforées.</para> - - <note> - <para>Les ruptures ne peuvent être générées depuis des - cartes perforées ou n'importe auelle autre valeur - d'octet, puisque les octets sont toujours envoyés avec - un bit de départ et un bit d'arrêt. - L'UART est habituellement capable de produire du signal - d'espacement en réponse à une commande spéciale - du processeur hôte.</para> - </note> - </sect5> - - <sect5> - <title>Périphériques RS232-C DTE et DCE</title> - - <para>Les spécifications de RS232-C définit deux types de - matériel : le terminal informatique (DTE) et le périphérique - de transport de données (DCE). Habituellement, le - périphérique DTE est un terminal (ou un ordinateur) et le - DCE est un modem. A l'autre extrémité de la conversation à - travers la ligne téléphonique, le modem de réception est - aussi un périphérique DCE et l'ordinateur qui est relié à - ce modem est un périphérique DTE. - Le périphérique DCE reçoit des signaux sur les broches que - le périphérique de DTE transmet, et vice versa.</para> - - <para>Lorsque deux périphériques qui sont tous deux DTE - ou tous deux DCE doivent être connectés ensemble sans un - modem ou un intermédiaire similaire entre eux, un NULL - modem doit être utilisé. Le NULL modem réorganize - électriquement le câblage de telle sorte que la sortie - de l'émetteur soit reliée au récepteur sur l'autre - périphérique et vice versa. - Des traductions semblables sont exécutées sur tous les - signaux de contrôle de sorte que chaque périphérique - voit ce qu'il pense être du signal DCE (ou DTE) depuis - l'autre périphérique.</para> - - <para>Le nombre de signaux produits par les périphériques - DTE et DCE ne sont pas symétriques. - Le périphérique DTE produit moins de signaux pour le - périphérique DCE que le périphérique DTE reçoit depuis le - DCE.</para> - </sect5> - - <sect5> - <title>Assignation des broches RS232-C</title> - - <para>Les spécifications EIA RS232-C (et l'équivalent ITU, - V.24) désigne un connecteur 25 broches (habituellement un - DB25) et définit le but de la plupart des broches dans ce - connecteur.</para> - - <para>Dans l'IBM PC et les systèmes - semblables, un sous-ensemble de signaux de - RS232-C est fourni par l'intermédiaire de neuf - connecteurs à broches (DB9). Les signaux qui ne - sont pas inclus sur le connecteur PC, travaille - principalement avec l'exécution synchrone, et ce - mode de transmission n'est pas supportés par - l'UART qu'IBM a choisi pour l'usage dans l'IBM - PC.</para> - - <para>Selon le constructeur, un DB25, un - DB9, ou les deux types de connecteur peuvent - être utilisés pour des transmissions de RS232-C. - (l'IBM PC utilise également un connecteur - DB25 pour l'interface parallèle pour - imprimante ce qui prête à certaines - confusions).</para> - - <para>Ci-dessous, une table des affectations de signaux - des connecteurs DB25 et DB9 dans RS232-C</para> - - <informaltable frame="none"> - <tgroup cols="7"> - <thead> - <row> - <entry>Broche DB25 RS232-C</entry> - <entry>Broche DB9 IBM PC</entry> - <entry>EIA Circuit Symbol</entry> - <entry>CCITT Circuit Symbol</entry> - <entry>Common Name</entry> - <entry>Signal Source</entry> - <entry>Description</entry> - </row> - </thead> - - <tbody> - <row> - <entry>1</entry> - <entry>-</entry> - <entry>AA</entry> - <entry>101</entry> - <entry>PG/FG</entry> - <entry>-</entry> - <entry>Frame/Protective Ground</entry> - </row> - - <row> - <entry>2</entry> - <entry>3</entry> - <entry>BA</entry> - <entry>103</entry> - <entry>TD</entry> - <entry>DTE</entry> - <entry>Transmission données</entry> - </row> - - <row> - <entry>3</entry> - <entry>2</entry> - <entry>BB</entry> - <entry>104</entry> - <entry>RD</entry> - <entry>DCE</entry> - <entry>Reception données</entry> - </row> - - <row> - <entry>4</entry> - <entry>7</entry> - <entry>CA</entry> - <entry>105</entry> - <entry>RTS</entry> - <entry>DTE</entry> - <entry>Request to Send</entry> - </row> - - <row> - <entry>5</entry> - <entry>8</entry> - <entry>CB</entry> - <entry>106</entry> - <entry>CTS</entry> - <entry>DCE</entry> - <entry>Clear to Send</entry> - </row> - - <row> - <entry>6</entry> - <entry>6</entry> - <entry>CC</entry> - <entry>107</entry> - <entry>DSR</entry> - <entry>DCE</entry> - <entry>Data Set Ready</entry> - </row> - - <row> - <entry>7</entry> - <entry>5</entry> - <entry>AV</entry> - <entry>102</entry> - <entry>SG/GND</entry> - <entry>-</entry> - <entry>Signal Ground</entry> - </row> - - <row> - <entry>8</entry> - <entry>1</entry> - <entry>CF</entry> - <entry>109</entry> - <entry>DCD/CD</entry> - <entry>DCE</entry> - <entry>Data Carrier Detect</entry> - </row> - - <row> - <entry>9</entry> - <entry>-</entry> - <entry>-</entry> - <entry>-</entry> - <entry>-</entry> - <entry>-</entry> - <entry>Reserved for Test</entry> - </row> - - <row> - <entry>10</entry> - <entry>-</entry> - <entry>-</entry> - <entry>-</entry> - <entry>-</entry> - <entry>-</entry> - <entry>Reserved for Test</entry> - </row> - - <row> - <entry>11</entry> - <entry>-</entry> - <entry>-</entry> - <entry>-</entry> - <entry>-</entry> - <entry>-</entry> - <entry>Reserved for Test</entry> - </row> - - <row> - <entry>12</entry> - <entry>-</entry> - <entry>CI</entry> - <entry>122</entry> - <entry>SRLSD</entry> - <entry>DCE</entry> - <entry>Sec. Recv. Line Signal Detector</entry> - </row> - - <row> - <entry>13</entry> - <entry>-</entry> - <entry>SCB</entry> - <entry>121</entry> - <entry>SCTS</entry> - <entry>DCE</entry> - <entry>Secondary Clear to Send</entry> - </row> - - <row> - <entry>14</entry> - <entry>-</entry> - <entry>SBA</entry> - <entry>118</entry> - <entry>STD</entry> - <entry>DTE</entry> - <entry>Secondary Transmit Data</entry> - </row> - - <row> - <entry>15</entry> - <entry>-</entry> - <entry>DB</entry> - <entry>114</entry> - <entry>TSET</entry> - <entry>DCE</entry> - <entry>Trans. Sig. Element Timing</entry> - </row> - - <row> - <entry>16</entry> - <entry>-</entry> - <entry>SBB</entry> - <entry>119</entry> - <entry>SRD</entry> - <entry>DCE</entry> - <entry>Secondary Received Data</entry> - </row> - - <row> - <entry>17</entry> - <entry>-</entry> - <entry>DD</entry> - <entry>115</entry> - <entry>RSET</entry> - <entry>DCE</entry> - <entry>Receiver Signal Element Timing</entry> - </row> - - <row> - <entry>18</entry> - <entry>-</entry> - <entry>-</entry> - <entry>141</entry> - <entry>LOOP</entry> - <entry>DTE</entry> - <entry>Local Loopback</entry> - </row> - - <row> - <entry>19</entry> - <entry>-</entry> - <entry>SCA</entry> - <entry>120</entry> - <entry>SRS</entry> - <entry>DTE</entry> - <entry>Secondary Request to Send</entry> - </row> - - <row> - <entry>20</entry> - <entry>4</entry> - <entry>CD</entry> - <entry>108.2</entry> - <entry>DTR</entry> - <entry>DTE</entry> - <entry>Data Terminal Ready</entry> - </row> - - <row> - <entry>21</entry> - <entry>-</entry> - <entry>-</entry> - <entry>-</entry> - <entry>RDL</entry> - <entry>DTE</entry> - <entry>Remote Digital Loopback</entry> - </row> - - <row> - <entry>22</entry> - <entry>9</entry> - <entry>CE</entry> - <entry>125</entry> - <entry>RI</entry> - <entry>DCE</entry> - <entry>Ring Indicator</entry> - </row> - - <row> - <entry>23</entry> - <entry>-</entry> - <entry>CH</entry> - <entry>111</entry> - <entry>DSRS</entry> - <entry>DTE</entry> - <entry>Data Signal Rate Selector</entry> - </row> - - <row> - <entry>24</entry> - <entry>-</entry> - <entry>DA</entry> - <entry>113</entry> - <entry>TSET</entry> - <entry>DTE</entry> - <entry>Trans. Sig. Element Timing</entry> - </row> - - <row> - <entry>25</entry> - <entry>-</entry> - <entry>-</entry> - <entry>142</entry> - <entry>-</entry> - <entry>DCE</entry> - <entry>Test Mode</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect5> - </sect4> - - <sect4> - <title>Bits, Baud et symboles</title> - - <para>Le baud est une mesure de vitesse de transmission dans la - liaison asynchrone. En raison de l'avance en technologie - de transmission par modem, ce terme est fréquemment - employé abusivement pour désigner le débit dans les nouveaux - périphériques.</para> - - <para>Traditionnellement, un débit en baud représente le - nombre de bits qui sont envoyés réellement - par le média, pas la quantité des données qui sont - déplacées réellement d'un dispositif de - DTE à l'autre. Le comptage en baud inclut les bits - supplémentaires de départ, d'arrêt et de parité qui sont - produits par l'UART d' envoi et retirés par l'UART de - réception. Ceci signifie que les mots de sept bits - de données prennent réellement 10 bits à transmettre. - Par conséquent, un modem - capable de déplacer 300 bits par seconde d'un endroit à - l'autre peut normalement seulement - déplacer 30 mots de 7 bit si la parité est utilisée et un bit - d'arrêt et de de début sont présent.</para> - - <para>Si des mots contenant des données de 8 bits sont - utilisés et si des bits de parité sont également - utilisés, le débit tombe à 27.27 mots par seconde, parce que - cela prend maintenant 11 bits pour envoyer les mots - de 8 bits, et le modem envoie toujours seulement - 300 bits par seconde.</para> - - <para>La formule pour convertir des octets par seconde - en une vitesse baud et vice versa était - simple jusqu'à ce que les modems correcteurs d'erreurs - soient arrivés. Ces modems reçoivent - une série de bits de l'UART dans l'ordinateur - hôte (même lorsque des modems internes - sont utilisés les données sont encore - fréquemment arrangés en série) et convertissent les bits de - nouveau en octets. Ces octets sont alors combinés dans - des paquets et envoyés par - de la ligne téléphonique en utilisant une méthode de - transmission synchrone. Ceci signifie que les - bits de parité, d'arrêt, de début, ajoutés par l'UART dans - le DTE (l'ordinateur) ont été retirés par le - modem avant transmission par le modem d' envoi. Quand ces - octets sont reçus par le modem distant, le modem - distant ajoute des bits de parité, de début, d'arrêt - aux mots, les convertit en format séquentiel et puis - les envoie à l'UART de réception - dans l'ordinateur distant, qui élimine - alors les bits de début, d'arrêt et - de parité.</para> - - <para>La raison pour laquelle toutes ces conversions - supplémentaires sont effectuées est de faire de la sorte - que les deux modems - puissent exécuter les corrections d'erreurs, qui signifie que - le modem de réception peut demander au - modem d'envoi de renvoyer un bloc de données qui n'aurait - pas été reçu avec un total de - contrôle correct. Ce contrôle est manipulé par les - modems, et les périphériques DTE sont ignorant du processus - qui s'est produit.</para> - - <para>En sautant les bits de parité, de début et d'arrêt, - les bits supplémentaires des données - que les deux - modems doivent partager entre eux pour effectuer des - corrections d'erreurs - sont le plus souvent cachés lors du calcul - du débit de transmission effectivement vu par le matériel - DTE d'envoi et de réception. - Par exemple, si un modem envoie dix mots de 7 bit à un - autre modem sans compter les bits de - parité, de début et d'arrêt, le modem d' envoi pourra - ajouter 30 bits d'information que le - modem de réception pourra employer pour faire de correction - d'erreurs, ceci sans influencer la vitesse de - transmission des vraies données.</para> - - <para>L'utilisation du terme baud est rendu - encore confus - par les modems exécutant une compression. - Un mot simple de 8 bits à travers une ligne - téléphonique pourrait en réalité être une douzaine de mots - qui ont été transmis au modem d'envoi. Le modem de réception - se chargera ensuite de le décompresser et lui rendre son - contenu inital qu'il passera au DTE de réception.</para> - - </para> - Modern modems also include buffers that allow the rate that - bits move across the phone line (DCE to DCE) to be a different - speed than the speed that the bits move between the DTE and DCE on - both ends of the conversation. Normally the speed between the DTE - and DCE is higher than the DCE to DCE speed because of the use of - compression by the modems.</para> - - <para>Because the number of bits needed to describe a byte varied - during the trip between the two machines plus the differing - bits-per-seconds speeds that are used present on the DTE-DCE and - DCE-DCE links, the usage of the term Baud to describe the overall - communication speed causes problems and can misrepresent the true - transmission speed. So Bits Per Second (bps) is the correct term - to use to describe the transmission rate seen at the DCE to DCE - interface and Baud or Bits Per Second are acceptable terms to use - when a connection is made between two systems with a wired - connection, or if a modem is in use that is not performing - error-correction or compression.</para> - - <para>Modern high speed modems (2400, 9600, 14,400, and 19,200bps) - in reality still operate at or below 2400 baud, or more - accurately, 2400 Symbols per second. High speed modem are able to - encode more bits of data into each Symbol using a technique called - Constellation Stuffing, which is why the effective bits per second - rate of the modem is higher, but the modem continues to operate - within the limited audio bandwidth that the telephone system - provides. Modems operating at 28,800 and higher speeds have - variable Symbol rates, but the technique is the same.</para> - </sect4> - - - <sect4> - <title>The IBM Personal Computer UART</title> - - <para>Starting with the original IBM Personal Computer, IBM selected - the National Semiconductor INS8250 UART for use in the IBM PC - Parallel/Serial Adapter. Subsequent generations of compatible - computers from IBM and other vendors continued to use the INS8250 - or improved versions of the National Semiconductor UART - family.</para> - - <sect5> - <title>National Semiconductor UART Family Tree</title> - - <para>There have been several versions and subsequent generations - of the INS8250 UART. Each major version is described - below.</para> - - <programlisting> -INS8250 -> INS8250B - \ - \ - \-> INS8250A -> INS82C50A - \ - \ - \-> NS16450 -> NS16C450 - \ - \ - \-> NS16550 -> NS16550A -> PC16550D</programlisting> - - <variablelist> - <varlistentry> - <term>INS8250</term> - - <listitem> - <para>This part was used in the original IBM PC and IBM - PC/XT. The original name for this part was the INS8250 - ACE (Asynchronous Communications Element) and it is made - from NMOS technology.</para> - - <para>The 8250 uses eight I/O ports and has a one-byte send - and a one-byte receive buffer. This original UART has - several race conditions and other flaws. The original IBM - BIOS includes code to work around these flaws, but this - made the BIOS dependent on the flaws being present, so - subsequent parts like the 8250A, 16450 or 16550 could not - be used in the original IBM PC or IBM PC/XT.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>INS8250-B</term> - - <listitem> - <para>This is the slower speed of the INS8250 made from NMOS - technology. It contains the same problems as the original - INS8250.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>INS8250A</term> - - <listitem> - <para>An improved version of the INS8250 using XMOS - technology with various functional flaws corrected. The - INS8250A was used initially in PC clone computers by - vendors who used “clean” BIOS designs. Because - of the corrections in the chip, this part could not be - used with a BIOS compatible with the INS8250 or - INS8250B.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>INS82C50A</term> - - <listitem> - <para>This is a CMOS version (low power consumption) of the - INS8250A and has similar functional - characteristics.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>NS16450</term> - - <listitem> - <para>Same as NS8250A with improvements so it can be used - with faster CPU bus designs. IBM used this part in the - IBM AT and updated the IBM BIOS to no longer rely on the - bugs in the INS8250.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>NS16C450</term> - - <listitem> - <para>This is a CMOS version (low power consumption) of the - NS16450.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>NS16550</term> - - <listitem> - <para>Same as NS16450 with a 16-byte send and receive buffer - but the buffer design was flawed and could not be reliably - be used.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>NS16550A</term> - - <listitem> - <para>Same as NS16550 with the buffer flaws corrected. The - 16550A and its successors have become the most popular - UART design in the PC industry, mainly due it its ability - to reliably handle higher data rates on operating systems - with sluggish interrupt response times.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>NS16C552</term> - - <listitem> - <para>This component consists of two NS16C550A CMOS UARTs in - a single package.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>PC16550D</term> - - <listitem> - <para>Same as NS16550A with subtle flaws corrected. This is - revision D of the 16550 family and is the latest design - available from National Semiconductor.</para> - </listitem> - </varlistentry> - </variablelist> - </sect5> - - <sect5> - <title>The NS16550AF and the PC16550D are the same thing</title> - - <para>National reorganized their part numbering system a few years - ago, and the NS16550AFN no longer exists by that name. (If you - have a NS16550AFN, look at the date code on the part, which is a - four digit number that usually starts with a nine. The first - two digits of the number are the year, and the last two digits - are the week in that year when the part was packaged. If you - have a NS16550AFN, it is probably a few years old.)</para> - - <para>The new numbers are like PC16550DV, with minor differences - in the suffix letters depending on the package material and its - shape. (A description of the numbering system can be found - below.)</para> - - <para>It is important to understand that in some stores, you may - pay $15(US) for a NS16550AFN made in 1990 and in the next - bin are the new PC16550DN parts with minor fixes that National - has made since the AFN part was in production, the PC16550DN was - probably made in the past six months and it costs half (as low - as $5(US) in volume) as much as the NS16550AFN because they - are readily available.</para> - - <para>As the supply of NS16550AFN chips continues to shrink, the - price will probably continue to increase until more people - discover and accept that the PC16550DN really has the same - function as the old part number.</para> - </sect5> - - <sect5> - <title>National Semiconductor Part Numbering System</title> - - <para>The older NS<replaceable>nnnnnrqp</replaceable> part - numbers are now of the format - PC<replaceable>nnnnnrgp</replaceable>.</para> - - <para>The <replaceable>r</replaceable> is the revision field. The - current revision of the 16550 from National Semiconductor is - <literal>D</literal>.</para> - - <para>The <replaceable>p</replaceable> is the package-type field. - The types are:</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <tbody> - <row> - <entry>"F"</entry> - <entry>QFP</entry> - <entry>(quad flat pack) L lead type</entry> - </row> - - <row> - <entry>"N"</entry> - <entry>DIP</entry> - <entry>(dual inline package) through hole straight lead - type</entry> - </row> - - <row> - <entry>"V"</entry> - <entry>LPCC</entry> - <entry>(lead plastic chip carrier) J lead type</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>The <replaceable>g</replaceable> is the product grade field. - If an <literal>I</literal> precedes the package-type letter, it - indicates an “industrial” grade part, which has - higher specs than a standard part but not as high as Military - Specification (Milspec) component. This is an optional - field.</para> - - <para>So what we used to call a NS16550AFN (DIP Package) is now - called a PC16550DN or PC16550DIN.</para> - </sect5> - </sect4> - - <sect4> - <title>Other Vendors and Similar UARTs</title> - - <para>Over the years, the 8250, 8250A, 16450 and 16550 have been - licensed or copied by other chip vendors. In the case of the - 8250, 8250A and 16450, the exact circuit (the - “megacell”) was licensed to many vendors, including - Western Digital and Intel. Other vendors reverse-engineered the - part or produced emulations that had similar behavior.</para> - - <para>In internal modems, the modem designer will frequently emulate - the 8250A/16450 with the modem microprocessor, and the emulated - UART will frequently have a hidden buffer consisting of several - hundred bytes. Because of the size of the buffer, these - emulations can be as reliable as a 16550A in their ability to - handle high speed data. However, most operating systems will - still report that the UART is only a 8250A or 16450, and may not - make effective use of the extra buffering present in the emulated - UART unless special drivers are used.</para> - - <para>Some modem makers are driven by market forces to abandon a - design that has hundreds of bytes of buffer and instead use a - 16550A UART so that the product will compare favorably in market - comparisons even though the effective performance may be lowered - by this action.</para> - - <para>A common misconception is that all parts with - “16550A” written on them are identical in performance. - There are differences, and in some cases, outright flaws in most - of these 16550A clones.</para> - - <para>When the NS16550 was developed, the National Semiconductor - obtained several patents on the design and they also limited - licensing, making it harder for other vendors to provide a chip - with similar features. Because of the patents, reverse-engineered - designs and emulations had to avoid infringing the claims covered - by the patents. Subsequently, these copies almost never perform - exactly the same as the NS16550A or PC16550D, which are the parts - most computer and modem makers want to buy but are sometimes - unwilling to pay the price required to get the genuine - part.</para> - - <para>Some of the differences in the clone 16550A parts are - unimportant, while others can prevent the device from being used - at all with a given operating system or driver. These differences - may show up when using other drivers, or when particular - combinations of events occur that were not well tested or - considered in the Windows driver. This is because most modem - vendors and 16550-clone makers use the Microsoft drivers from - Windows for Workgroups 3.11 and the Microsoft MSD utility as the - primary tests for compatibility with the NS16550A. This - over-simplistic criteria means that if a different operating - system is used, problems could appear due to subtle differences - between the clones and genuine components.</para> - - <para>National Semiconductor has made available a program named - <application>COMTEST</application> that performs compatibility - tests independent of any OS drivers. It should be remembered that - the purpose of this type of program is to demonstrate the flaws in - the products of the competition, so the program will report major - as well as extremely subtle differences in behavior in the part - being tested.</para> - - <para>In a series of tests performed by the author of this document - in 1994, components made by National Semiconductor, TI, StarTech, - and CMD as well as megacells and emulations embedded in internal - modems were tested with COMTEST. A difference count for some of - these components is listed below. Because these tests were - performed in 1994, they may not reflect the current performance of - the given product from a vendor.</para> - - <para>It should be noted that COMTEST normally aborts when an - excessive number or certain types of problems have been detected. - As part of this testing, COMTEST was modified so that it would not - abort no matter how many differences were encountered.</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <thead> - <row> - <entry>Vendor</entry> - <entry>Part Number</entry> - <entry>Errors (aka "differences" reported)</entry> - </row> - </thead> - - <tbody> - <row> - <entry>National</entry> - <entry>(PC16550DV)</entry> - <entry>0</entry> - </row> - - <row> - <entry>National</entry> - <entry>(NS16550AFN)</entry> - <entry>0</entry> - </row> - - <row> - <entry>National</entry> - <entry>(NS16C552V)</entry> - <entry>0</entry> - </row> - - <row> - <entry>TI</entry> - <entry>(TL16550AFN)</entry> - <entry>3</entry> - </row> - - <row> - <entry>CMD</entry> - <entry>(16C550PE)</entry> - <entry>19</entry> - </row> - - <row> - <entry>StarTech</entry> - <entry>(ST16C550J)</entry> - <entry>23</entry> - </row> - - <row> - <entry>Rockwell</entry> - <entry>Reference modem with internal 16550 or an - emulation (RC144DPi/C3000-25)</entry> - <entry>117</entry> - </row> - - <row> - <entry>Sierra</entry> - <entry>Modem with an internal 16550 - (SC11951/SC11351)</entry> - <entry>91</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <note> - <para>To date, the author of this document has not found any - non-National parts that report zero differences using the - COMTEST program. It should also be noted that National has had - five versions of the 16550 over the years and the newest parts - behave a bit differently than the classic NS16550AFN that is - considered the benchmark for functionality. COMTEST appears to - turn a blind eye to the differences within the National product - line and reports no errors on the National parts (except for the - original 16550) even when there are official erratas that - describe bugs in the A, B and C revisions of the parts, so this - bias in COMTEST must be taken into account.</para> - </note> - - <para>It is important to understand that a simple count of - differences from COMTEST does not reveal a lot about what - differences are important and which are not. For example, about - half of the differences reported in the two modems listed above - that have internal UARTs were caused by the clone UARTs not - supporting five- and six-bit character modes. The real 16550, - 16450, and 8250 UARTs all support these modes and COMTEST checks - the functionality of these modes so over fifty differences are - reported. However, almost no modern modem supports five- or - six-bit characters, particularly those with error-correction and - compression capabilities. This means that the differences related - to five- and six-bit character modes can be discounted.</para> - - <para>Many of the differences COMTEST reports have to do with - timing. In many of the clone designs, when the host reads from - one port, the status bits in some other port may not update in the - same amount of time (some faster, some slower) as a - <emphasis>real</emphasis> NS16550AFN and COMTEST looks for these - differences. This means that the number of differences can be - misleading in that one device may only have one or two differences - but they are extremely serious, and some other device that updates - the status registers faster or slower than the reference part - (that would probably never affect the operation of a properly - written driver) could have dozens of differences reported.</para> - - <para>COMTEST can be used as a screening tool to alert the - administrator to the presence of potentially incompatible - components that might cause problems or have to be handled as a - special case.</para> - - <para>If you run COMTEST on a 16550 that is in a modem or a modem is - attached to the serial port, you need to first issue a ATE0&W - command to the modem so that the modem will not echo any of the - test characters. If you forget to do this, COMTEST will report at - least this one difference:</para> - - <screen>Error (6)...Timeout interrupt failed: IIR = c1 LSR = 61</screen> - </sect4> - - <sect4> - <title>8250/16450/16550 Registers</title> - - <para>The 8250/16450/16550 UART occupies eight contiguous I/O port - addresses. In the IBM PC, there are two defined locations for - these eight ports and they are known collectively as COM1 and - COM2. The makers of PC-clones and add-on cards have created two - additional areas known as COM3 and COM4, but these extra COM ports - conflict with other hardware on some systems. The most common - conflict is with video adapters that provide IBM 8514 - emulation.</para> - - <para>COM1 is located from 0x3f8 to 0x3ff and normally uses IRQ 4 - COM2 is located from 0x2f8 to 0x2ff and normally uses IRQ 3 COM3 - is located from 0x3e8 to 0x3ef and has no standardized IRQ COM4 is - located from 0x2e8 to 0x2ef and has no standardized IRQ.</para> - - <para>A description of the I/O ports of the 8250/16450/16550 UART is - provided below.</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <thead> - <row> - <entry>I/O Port</entry> - <entry>Access Allowed</entry> - <entry>Description</entry> - </row> - </thead> - - <tbody> - <row> - <entry>+0x00</entry> - <entry>write (DLAB==0)</entry> - <entry><para>Transmit Holding Register - (THR).</para><para>Information written to this port are - treated as data words and will be transmitted by the - UART.</para></entry> - </row> - - <row> - <entry>+0x00</entry> - <entry>read (DLAB==0)</entry> - <entry><para>Receive Buffer Register (RBR).</para><para>Any - data words received by the UART form the serial link are - accessed by the host by reading this - port.</para></entry> - </row> - - <row> - <entry>+0x00</entry> - <entry>write/read (DLAB==1)</entry> - <entry><para>Divisor Latch LSB (DLL)</para><para>This value - will be divided from the master input clock (in the IBM - PC, the master clock is 1.8432MHz) and the resulting - clock will determine the baud rate of the UART. This - register holds bits 0 thru 7 of the - divisor.</para></entry> - </row> - - <row> - <entry>+0x01</entry> - <entry>write/read (DLAB==1)</entry> - <entry><para>Divisor Latch MSB (DLH)</para><para>This value - will be divided from the master input clock (in the IBM - PC, the master clock is 1.8432MHz) and the resulting - clock will determine the baud rate of the UART. This - register holds bits 8 thru 15 of the - divisor.</para></entry> - </row> - - <row> - <entry>+0x01</entry> - <entry>write/read (DLAB==0)</entry> - <entrytbl cols="2"> - <colspec colnum="1" colname="col1"> - <colspec colnum="2" colname="col2"> - <spanspec namest="col1" nameend="col2" spanname="1to2"> - - <tbody> - <row> - <entry spanname="1to2"><para>Interrupt Enable Register - (IER)</para><para>The 8250/16450/16550 UART - classifies events into one of four categories. - Each category can be configured to generate an - interrupt when any of the events occurs. The - 8250/16450/16550 UART generates a single external - interrupt signal regardless of how many events in - the enabled categories have occurred. It is up to - the host processor to respond to the interrupt and - then poll the enabled interrupt categories - (usually all categories have interrupts enabled) - to determine the true cause(s) of the - interrupt.</para></entry> - </row> - - <row> - <entry>Bit 7</entry> - <entry>Reserved, always 0.</entry> - </row> - - <row> - <entry>Bit 6</entry> - <entry>Reserved, always 0.</entry> - </row> - - <row> - <entry>Bit 5</entry> - <entry>Reserved, always 0.</entry> - </row> - - <row> - <entry>Bit 4</entry> - <entry>Reserved, always 0.</entry> - </row> - - <row> - <entry>Bit 3</entry> - <entry>Enable Modem Status Interrupt (EDSSI). Setting - this bit to "1" allows the UART to generate an - interrupt when a change occurs on one or more of the - status lines.</entry> - </row> - - <row> - <entry>Bit 2</entry> - <entry>Enable Receiver Line Status Interrupt (ELSI) - Setting this bit to "1" causes the UART to generate - an interrupt when the an error (or a BREAK signal) - has been detected in the incoming data.</entry> - </row> - - <row> - <entry>Bit 1</entry> - <entry>Enable Transmitter Holding Register Empty - Interrupt (ETBEI) Setting this bit to "1" causes the - UART to generate an interrupt when the UART has room - for one or more additional characters that are to be - transmitted.</entry> - </row> - - <row> - <entry>Bit 0</entry> - <entry>Enable Received Data Available Interrupt - (ERBFI) Setting this bit to "1" causes the UART to - generate an interrupt when the UART has received - enough characters to exceed the trigger level of the - FIFO, or the FIFO timer has expired (stale data), or - a single character has been received when the FIFO - is disabled.</entry> - </row> - </tbody> - </entrytbl> - </row> - - <row> - <entry>+0x02</entry> - <entry>write</entry> - <entrytbl cols="4"> - <colspec colnum="1" colname="col1"> - <colspec colnum="2" colname="col2"> - <colspec colnum="3" colname="col3"> - <colspec colnum="4" colname="col4"> - <spanspec namest="col1" nameend="col4" spanname="1to4"> - <spanspec namest="col2" nameend="col4" spanname="2to4"> - - <tbody> - <row> - <entry spanname="1to4">FIFO Control Register (FCR) - (This port does not exist on the 8250 and 16450 - UART.)</entry> - </row> - - <row> - <entry>Bit 7</entry> - <entry spanname="2to4">Receiver Trigger Bit #1</entry> - </row> - - <row> - <entry>Bit 6</entry> - <entry spanname="2to4"><para>Receiver Trigger Bit - #0</para><para>These two bits control at what - point the receiver is to generate an interrupt - when the FIFO is active.</para></entry> - </row> - - <row> - <entry colname="col2">7</entry> - <entry colname="col3">6</entry> - <entry colname="col4">How many words are received - before an interrupt is generated</entry> - </row> - - <row> - <entry colname="col2">0</entry> - <entry colname="col3">0</entry> - <entry colname="col4">1</entry> - </row> - - <row> - <entry colname="col2">0</entry> - <entry colname="col3">1</entry> - <entry colname="col4">4</entry> - </row> - - <row> - <entry colname="col2">1</entry> - <entry colname="col3">0</entry> - <entry colname="col4">8</entry> - </row> - - <row> - <entry colname="col2">1</entry> - <entry colname="col3">1</entry> - <entry colname="col4">14</entry> - </row> - - <row> - <entry>Bit 5</entry> - <entry spanname="2to4">Reserved, always 0.</entry> - </row> - - <row> - <entry>Bit 4</entry> - <entry spanname="2to4">Reserved, always 0.</entry> - </row> - - <row> - <entry>Bit 3</entry> - <entry spanname="2to4">DMA Mode Select. If Bit 0 is - set to "1" (FIFOs enabled), setting this bit changes - the operation of the -RXRDY and -TXRDY signals from - Mode 0 to Mode 1.</entry> - </row> - - <row> - <entry>Bit 2</entry> - <entry spanname="2to4">Transmit FIFO Reset. When a - "1" is written to this bit, the contents of the FIFO - are discarded. Any word currently being transmitted - will be sent intact. This function is useful in - aborting transfers.</entry> - </row> - - <row> - <entry>Bit 1</entry> - <entry spanname="2to4">Receiver FIFO Reset. When a - "1" is written to this bit, the contents of the FIFO - are discarded. Any word currently being assembled - in the shift register will be received - intact.</entry> - </row> - - <row> - <entry>Bit 0</entry> - <entry spanname="2to4">16550 FIFO Enable. When set, - both the transmit and receive FIFOs are enabled. - Any contents in the holding register, shift - registers or FIFOs are lost when FIFOs are enabled - or disabled.</entry> - </row> - </tbody> - </entrytbl> - </row> - - <row> - <entry>+0x02</entry> - <entry>read</entry> - <entrytbl cols="6"> - <colspec colnum="1" colname="col1"> - <colspec colnum="2" colname="col2"> - <colspec colnum="3" colname="col3"> - <colspec colnum="4" colname="col4"> - <colspec colnum="5" colname="col5"> - <colspec colnum="6" colname="col6"> - <spanspec namest="col1" nameend="col6" spanname="1to6"> - <spanspec namest="col2" nameend="col6" spanname="2to6"> - - <tbody> - <row> - <entry spanname="1to6">Interrupt Identification - Register</entry> - </row> - - <row> - <entry>Bit 7</entry> - <entry spanname="2to6">FIFOs enabled. On the - 8250/16450 UART, this bit is zero.</entry> - </row> - - <row> - <entry>Bit 6</entry> - <entry spanname="2to6">FIFOs enabled. On the - 8250/16450 UART, this bit is zero.</entry> - </row> - - <row> - <entry>Bit 5</entry> - <entry spanname="2to6">Reserved, always 0.</entry> - </row> - - <row> - <entry>Bit 4</entry> - <entry spanname="2to6">Reserved, always 0.</entry> - </row> - - <row> - <entry>Bit 3</entry> - <entry spanname="2to6">Interrupt ID Bit #2. On the - 8250/16450 UART, this bit is zero.</entry> - </row> - - <row> - <entry>Bit 2</entry> - <entry spanname="2to6">Interrupt ID Bit #1</entry> - </row> - - <row> - <entry>Bit 1</entry> - <entry spanname="2to6">Interrupt ID Bit #0.These three - bits combine to report the category of event that - caused the interrupt that is in progress. These - categories have priorities, so if multiple - categories of events occur at the same time, the - UART will report the more important events first and - the host must resolve the events in the order they - are reported. All events that caused the current - interrupt must be resolved before any new interrupts - will be generated. (This is a limitation of the PC - architecture.)</entry> - </row> - - <row> - <entry colname="col2">2</entry> - <entry colname="col3">1</entry> - <entry colname="col4">0</entry> - <entry colname="col5">Priority</entry> - <entry colname="col6">Description</entry> - </row> - - <row> - <entry colname="col2">0</entry> - <entry colname="col3">1</entry> - <entry colname="col4">1</entry> - <entry colname="col5">First</entry> - <entry colname="col6">Received Error (OE, PE, BI, or - FE)</entry> - </row> - - <row> - <entry colname="col2">0</entry> - <entry colname="col3">1</entry> - <entry colname="col4">0</entry> - <entry colname="col5">Second</entry> - <entry colname="col6">Received Data Available</entry> - </row> - - <row> - <entry colname="col2">1</entry> - <entry colname="col3">1</entry> - <entry colname="col4">0</entry> - <entry colname="col5">Second</entry> - <entry colname="col6">Trigger level identification - (Stale data in receive buffer)</entry> - </row> - - <row> - <entry colname="col2">0</entry> - <entry colname="col3">0</entry> - <entry colname="col4">1</entry> - <entry colname="col5">Third</entry> - <entry colname="col6">Transmitter has room for more - words (THRE)</entry> - </row> - - <row> - <entry colname="col2">0</entry> - <entry colname="col3">0</entry> - <entry colname="col4">0</entry> - <entry colname="col5">Fourth</entry> - <entry colname="col6">Modem Status Change (-CTS, -DSR, - -RI, or -DCD)</entry> - </row> - - <row> - <entry>Bit 0</entry> - <entry spanname="2to6">Interrupt Pending Bit. If this - bit is set to "0", then at least one interrupt is - pending.</entry> - </row> - </tbody> - </entrytbl> - </row> - - <row> - <entry>+0x03</entry> - <entry>write/read</entry> - <entrytbl cols="5"> - <colspec colnum="1" colname="col1"> - <colspec colnum="2" colname="col2"> - <colspec colnum="3" colname="col3"> - <colspec colnum="4" colname="col4"> - <colspec colnum="5" colname="col5"> - <spanspec namest="col1" nameend="col5" spanname="1to5"> - <spanspec namest="col2" nameend="col5" spanname="2to5"> - <spanspec namest="col4" nameend="col5" spanname="4to5"> - - <tbody> - <row> - <entry spanname="1to5">Line Control Register - (LCR)</entry> - </row> - - <row> - <entry>Bit 7</entry> - <entry spanname="2to5">Divisor Latch Access Bit - (DLAB). When set, access to the data - transmit/receive register (THR/RBR) and the - Interrupt Enable Register (IER) is disabled. Any - access to these ports is now redirected to the - Divisor Latch Registers. Setting this bit, loading - the Divisor Registers, and clearing DLAB should be - done with interrupts disabled.</entry> - </row> - - <row> - <entry>Bit 6</entry> - <entry spanname="2to5">Set Break. When set to "1", - the transmitter begins to transmit continuous - Spacing until this bit is set to "0". This - overrides any bits of characters that are being - transmitted.</entry> - </row> - - <row> - <entry>Bit 5</entry> - <entry spanname="2to5">Stick Parity. When parity is - enabled, setting this bit causes parity to always be - "1" or "0", based on the value of Bit 4.</entry> - </row> - - <row> - <entry>Bit 4</entry> - <entry spanname="2to5">Even Parity Select (EPS). When - parity is enabled and Bit 5 is "0", setting this bit - causes even parity to be transmitted and expected. - Otherwise, odd parity is used.</entry> - </row> - - <row> - <entry>Bit 3</entry> - <entry spanname="2to5">Parity Enable (PEN). When set - to "1", a parity bit is inserted between the last - bit of the data and the Stop Bit. The UART will - also expect parity to be present in the received - data.</entry> - </row> - - <row> - <entry>Bit 2</entry> - <entry spanname="2to5">Number of Stop Bits (STB). If - set to "1" and using 5-bit data words, 1.5 Stop Bits - are transmitted and expected in each data word. For - 6, 7 and 8-bit data words, 2 Stop Bits are - transmitted and expected. When this bit is set to - "0", one Stop Bit is used on each data word.</entry> - </row> - - <row> - <entry>Bit 1</entry> - <entry spanname="2to5">Word Length Select Bit #1 - (WLSB1)</entry> - </row> - - <row> - <entry>Bit 0</entry> - <entry spanname="2to5">Word Length Select Bit #0 - (WLSB0)</entry> - </row> - - <row> - <entry colname="col2" spanname="2to5">Together these - bits specify the number of bits in each data - word.</entry> - </row> - - <row> - <entry colname="col2">1</entry> - <entry colname="col3">0</entry> - <entry colname="col4" spanname="4to5">Word - Length</entry> - </row> - - <row> - <entry colname="col2">0</entry> - <entry colname="col3">0</entry> - <entry colname="col4" spanname="4to5">5 Data - Bits</entry> - </row> - - <row> - <entry colname="col2">0</entry> - <entry colname="col3">1</entry> - <entry colname="col4" spanname="4to5">6 Data - Bits</entry> - </row> - - <row> - <entry colname="col2">1</entry> - <entry colname="col3">0</entry> - <entry colname="col4" spanname="4to5">7 Data - Bits</entry> - </row> - - <row> - <entry colname="col2">1</entry> - <entry colname="col3">1</entry> - <entry colname="col4" spanname="4to5">8 Data - Bits</entry> - </row> - </tbody> - </entrytbl> - </row> - - <row> - <entry>+0x04</entry> - <entry>write/read</entry> - <entrytbl cols="2"> - <colspec colnum="1" colname="col1"> - <colspec colnum="2" colname="col2"> - <spanspec namest="col1" nameend="col2" spanname="1to2"> - - <tbody> - <row> - <entry spanname="1to2">Modem Control Register - (MCR)</entry> - </row> - - <row> - <entry>Bit 7</entry> - <entry>Reserved, always 0.</entry> - </row> - - <row> - <entry>Bit 6</entry> - <entry>Reserved, always 0.</entry> - </row> - - <row> - <entry>Bit 5</entry> - <entry>Reserved, always 0.</entry> - </row> - - <row> - <entry>Bit 4</entry> - <entry>Loop-Back Enable. When set to "1", the UART - transmitter and receiver are internally connected - together to allow diagnostic operations. In - addition, the UART modem control outputs are - connected to the UART modem control inputs. CTS is - connected to RTS, DTR is connected to DSR, OUT1 is - connected to RI, and OUT 2 is connected to - DCD.</entry> - </row> - - <row> - <entry>Bit 3</entry> - <entry>OUT 2. An auxiliary output that the host - processor may set high or low. In the IBM PC serial - adapter (and most clones), OUT 2 is used to - tri-state (disable) the interrupt signal from the - 8250/16450/16550 UART.</entry> - </row> - - <row> - <entry>Bit 2</entry> - <entry>OUT 1. An auxiliary output that the host - processor may set high or low. This output is not - used on the IBM PC serial adapter.</entry> - </row> - - <row> - <entry>Bit 1</entry> - <entry>Request to Send (RTS). When set to "1", the - output of the UART -RTS line is Low - (Active).</entry> - </row> - - <row> - <entry>Bit 0</entry> - <entry>Data Terminal Ready (DTR). When set to "1", - the output of the UART -DTR line is Low - (Active).</entry> - </row> - </tbody> - </entrytbl> - </row> - - <row> - <entry>+0x05</entry> - <entry>write/read</entry> - <entrytbl cols="2"> - <colspec colnum="1" colname="col1"> - <colspec colnum="2" colname="col2"> - <spanspec namest="col1" nameend="col2" spanname="1to2"> - - <tbody> - <row> - <entry spanname="1to2">Line Status Register - (LSR)</entry> - </row> - - <row> - <entry>Bit 7</entry> - <entry>Error in Receiver FIFO. On the 8250/16450 - UART, this bit is zero. This bit is set to "1" when - any of the bytes in the FIFO have one or more of the - following error conditions: PE, FE, or BI.</entry> - </row> - - <row> - <entry>Bit 6</entry> - <entry>Transmitter Empty (TEMT). When set to "1", - there are no words remaining in the transmit FIFO - or the transmit shift register. The transmitter is - completely idle.</entry> - </row> - - <row> - <entry>Bit 5</entry> - <entry>Transmitter Holding Register Empty (THRE). - When set to "1", the FIFO (or holding register) now - has room for at least one additional word to - transmit. The transmitter may still be transmitting - when this bit is set to "1".</entry> - </row> - - <row> - <entry>Bit 4</entry> - <entry>Break Interrupt (BI). The receiver has - detected a Break signal.</entry> - </row> - - <row> - <entry>Bit 3</entry> - <entry>Framing Error (FE). A Start Bit was detected - but the Stop Bit did not appear at the expected - time. The received word is probably - garbled.</entry> - </row> - - <row> - <entry>Bit 2</entry> - <entry>Parity Error (PE). The parity bit was - incorrect for the word received.</entry> - </row> - - <row> - <entry>Bit 1</entry> - <entry>Overrun Error (OE). A new word was received - and there was no room in the receive buffer. The - newly-arrived word in the shift register is - discarded. On 8250/16450 UARTs, the word in the - holding register is discarded and the newly- arrived - word is put in the holding register.</entry> - </row> - - <row> - <entry>Bit 0</entry> - <entry>Data Ready (DR) One or more words are in the - receive FIFO that the host may read. A word must be - completely received and moved from the shift - register into the FIFO (or holding register for - 8250/16450 designs) before this bit is set.</entry> - </row> - </tbody> - </entrytbl> - </row> - - <row> - <entry>+0x06</entry> - <entry>write/read</entry> - <entrytbl cols="2"> - <colspec colnum="1" colname="col1"> - <colspec colnum="2" colname="col2"> - <spanspec namest="col1" nameend="col2" spanname="1to2"> - - <tbody> - <row> - <entry spanname="1to2">Modem Status Register - (MSR)</entry> - </row> - - <row> - <entry>Bit 7</entry> - <entry>Data Carrier Detect (DCD). Reflects the state - of the DCD line on the UART.</entry> - </row> - - <row> - <entry>Bit 6</entry> - <entry>Ring Indicator (RI). Reflects the state of the - RI line on the UART.</entry> - </row> - - <row> - <entry>Bit 5</entry> - <entry>Data Set Ready (DSR). Reflects the state of - the DSR line on the UART.</entry> - </row> - - <row> - <entry>Bit 4</entry> - <entry>Clear To Send (CTS). Reflects the state of the - CTS line on the UART.</entry> - </row> - - <row> - <entry>Bit 3</entry> - <entry>Delta Data Carrier Detect (DDCD). Set to "1" - if the -DCD line has changed state one more more - times since the last time the MSR was read by the - host.</entry> - </row> - - <row> - <entry>Bit 2</entry> - <entry>Trailing Edge Ring Indicator (TERI). Set to - "1" if the -RI line has had a low to high transition - since the last time the MSR was read by the - host.</entry> - </row> - - <row> - <entry>Bit 1</entry> - <entry>Delta Data Set Ready (DDSR). Set to "1" if the - -DSR line has changed state one more more times - since the last time the MSR was read by the - host.</entry> - </row> - - <row> - <entry>Bit 0</entry> - <entry>Delta Clear To Send (DCTS). Set to "1" if the - -CTS line has changed state one more more times - since the last time the MSR was read by the - host.</entry> - </row> - </tbody> - </entrytbl> - </row> - - <row> - <entry>+0x07</entry> - <entry>write/read</entry> - <entry>Scratch Register (SCR). This register performs no - function in the UART. Any value can be written by the - host to this location and read by the host later - on.</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect4> - - <sect4> - <title>Beyond the 16550A UART</title> - - <para>Although National Semiconductor has not offered any components - compatible with the 16550 that provide additional features, - various other vendors have. Some of these components are - described below. It should be understood that to effectively - utilize these improvements, drivers may have to be provided by the - chip vendor since most of the popular operating systems do not - support features beyond those provided by the 16550.</para> - - <variablelist> - <varlistentry> - <term>ST16650</term> - - <listitem> - <para>By default this part is similar to the NS16550A, but an - extended 32-byte send and receive buffer can be optionally - enabled. Made by Startech.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>TIL16660</term> - - <listitem> - <para>By default this part behaves similar to the NS16550A, - but an extended 64-byte send and receive buffer can be - optionally enabled. Made by Texas Instruments.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Hayes ESP</term> - - <listitem> - <para>This proprietary plug-in card contains a 2048-byte send - and receive buffer, and supports data rates to - 230.4Kbit/sec. Made by Hayes.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>In addition to these “dumb” UARTs, many vendors - produce intelligent serial communication boards. This type of - design usually provides a microprocessor that interfaces with - several UARTs, processes and buffers the data, and then alerts the - main PC processor when necessary. Because the UARTs are not - directly accessed by the PC processor in this type of - communication system, it is not necessary for the vendor to use - UARTs that are compatible with the 8250, 16450, or the 16550 UART. - This leaves the designer free to components that may have better - performance characteristics.</para> - </sect4> ---> - - </sect3> - - <sect3 id="sio"> - <title>*** Configurer le pilote de périphérique - <devicename>sio</devicename></title> - &sgml.todo; - -<!-- - <para>The <devicename>sio</devicename> driver provides support for - NS8250-, NS16450-, NS16550 and NS16550A-based EIA RS-232C (CCITT - V.24) communications interfaces. Several multiport cards are - supported as well. See the &man.sio.4; - manual page for detailed technical documentation.</para> - - <sect4> - <title>Digi International (DigiBoard) PC/8</title> - - <para><emphasis>Contributed by &a.awebster;. 26 August - 1995.</emphasis></para> - - <para>Here is a config snippet from a machine with a Digi - International PC/8 with 16550. It has 8 modems connected to these - 8 lines, and they work just great. Do not forget to add - <literal>options COM_MULTIPORT</literal> or it will not work very - well!</para> - - <programlisting> -device sio4 at isa? port 0x100 tty flags 0xb05 -device sio5 at isa? port 0x108 tty flags 0xb05 -device sio6 at isa? port 0x110 tty flags 0xb05 -device sio7 at isa? port 0x118 tty flags 0xb05 -device sio8 at isa? port 0x120 tty flags 0xb05 -device sio9 at isa? port 0x128 tty flags 0xb05 -device sio10 at isa? port 0x130 tty flags 0xb05 -device sio11 at isa? port 0x138 tty flags 0xb05 irq 9 vector siointr</programlisting> - - <para>The trick in setting this up is that the MSB of the flags - represent the last SIO port, in this case 11 so flags are - 0xb05.</para> - </sect4> - - <sect4> - <title>Boca 16</title> - - <para><emphasis>Contributed by &a.whiteside;. 26 August - 1995.</emphasis></para> - - <para>The procedures to make a Boca 16 port board with FreeBSD are - pretty straightforward, but you will need a couple things to make - it work:</para> - - <orderedlist> - <listitem> - <para>You either need the kernel sources installed so you can - recompile the necessary options or you will need someone else - to compile it for you. The 2.0.5 default kernel does - <emphasis>not</emphasis> come with multiport support enabled - and you will need to add a device entry for each port - anyways.</para> - </listitem> - - <listitem> - <para>Two, you will need to know the interrupt and IO setting - for your Boca Board so you can set these options properly in - the kernel.</para> - </listitem> - </orderedlist> - - <para>One important note — the actual UART chips for the Boca - 16 are in the connector box, not on the internal board itself. So - if you have it unplugged, probes of those ports will fail. I have - never tested booting with the box unplugged and plugging it back - in, and I suggest you do not either.</para> - - <para>If you do not already have a custom kernel configuration file - set up, refer to <link linkend="kernelconfig">Kernel - Configuration</link> for general procedures. The following are - the specifics for the Boca 16 board and assume you are using the - kernel name MYKERNEL and editing with vi.</para> - - <procedure> - <step> - <para>Add the line - - <programlisting> -options COM_MULTIPORT</programlisting> - - to the config file.</para> - </step> - - <step> - <para>Where the current <literal>device - sio<replaceable>n</replaceable></literal> lines are, you - will need to add 16 more devices. Only the last device - includes the interrupt vector for the board. (See the - &man.sio.4; manual page for detail as - to why.) The following example is for a Boca Board with an - interrupt of 3, and a base IO address 100h. The IO address - for Each port is +8 hexadecimal from the previous port, thus - the 100h, 108h, 110h... addresses.</para> - - <programlisting> -device sio1 at isa? port 0x100 tty flags 0x1005 -device sio2 at isa? port 0x108 tty flags 0x1005 -device sio3 at isa? port 0x110 tty flags 0x1005 -device sio4 at isa? port 0x118 tty flags 0x1005 -… -device sio15 at isa? port 0x170 tty flags 0x1005 -device sio16 at isa? port 0x178 tty flags 0x1005 irq 3 vector siointr</programlisting> - - <para>The flags entry <emphasis>must</emphasis> be changed from - this example unless you are using the exact same sio - assignments. Flags are set according to - 0x<replaceable>M</replaceable><replaceable>YY</replaceable> - where <replaceable>M</replaceable> indicates the minor number - of the master port (the last port on a Boca 16) and - <replaceable>YY</replaceable> indicates if FIFO is enabled or - disabled(enabled), IRQ sharing is used(yes) and if there is an - AST/4 compatible IRQ control register(no). In this example, - <programlisting> flags 0x1005</programlisting> indicates that - the master port is sio16. If I added another board and - assigned sio17 through sio28, the flags for all 16 ports on - <emphasis>that</emphasis> board would be 0x1C05, where 1C - indicates the minor number of the master port. Do not change - the 05 setting.</para> - </step> - - <step> - <para>Save and complete the kernel configuration, recompile, - install and reboot. Presuming you have successfully installed - the recompiled kernel and have it set to the correct address - and IRQ, your boot message should indicate the successful - probe of the Boca ports as follows: (obviously the sio - numbers, IO and IRQ could be different)</para> - - <screen>sio1 at 0x100-0x107 flags 0x1005 on isa -sio1: type 16550A (multiport) -sio2 at 0x108-0x10f flags 0x1005 on isa -sio2: type 16550A (multiport) -sio3 at 0x110-0x117 flags 0x1005 on isa -sio3: type 16550A (multiport) -sio4 at 0x118-0x11f flags 0x1005 on isa -sio4: type 16550A (multiport) -sio5 at 0x120-0x127 flags 0x1005 on isa -sio5: type 16550A (multiport) -sio6 at 0x128-0x12f flags 0x1005 on isa -sio6: type 16550A (multiport) -sio7 at 0x130-0x137 flags 0x1005 on isa -sio7: type 16550A (multiport) -sio8 at 0x138-0x13f flags 0x1005 on isa -sio8: type 16550A (multiport) -sio9 at 0x140-0x147 flags 0x1005 on isa -sio9: type 16550A (multiport) -sio10 at 0x148-0x14f flags 0x1005 on isa -sio10: type 16550A (multiport) -sio11 at 0x150-0x157 flags 0x1005 on isa -sio11: type 16550A (multiport) -sio12 at 0x158-0x15f flags 0x1005 on isa -sio12: type 16550A (multiport) -sio13 at 0x160-0x167 flags 0x1005 on isa -sio13: type 16550A (multiport) -sio14 at 0x168-0x16f flags 0x1005 on isa -sio14: type 16550A (multiport) -sio15 at 0x170-0x177 flags 0x1005 on isa -sio15: type 16550A (multiport) -sio16 at 0x178-0x17f irq 3 flags 0x1005 on isa -sio16: type 16550A (multiport master)</screen> - - <para>If the messages go by too fast to see, - - <screen>&prompt.root; <userinput>dmesg | more</userinput></screen> - will show you the boot messages.</para> - </step> - - <step> - <para>Next, appropriate entries in <filename>/dev</filename> for - the devices must be made using the - <filename>/dev/MAKEDEV</filename> script. After becoming - root:</para> - - <screen>&prompt.root; <userinput>cd /dev</userinput> -&prompt.root; <userinput>./MAKEDEV tty1</userinput> -&prompt.root; <userinput>./MAKEDEV cua1</userinput> -<emphasis>(everything in between)</emphasis> -&prompt.root; <userinput>./MAKEDEV ttyg</userinput> -&prompt.root; <userinput>./MAKEDEV cuag</userinput></screen> - - <para>If you do not want or need callout devices for some - reason, you can dispense with making the - <filename>cua*</filename> devices.</para> - </step> - - <step> - <para>If you want a quick and sloppy way to make sure the - devices are working, you can simply plug a modem into each - port and (as root) - - <screen>&prompt.root; <userinput>echo at > ttyd*</userinput></screen> - for each device you have made. You - <emphasis>should</emphasis> see the RX lights flash for each - working port.</para> - </step> - </procedure> - </sect4> ---> - - </sect3> - <sect3 id="cy"> - <title>*** Configurer le pilote de périphérique - <devicename>cy</devicename></title> - &sgml.todo; - -<!-- - <para><emphasis>Contributed by &a.alex;. 6 June - 1996.</emphasis></para> - - <para>The Cyclades multiport cards are based on the - <devicename>cy</devicename> driver instead of the usual - <devicename>sio</devicename> driver used by other multiport cards. - Configuration is a simple matter of:</para> - - <procedure> - <step> - <para>Add the <devicename>cy</devicename> device to your <link - linkend="kernelconfig-config">kernel configuration</link> - (note that your irq and iomem settings may differ).</para> - - <programlisting> -device cy0 at isa? tty irq 10 iomem 0xd4000 iosiz 0x2000 vector cyintr</programlisting> - </step> - - <step> - <para><link linkend="kernelconfig-building">Rebuild and - install</link> the new kernel.</para> - </step> - - <step> - <para>Make the <link linkend="kernelconfig-nodes">device - nodes</link> by typing (the following example assumes an - 8-port board):</para> - - <screen>&prompt.root; <userinput>cd /dev</userinput> -&prompt.root; <userinput>for i in 0 1 2 3 4 5 6 7;do ./MAKEDEV cuac$i ttyc$i;done</userinput></screen> - </step> - - <step> - <para>If appropriate, add <link linkend="dialup">dialup</link> - entries to <link linkend="dialup-ttys">/etc/ttys</link> by - duplicating serial device (<literal>ttyd</literal>) entries and - using <literal>ttyc</literal> in place of - <literal>ttyd</literal>. For example:</para> - - <programlisting> -ttyc0 "/usr/libexec/getty std.38400" unknown on insecure -ttyc1 "/usr/libexec/getty std.38400" unknown on insecure -ttyc2 "/usr/libexec/getty std.38400" unknown on insecure -… -ttyc7 "/usr/libexec/getty std.38400" unknown on insecure</programlisting> - </step> - - <step> - <para>Reboot with the new kernel.</para> - </step> - </procedure> - ---> - </sect3> - </sect2> - - <sect2> - <title>* Ports parallèles</title> - <para></para> - </sect2> - - <sect2> - <title>* Modems</title> - <para></para> - </sect2> - - <sect2> - <title>* Cartes réseau</title> - <para></para> - </sect2> - - <sect2> - <title>* Claviers</title> - <para></para> - </sect2> - - <sect2> - <title>* Souris</title> - <para></para> - </sect2> - - <sect2> - <title>* Autres</title> - <para></para> - </sect2> - </sect1> - - <sect1 id="hw-storage"> - <title>** Mémoires de masse</title> - &trans.a.haby; - - <sect2 id="esdi"> - <title>Utiliser des disques durs ESDI</title> - - <para><emphasis>Copyright © 1995, &a.wilko;. 24 Septembre - 1995.</emphasis></para> - - <para>ESDI est l'abréviation de <foreignphrase>Enhanced Small - Device Interface</foreignphrase> - Interface - Améliorée pour les Périphériques - Légers. Elle se base plus ou moins sur la bonne vieille interface - ST506/412, initialement conçue par Seagate Technology, le - fabricant du premier disque Winchester 5.25" bon marché.</para> - - <para>L'abréviation précise à juste titre - ”étendue“. Pour commencer, l'interface est plus - rapide, 10 ou 15 Mbits/seconde au lieu des 5 Mbits/seconde des disques - à interface ST412s. Il y a de plus de nouvelles commandes de plus - haut niveau, qui font que l'interface ESDI est en quelque sorte plus - “intelligente” que les pilotes de - périphériques du système d'exploitation. Elle n'est - cependant pas comparable aux interfaces SCSI. L'ESDI est un standard - ANSI.</para> - - <para>La capacité de disques est accrue parce qu'il y a plus de - secteurs par piste. Il y a généralement 35 secteurs par - pistes, mais j'ai vu des disques de grande capacité avec 54 - secteurs par piste.</para> - - <para>Bien que l'IDE et le SCSI ait rendu l'ESDI largement - obsolète, la possibilité de se procurer gratuitement ou - à peu de frais des disques d'occasion les rend - intéressants pour les systèmes à budget - réduit (ou nul).</para> - - <sect3> - <title>Concepts ESDI</title> - - <sect4> - <title>Connexions</title> - - <para>L'interface ESDI utilise deux câbles par disque. Le - premier est une nappe à 54 broches qui véhicule les - signaux de commandes et d'état entre le contrôleur et - le disque. Les disques sont chaînés en série sur - ce câble. C'est donc un bus auquel tous les disques sont - reliés.</para> - - <para>Le second câble est une nappe à 20 broches qui - véhicule les données de et vers le disque. Ce - câblage est en étoile, chaque disque est donc - directement relié au contrôleur.</para> - - <para>Autant que je sache, on ne peut mettre que deux disques par - contrôleur ESDI sur un PC. Cela pour des raisons de - compatibilité (?) avec le standard WD1003 qui n'utilise - qu'un seul bit pour l'adresse des - périphériques.</para> - </sect4> - - <sect4> - <title>Adresses des périphériques</title> - - <para>Sur chaque câble de commande, il peut y avoir au plus 7 - périphériques et 1 contrôleur. Pour que le - contrôleur puisse identifier l'adresse de chaque disque, il y - a sur chaque périphérique ESDI des cavaliers ou des - interrupteurs pour définir l'adresse du - périphérique.</para> - - <para>Sur les contrôleurs de PC, le premier disque a l'adresse - 0, et le second l'adresse 1. <emphasis>Vérifiez - toujours</emphasis> que l'adresse de chaque disque est - différente ! Sur les PC, où il y a au plus deux - disques par contrôleur, le premier disque est le disque 0 et - le second le disque 1.</para> - </sect4> - - <sect4> - <title>Terminaison</title> - - <para>Le câble série de commande (rapellez-vous, celui - à 34 broches) doit être terminé sur le dernier - disque de la chaîne. Il y a donc sur les disques ESDI une - résistance de terminaison qui peut être enlevée - ou désactivée par un cavalier si elle ne doit pas - servir.</para> - - <para>Il n'y a donc qu'un <emphasis>seul</emphasis> disque, celui - en fin du câble de commande, dont le terminateur doit - être installé ou activé. Le contrôleur - termine automatiquement l'autre extrémité du - câble. Notez bien, s'il vous plaît, que cela implique - que le contrôleur soit à une extrémité du - câble, et <emphasis>non</emphasis> au milieu.</para> - </sect4> - </sect3> - - <sect3> - <title>Utiliser les disques ESDI avec FreeBSD</title> - - <para>Pourquoi est-il si difficile d'arriver à utiliser des - disques ESDI ?</para> - - <para>On dit que ceux qui ont essayé d'utiliser des disques ESDI - avec FreeBSD ont développé un sentiment de profonde - frustration. Divers facteurs oeuvrent contre vous et produisent des - résultats difficiles à comprendre si vous n'y avez - jamais été confronté.</para> - - <para>D'où la légende populaire qui veut que l'ESDI et - FreeBSD soient définitivement incompatibles. Ce qui suit tente - de recenser les difficultés et leurs solutions.</para> - - <sect4> - <title>Les différences de vitesse de l'ESDI</title> - - <para>Comme on y a déjà fait allusion, il y a deux - versions à vitesse différente de l'ESDI. Les disques - et les contrôleurs plus anciens transfèrent les - données à 10 Mbits/seconde. Les plus récents le - font à 15 Mbits/seconde.</para> - - <para>Il est facile d'imaginer qu'utiliser des disques à - 15 Mbits/seconde pose des problèmes avec des - contrôleurs à 10 Mbits/seconde. Consultez toujours, - comme d'habitude, la documentation de votre contrôleur - <emphasis>et</emphasis> celle de votre disque pour vérifier - qu'ils sont compatibles.</para> - </sect4> - - <sect4> - <title>Restez en piste</title> - - <para>Les disques ESDI standards ont de 34 à 36 secteurs par - piste. La plupart des (anciens) contrôleurs n'acceptent pas - plus de secteurs que cela. Les disques plus récents, de plus - grande capacité, ont un plus grand nombre de secteurs par - piste. Je possède par exemple un disque de 670 Mo qui a 54 - secteurs par piste.</para> - - <para>Dans mon cas, le contrôleur ne peut pas gérer - autant de secteurs. Cela fonctionne en utilisant que 35 secteurs par - piste. D'où un perte important d'espace disque.</para> - - <para>Consultez encore une fois les documentations de votre - matériel pour plus d'informations. Ne pas respecter les - spécifications, comme dans mon cas, marchera ou ne marchera - pas. Essayez ou procurez-vous un contrôleur qui règle - le problème.</para> - </sect4> - - <sect4> - <title>Secteurs matériels ou logiciels</title> - - <para>La plupart des disques ESDI permettent de choisir avec un - cavalier entre des secteurs matériels ou logiciels. Si les - secteurs sont matériels, le disque émettera une - impulsion de début de secteur à chaque nouveau - secteur. Le contrôleur utilisera cette impulsion pour savoir - quand commencer à lire ou à écrire.</para> - - <para>Il est possible de choisir la taille des secteurs - matériels (habituellement 256, 512 ou 1024 octets par - secteur formaté). FreeBSD utilise des secteurs de 512 - octets. Le nombre de secteurs par piste varie aussi, bien qu'on - utilise toujours le même nombre d'octets par secteur - formaté. Le nombre d'octets <emphasis>non - formatés</emphasis> par secteur varie, selon que votre - contrôleur a besoin de plus ou moins d'octets - supplémentaires pour fonctionner correctement. Avec plus de - secteurs par piste, vous aurez bien sûr plus d'espace - disponible, mais vous pouvez avoir des problèmes si votre - contrôleur a besoin de plus d'octets que le disque ne peut - lui en laisser à disposition.</para> - - <para>Avec des secteurs logiciels, le contrôleur - détermine lui-même quand commencer et cesser de lire ou - écrire. Pour les disques ESDI, les secteurs sont - matériels par défaut (au moins pour tous ceux que je - connais). Je n'ai jamais eu besoin d'essayer d'utiliser des secteurs - logiciels.</para> - - <para>Expérimentez avec les secteurs avant d'installer FreeBSD, - parce que vous devrez refaire un formatage de bas niveau à - chaque fois.</para> - </sect4> - - <sect4> - <title>Formatage de bas niveau</title> - - <para>Il faut faire un formatage de bas niveau des disques ESDI avant - de pouvoir les utiliser. Il faut les reformater à chaque - fois que vous modifier la position des cavaliers qui - déterminent le nombre de secteurs par piste ou l'orientation - (horizontale, verticale) du disque. Réfléchissez donc - d'abord, puis formatez. Ne sous-estimez pas le temps - nécessaire ; pour de gros disques, cela peut prendre des - heures.</para> - - <para>Evitez les utilitaires de formatage de bas niveau qui marquent - une piste inutilisable dès qu'ils trouvent un secteur - endommagé. Non seulement cela gaspille de l'espace disque, - mais cela vous posera peut-être aussi des problèmes - avec <literal>bad144</literal> (voyez plus bas la section sur le - sujet).</para> - </sect4> - - <sect4> - <title>Correspondances</title> - - <para>Les correspondances, bien que ce ne soit pas un problème - exclusivement réservé à l'ESDI, peuvent vous - poser de vraies difficultés. Il y a différentes sortes - de correspondances. Elles ont en commun d'essayer de contourner les - limites imposées à la géométrie des - disques par l'architecture d'origine de l'IBM PC/AT (merci - IBM !).</para> - - <para>Il y a tout d'abord la limite bien connue du 1024ème - cylindre pour le démarrage. Pour qu'un système (quel - qu'il soit) démarre, le code de démarrage doit se - trouver quelque part sur les 1024 premiers cylindres. Il n'y a que - 10 bits disponibles pour coder le numéro de cylindre. Le - nombre de secteurs est limité à 64 (0-63). Quand vous - y ajoutez la limite de 16 têtes (aussi liée à - l'architecture), cela vous donne des disques de taille relativement - faible.</para> - - <para>Pour contourner ce problème, les fabricants de - contrôleurs ESDI pour PC ont ajouté une extension au - BIOS en PROM. Cette extension gère les entrées/sorties - disque au démarrage. (et pour certains systèmes - d'exploitation, toutes les entrées/sorties) en utilisant des - correspondances. Par exemple, un gros disque pourra être - décrit au système comme ayant 32 têtes et 64 - secteurs par piste. De la sorte, le nombre de cylindres sera - inférieur à 1024, ce qui pourra être - exploité sans problème. Il faut noter que FreeBSD - n'utilise le BIOS qu'après que le noyau ait pris le - contrôle. Nous en dirons plus à ce sujet plus - loin.</para> - - <para>Il faut aussi établir des correspondances avec la plupart - des BIOS anciens qui ne peuvent gérer que des disques avec - 17 secteurs par piste (le vieux standard ST412). Les BIOS plus - récents premettent de définir le type de disque (c'est - habituellement le type de disque 47).</para> - - <note> - <para>Quoique vous fassiez des correspondances après avoir lu - ce document, n'oubliez pas que si vous avez plusieurs - systèmes d'exploitation sur le même disque, ils - doivent tous utiliser les mêmes correspondances.</para> - </note> - - <para>Pendant que nous en sommes aux correspondances, j'ai vu un - modèle de contrôleur (mais il y en a probablement - d'autres) qui permet de diviser un disque en plusieurs partitions - à l'aide d'une option du BIOS. J'avais choisi 1 disque = 1 - partition, parce que ce contrôleur écrivait cette - information sur le disque. A la mise sous tension, il la relit et - transmet au système les informations basées sur ce - qu'il y a sur le disque.</para> - </sect4> - - <sect4> - <title>Secteurs en réserve</title> - - <para>La plupart des contrôleurs ESDI offrent la - possibilité de réaffecter les secteurs - défectueux. Pendant ou après le formatage de bas - niveau du disque, les secteurs défectueux sont marqués - comme tels, et des secteurs de remplacement prennent (logiquement - bien sûr) leur place.</para> - - <para>Dans la plupart des cas, c'est fait en utilisant N-1 secteurs de - chaque piste pour les données et le secteur N lui-même - comme secteur de secours. N est le nombre de secteurs physiquement - disponibles sur la piste. L'idée est que le système - d'exploitation voie un disque ”parfait“ sans secteur - défectueux. Ce n'est pas exploitable dans le cas de - FreeBSD.</para> - - <para>Le problème est que la correspondance entre les - <emphasis>mauvaix</emphasis> et les <emphasis>bons</emphasis> - secteurs est effectuée par le BIOS du contrôleur ESDI. - FreeBSD, qui est un vrai système d'exploitation 32 bits, - n'utilise pas le BIOS avant d'avoir démarré. Il - dispose à la place de pilotes de périphérique - qui dialoguent directement avec le matériel.</para> - - <para>Donc, n'utilisez pas les secteurs de réserve, - la réaffectation des secteurs défectueux, quel que - soit le nom que lui donne le fabricant de votre contrôleur, si - vous voulez vous servir du disque avec FreeBSD.</para> - </sect4> - - <sect4> - <title>Gestion des blocs défectueux</title> - - <para>La section précédente nous a laissé sur un - problème. La gestion des blocs défectueux par le - contrôleur n'est pas exploitable, et FreeBSD suppose - malgré tout que les supports sont sans défaut. Pour - résoudre ce problème, FreeBSD utilise l'outil - <command>bad144</command>. <command>bad144</command> (dont le nom - vient du standard de gestion des blocs défectueux de Digital - Equipment) examine une - tranche - <foreignphrase>slice</foreignphrase> - FreeBSD - pour détecter les blocs défectueux. Quand il les a - trouvés, il remplit une table avec les numéros de ces - blocs à la fin de la tranche.</para> - - <para>Quand le disque est en service, les numéros des blocs - accédés sont comparés à ceux - stockés dans la table lue sur le disque. Quand un bloc - demandé est dans la liste de <command>bad144</command>, on - utilise un bloc de remplacement (aussi en fin de tranche). De cette - façon, c'est un support ”parfait“ qui est vu par - les systèmes de fichiers de FreeBSD.</para> - - <para>L'utilisation de <command>bad144</command> présente un - certain nombre d'inconvénients. En premier lieu, la tranche - ne peut comporter plus de 126 secteurs défectueux. Si votre - disque présente un gand nombre de secteurs défectueux, - vous devrez peut-être le diviser en plusieurs tranches dont - chacune aura moins de 126 secteurs défectueux. Evitez les - programmes de formatage de bas niveau qui marquent défectueux - tous les secteurs d'une piste, dès qu'il y a un - problème avec la piste. Vous comprennez bien que la limite - de 126 secteurs est rapidement atteinte avec de tels - programmes.</para> - - <para>En second lieu, si la tranche contient le système de - fichiers racine, il faut qu'elle soit à l'intérieur - des 1024 premiers cylindres. La liste <command>bad144</command> est - lue au démarrage, en utilisant le BIOS, et cela ne peut - se faire que si la liste est avant le - 1025ème cylindre.</para> - - <note> - <para>Ce n'est pas seulement le <emphasis>système</emphasis> - de fichiers racine qui doit se trouver dans les 1024 premiers - cylindres, mais toute la <emphasis>tranche</emphasis> qui le - contient.</para> - </note> - </sect4> - - <sect4> - <title>Configuration du noyau</title> - - <para>Les disques ESDI sont gérés par le même - pilote <literal>wd</literal> que les disques IDE et ST412 MFM. Le - pilote <literal>wd</literal> devrait fonctionner avec toutes les - interfaces compatibles WD1003.</para> - - <para>La plupart des matériels ont des cavaliers pour - définir les plages d'adresses d'entrées/sorties et les - lignes IRQ. Cela vous permet de mettre deux contrôleurs de - type <literal>wd</literal> sur un même système.</para> - - <para>si votre matériel permet des redéfinition - non-standard, vous pouvez les utiliser avec FreeBSD, dès lors - que vous donnez les informations correctes dans le fichier de - configuration du noyau. Voici une extrait de fichier de - configuration du noyau ( au fait, ils sont dans - <filename>/sys/i386/conf</filename>) :</para> - - <programlisting> -# Premier contrôleur compatible WD -controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr -disk wd0 at wdc0 drive 0 -disk wd1 at wdc0 drive 1 -# Second contrôleur compatible WD -controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr -disk wd2 at wdc1 drive 0 -disk wd3 at wdc1 drive 1 - </programlisting> - </sect4> - </sect3> - - <sect3> - <title>Spécificités de certains matériels ESDI</title> - - <sect4> - <title>Contrôleurs Adaptec 2320</title> - - <para>J'ai réussi à installer FreeBSD sur un disque ESDI - avec un contrôleur ACB-2320. Il n'y avait pas d'autre - système d'exploitation sur le disque.</para> - - <para>Pour cela, j'ai effectué un formatage de bas niveau du - disque avec <command>NEFMT.EXE</command> - (téléchargeable par <command>ftp</command> depuis - <hostid role="fqdn">www.adaptec.com</hostid>) et répondu - <literal>NO</literal> à la question qui me demandait si le - disque devait être formaté en laissant un secteur de - secours par piste. Le BIOS de l'ACD-2320 était - désactivé et j'ai utilisé l'option de - configuration - libre - <literal>free configurable</literal> - du - BIOS du système pour permettre au BIOS de démarrer - avec.</para> - - <para>Avant de me servir de <command>NEFMT.EXE</command>, j'avais - essayé de formater le disque avec l'utilitaire inclus dans - le BIOS de l'ACB-2320. Cela s'est avéré inutilisable, - parce qu'il ne m'a pas proposé de désactiver la - réservation du secteur de secours. Avec ces derniers, - l'installation de FreeBSD échoue à l'exécution - de <command>bad144</command>.</para> - - <para>Vérifiez avec soin de quelle variante - ACB-232<replaceable>xy</replaceable> vous disposez. Le - <replaceable>x</replaceable> vaut <literal>0</literal> ou - <literal>2</literal>, selon que le contrôleur ne dispose pas - ou inclut un contrôleur de lecteur de disquettes.</para> - - <para>Le <literal>y</literal> est plus intéressant. C'est un - blanc, un <literal>A-8</literal> ou un <literal>D</literal>. Le - blanc indique un contrôleur à 10 Mo/seconde. Le - <literal>A-8</literal> indique un contrôleur à 15 - Mo/seconde capable de gérer 52 secteurs par piste. Le - <literal>D</literal> est un contrôleur à 15 Mo/seconde - qui peut aussi gérer des disques avec plus de 36 secteurs - par piste (52 aussii ?).</para> - - <para>Toutes ces variantes peuvent gérer l'entrelacement 1:1. - Employez-le, FreeBSD est assez rapide pour s'en accommoder.</para> - </sect4> - - <sect4> - <title>Contrôleurs Western Digital WD1007</title> - - <para>J'ai réussi à installer FreeBSD sur un disque ESDI - avec un contrôleur WD1007. Pour être précis, - c'était un contrôleur WD1007-WA2. Il y en a d'autres - variantes.</para> - - <para>Pour qu'il fonctionne, j'ai désactivé la - correspondance entre secteurs et le BIOS du WD1007. Ce qui signifie que je n'ai pas pu me servir de l'utilitaire de formatage de bas - niveau de ce BIOS. J'ai récupéré - <command>WDFMT.EXE</command> sur - <hostid role="fqdn">www.wdc.com</hostid>. Il m'a permis de formater - le disque sans problème.</para> - </sect4> - - <sect4> - <title>Contrôleurs Ultrastor U14F</title> - - <para>Selon de nombreux retours sur le réseau, les cartes - Ultrastor ESDI fonctionnent avec FreeBSD. Je n'ai pas plus - d'informations sur leur configuration.</para> - </sect4> - </sect3> - - <sect3 id="esdi-further-reading"> - <title>Lectures complémentaires</title> - - <para>Si vous avez l'intention d'utiliser sérieusement l'ESDI, - vous devriez avoir la norme officielle à portée de - main :</para> - - <para>Le document le plus récent du comité ANSI X3T10 - est : ”Enhanced Small Device Interface (ESDI) - [X3.170-1990/X3.170a-1991] [X3T10/792D Rev 11]“.</para> - - <para>Le forum Usenet - <ulink URL="news:comp.periphs">comp.periphs</ulink> est un bon endroit - ou avoir plus d'informations.</para> - - <para>Le <foreignphrase>World Wide Web</foreignphrase> (WWW) est aussi - une excellente source d'informations : Pour les contrôleurs - Adaptec, consultez - <ulink URL="http://www.adaptec.com/">http://www.adaptec.com/</ulink>. - Pour les contrôleurs Western Digital, voyez - <ulink URL="http://www.wdc.com/">http://www.wdc.com/</ulink>.</para> - - </sect3> - - <sect3> - <title>Remerciements à ...</title> - - <para>Andrew Gordon pour m'avoir envoyé un contrôleur - Adaptec 2320 et un disque ESDI pour faire des tests.</para> - </sect3> - </sect2> - - <sect2 id="scsi"> - <title>Qu'est-ce que le SCSI ?</title> - &trans.a.brive; - - <para><emphasis>Copyright © 1995, &a.wilko;. July 6, - 1996.</emphasis></para> - - <para>SCSI est un acronyme pour Small Computer Systems Interface. C'est - un standard ANSI qui est devenu l'un des premiers bus d'E/S de - l'industrie informatique. Les bases du standard SCSI proviennent - de Shugart Associates (les mêmes personnes qui ont donné au monde les - premiers mini-disques floppy) quand ils ont introduit le bus SASI - (Shugart Associates Standard Interface).</para> - - <para>Un effort industriel a démarré quelque temps plus tard pour - arriver à un standard plus strict, permettant à des périphériques de - différents vendeurs de travailler ensemble. Cet effort fut reconnu - par l'ANSI avec le standard SCSI-1. Ce standard (approx. 1985) devient - rapidement obsolète. Le standard courant est SCSI-2 (cf <link - linkend="scsi-further-reading">Lecture complémentaire</link>), - avec SCSI-3 en cours de conception.</para> - - <para>En plus d'un standard pour l'interconnexion physique, SCSI définit - un standard logique (jeu de commandes) auxquels les disques doivent - adhérer. Ce standard "commun" est appellé le Common Command Set (CCS) - et a été développé plus ou moins en parallèle avec le SCSI-1 ANSI. - SCSI-2 intègre le CCS (révisé) dans son standard. Les commandes - dépendent du type de périphérique ; il ne serait pas logique bien - sûr de définir une commande "Ecriture" pour un scanner.</para> - - <para>Le bus SCSI est un bus parallèle, qui supporte plusieurs - variantes. La plus ancienne et plus utilisée est un bus de 8 bits - de large, avec des signaux en collecteur ouvert (single-ended), - transportés sur 50 fils. (Si vous ne savez pas ce que veut dire - "collecteur ouvert", ne vous en faites pas; c'est justement le sujet - de ce document). Les architectures modernes utilisent aussi les bus - de 16 bits avec des signaux différentiels. Cela permet d'obtenir - des taux de transferts de 20Mo/s, sur des câbles atteignant 25 mètres. - SCSI-2 permet une largeur maximum du bus de 32 bits en utilisant un - câble supplémentaire. Rapidement, l'Ultra SCSI (appelé aussi Fast-20) - et l'Ultra2 (appelé aussi Fast-40) arrivent. Fast-20 correspond à - 20 millions de transferts par seconde (20Mo/s sur un bus de 8 bits) - et Fast-40 correspond à 40 millions de transferts par seconde - (40Mo/s sur un bus de 8 bits). La majorité des disques vendus - aujourd'hui sont des Ultra SCSI (8 ou 16 bits) en collecteur - ouvert.</para> - - <para>Bien sûr, le bus SCSI n'a pas que des fils de données, mais - aussi un certain nombre de signaux de contrôle. Un protocole très - élaboré fait partie du standard pour permettre à plusieurs - périphériques de se partager le bus de manière efficace. - En SCSI-2, les données sont toujours vérifiées avec un fil séparé - pour la parité. Dans l'architecture pré-SCSI-2, la parité était - optionnelle.</para> - - <para>En SCSI-3, des types de bus encore plus rapides sont introduits, - dont les bus SCSI série qui réduisent l'overhead du cablâge - (consommation? délai de propagation?) - et permettent une longueur de bus maximale plus importante. - Vous pourriez voir des noms comme SSA et FiberChannel dans ce contexte. - Aucun de ces bus série n'est aujourd'hui d'usage courant (et - spécialement pas dans l'environnement typique de FreeBSD). - Pour cette raison, les types de bus série ne seront plus abordés.</para> - - <para>Comme vous auriez pu le deviner de la description précédente, les - périphériques SCSI sont intelligents. Ils doivent l'être pour adhérer - au standard SCSI (qui est épais de plus de 5 cm). Ainsi, pour un - disque dur par exemple, vous ne spécifiez pas un tête/cylindre/secteur - pour adresser un bloc particulier, mais simplement le numéro du - bloc que vous voulez. - Des schémas élaborés de cache, des remplacements automatiques de blocs - défecteux, etc, sont tous rendus possibles par cette approche de - “périphérique intelligent”.</para> - - <para>Sur un bus SCSI, chaque paire possible d'abonnés peut communiquer. - Que leur fonction le leur permette est une autre chose, mais le - standard ne le restreint pas. Pour éviter le conflit de signaux, - les deux abonnés doivent passer par une phase d'arbitrage de bus - avant de l'utiliser.</para> - - <para>La philosophie du SCSI est d'avoir un standard qui permette - à des périphériques ancien-standard de travailler avec des - nouveaux-standard. Ainsi, un vieux périphérique SCSI-1 devrait - normalement fonctionner sur un bus SCSI-2. Je dis normalement, car il - n'est pas absolument sûr que l'implémentation d'un ancien périphérique - suive le (vieux) standard de manière assez proche pour être acceptable - sur un nouveau bus. Les périphériques modernes se comportent bien - généralement, car la standardisation est devenue plus stricte et - est mieux respectée par les fabriquants de périphériques.</para> - - <para>D'une manière générale, les chances de faire fonctionner - correctement un ensemble de périphériques sur un seul bus, sont - meilleures quand tous les abonnés sont SCSI-2 ou plus récents. - Cela implique que vous n'avez pas besoin de supprimer tous vos vieux - matériels quand vous venez d'avoir ce magnifique disque de 2Go : - je possède un système sur lequel un disque pré-SCSI-1, un - lecteur de cartouche QIC en SCSI-2, un lecteur de cartouches - hélicoïdal SCSI-1 et 2 disques SCSI-1 fonctionnent assez - bien ensemble. D'un point de vue des performances, vous - pourriez toutefois vouloir séparer vos plus vieux périphériques - des plus nouveaux (=plus rapides).</para> - - - <sect3> - <title>Composants SCSI</title> - - <para>Comme nous l'avons dit précédemment, les périphériques SCSI sont - intelligents. L'idée est de mettre les connaissances sur les détails - intimes du matériel dans le périphérique SCSI lui-même. De cette - façon, le système hôte n'a pas besoin de se préoccuper de savoir, - par exemple, combien de têtes possède le disque, ou combien de pistes - possède tel dérouleur de bandes. Si vous êtes curieux, le standard - spécifie des commandes avec lesquelles vous pouvez interroger les - périphériques sur leurs spécificités matérielles. FreeBSD utilise - cette possibilité pendant le démarrage pour déterminer quels sont - les périphériques connectés et s'ils ont besoin d'un traitement - spécial.</para> - - <para>L'avantage d'avoir des périphériques intelligents est - évident : le pilote de périphérique dans l'hôte peut être - conçu de manière beaucoup plus générique, il n'y a plus besoin de - modifier (et valider !) les pilotes pour chaque nouveau - périphérique bizarre qui est introduit.</para> - - <para>Pour les câbles et les connecteurs, il y a une règle d'or : - prenez de la qualité. Avec des vitesses de bus augmentant tout - le temps, vous vous épargnerez beaucoup de peine en utilisant du - bon matériel.</para> - - <para>Aussi, utilisez des connecteurs plaqués or, des câbles blindés - et des connecteurs robustes et bien vérrouillés, etc. - Deuxième règle d'or : n'utilisez pas des câbles plus longs que - nécessaires. J'ai une fois perdu 3 jours à pourchasser un problème - sur une machine instable, juste pour découvrir que raccourcir - le bus SCSI d'un mètre résolvait le problème. Et la longueur - originale du bus respectait bien les spécifications SCSI.</para> - - </sect3> - - <sect3> - <title>Types de bus SCSI</title> - - <para>D'un point de vue électrique, il existe deux types de bus - incompatibles : collecteur ouvert (<foreignphrase>single-ended - </foreignphrase>) et différentiel. Cela signifie qu'il existe deux - principaux groupes de périphériques et contrôleurs SCSI qui ne peuvent - être mélangés sur le même bus. Il est toutefois possible d'utiliser - un convertisseur matériel spécial pour transformer un bus collecteur - ouvert en différentiel (et vice versa). Les différences entre les - types de bus sont expliquées dans les sections suivantes.</para> - - <para>Dans beaucoup de documentation à propos du SCSI, il existe une - sorte de jargon en usage pour abréger les différents types de bus. - Une petite liste :</para> - - <itemizedlist> - <listitem> - <para>FWD : Fast Wide Differential (différentiel large rapide)</para> - </listitem> - - <listitem> - <para>FND : Fast Narrow Differential (différentiel étroit rapide)</para> - </listitem> - - <listitem> - <para>SE : Single Ended (collecteur ouvert)</para> - </listitem> - - <listitem> - <para>FN : Fast Narrow (rapide étroit)</para> - </listitem> - - <listitem> - <para>etc.</para> - </listitem> - </itemizedlist> - - - <para>Avec un minimun d'imagination, on peut bien imaginer ce que - cela veut dire.</para> - - <para>Large est un peu ambigu, il peut indiquer des bus de 16 ou - 32 bits. A ma connaissance, la variante en 32 bits n'est pas (encore) - utilisée, donc normalement large veut dire 16 bits.</para> - - <para>Rapide signifie que la cadence sur le bus est un peu différente, - pour qu'un bus étroit (8 bits) supporte 10 Mo/s au lieu de 5 Mo/s - pour un SCSI 'lent'. Comme indiqué précédemment, des vitesses de - bus de 20 et 40 millions de transferts/seconde émergent aussi - (Fast-20 = Ultra SCSI et Fast40 = Ultra2 SCSI).</para> - - <note> - <para>Les lignes de données > 8 ne sont utilisées que pour les - transferts de données et l'adressage des périphériques. Les - transferts des commandes, messages d'état, etc. n'ont lieu que sur - les 8 bits de poids faibles. Le standard permet aux périphériques - étroits de fonctionner sur un bus large. La largeur de bus - utilisable est négociée entre les abonnés. Vous devez regarder - précisément l'adressage des abonnés lorsque vous mélangez larges - et étroits.</para> - </note> - -<!-- - <sect4> - <title>Single ended buses</title> - &sgml.todo; - - <para>A single-ended SCSI bus uses signals that are either 5 Volts - or 0 Volts (indeed, TTL levels) and are relative to a COMMON - ground reference. A singled ended 8 bit SCSI bus has - approximately 25 ground lines, who are all tied to a single `rail' - on all devices. A standard single ended bus has a maximum length - of 6 meters. If the same bus is used with fast-SCSI devices, the - maximum length allowed drops to 3 meters. Fast-SCSI means that - instead of 5Mbytes/sec the bus allows 10Mbytes/sec - transfers.</para> - - <para>Fast-20 (Ultra SCSI) and Fast-40 allow for 20 and 40 million - transfers/second respectively. So, F20 is 20 Mbytes/second on a 8 - bit bus, 40 Mbytes/second on a 16 bit bus etc. For F20 the max - bus length is 1.5 meters, for F40 it becomes 0.75 meters. Be - aware that F20 is pushing the limits quite a bit, so you will - quickly find out if your SCSI bus is electrically sound.</para> - - <note> - <para>If some devices on your bus use 'fast' to communicate your - bus must adhere to the length restrictions for fast - buses!</para> - </note> - - <para>It is obvious that with the newer fast-SCSI devices the bus - length can become a real bottleneck. This is why the differential - SCSI bus was introduced in the SCSI-2 standard.</para> - - <para>For connector pinning and connector types please refer to the - SCSI-2 standard (see <link linkend="scsi-further-reading">Further - reading</link>) itself, connectors etc are listed there in - painstaking detail.</para> - - <para>Beware of devices using non-standard cabling. For instance - Apple uses a 25pin D-type connecter (like the one on serial ports - and parallel printers). Considering that the official SCSI bus - needs 50 pins you can imagine the use of this connector needs some - 'creative cabling'. The reduction of the number of ground wires - they used is a bad idea, you better stick to 50 pins cabling in - accordance with the SCSI standard. For Fast-20 and 40 do not even - think about buses like this.</para> - </sect4> - - <sect4> - <title>Differential buses</title> - - <para>A differential SCSI bus has a maximum length of 25 meters. - Quite a difference from the 3 meters for a single-ended fast-SCSI - bus. The idea behind differential signals is that each bus signal - has its own return wire. So, each signal is carried on a - (preferably twisted) pair of wires. The voltage difference - between these two wires determines whether the signal is asserted - or de-asserted. To a certain extent the voltage difference - between ground and the signal wire pair is not relevant (do not - try 10 kVolts though).</para> - - <para>It is beyond the scope of this document to explain why this - differential idea is so much better. Just accept that - electrically seen the use of differential signals gives a much - better noise margin. You will normally find differential buses in - use for inter-cabinet connections. Because of the lower cost - single ended is mostly used for shorter buses like inside - cabinets.</para> - - <para>There is nothing that stops you from using differential stuff - with FreeBSD, as long as you use a controller that has device - driver support in FreeBSD. As an example, Adaptec marketed the - AHA1740 as a single ended board, whereas the AHA1744 was - differential. The software interface to the host is identical for - both.</para> - </sect4> - - <sect4> - <title>Terminators</title> - - <para>Terminators in SCSI terminology are resistor networks that are - used to get a correct impedance matching. Impedance matching is - important to get clean signals on the bus, without reflections or - ringing. If you once made a long distance telephone call on a bad - line you probably know what reflections are. With 20Mbytes/sec - traveling over your SCSI bus, you do not want signals echoing - back.</para> - - <para>Terminators come in various incarnations, with more or less - sophisticated designs. Of course, there are internal and external - variants. Many SCSI devices come with a number of sockets in - which a number of resistor networks can (must be!) installed. If - you remove terminators from a device, carefully store them. You - will need them when you ever decide to reconfigure your SCSI bus. - There is enough variation in even these simple tiny things to make - finding the exact replacement a frustrating business. There are - also SCSI devices that have a single jumper to enable or disable a - built-in terminator. There are special terminators you can stick - onto a flat cable bus. Others look like external connectors, or a - connector hood without a cable. So, lots of choice as you can - see.</para> - - <para>There is much debate going on if and when you should switch - from simple resistor (passive) terminators to active terminators. - Active terminators contain slightly more elaborate circuit to give - cleaner bus signals. The general consensus seems to be that the - usefulness of active termination increases when you have long - buses and/or fast devices. If you ever have problems with your - SCSI buses you might consider trying an active terminator. Try to - borrow one first, they reputedly are quite expensive.</para> - - <para>Please keep in mind that terminators for differential and - single-ended buses are not identical. You should <emphasis>not - mix</emphasis> the two variants.</para> - - <para>OK, and now where should you install your terminators? This is - by far the most misunderstood part of SCSI. And it is by far the - simplest. The rule is: <emphasis>every single line on the SCSI - bus has 2 (two) terminators, one at each end of the - bus.</emphasis> So, two and not one or three or whatever. Do - yourself a favor and stick to this rule. It will save you endless - grief, because wrong termination has the potential to introduce - highly mysterious bugs. (Note the “potential” here; - the nastiest part is that it may or may not work.)</para> - - <para>A common pitfall is to have an internal (flat) cable in a - machine and also an external cable attached to the controller. It - seems almost everybody forgets to remove the terminators from the - controller. The terminator must now be on the last external - device, and not on the controller! In general, every - reconfiguration of a SCSI bus must pay attention to this.</para> - - <note> - <para>Termination is to be done on a per-line basis. This means - if you have both narrow and wide buses connected to the same - host adapter, you need to enable termination on the higher 8 - bits of the bus on the adapter (as well as the last devices on - each bus, of course).</para> - </note> - - <para>What I did myself is remove all terminators from my SCSI - devices and controllers. I own a couple of external terminators, - for both the Centronics-type external cabling and for the internal - flat cable connectors. This makes reconfiguration much - easier.</para> - - <para>On modern devices, sometimes integrated terminators are used. - These things are special purpose integrated circuits that can be - dis/en-abled with a control pin. It is not necessary to - physically remove them from a device. You may find them on newer - host adapters, sometimes they are software configurable, using - some sort of setup tool. Some will even auto-detect the cables - attached to the connectors and automatically set up the - termination as necessary. At any rate, consult your - documentation!</para> - </sect4> - - <sect4> - <title>Terminator power</title> - - <para>The terminators discussed in the previous chapter need power - to operate properly. On the SCSI bus, a line is dedicated to this - purpose. So, simple huh?</para> - - <para>Not so. Each device can provide its own terminator power to - the terminator sockets it has on-device. But if you have external - terminators, or when the device supplying the terminator power to - the SCSI bus line is switched off you are in trouble.</para> - - <para>The idea is that initiators (these are devices that initiate - actions on the bus, a discussion follows) must supply terminator - power. All SCSI devices are allowed (but not required) to supply - terminator power.</para> - - <para>To allow for un-powered devices on a bus, the terminator power - must be supplied to the bus via a diode. This prevents the - backflow of current to un-powered devices.</para> - - <para>To prevent all kinds of nastiness, the terminator power is - usually fused. As you can imagine, fuses might blow. This can, - but does not have to, lead to a non functional bus. If multiple - devices supply terminator power, a single blown fuse will not put - you out of business. A single supplier with a blown fuse - certainly will. Clever external terminators sometimes have a LED - indication that shows whether terminator power is present.</para> - - <para>In newer designs auto-restoring fuses that 'reset' themselves - after some time are sometimes used.</para> - </sect4> - - <sect4> - <title>Device addressing</title> - - <para>Because the SCSI bus is, ehh, a bus there must be a way to - distinguish or address the different devices connected to - it.</para> - - <para>This is done by means of the SCSI or target ID. Each device - has a unique target ID. You can select the ID to which a device - must respond using a set of jumpers, or a dip switch, or something - similar. Some SCSI host adapters let you change the target ID - from the boot menu. (Yet some others will not let you change the - ID from 7.) Consult the documentation of your device for more - information.</para> - - <para>Beware of multiple devices configured to use the same ID. - Chaos normally reigns in this case. A pitfall is that one of the - devices sharing the same ID sometimes even manages to answer to - I/O requests!</para> - - <para>For an 8 bit bus, a maximum of 8 targets is possible. The - maximum is 8 because the selection is done bitwise using the 8 - data lines on the bus. For wide buses this increases to the - number of data lines (usually 16).</para> - - <note> - <para>A narrow SCSI device can not communicate with a SCSI device - with a target ID larger than 7. This means it is generally not - a good idea to move your SCSI host adapter's target ID to - something higher than 7 (or your CD-ROM will stop - working).</para> - </note> - - <para>The higher the SCSI target ID, the higher the priority the - devices has. When it comes to arbitration between devices that - want to use the bus at the same time, the device that has the - highest SCSI ID will win. This also means that the SCSI host - adapter usually uses target ID 7. Note however that the lower 8 - IDs have higher priorities than the higher 8 IDs on a wide-SCSI - bus. Thus, the order of target IDs is: [7 6 .. 1 0 15 14 .. 9 8] - on a wide-SCSI system. (If you you are wondering why the lower 8 - have higher priority, read the previous paragraph for a - hint.)</para> - - <para>For a further subdivision, the standard allows for Logical - Units or LUNs for short. A single target ID may have multiple - LUNs. For example, a tape device including a tape changer may - have LUN 0 for the tape device itself, and LUN 1 for the tape - changer. In this way, the host system can address each of the - functional units of the tape changer as desired.</para> - </sect4> - - <sect4> - <title>Bus layout</title> - - <para>SCSI buses are linear. So, not shaped like Y-junctions, star - topologies, rings, cobwebs or whatever else people might want to - invent. One of the most common mistakes is for people with - wide-SCSI host adapters to connect devices on all three connecters - (external connector, internal wide connector, internal narrow - connector). Don't do that. It may appear to work if you are - really lucky, but I can almost guarantee that your system will - stop functioning at the most unfortunate moment (this is also - known as “Murphy's law”).</para> - - <para>You might notice that the terminator issue discussed earlier - becomes rather hairy if your bus is not linear. Also, if you have - more connectors than devices on your internal SCSI cable, make - sure you attach devices on connectors on both ends instead of - using the connectors in the middle and let one or both ends - dangle. This will screw up the termination of the bus.</para> - - <para>The electrical characteristics, its noise margins and - ultimately the reliability of it all are tightly related to linear - bus rule.</para> - - <para><emphasis>Stick to the linear bus rule!</emphasis></para> - </sect4> ---> - - </sect3> - - - <sect3> - <title>*** Utiliser le SCSI avec FreeBSD</title> - &sgml.todo - <!-- - <sect4> - <title>About translations, BIOSes and magic...</title> - - <para>As stated before, you should first make sure that you have a - electrically sound bus.</para> - - <para>When you want to use a SCSI disk on your PC as boot disk, you - must aware of some quirks related to PC BIOSes. The PC BIOS in - its first incarnation used a low level physical interface to the - hard disk. So, you had to tell the BIOS (using a setup tool or a - BIOS built-in setup) how your disk physically looked like. This - involved stating number of heads, number of cylinders, number of - sectors per track, obscure things like precompensation and reduced - write current cylinder etc.</para> - - <para>One might be inclined to think that since SCSI disks are smart - you can forget about this. Alas, the arcane setup issue is still - present today. The system BIOS needs to know how to access your - SCSI disk with the head/cyl/sector method in order to load the - FreeBSD kernel during boot.</para> - - <para>The SCSI host adapter or SCSI controller you have put in your - AT/EISA/PCI/whatever bus to connect your disk therefore has its - own on-board BIOS. During system startup, the SCSI BIOS takes - over the hard disk interface routines from the system BIOS. To - fool the system BIOS, the system setup is normally set to No hard - disk present. Obvious, isn't it?</para> - - <para>The SCSI BIOS itself presents to the system a so called - <emphasis>translated</emphasis> drive. This means that a fake - drive table is constructed that allows the PC to boot the drive. - This translation is often (but not always) done using a pseudo - drive with 64 heads and 32 sectors per track. By varying the - number of cylinders, the SCSI BIOS adapts to the actual drive - size. It is useful to note that 32 * 64 / 2 = the size of your - drive in megabytes. The division by 2 is to get from disk blocks - that are normally 512 bytes in size to Kbytes.</para> - - <para>Right. All is well now?! No, it is not. The system BIOS has - another quirk you might run into. The number of cylinders of a - bootable hard disk cannot be greater than 1024. Using the - translation above, this is a show-stopper for disks greater than 1 - GB. With disk capacities going up all the time this is causing - problems.</para> - - <para>Fortunately, the solution is simple: just use another - translation, e.g. with 128 heads instead of 32. In most cases new - SCSI BIOS versions are available to upgrade older SCSI host - adapters. Some newer adapters have an option, in the form of a - jumper or software setup selection, to switch the translation the - SCSI BIOS uses.</para> - - <para>It is very important that <emphasis>all</emphasis> operating - systems on the disk use the <emphasis>same translation</emphasis> - to get the right idea about where to find the relevant partitions. - So, when installing FreeBSD you must answer any questions about - heads/cylinders etc using the translated values your host adapter - uses.</para> - - <para>Failing to observe the translation issue might lead to - un-bootable systems or operating systems overwriting each others - partitions. Using fdisk you should be able to see all - partitions.</para> - - <para>You might have heard some talk of “lying” devices? - Older FreeBSD kernels used to report the geometry of SCSI disks - when booting. An example from one of my systems:</para> - - <screen>aha0 targ 0 lun 0: <MICROP 1588-15MB1057404HSP4> -sd0: 636MB (1303250 total sec), 1632 cyl, 15 head, 53 sec, bytes/sec 512</screen> - - <para>Newer kernels usually do not report this information. - e.g.</para> - - <screen>(bt0:0:0): "SEAGATE ST41651 7574" type 0 fixed SCSI 2 -sd0(bt0:0:0): Direct-Access 1350MB (2766300 512 byte sectors)</screen> - - <para>Why has this changed?</para> - - <para>This info is retrieved from the SCSI disk itself. Newer disks - often use a technique called zone bit recording. The idea is that - on the outer cylinders of the drive there is more space so more - sectors per track can be put on them. This results in disks that - have more tracks on outer cylinders than on the inner cylinders - and, last but not least, have more capacity. You can imagine that - the value reported by the drive when inquiring about the geometry - now becomes suspect at best, and nearly always misleading. When - asked for a geometry , it is nearly always better to supply the - geometry used by the BIOS, or <emphasis>if the BIOS is never going - to know about this disk</emphasis>, (e.g. it is not a booting - disk) to supply a fictitious geometry that is convenient.</para> - </sect4> - - <sect4> - <title>SCSI subsystem design</title> - - <para>FreeBSD uses a layered SCSI subsystem. For each different - controller card a device driver is written. This driver knows all - the intimate details about the hardware it controls. The driver - has a interface to the upper layers of the SCSI subsystem through - which it receives its commands and reports back any status.</para> - - <para>On top of the card drivers there are a number of more generic - drivers for a class of devices. More specific: a driver for tape - devices (abbreviation: st), magnetic disks (sd), CD-ROMs (cd) etc. - In case you are wondering where you can find this stuff, it all - lives in <filename>/sys/scsi</filename>. See the man pages in - section 4 for more details.</para> - - <para>The multi level design allows a decoupling of low-level bit - banging and more high level stuff. Adding support for another - piece of hardware is a much more manageable problem.</para> - </sect4> - - <sect4> - <title>Kernel configuration</title> - - <para>Dependent on your hardware, the kernel configuration file must - contain one or more lines describing your host adapter(s). This - includes I/O addresses, interrupts etc. Consult the man page for - your adapter driver to get more info. Apart from that, check out - <filename>/sys/i386/conf/LINT</filename> for an overview of a - kernel config file. <filename>LINT</filename> contains every - possible option you can dream of. It does - <emphasis>not</emphasis> imply <filename>LINT</filename> will - actually get you to a working kernel at all.</para> - - <para>Although it is probably stating the obvious: the kernel config - file should reflect your actual hardware setup. So, interrupts, - I/O addresses etc must match the kernel config file. During - system boot messages will be displayed to indicate whether the - configured hardware was actually found.</para> - - <note> - <para>Note that most of the EISA/PCI drivers (namely - <devicename>ahb</devicename>, <devicename>ahc</devicename>, - <devicename>ncr</devicename> and <devicename>amd</devicename> - will automatically obtain the correct parameters from the host - adapters themselves at boot time; thus, you just need to write, - for instance, <literal>controller ahc0</literal>.</para> - </note> - - <para>An example loosely based on the FreeBSD 2.2.5-Release kernel - config file <filename>LINT</filename> with some added comments - (between []):</para> - - <programlisting> -# SCSI host adapters: `aha', `ahb', `aic', `bt', `nca' -# -# aha: Adaptec 154x -# ahb: Adaptec 174x -# ahc: Adaptec 274x/284x/294x -# aic: Adaptec 152x and sound cards using the Adaptec AIC-6360 (slow!) -# amd: AMD 53c974 based SCSI cards (e.g., Tekram DC-390 and 390T) -# bt: Most Buslogic controllers -# nca: ProAudioSpectrum cards using the NCR 5380 or Trantor T130 -# ncr: NCR/Symbios 53c810/815/825/875 etc based SCSI cards -# uha: UltraStore 14F and 34F -# sea: Seagate ST01/02 8 bit controller (slow!) -# wds: Western Digital WD7000 controller (no scatter/gather!). -# - -[For an Adaptec AHA274x/284x/294x/394x etc controller] -controller ahc0 - -[For an NCR/Symbios 53c875 based controller] -controller ncr0 - -[For an Ultrastor adapter] -controller uha0 at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr - -# Map SCSI buses to specific SCSI adapters -controller scbus0 at ahc0 -controller scbus2 at ncr0 -controller scbus1 at uha0 - -# The actual SCSI devices -disk sd0 at scbus0 target 0 unit 0 [SCSI disk 0 is at scbus 0, LUN 0] -disk sd1 at scbus0 target 1 [implicit LUN 0 if omitted] -disk sd2 at scbus1 target 3 [SCSI disk on the uha0] -disk sd3 at scbus2 target 4 [SCSI disk on the ncr0] -tape st1 at scbus0 target 6 [SCSI tape at target 6] -device cd0 at scbus? [the first ever CD-ROM found, no wiring]</programlisting> - - <para>The example above tells the kernel to look for a ahc (Adaptec - 274x) controller, then for an NCR/Symbios board, and so on. The - lines following the controller specifications tell the kernel to - configure specific devices but <emphasis>only</emphasis> attach - them when they match the target ID and LUN specified on the - corresponding bus.</para> - - <para>Wired down devices get “first shot” at the unit - numbers so the first non “wired down” device, is - allocated the unit number one greater than the highest - “wired down” unit number for that kind of device. So, - if you had a SCSI tape at target ID 2 it would be configured as - st2, as the tape at target ID 6 is wired down to unit number - 1.</para> - - <note> - <para>Wired down devices need not be found to get their unit - number. The unit number for a wired down device is reserved for - that device, even if it is turned off at boot time. This allows - the device to be turned on and brought on-line at a later time, - without rebooting. Notice that a device's unit number has - <emphasis>no</emphasis> relationship with its target ID on the - SCSI bus.</para> - </note> - - <para>Below is another example of a kernel config file as used by - FreeBSD version < 2.0.5. The difference with the first example - is that devices are not “wired down”. “Wired - down” means that you specify which SCSI target belongs to - which device.</para> - - <para>A kernel built to the config file below will attach the first - SCSI disk it finds to sd0, the second disk to sd1 etc. If you ever - removed or added a disk, all other devices of the same type (disk - in this case) would 'move around'. This implies you have to - change <filename>/etc/fstab</filename> each time.</para> - - <para>Although the old style still works, you are - <emphasis>strongly</emphasis> recommended to use this new feature. - It will save you a lot of grief whenever you shift your hardware - around on the SCSI buses. So, when you re-use your old trusty - config file after upgrading from a pre-FreeBSD2.0.5.R system check - this out.</para> - - <programlisting> -[driver for Adaptec 174x] -controller ahb0 at isa? bio irq 11 vector ahbintr - -[for Adaptec 154x] -controller aha0 at isa? port "IO_AHA0" bio irq 11 drq 5 vector ahaintr - -[for Seagate ST01/02] -controller sea0 at isa? bio irq 5 iomem 0xc8000 iosiz 0x2000 vector seaintr - -controller scbus0 - -device sd0 [support for 4 SCSI harddisks, sd0 up sd3] -device st0 [support for 2 SCSI tapes] - -[for the CD-ROM] -device cd0 #Only need one of these, the code dynamically grows</programlisting> - - <para>Both examples support SCSI disks. If during boot more devices - of a specific type (e.g. sd disks) are found than are configured - in the booting kernel, the system will simply allocate more - devices, incrementing the unit number starting at the last number - “wired down”. If there are no “wired - down” devices then counting starts at unit 0.</para> - - <para>Use <command>man 4 scsi</command> to check for the latest info - on the SCSI subsystem. For more detailed info on host adapter - drivers use eg <command>man 4 ahc</command> for info on the - Adaptec 294x driver.</para> - </sect4> - - <sect4> - <title>Tuning your SCSI kernel setup</title> - - <para>Experience has shown that some devices are slow to respond to - INQUIRY commands after a SCSI bus reset (which happens at boot - time). An INQUIRY command is sent by the kernel on boot to see - what kind of device (disk, tape, CD-ROM etc) is connected to a - specific target ID. This process is called device probing by the - way.</para> - - <para>To work around the 'slow response' problem, FreeBSD allows a - tunable delay time before the SCSI devices are probed following a - SCSI bus reset. You can set this delay time in your kernel - configuration file using a line like:</para> - - <programlisting> -options SCSI_DELAY=15 #Be pessimistic about Joe SCSI device</programlisting> - - <para>This line sets the delay time to 15 seconds. On my own system - I had to use 3 seconds minimum to get my trusty old CD-ROM drive - to be recognized. Start with a high value (say 30 seconds or so) - when you have problems with device recognition. If this helps, - tune it back until it just stays working.</para> - </sect4> - - <sect4 id="scsi-rogue-devices"> - <title>Rogue SCSI devices</title> - - <para>Although the SCSI standard tries to be complete and concise, - it is a complex standard and implementing things correctly is no - easy task. Some vendors do a better job then others.</para> - - <para>This is exactly where the “rogue” devices come - into view. Rogues are devices that are recognized by the FreeBSD - kernel as behaving slightly (...) non-standard. Rogue devices are - reported by the kernel when booting. An example for two of my - cartridge tape units:</para> - - <screen>Feb 25 21:03:34 yedi /kernel: ahb0 targ 5 lun 0: <TANDBERG TDC 3600 -06:> -Feb 25 21:03:34 yedi /kernel: st0: Tandberg tdc3600 is a known rogue - -Mar 29 21:16:37 yedi /kernel: aha0 targ 5 lun 0: <ARCHIVE VIPER 150 21247-005> -Mar 29 21:16:37 yedi /kernel: st1: Archive Viper 150 is a known rogue </screen> - - <para>For instance, there are devices that respond to all LUNs on a - certain target ID, even if they are actually only one device. It - is easy to see that the kernel might be fooled into believing that - there are 8 LUNs at that particular target ID. The confusion this - causes is left as an exercise to the reader.</para> - - <para>The SCSI subsystem of FreeBSD recognizes devices with bad - habits by looking at the INQUIRY response they send when probed. - Because the INQUIRY response also includes the version number of - the device firmware, it is even possible that for different - firmware versions different workarounds are used. See e.g. - <filename>/sys/scsi/st.c</filename> and - <filename>/sys/scsi/scsiconf.c</filename> for more info on how - this is done.</para> - - <para>This scheme works fine, but keep in mind that it of course - only works for devices that are known to be weird. If you are the - first to connect your bogus Mumbletech SCSI CD-ROM you might be - the one that has to define which workaround is needed.</para> - - <para>After you got your Mumbletech working, please send the - required workaround to the FreeBSD development team for inclusion - in the next release of FreeBSD. Other Mumbletech owners will be - grateful to you.</para> - </sect4> - - <sect4> - <title>Multiple LUN devices</title> - - <para>In some cases you come across devices that use multiple - logical units (LUNs) on a single SCSI ID. In most cases FreeBSD - only probes devices for LUN 0. An example are so called bridge - boards that connect 2 non-SCSI harddisks to a SCSI bus (e.g. an - Emulex MD21 found in old Sun systems).</para> - - <para>This means that any devices with LUNs != 0 are not normally - found during device probe on system boot. To work around this - problem you must add an appropriate entry in /sys/scsi/scsiconf.c - and rebuild your kernel.</para> - - <para>Look for a struct that is initialized like below:</para> - - <programlisting> -{ - T_DIRECT, T_FIXED, "MAXTOR", "XT-4170S", "B5A", - "mx1", SC_ONE_LU -}</programlisting> - - <para>For you Mumbletech BRIDGE2000 that has more than one LUN, acts - as a SCSI disk and has firmware revision 123 you would add - something like:</para> - - <programlisting> -{ - T_DIRECT, T_FIXED, "MUMBLETECH", "BRIDGE2000", "123", - "sd", SC_MORE_LUS -}</programlisting> - - <para>The kernel on boot scans the inquiry data it receives against - the table and acts accordingly. See the source for more - info.</para> - </sect4> - - <sect4> - <title>Tagged command queueing</title> - - <para>Modern SCSI devices, particularly magnetic disks, - support what is called tagged command queuing (TCQ).</para> - - <para>In a nutshell, TCQ allows the device to have multiple I/O - requests outstanding at the same time. Because the device is - intelligent, it can optimise its operations (like head - positioning) based on its own request queue. On SCSI devices - like RAID (Redundant Array of Independent Disks) arrays the TCQ - function is indispensable to take advantage of the device's - inherent parallelism.</para> - - <para>Each I/O request is uniquely identified by a “tag” - (hence the name tagged command queuing) and this tag is used by - FreeBSD to see which I/O in the device drivers queue is reported - as complete by the device.</para> - - <para>It should be noted however that TCQ requires device driver - support and that some devices implemented it “not quite - right” in their firmware. This problem bit me once, and it - leads to highly mysterious problems. In such cases, try to - disable TCQ.</para> - </sect4> - - <sect4> - <title>Busmaster host adapters</title> - - <para>Most, but not all, SCSI host adapters are bus mastering - controllers. This means that they can do I/O on their own without - putting load onto the host CPU for data movement.</para> - - <para>This is of course an advantage for a multitasking operating - system like FreeBSD. It must be noted however that there might be - some rough edges.</para> - - <para>For instance an Adaptec 1542 controller can be set to use - different transfer speeds on the host bus (ISA or AT in this - case). The controller is settable to different rates because not - all motherboards can handle the higher speeds. Problems like - hangups, bad data etc might be the result of using a higher data - transfer rate then your motherboard can stomach.</para> - - <para>The solution is of course obvious: switch to a lower data - transfer rate and try if that works better.</para> - - <para>In the case of a Adaptec 1542, there is an option that can be - put into the kernel config file to allow dynamic determination of - the right, read: fastest feasible, transfer rate. This option is - disabled by default:</para> - - <programlisting> -options "TUNE_1542" #dynamic tune of bus DMA speed</programlisting> - - <para>Check the man pages for the host adapter that you use. Or - better still, use the ultimate documentation (read: driver - source).</para> - </sect4> - --> - </sect3> - - - - <sect3> - <title>*** Résoudre les problèmes</title> - &sgml.todo - - <!-- - <para>The following list is an attempt to give a guideline for the - most common SCSI problems and their solutions. It is by no means - complete.</para> - - <itemizedlist> - <listitem> - <para>Check for loose connectors and cables.</para> - </listitem> - - <listitem> - <para>Check and double check the location and number of your - terminators.</para> - </listitem> - - <listitem> - <para>Check if your bus has at least one supplier of terminator - power (especially with external terminators.</para> - </listitem> - - <listitem> - <para>Check if no double target IDs are used.</para> - </listitem> - - <listitem> - <para>Check if all devices to be used are powered up.</para> - </listitem> - - <listitem> - <para>Make a minimal bus config with as little devices as - possible.</para> - </listitem> - - <listitem> - <para>If possible, configure your host adapter to use slow bus - speeds.</para> - </listitem> - - <listitem> - <para>Disable tagged command queuing to make things as simple as - possible (for a NCR hostadapter based system see man - ncrcontrol)</para> - </listitem> - - <listitem> - <para>If you can compile a kernel, make one with the - <literal>SCSIDEBUG</literal> option, and try accessing the - device with debugging turned on for that device. If your device - does not even probe at startup, you may have to define the - address of the device that is failing, and the desired debug - level in <filename>/sys/scsi/scsidebug.h</filename>. If it - probes but just does not work, you can use the - &man.scsi.8; command to dynamically set a debug level to - it in a running kernel (if <literal>SCSIDEBUG</literal> is - defined). This will give you <emphasis>copious</emphasis> - debugging output with which to confuse the gurus. See - <command>man 4 scsi</command> for more exact information. Also - look at <command>man 8 scsi</command>.</para> - </listitem> - </itemizedlist> - --> - </sect3> - - - <sect3 id="scsi-further-reading"> - <title>*** Lectures complémentaires</title> - &sgml.todo - - <!-- - <para>If you intend to do some serious SCSI hacking, you might want to - have the official standard at hand:</para> - - <para>Approved American National Standards can be purchased from - ANSI at - - <address> - <otheraddr>13th Floor</otheraddr> - <street>11 West 42nd Street</street> - <city>New York</city> - <state>NY</state> <postcode>10036</postcode> - Sales Dept: <phone>(212) 642-4900</phone> - </address> - </para> - - <para>You can also buy many ANSI - standards and most committee draft documents from Global - Engineering Documents, - - <address> - <street>15 Inverness Way East</street> - <city>Englewood</city> - <state>CO</state>, <postcode>80112-5704</postcode> - Phone: <phone>(800) 854-7179</phone> - Outside USA and Canada: <phone>(303) 792-2181</phone> - Fax: <fax>(303) 792- 2192</fax> - </address> - </para> - - <para>Many X3T10 draft documents are available electronically on the - SCSI BBS (719-574-0424) and on the <hostid - role="fqdn">ncrinfo.ncr.com</hostid> anonymous ftp site.</para> - - <para>Latest X3T10 committee documents are:</para> - - <itemizedlist> - <listitem> - <para>AT Attachment (ATA or IDE) [X3.221-1994] - (<emphasis>Approved</emphasis>)</para> - </listitem> - - <listitem> - <para>ATA Extensions (ATA-2) [X3T10/948D Rev 2i]</para> - </listitem> - - <listitem> - <para>Enhanced Small Device Interface (ESDI) - [X3.170-1990/X3.170a-1991] - (<emphasis>Approved</emphasis>)</para> - </listitem> - - <listitem> - <para>Small Computer System Interface — 2 (SCSI-2) - [X3.131-1994] (<emphasis>Approved</emphasis>)</para> - </listitem> - - <listitem> - <para>SCSI-2 Common Access Method Transport and SCSI Interface - Module (CAM) [X3T10/792D Rev 11]</para> - </listitem> - </itemizedlist> - - <para>Other publications that might provide you with additional - information are:</para> - - <itemizedlist> - <listitem> - <para>“SCSI: Understanding the Small Computer System - Interface”, written by NCR Corporation. Available from: - Prentice Hall, Englewood Cliffs, NJ, 07632 Phone: (201) 767-5937 - ISBN 0-13-796855-8</para> - </listitem> - - <listitem> - <para>“Basics of SCSI”, a SCSI tutorial written by - Ancot Corporation Contact Ancot for availability information at: - Phone: (415) 322-5322 Fax: (415) 322-0455</para> - </listitem> - - <listitem> - <para>“SCSI Interconnection Guide Book”, an AMP - publication (dated 4/93, Catalog 65237) that lists the various - SCSI connectors and suggests cabling schemes. Available from - AMP at (800) 522-6752 or (717) 564-0100</para> - </listitem> - - <listitem> - <para>“Fast Track to SCSI”, A Product Guide written by - Fujitsu. Available from: Prentice Hall, Englewood Cliffs, NJ, - 07632 Phone: (201) 767-5937 ISBN 0-13-307000-X</para> - </listitem> - - <listitem> - <para>“The SCSI Bench Reference”, “The SCSI - Encyclopedia”, and the “SCSI Tutor”, ENDL - Publications, 14426 Black Walnut Court, Saratoga CA, 95070 - Phone: (408) 867-6642</para> - </listitem> - - <listitem> - <para>“Zadian SCSI Navigator” (quick ref. book) and - “Discover the Power of SCSI” (First book along with - a one-hour video and tutorial book), Zadian Software, Suite 214, - 1210 S. Bascom Ave., San Jose, CA 92128, (408) 293-0800</para> - </listitem> - </itemizedlist> - - <para>On Usenet the newsgroups <ulink - URL="news:comp.periphs.scsi">comp.periphs.scsi</ulink> and <ulink - URL="news:comp.periphs">comp.periphs</ulink> are noteworthy places - to look for more info. You can also find the SCSI-Faq there, which - is posted periodically.</para> - - <para>Most major SCSI device and host adapter suppliers operate ftp - sites and/or BBS systems. They may be valuable sources of - information about the devices you own.</para> - --> - </sect3> - </sect2> - - <sect2 id="hw-storage-controllers"> - <title>* Contrôleurs de disques/bandes</title> - <sect3> - <title>* SCSI</title> - <para></para> - </sect3> - <sect3> - <title>* IDE</title> - <para></para> - </sect3> - <sect3> - <title>* Disquettes</title> - <para></para> - </sect3> - </sect2> - - <sect2> - <title>*** Disques durs</title> - - <sect3> - <title>*** Disques durs SCSI</title> - &sgml.todo; -<!-- - <para><emphasis>Contributed by &a.asami;. 17 February - 1998.</emphasis></para> - - <para>As mentioned in the <link linkend="scsi">SCSI</link> section, - virtually all SCSI hard drives sold today are SCSI-2 compliant and - thus will work fine as long as you connect them to a supported SCSI - host adapter. Most problems people encounter are either due to - badly designed cabling (cable too long, star topology, etc.), - insufficient termination, or defective parts. Please refer to the - <link linkend="scsi">SCSI</link> section first if your SCSI hard - drive is not working. However, there are a couple of things you may - want to take into account before you purchase SCSI hard drives for - your system.</para> - - <sect4> - <title>Rotational speed</title> - - <para>Rotational speeds of SCSI drives sold today range from around - 4,500RPM to 10,000RPM. Most of them are either 5,400RPM or - 7,200RPM. Even though the 7,200RPM drives can generally transfer - data faster, they run considerably hotter than their 5,400RPM - counterparts. A large fraction of today's disk drive malfunctions - are heat-related. If you do not have very good cooling in your PC - case, you may want to stick with 5,400RPM or slower drives.</para> - - <para>Note that newer drives, with higher areal recording densities, - can deliver much more bits per rotation than older ones. Today's - top-of-line 5,400RPM drives can sustain a throughput comparable to - 7,200RPM drives of one or two model generations ago. The number - to find on the spec sheet for bandwidth is “internal data - (or transfer) rate”. It is usually in megabits/sec so - divide it by 8 and you'll get the rough approximation of how much - megabytes/sec you can get out of the drive.</para> - - <para>(If you are a speed maniac and want a 10,000RPM drive for your - cute little peecee, be my guest; however, those drives become - extremely hot. Don't even think about it if you don't have a fan - blowing air <emphasis>directly at</emphasis> the drive or a - properly ventilated disk enclosure.)</para> - - <para>Obviously, the latest 10,000RPM drives and 7,200RPM drives can - deliver more data than the latest 5,400RPM drives, so if absolute - bandwidth is the necessity for your applications, you have little - choice but to get the faster drives. Also, if you need low - latency, faster drives are better; not only do they usually have - lower average seek times, but also the rotational delay is one - place where slow-spinning drives can never beat a faster one. - (The average rotational latency is half the time it takes to - rotate the drive once; thus, it's 3 milliseconds for 10,000RPM - drives, 4.2ms for 7,200RPM drives and 5.6ms for 5,400RPM drives.) - Latency is seek time plus rotational delay. Make sure you - understand whether you need low latency or more accesses per - second, though; in the latter case (e.g., news servers), it may - not be optimal to purchase one big fast drive. You can achieve - similar or even better results by using the ccd (concatenated - disk) driver to create a striped disk array out of multiple slower - drives for comparable overall cost.</para> - - <para>Make sure you have adequate air flow around the drive, - especially if you are going to use a fast-spinning drive. You - generally need at least 1/2" (1.25cm) of spacing above and below a - drive. Understand how the air flows through your PC case. Most - cases have the power supply suck the air out of the back. See - where the air flows in, and put the drive where it will have the - largest volume of cool air flowing around it. You may need to seal - some unwanted holes or add a new fan for effective cooling.</para> - - <para>Another consideration is noise. Many 7,200 or faster drives - generate a high-pitched whine which is quite unpleasant to most - people. That, plus the extra fans often required for cooling, may - make 7,200 or faster drives unsuitable for some office and home - environments.</para> - </sect4> - - <sect4> - <title>Form factor</title> - - <para>Most SCSI drives sold today are of 3.5" form factor. They - come in two different heights; 1.6" (“half-height”) or - 1" (“low-profile”). The half-height drive is the same - height as a CD-ROM drive. However, don't forget the spacing rule - mentioned in the previous section. If you have three standard - 3.5" drive bays, you will not be able to put three half-height - drives in there (without frying them, that is).</para> - </sect4> - - <sect4> - <title>Interface</title> - - <para>The majority of SCSI hard drives sold today are Ultra or - Ultra-wide SCSI. The maximum bandwidth of Ultra SCSI is 20MB/sec, - and Ultra-wide SCSI is 40MB/sec. There is no difference in max - cable length between Ultra and Ultra-wide; however, the more - devices you have on the same bus, the sooner you will start having - bus integrity problems. Unless you have a well-designed disk - enclosure, it is not easy to make more than 5 or 6 Ultra SCSI - drives work on a single bus.</para> - - <para>On the other hand, if you need to connect many drives, going - for Fast-wide SCSI may not be a bad idea. That will have the same - max bandwidth as Ultra (narrow) SCSI, while electronically it's - much easier to get it “right”. My advice would be: if - you want to connect many disks, get wide SCSI drives; they usually - cost a little more but it may save you down the road. (Besides, - if you can't afford the cost difference, you shouldn't be building - a disk array.)</para> - - <para>There are two variant of wide SCSI drives; 68-pin and 80-pin - SCA (Single Connector Attach). The SCA drives don't have a - separate 4-pin power connector, and also read the SCSI ID settings - through the 80-pin connector. If you are really serious about - building a large storage system, get SCA drives and a good SCA - enclosure (dual power supply with at least one extra fan). They - are more electronically sound than 68-pin counterparts because - there is no “stub” of the SCSI bus inside the disk - canister as in arrays built from 68-pin drives. They are easier - to install too (you just need to screw the drive in the canister, - instead of trying to squeeze in your fingers in a tight place to - hook up all the little cables (like the SCSI ID and disk activity - LED lines).</para> - </sect4> - --> - </sect3> - - <sect3> - <title>* Disques durs IDE</title> - <para></para> - </sect3> - </sect2> - - <sect2> - <title>*** Contrôleurs de bande</title> -<!-- - <para><emphasis>Contributed by &a.jmb;. 2 July - 1996.</emphasis></para> ---> - <sect3> - <title>*** Commandes générales d'accès aux bandes</title> - - &sgml.todo - <!-- - <para>&man.mt.1; provides generic access to the tape drives. Some of - the more common commands are <command>rewind</command>, - <command>erase</command>, and <command>status</command>. See the - &man.mt.1; manual page for a detailed description.</para> - &sgml.todo; - --> - </sect3> - <sect3> - <title>*** Interfaces et contrôleurs</title> - &sgml.todo - <!-- - <para>There are several different interfaces that support tape drives. - The interfaces are SCSI, IDE, Floppy and Parallel Port. A wide - variety of tape drives are available for these interfaces. - Controllers are discussed in <link - linkend="hw-storage-controllers">Disk/tape - controllers</link>.</para> - --> - </sect3> - <sect3> - <title>*** Lecteurs SCSI</title> - &sgml.todo - <!-- - - <para>The &man.st.4; driver provides support for 8mm (Exabyte), 4mm - (DAT: Digital Audio Tape), QIC (Quarter-Inch Cartridge), DLT - (Digital Linear Tape), QIC Minicartridge and 9-track (remember the - big reels that you see spinning in Hollywood computer rooms) tape - drives. See the &man.st.4; manual page for a detailed - description.</para> - - <para>The drives listed below are currently being used by members of - the FreeBSD community. They are not the only drives that will work - with FreeBSD. They just happen to be the ones that we use.</para> - - <sect4> - <title>4mm (DAT: Digital Audio Tape)</title> - - <para><link linkend="hw-storage-python">Archive Python</link></para> - - <para><link linkend="hw-storage-hp1533a">HP C1533A</link></para> - - <para><link linkend="hw-storage-hp1534a">HP C1534A</link></para> - - <para><link linkend="hw-storage-hp35450a">HP 35450A</link></para> - - <para><link linkend="hw-storage-hp35470a">HP 35470A</link></para> - - <para><link linkend="hw-storage-hp35480a">HP 35480A</link></para> - - <para><link linkend="hw-storage-sdt5000">SDT-5000</link></para> - - <para><link linkend="hw-storage-wangtek6200">Wangtek - 6200</link></para> - </sect4> - - <sect4> - <title>8mm (Exabyte)</title> - - <para><link linkend="hw-storage-exb8200">EXB-8200</link></para> - - <para><link linkend="hw-storage-exb8500">EXB-8500</link></para> - - <para><link linkend="hw-storage-exb8505">EXB-8505</link></para> - </sect4> - - <sect4> - <title>QIC (Quarter-Inch Cartridge)</title> - - <para><link linkend="hw-storage-anaconda">Archive Ananconda - 2750</link></para> - - <para><link linkend="hw-storage-viper60">Archive Viper - 60</link></para> - - <para><link linkend="hw-storage-viper150">Archive Viper - 150</link></para> - - <para><link linkend="hw-storage-viper2525">Archive Viper - 2525</link></para> - - <para><link linkend="hw-storage-tandberg3600">Tandberg TDC - 3600</link></para> - - <para><link linkend="hw-storage-tandberg3620">Tandberg TDC - 3620</link></para> - - <para><link linkend="hw-storage-tandberg4222">Tandberg TDC - 4222</link></para> - - <para><link linkend="hw-storage-wangtek5525es">Wangtek - 5525ES</link></para> - </sect4> - - <sect4> - <title>DLT (Digital Linear Tape)</title> - - <para><link linkend="hw-storage-dectz87">Digital TZ87</link></para> - </sect4> - - <sect4> - <title>Mini-Cartridge</title> - - <para><link linkend="hw-storage-ctms3200">Conner CTMS - 3200</link></para> - - <para><link linkend="hw-storage-exb2501">Exabyte 2501</link></para> - </sect4> - - <sect4> - <title>Autoloaders/Changers</title> - - <para><link linkend="hw-storage-hp1553a">Hewlett-Packard HP C1553A - Autoloading DDS2</link></para> - </sect4> - - --> - </sect3> - <sect3> - <title>* Lecteurs IDE</title> - <para></para> - </sect3> - <sect3> - <title>* Lecteurs sur contrôleur de disquette</title> - &sgml.todo -<!-- - où est passé le source ????? ---> - - - - </sect3> - <sect3> - <title>* Lecteurs sur port parallèle</title> - <para></para> - </sect3> - <sect3> - <title>*** Informations détaillées</title> - &sgml.todo - <!-- - <sect4 id="hw-storage-anaconda"> - <title>Archive Anaconda 2750</title> - - <para>The boot message identifier for this drive is <literal>ARCHIVE - ANCDA 2750 28077 -003 type 1 removable SCSI 2</literal></para> - - <para>This is a QIC tape drive.</para> - - <para>Native capacity is 1.35GB when using QIC-1350 tapes. This - drive will read and write QIC-150 (DC6150), QIC-250 (DC6250), and - QIC-525 (DC6525) tapes as well.</para> - - <para>Data transfer rate is 350kB/s using - &man.dump.8;. Rates of 530kB/s have been reported when using - <link linkend="backups-programs-amanda">Amanda</link></para> - - <para>Production of this drive has been discontinued.</para> - - <para>The SCSI bus connector on this tape drive is reversed from - that on most other SCSI devices. Make sure that you have enough - SCSI cable to twist the cable one-half turn before and after the - Archive Anaconda tape drive, or turn your other SCSI devices - upside-down.</para> - - <para>Two kernel code changes are required to use this drive. This - drive will not work as delivered.</para> - - <para>If you have a SCSI-2 controller, short jumper 6. Otherwise, - the drive behaves are a SCSI-1 device. When operating as a SCSI-1 - device, this drive, “locks” the SCSI bus during some - tape operations, including: fsf, rewind, and rewoffl.</para> - - <para>If you are using the NCR SCSI controllers, patch the file - <filename>/usr/src/sys/pci/ncr.c</filename> (as shown below). - Build and install a new kernel.</para> - - <programlisting> -*** 4831,4835 **** - }; - -! if (np->latetime>4) { - /* - ** Although we tried to wake it up, -Remplacer les '*' par des '-' -*** 4831,4836 **** - }; - -! if (np->latetime>1200) { - /* - ** Although we tried to wake it up,</programlisting> - - <para>Reported by: &a.jmb;</para> - </sect4> - - <sect4 id="hw-storage-python"> - <title>Archive Python</title> - - <para>The boot message identifier for this drive is <literal>ARCHIVE - Python 28454-XXX4ASB</literal> <literal>type 1 removable SCSI - 2</literal> <literal>density code 0x8c, 512-byte - blocks</literal></para> - - <para>This is a DDS-1 tape drive.</para> - - <para>Native capacity is 2.5GB on 90m tapes.</para> - - <para>Data transfer rate is XXX.</para> - - <para>This drive was repackaged by Sun Microsystems as model - 411.</para> - - <para>Reported by: Bob Bishop <email>rb@gid.co.uk</email></para> - </sect4> - - <sect4 id="hw-storage-viper60"> - <title>Archive Viper 60</title> - - <para>The boot message identifier for this drive is <literal>ARCHIVE - VIPER 60 21116 -007</literal> <literal>type 1 removable SCSI - 1</literal></para> - - <para>This is a QIC tape drive.</para> - - <para>Native capacity is 60MB.</para> - - <para>Data transfer rate is XXX.</para> - - <para>Production of this drive has been discontinued.</para> - - <para>Reported by: Philippe Regnauld - <email>regnauld@hsc.fr</email></para> - </sect4> - - <sect4 id="hw-storage-viper150"> - <title>Archive Viper 150</title> - - <para>The boot message identifier for this drive is <literal>ARCHIVE - VIPER 150 21531 -004</literal> <literal>Archive Viper 150 is a - known rogue</literal> <literal>type 1 removable SCSI - 1</literal>. A multitude of firmware revisions exist for this - drive. Your drive may report different numbers (e.g - <literal>21247 -005</literal>.</para> - - <para>This is a QIC tape drive.</para> - - <para>Native capacity is 150/250MB. Both 150MB (DC6150) and 250MB - (DC6250) tapes have the recording format. The 250MB tapes are - approximately 67% longer than the 150MB tapes. This drive can - read 120MB tapes as well. It can not write 120MB tapes.</para> - - <para>Data transfer rate is 100kB/s</para> - - <para>This drive reads and writes DC6150 (150MB) and DC6250 (250MB) - tapes.</para> - - <para>This drives quirks are known and pre-compiled into the scsi - tape device driver (&man.st.4;).</para> - - <para>Under FreeBSD 2.2-current, use <command>mt blocksize - 512</command> to set the blocksize. (The particular drive had - firmware revision 21247 -005. Other firmware revisions may behave - differently) Previous versions of FreeBSD did not have this - problem.</para> - - <para>Production of this drive has been discontinued.</para> - - <para>Reported by: Pedro A M Vazquez - <email>vazquez@IQM.Unicamp.BR</email></para> - - <para>Mike Smith - <email>msmith@atrad.adelaide.edu.au</email></para> - </sect4> - - <sect4 id="hw-storage-viper2525"> - <title>Archive Viper 2525</title> - - <para>The boot message identifier for this drive is <literal>ARCHIVE - VIPER 2525 25462 -011</literal> <literal>type 1 removable SCSI - 1</literal></para> - - <para>This is a QIC tape drive.</para> - - <para>Native capacity is 525MB.</para> - - <para>Data transfer rate is 180kB/s at 90 inches/sec.</para> - - <para>The drive reads QIC-525, QIC-150, QIC-120 and QIC-24 tapes. - Writes QIC-525, QIC-150, and QIC-120.</para> - - <para>Firmware revisions prior to <literal>25462 -011</literal> are - bug ridden and will not function properly.</para> - - <para>Production of this drive has been discontinued.</para> - </sect4> - - <sect4 id="hw-storage-conner420r"> - <title>Conner 420R</title> - - <para>The boot message identifier for this drive is <literal>Conner - tape</literal>.</para> - - <para>This is a floppy controller, minicartridge tape drive.</para> - - <para>Native capacity is XXXX</para> - - <para>Data transfer rate is XXX</para> - - <para>The drive uses QIC-80 tape cartridges.</para> - - <para>Reported by: Mark Hannon - <email>mark@seeware.DIALix.oz.au</email></para> - </sect4> - - <sect4 id="hw-storage-ctms3200"> - <title>Conner CTMS 3200</title> - - <para>The boot message identifier for this drive is <literal>CONNER - CTMS 3200 7.00</literal> <literal>type 1 removable SCSI - 2</literal>.</para> - - <para>This is a minicartridge tape drive.</para> - - <para>Native capacity is XXXX</para> - - <para>Data transfer rate is XXX</para> - - <para>The drive uses QIC-3080 tape cartridges.</para> - - <para>Reported by: Thomas S. Traylor - <email>tst@titan.cs.mci.com</email></para> - </sect4> - - <sect4 id="hw-storage-dectz87"> - <title><ulink - URL="http://www.digital.com/info/Customer-Update/931206004.txt.html">DEC TZ87</ulink></title> - - <para>The boot message identifier for this drive is <literal>DEC - TZ87 (C) DEC 9206</literal> <literal>type 1 removable SCSI - 2</literal> <literal>density code 0x19</literal></para> - - <para>This is a DLT tape drive.</para> - - <para>Native capacity is 10GB.</para> - - <para>This drive supports hardware data compression.</para> - - <para>Data transfer rate is 1.2MB/s.</para> - - <para>This drive is identical to the Quantum DLT2000. The drive - firmware can be set to emulate several well-known drives, - including an Exabyte 8mm drive.</para> - - <para>Reported by: &a.wilko;</para> - </sect4> - - <sect4 id="hw-storage-exb2501"> - <title><ulink - URL="http://www.Exabyte.COM:80/Products/Minicartridge/2501/Rfeatures.html">Exabyte EXB-2501</ulink></title> - - <para>The boot message identifier for this drive is <literal>EXABYTE - EXB-2501</literal></para> - - <para>This is a mini-cartridge tape drive.</para> - - <para>Native capacity is 1GB when using MC3000XL - minicartridges.</para> - - <para>Data transfer rate is XXX</para> - - <para>This drive can read and write DC2300 (550MB), DC2750 (750MB), - MC3000 (750MB), and MC3000XL (1GB) minicartridges.</para> - - <para>WARNING: This drive does not meet the SCSI-2 specifications. - The drive locks up completely in response to a SCSI MODE_SELECT - command unless there is a formatted tape in the drive. Before - using this drive, set the tape blocksize with</para> - - <screen>&prompt.root; <userinput>mt -f /dev/st0ctl.0 blocksize 1024</userinput></screen> - - <para>Before using a minicartridge for the first time, the - minicartridge must be formated. FreeBSD 2.1.0-RELEASE and - earlier:</para> - - <screen>&prompt.root; <userinput>/sbin/scsi -f /dev/rst0.ctl -s 600 -c "4 0 0 0 0 0"</userinput></screen> - - <para>(Alternatively, fetch a copy of the - <command>scsiformat</command> shell script from FreeBSD - 2.1.5/2.2.) FreeBSD 2.1.5 and later:</para> - - <screen>&prompt.root; <userinput>/sbin/scsiformat -q -w /dev/rst0.ctl</userinput></screen> - - <para>Right now, this drive cannot really be recommended for - FreeBSD.</para> - - <para>Reported by: Bob Beaulieu - <email>ez@eztravel.com</email></para> - </sect4> - - <sect4 id="hw-storage-exb8200"> - <title>Exabyte EXB-8200</title> - - <para>The boot message identifier for this drive is <literal>EXABYTE - EXB-8200 252X</literal> <literal>type 1 removable SCSI - 1</literal></para> - - <para>This is an 8mm tape drive.</para> - - <para>Native capacity is 2.3GB.</para> - - <para>Data transfer rate is 270kB/s.</para> - - <para>This drive is fairly slow in responding to the SCSI bus during - boot. A custom kernel may be required (set SCSI_DELAY to 10 - seconds).</para> - - <para>There are a large number of firmware configurations for this - drive, some have been customized to a particular vendor's - hardware. The firmware can be changed via EPROM - replacement.</para> - - <para>Production of this drive has been discontinued.</para> - - <para>Reported by: Mike Smith - <email>msmith@atrad.adelaide.edu.au</email></para> - </sect4> - - <sect4 id="hw-storage-exb8500"> - <title>Exabyte EXB-8500</title> - - <para>The boot message identifier for this drive is <literal>EXABYTE - EXB-8500-85Qanx0 0415</literal> <literal>type 1 removable SCSI - 2</literal></para> - - <para>This is an 8mm tape drive.</para> - - <para>Native capacity is 5GB.</para> - - <para>Data transfer rate is 300kB/s.</para> - - <para>Reported by: Greg Lehey <email>grog@lemis.de</email></para> - </sect4> - - <sect4 id="hw-storage-exb8505"> - <title><ulink - URL="http://www.Exabyte.COM:80/Products/8mm/8505XL/Rfeatures.html">Exabyte EXB-8505</ulink></title> - - <para>The boot message identifier for this drive is - <literal>EXABYTE EXB-85058SQANXR1 05B0</literal> <literal>type 1 - removable SCSI 2</literal></para> - - <para>This is an 8mm tape drive which supports compression, and is - upward compatible with the EXB-5200 and EXB-8500.</para> - - <para>Native capacity is 5GB.</para> - - <para>The drive supports hardware data compression.</para> - - <para>Data transfer rate is 300kB/s.</para> - - <para>Reported by: Glen Foster - <email>gfoster@gfoster.com</email></para> - </sect4> - - <sect4 id="hw-storage-hp1533a"> - <title>Hewlett-Packard HP C1533A</title> - - <para>The boot message identifier for this drive is <literal>HP - C1533A 9503</literal> <literal>type 1 removable SCSI - 2</literal>.</para> - - <para>This is a DDS-2 tape drive. DDS-2 means hardware data - compression and narrower tracks for increased data - capacity.</para> - - <para>Native capacity is 4GB when using 120m tapes. This drive - supports hardware data compression.</para> - - <para>Data transfer rate is 510kB/s.</para> - - <para>This drive is used in Hewlett-Packard's SureStore 6000eU and - 6000i tape drives and C1533A DDS-2 DAT drive.</para> - - <para>The drive has a block of 8 dip switches. The proper settings - for FreeBSD are: 1 ON; 2 ON; 3 OFF; 4 ON; 5 ON; 6 ON; 7 ON; 8 - ON.</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <thead> - <row> - <entry>switch 1</entry> - <entry>switch 2</entry> - <entry>Result</entry> - </row> - </thead> - - <tbody> - <row> - <entry>On</entry> - <entry>On</entry> - <entry>Compression enabled at power-on, with host - control</entry> - </row> - - <row> - <entry>On</entry> - <entry>Off</entry> - <entry>Compression enabled at power-on, no host - control</entry> - </row> - - <row> - <entry>Off</entry> - <entry>On</entry> - <entry>Compression disabled at power-on, with host - control</entry> - </row> - - <row> - <entry>Off</entry> - <entry>Off</entry> - <entry>Compression disabled at power-on, no host - control</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Switch 3 controls MRS (Media Recognition System). MRS tapes - have stripes on the transparent leader. These identify the tape - as DDS (Digital Data Storage) grade media. Tapes that do not have - the stripes will be treated as write-protected. Switch 3 OFF - enables MRS. Switch 3 ON disables MRS.</para> - - <para>See <ulink URL="http://www.hp.com/tape/c_intro.html">HP - SureStore Tape Products</ulink> and <ulink - URL="http://www.impediment.com/hp/hp_technical.html">Hewlett-Packard - Disk and Tape Technical Information</ulink> for more information - on configuring this drive.</para> - - <para><emphasis>Warning:</emphasis> Quality control on these drives - varies greatly. One FreeBSD core-team member has returned 2 of - these drives. Neither lasted more than 5 months.</para> - - <para>Reported by: &a.se;</para> - </sect4> - - <sect4 id="hw-storage-hp1534a"> - <title>Hewlett-Packard HP 1534A</title> - - <para>The boot message identifier for this drive is <literal>HP - HP35470A T503</literal> <literal>type 1 removable SCSI - 2</literal> <literal>Sequential-Access density code 0x13, - variable blocks</literal>.</para> - - <para>This is a DDS-1 tape drive. DDS-1 is the original DAT tape - format.</para> - - <para>Native capacity is 2GB when using 90m tapes.</para> - - <para>Data transfer rate is 183kB/s.</para> - - <para>The same mechanism is used in Hewlett-Packard's SureStore - <ulink URL="http://www.dmo.hp.com/tape/sst2000.htm">2000i</ulink> - tape drive, C35470A DDS format DAT drive, C1534A DDS format DAT - drive and HP C1536A DDS format DAT drive.</para> - - <para>The HP C1534A DDS format DAT drive has two indicator lights, - one green and one amber. The green one indicates tape action: - slow flash during load, steady when loaded, fast flash during - read/write operations. The amber one indicates warnings: slow - flash when cleaning is required or tape is nearing the end of its - useful life, steady indicates an hard fault. (factory service - required?)</para> - - <para>Reported by Gary Crutcher - <email>gcrutchr@nightflight.com</email></para> - </sect4> - - <sect4 id="hw-storage-hp1553a"> - <title>Hewlett-Packard HP C1553A Autoloading DDS2</title> - - <para>The boot message identifier for this drive is "".</para> - - <para>This is a DDS-2 tape drive with a tape changer. DDS-2 means - hardware data compression and narrower tracks for increased data - capacity.</para> - - <para>Native capacity is 24GB when using 120m tapes. This drive - supports hardware data compression.</para> - - <para>Data transfer rate is 510kB/s (native).</para> - - <para>This drive is used in Hewlett-Packard's SureStore <ulink - URL="http://www.dmo.hp.com/tape/sst12000.htm">12000e</ulink> - tape drive.</para> - - <para>The drive has two selectors on the rear panel. The selector - closer to the fan is SCSI id. The other selector should be set to - 7.</para> - - <para>There are four internal switches. These should be set: 1 ON; - 2 ON; 3 ON; 4 OFF.</para> - - <para>At present the kernel drivers do not automatically change - tapes at the end of a volume. This shell script can be used to - change tapes:</para> - - <programlisting> -#!/bin/sh -PATH="/sbin:/usr/sbin:/bin:/usr/bin"; export PATH - -usage() -{ - echo "Usage: dds_changer [123456ne] raw-device-name - echo "1..6 = Select cartridge" - echo "next cartridge" - echo "eject magazine" - exit 2 -} - -if [ $# -ne 2 ] ; then - usage -fi - -cdb3=0 -cdb4=0 -cdb5=0 - -case $1 in - [123456]) - cdb3=$1 - cdb4=1 - ;; - n) - ;; - e) - cdb5=0x80 - ;; - ?) - usage - ;; -esac - -scsi -f $2 -s 100 -c "1b 0 0 $cdb3 $cdb4 $cdb5"</programlisting> - </sect4> - - <sect4 id="hw-storage-hp35450a"> - <title>Hewlett-Packard HP 35450A</title> - - <para>The boot message identifier for this drive is <literal>HP - HP35450A -A C620</literal> <literal>type 1 removable SCSI - 2</literal> <literal>Sequential-Access density code - 0x13</literal></para> - - <para>This is a DDS-1 tape drive. DDS-1 is the original DAT tape - format.</para> - - <para>Native capacity is 1.2GB.</para> - - <para>Data transfer rate is 160kB/s.</para> - - <para>Reported by: mark thompson - <email>mark.a.thompson@pobox.com</email></para> - </sect4> - - <sect4 id="hw-storage-hp35470a"> - <title>Hewlett-Packard HP 35470A</title> - - <para>The boot message identifier for this drive is <literal>HP - HP35470A 9 09</literal> <literal>type 1 removable SCSI - 2</literal></para> - - <para>This is a DDS-1 tape drive. DDS-1 is the original DAT tape - format.</para> - - <para>Native capacity is 2GB when using 90m tapes.</para> - - <para>Data transfer rate is 183kB/s.</para> - - <para>The same mechanism is used in Hewlett-Packard's SureStore - <ulink URL="http://www.dmo.hp.com/tape/sst2000.htm">2000i</ulink> - tape drive, C35470A DDS format DAT drive, C1534A DDS format DAT - drive, and HP C1536A DDS format DAT drive.</para> - - <para><emphasis>Warning:</emphasis> Quality control on these drives - varies greatly. One FreeBSD core-team member has returned 5 of - these drives. None lasted more than 9 months.</para> - - <para>Reported by: David Dawes - <email>dawes@rf900.physics.usyd.edu.au</email> (9 09)</para> - - </sect4> - - <sect4 id="hw-storage-hp35480a"> - <title>Hewlett-Packard HP 35480A</title> - - <para>The boot message identifier for this drive is <literal>HP - HP35480A 1009</literal> <literal>type 1 removable SCSI - 2</literal> <literal>Sequential-Access density code - 0x13</literal>.</para> - - <para>This is a DDS-DC tape drive. DDS-DC is DDS-1 with hardware - data compression. DDS-1 is the original DAT tape format.</para> - - <para>Native capacity is 2GB when using 90m tapes. It cannot handle - 120m tapes. This drive supports hardware data compression. - Please refer to the section on <link - linkend="hw-storage-hp1533a">HP C1533A</link> for the proper - switch settings.</para> - - <para>Data transfer rate is 183kB/s.</para> - - <para>This drive is used in Hewlett-Packard's SureStore <ulink - URL="http://www.dmo.hp.com/tape/sst5000.htm">5000eU</ulink> and - <ulink URL="http://www.dmo.hp.com/tape/sst5000.htm">5000i</ulink> - tape drives and C35480A DDS format DAT drive..</para> - - <para>This drive will occasionally hang during a tape eject - operation (<command>mt offline</command>). Pressing the front - panel button will eject the tape and bring the tape drive back to - life.</para> - - <para>WARNING: HP 35480-03110 only. On at least two occasions this - tape drive when used with FreeBSD 2.1.0, an IBM Server 320 and an - 2940W SCSI controller resulted in all SCSI disk partitions being - lost. The problem has not be analyzed or resolved at this - time.</para> - </sect4> - - <sect4 id="hw-storage-sdt5000"> - <title><ulink - URL="http://www.sel.sony.com/SEL/ccpg/storage/tape/t5000.html">Sony SDT-5000</ulink></title> - - <para>There are at least two significantly different models: one is - a DDS-1 and the other DDS-2. The DDS-1 version is - <literal>SDT-5000 3.02</literal>. The DDS-2 version is - <literal>SONY SDT-5000 327M</literal>. The DDS-2 version has a 1MB - cache. This cache is able to keep the tape streaming in almost - any circumstances.</para> - - <para>The boot message identifier for this drive is <literal>SONY - SDT-5000 3.02</literal> <literal>type 1 removable SCSI - 2</literal> <literal>Sequential-Access density code - 0x13</literal></para> - - <para>Native capacity is 4GB when using 120m tapes. This drive - supports hardware data compression.</para> - - <para>Data transfer rate is depends upon the model or the drive. The - rate is 630kB/s for the <literal>SONY SDT-5000 327M</literal> - while compressing the data. For the <literal>SONY SDT-5000 - 3.02</literal>, the data transfer rate is 225kB/s.</para> - - <para>In order to get this drive to stream, set the blocksize to 512 - bytes (<command>mt blocksize 512</command>) reported by Kenneth - Merry ken@ulc199.residence.gatech.edu</para> - - <para><literal>SONY SDT-5000 327M</literal> information reported by - Charles Henrich henrich@msu.edu</para> - - <para>Reported by: &a.jmz;</para> - </sect4> - - <sect4 id="hw-storage-tandberg3600"> - <title>Tandberg TDC 3600</title> - - <para>The boot message identifier for this drive is - <literal>TANDBERG TDC 3600 =08:</literal> <literal>type 1 - removable SCSI 2</literal></para> - - <para>This is a QIC tape drive.</para> - - <para>Native capacity is 150/250MB.</para> - - <para>This drive has quirks which are known and work around code is - present in the scsi tape device driver (&man.st.4;). - Upgrading the firmware to XXX version will fix the quirks and - provide SCSI 2 capabilities.</para> - - <para>Data transfer rate is 80kB/s.</para> - - <para>IBM and Emerald units will not work. Replacing the firmware - EPROM of these units will solve the problem.</para> - - <para>Reported by: Michael Smith - <email>msmith@atrad.adelaide.edu.au</email></para> - </sect4> - - <sect4 id="hw-storage-tandberg3620"> - <title>Tandberg TDC 3620</title> - - <para>This is very similar to the <link - linkend="hw-storage-tandberg3600">Tandberg TDC 3600</link> - drive.</para> - - <para>Reported by: &a.joerg;</para> - </sect4> - - <sect4 id="hw-storage-tandberg4222"> - <title>Tandberg TDC 4222</title> - - <para>The boot message identifier for this drive is - <literal>TANDBERG TDC 4222 =07</literal> <literal>type 1 removable - SCSI 2</literal></para> - - <para>This is a QIC tape drive.</para> - - <para>Native capacity is 2.5GB. The drive will read all cartridges - from the 60 MB (DC600A) upwards, and write 150 MB (DC6150) - upwards. Hardware compression is optionally supported for the 2.5 - GB cartridges.</para> - - <para>This drives quirks are known and pre-compiled into the scsi - tape device driver (&man.st.4;) beginning with FreeBSD - 2.2-current. For previous versions of FreeBSD, use - <command>mt</command> to read one block from the tape, rewind the - tape, and then execute the backup program (<command>mt fsr 1; mt - rewind; dump ...</command>)</para> - - <para>Data transfer rate is 600kB/s (vendor claim with compression), - 350 KB/s can even be reached in start/stop mode. The rate - decreases for smaller cartridges.</para> - - <para>Reported by: &a.joerg;</para> - </sect4> - - <sect4 id="hw-storage-wangtek5525es"> - <title>Wangtek 5525ES</title> - - <para>The boot message identifier for this drive is <literal>WANGTEK - 5525ES SCSI REV7 3R1</literal> <literal>type 1 removable SCSI - 1</literal> <literal>density code 0x11, 1024-byte - blocks</literal></para> - - <para>This is a QIC tape drive.</para> - - <para>Native capacity is 525MB.</para> - - <para>Data transfer rate is 180kB/s.</para> - - <para>The drive reads 60, 120, 150, and 525MB tapes. The drive will - not write 60MB (DC600 cartridge) tapes. In order to overwrite 120 - and 150 tapes reliably, first erase (<command>mt erase</command>) - the tape. 120 and 150 tapes used a wider track (fewer tracks per - tape) than 525MB tapes. The “extra” width of the - previous tracks is not overwritten, as a result the new data lies - in a band surrounded on both sides by the previous data unless the - tape have been erased.</para> - - <para>This drives quirks are known and pre-compiled into the scsi - tape device driver (&man.st.4;).</para> - - <para>Other firmware revisions that are known to work are: - M75D</para> - - <para>Reported by: Marc van Kempen <email>marc@bowtie.nl</email> - <literal>REV73R1</literal> Andrew Gordon - <email>Andrew.Gordon@net-tel.co.uk</email> - <literal>M75D</literal></para> - </sect4> - - <sect4 id="hw-storage-wangtek6200"> - <title>Wangtek 6200</title> - - <para>The boot message identifier for this drive is <literal>WANGTEK - 6200-HS 4B18</literal> <literal>type 1 removable SCSI - 2</literal> <literal>Sequential-Access density code - 0x13</literal></para> - - <para>This is a DDS-1 tape drive.</para> - - <para>Native capacity is 2GB using 90m tapes.</para> - - <para>Data transfer rate is 150kB/s.</para> - - <para>Reported by: Tony Kimball <email>alk@Think.COM</email></para> - </sect4> - --> - </sect3> - <sect3> - <title>* Lecteurs posant problème</title> - <para></para> - </sect3> - </sect2> - - <sect2> - <title>*** Contrôleurs de CD-ROMs</title> - - &sgml.todo - <!-- - - <para><emphasis>Contribution de &a.obrien;. 23 Novembre - 1997.</emphasis></para> - - <para>Comme mentionné dans - <link linkend="hw-jordans-picks-cdrom">Jordan's Picks</link> - Generally speaking those in <emphasis>The FreeBSD - Project</emphasis> prefer SCSI CDROM drives over IDE CDROM drives. - However not all SCSI CDROM drives are equal. Some feel the quality of - some SCSI CDROM drives have been deteriorating to that of IDE CDROM - drives. Toshiba used to be the favored stand-by, but many on the SCSI - mailing list have found displeasure with the 12x speed XM-5701TA as - its volume (when playing audio CDROMs) is not controllable by the - various audio player software.</para> - - <para>Another area where SCSI CDROM manufacturers are cutting corners is - adhearance to the <link linkend="scsi-further-reading">SCSI - specification</link>. Many SCSI CDROMs will respond to <link - linkend="scsi-rogue-devices">multiple LUNs</link> for its target - address. Known violators include the 6x Teac CD-56S 1.0D.</para> - <para></para> - - --> - </sect2> - - <sect2> - <title>* Autres</title> - <para></para> - </sect2> - - <sect2> - <title>* Ajouter et reconfigurer des disques</title> - <para></para> - </sect2> - - </sect1> - - <sect1 id="hw-other"> - <title>* Autres</title> - - <sect2> - <title>* PCMCIA</title> - <para></para> - </sect2> - </sect1> - </chapter> -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-shorttag: nil - sgml-always-quote-attributes: t - sgml-minimize-attributes: max - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> diff --git a/fr_FR.ISO8859-1/books/handbook/in-progress.sgml b/fr_FR.ISO8859-1/books/handbook/in-progress.sgml deleted file mode 100644 index 45248c01c8..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/in-progress.sgml +++ /dev/null @@ -1,9 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: N/A ---> - -<para>** Traduction en Cours **</para> diff --git a/fr_FR.ISO8859-1/books/handbook/install/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/install/chapter.sgml deleted file mode 100644 index d1e6009af8..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/install/chapter.sgml +++ /dev/null @@ -1,1298 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: n.nn ---> - - <chapter id="install"> - <title>Installer FreeBSD</title> - &trans.a.haby; - - <para>Donc, vous voulez tester FreeBSD sur votre nouvelle machine? - Cette section vous donne rapidement toutes les indications pour le - faire. FreeBSD peut être installé à partir de différents supports - dont CD-ROM, disquettes, bande magnétique, partition MS-DOS, et si vous - avez une connexion réseau, par ftp anonyme ou via NFS.</para> - - <para>Quelle que soit la façon dons vous procéderez, vous pouvez commencer - par créer la <emphasis>disquette d'installation</emphasis>, comme - décrit plus bas. Démarrez votre ordinateur avec cette disquette, même - si vous ne voulez pas installer FreeBSD tout de suite, pour avoir des - informations importantes sur la compatibilité de votre matériel avec - FreeBSD, ce qui dictera quelles options d'installation vous pouvez - envisager. Cela peut aussi vous donner des indications quant aux - incompatibilités matérielles qui vous empêcheraient d'utiliser FreeBSD - sur votre machine.</para> - - <para>Si vous envisagez une installation par ftp anonyme, alors cette - disquette d'installation est tout ce que vous aurez besoin de - télécharger et créer - le programme d'installation se - chargera lui-même de récupérer tout ce qu'il faudra par la suite (via - une connexion Ethernet, un modem et une liaison ppp, etc.).</para> - - <para>Pour plus d'informations sur la manière de vous procurer la version - la plus récente de FreeBSD, voyez s'il vous plaît l'annexe - <link linkend="mirrors">Se procurer FreeBSD</link>.</para> - - <para>Donc, pour pouvoir commencer à installer, suivez les étapes - ci-dessous:</para> - - <procedure> - - <step> - <para>Passez en revue la section <link - linkend="install-hw">Configurations supportées</link> de ce - guide d'installation pour être sûr que votre matériel soit - compatible avec FreeBSD. Il peut être utile de faire une liste des - cartes particulières que vous avez installées, contrôleurs SCSI, - adaptateurs Ethernet ou cartes sons. Cette liste devra inclure - les paramètres de configuration nécessaires, tels que les - interruptions (IRQ) et les adresses des ports - d'Entrée/Sortie.</para> - </step> - - <step> - <para>Si vous installez FreeBSD depuis le CD-ROM, vous avez - plusieurs options d'installation:</para> - - <itemizedlist> - - <listitem> - <para>Si c'est un CD-ROM qui a été gravé avec le support de - démarrage El Torrito et que votre système peut démarrer - à partir du CD-ROM (de nombreux systèmes anciens ne savent - <emphasis>pas</emphasis> le faire), mettez simplement le - CD dans le lecteur et démarrez directement avec - celui-ci.</para> - </listitem> - - <listitem> - <para>Si vous êtes sous DOS et avez le pilote nécessaire pour - accéder à votre CD-ROM, exécutez la procédure - <command>install.bat</command> - qui se trouve sur le CD. Cela lancera l'installation de - FreeBSD à partir de DOS.</para> - - <note> - <para>Vous devez faire cela réellement sous DOS et non dans - une fenêtre DOS sous Windows.</para> - </note> - - <para> Si vous voulez installer FreeBSD depuis une partition - DOS (peut-être parce que FreeBSD ne supporte pas votre - lecteur de CD-ROMs), lancez alors d'abord le programme - <command>setup</command> qui copiera les fichiers - nécessaires du CD sur la partition DOS, puis lancez ensuite - <command>install</command>.</para> - </listitem> - - <listitem> - <para>Si l'une des deux méthodes précédentes fonctionne, vous - pouvez sauter la suite de cette section, sinon, il vous - reste la possibilité de créer une disquette de démarrage - à partir du fichier image - <filename>floppies\boot.flp</filename> - passez à - l'étape 4 pour avoir des indications sur la façon de - faire.</para> - </listitem> - - </itemizedlist> - - </step> - - <step> - <para>Si vous n'avez pas la distribution sur CD-ROM, téléchargez - simplement le fichier d'<ulink - url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/&rel.current;-RELEASE/floppies/boot.flp">image - de la disquette démarrable d'installation</ulink> sur votre disque - dur, en veillant à donner à votre navigateur l'option - <emphasis>enregistrer</emphasis> et non - <emphasis>ouvrir</emphasis> le fichier.</para> - - <note> - <para>Cette image disquette ne fonctionne qu'avec des lecteurs de - disquette 3.5" 1.44 Mo.</para> - </note> - </step> - - <step> - <para>Créez une disquette de démarrage de l'installation à partir - du fichier image:</para> - <itemizedlist> - - <listitem> - <para>Si vous utilisez MS-DOS, téléchargez <ulink - url="ftp://ftp.FreeBSD.ORG/pub/FreeBSD/tools/fdimage.exe">fdimage.exe</ulink> - ou récupérez-le de <filename>tools\fdimage.exe</filename> - sur le CD-ROM et utilisez-le comme suit:</para> - - <informalexample> - <screen><prompt>E:\></prompt> <userinput>tools\fdimage floppies\boot.flp a:</userinput></screen> - </informalexample> - <para>Le programme <emphasis>fdimage</emphasis> - formatera la disquette dans le lecteur - <devicename>A:</devicename> et y copiera - <filename>boot.flp</filename> (en supposant que vous êtes dans - le répertoire racine de la distribution de FreeBSD et que - l'image de la disquette se trouve dans le répertoire pour les - disquettes, ce qui est normalement le cas).</para> - </listitem> - - <listitem> - <para>Si vous utilisez un système UNIX pour créer la - disquette:</para> - - <informalexample> - <screen>&prompt.root; <userinput>dd if=boot.flp of=<replaceable>périphérique_disquette</replaceable></userinput></screen> - </informalexample> - <para><replaceable>périphérique_disquette</replaceable> est - l'entrée <filename>/dev</filename> pour le lecteur de - disquette. Sur les systèmes FreeBSD, c'est - <filename>/dev/rfd0</filename> pour le lecteur - <devicename>A:</devicename> et - <filename>/dev/rfd1</filename> pour le lecteur - <devicename>B:</devicename>.</para> - </listitem> - - </itemizedlist> - </step> - - <step> - <para>Redémarrez l'ordinateur avec la disquette d'installation - dans le lecteur <devicename>A:</devicename>. Vous devriez - obtenir une invite de démarrage du genre:</para> - <informalexample> - <screen> ->> FreeBSD BOOT ... -Usage: [[[0:][wd](0,a)]/kernel][-abcCdhrsv] -Use 1:sd(0,a)kernel to boot sd0 if it is BIOS drive 1 -Use ? for file list or press Enter for defaults -Boot: - </screen> - </informalexample> - <para>Si vous ne tapez <emphasis>rien</emphasis>, FreeBSD démarrera - automatiquement avec la configuration par défaut après un délai - d'environ 5 secondes. Au démarrage, FreeBSD effectue des tests - pour savoir quels matériels sont installés. Les résultats de ces - tests sont affichés à l'écran.</para> - </step> - - <step> - <para>Après le démarrage, le menu principal d'installation de - FreeBSD s'affiche.</para> - </step> - - </procedure> - - <para><emphasis>Si quelque chose se passe mal ...</emphasis></para> - - <para>Du fait des limitations de l'architecture PC, il n'est pas possible - d'avoir des tests fiables à 100%. Si votre matériel n'est pas détecté - correctement, ou si les tests plantent votre machine, consultez d'abord - la section <link linkend="install-hw">Configurations - supportées</link> de ce guide d'installation pour vérifiez que votre - matériel est effectivement compatible avec FreeBSD.</para> - - <para>Si votre matériel est supporté, réinitialisez l'ordinateur et tapez - <literal>-c</literal> quand l'invite <prompt>Boot:</prompt> s'affiche. - FreeBSD passe alors en mode configuration, grâce auquel vous pouvez - donner des indications sur votre matériel. Le noyau FreeBSD de la - disquette d'installation fait l'hypothèse que la plupart des dispositifs - matériels utilisent la configuration par défaut du fabricant en termes - d'IRQ, adresses d'E/S et canaux DMA. Si vous avez reconfiguré votre - matériel, il y a de fortes chances que vous devrez utiliser l'option - <option>-c</option> au démarrage pour dire à FreeBSD à quelle adresse se trouvent - vos cartes.</para> - - <para>Il peut arriver que le test d'un matériel qui n'est pas installé - entraîne l'échec du test ultérieur d'un matériel qui lui est bien là. - Dans ce cas, le test du(des) pilote(s) en conflit doit être - désactivé.</para> - - <warning> - <para>Ne désactivez aucun des périphériques dont vous aurez besoin - pendant l'installation, votre écran (<devicename>sc0</devicename>) - par exemple.</para> - </warning> - - <para>En mode configuration, vous pouvez:</para> - - <itemizedlist> - - <listitem> - <para>Avoir la liste des pilotes de périphériques inclus dans - le noyau.</para> - </listitem> - - <listitem> - <para>Désactiver les pilotes de périphériques pour les matériels - que vous n'avez pas.</para> - </listitem> - - <listitem> - <para>Changer les IRQs, DRQs, adresses des ports d'E/S utilisées par - un pilote de périphérique.</para> - </listitem> - - </itemizedlist> - - <para>Sous l'invite <prompt>config></prompt>, tapez - <command>help</command> pour plus d'informations sur les commandes - disponibles. Une fois que vous avez ajusté votre noyau pour qu'il - configure correctement votre matériel, tapez <command>quit</command> à - l'invite <prompt>config></prompt> pour continuer le processus de - démarrage avec la nouvelle configuration.</para> - - <para>Une fois FreeBSD installé, les modifications que vous avez fait en - mode configuration seront définitives, vous n'aurez pas à reconfigurer - le noyau à chaque redémarrage. Cependant, même dans ce cas, il y a des - chances que vous vouliez recompiler un noyau sur-mesure pour optimiser - les performances de votre système. Reportez-vous à la section - <link linkend="kernelconfig" >Configurer le noyau de FreeBSD</link> - pour plus d'informations sur la génération de noyaux sur-mesure.</para> - - <sect1 id="install-hw"> - <title>Configurations supportées</title> - - <para>FreeBSD fonctionne avec sur une grande variété de PC à bus ISA, - VLB, EISA et PCI, en commençant aux machines de classe 386sx (bien - que le 386sx ne soit pas conseillé). Il y a un support générique pour - les disques IDE et ESDI, et le support de divers contrôleurs SCSI, - cartes réseau et série, est aussi inclus.</para> - - <para>Il faut un minimum de 4Mo de RAM pour faire tourner FreeBSD. Pour - utiliser le gestionnaire graphique X Window System, un minimum de 8Mo - de RAM est recommandé.</para> - - <para>Voici une liste de contrôleurs de disques et de cartes Ethernet - qui fonctionnent actuellement avec FreeBSD. D'autres configurations - peuvent parfaitement marcher, je n'ai simplement pas eu d'indications - à leur sujet.</para> - - <sect2> - <title>Contrôleurs de disque</title> - - <itemizedlist> - - <listitem> - <para>WD1003 (n'importe quel MFM/RLL générique),</para> - </listitem> - - <listitem> - <para>WD1007 (n'importe quel IDE/ESDI générique),</para> - </listitem> - - <listitem> - <para>IDE,</para> - </listitem> - - <listitem> - <para>ATA,</para> - </listitem> - - <listitem> - <para>Contrôleur SCSI Adaptec 1505 ISA,</para> - </listitem> - - <listitem> - <para>Contrôleurs SCSI Adaptec ISA série 152x,</para> - </listitem> - - <listitem> - <para>Contrôleurs SCSI Adaptec 1535 ISA,</para> - </listitem> - - <listitem> - <para>Contrôleurs SCSI Adaptec ISA série 154x,</para> - </listitem> - - <listitem> - <para>Contrôleurs SCSI Adaptec EISA série 174x en mode - standard et étendu.</para> - </listitem> - - <listitem> - <para>Contrôleurs SCSI Adaptec séries 274x/284x/2940/2940U/3940 (Narrow/Wide/Twin) EISA/VLB/PCI,</para> - </listitem> - - <listitem> - <para>Contrôleurs Adaptec SCSI AIC7850 sur la carte mère,</para> - </listitem> - - <listitem> - <para>Cartes à base d'Adaptec, dont les cartes SCSI - AHA-152x et SoundBlaster,</para> - - <note> - <para>Vous ne pouvez pas démarrer le système avec les cartes - SoundBlaster car elles n'ont pas de BIOS intégré, qui est - indispensable pour affecter au périphérique de démarrage - les vecteurs d'E/S du BIOS système. Elles sont cependant - parfaitement utilisables avec les lecteurs de bandes et de - CD-ROMs externes, etc. C'est aussi vrai des autres cartes à - base d'AIC-6x60 sans ROM de démarrage. Certains systèmes - ont une ROM de démarrage, ce qui est généralement signalé - par un message à la mise sous tension ou à la - réinitialisation du système. Consultez la documentation de - votre système ou de votre carte pour plus de - détails.</para> - </note> - </listitem> - - <listitem> - <para>Buslogic 545S & 545c,</para> - - <note> - <para>Buslogic s'appelait autrefois - “Bustek”,</para> - </note> - </listitem> - - <listitem> - <para>Contrôleurs SCSI Buslogic 445S/445c VLB,</para> - </listitem> - - <listitem> - <para>Contrôleurs SCSI Buslogic 742A/747S/747c EISA,</para> - </listitem> - - <listitem> - <para>Contrôleur SCSI Buslogic 946c PCI,</para> - </listitem> - - <listitem> - <para>Contrôleur SCSI Buslogic 956c PCI,</para> - </listitem> - - <listitem> - <para>Contrôleurs SCSI NCR - 53C810/53C815/53C825/53C860/53C875 PCI,</para> - </listitem> - - <listitem> - <para>Contrôleurs SCSI NCR5380/NCR53400 - (“ProAudio Spectrum”),</para> - </listitem> - - <listitem> - <para>Contrôleur SCSI DTC 3290 EISA en mode émulation - 1542,</para> - </listitem> - - <listitem> - <para>Contrôleurs SCSI UltraStor 14F/24F/34F,</para> - </listitem> - - <listitem> - <para>Contrôleurs SCSI Seagate ST01/02,</para> - </listitem> - - <listitem> - <para>Contrôleurs SCSI Future Domain séries 8xx/950,</para> - </listitem> - - <listitem> - <para>Contrôleur SCSI WD7000.</para> - </listitem> - - </itemizedlist> - - <para>Le support intégral des périphériques - SCSI-I & SCSI-II, y compris disques, lecteurs de bandes - (dont DAT) et lecteurs de CD-ROMs, est inclus pour tous les - contrôleurs SCSI supportés.</para> - - <para>Les lecteurs de CD-ROMs suivants sont actuellement - supportés:</para> - - <itemizedlist> - - <listitem> - <para>SoundBlaster SCSI et ProAudio Spectrum SCSI (<literal>cd</literal>),</para> - </listitem> - - <listitem> - <para>Interface propriétaire Mitsumi (tous modèles) (<literal>mcd</literal>),</para> - </listitem> - - <listitem> - <para>Interface propriétaire Matsushita/Panasonic (Creative) - CR-562/CR-563 (<literal>matcd</literal>),</para> - </listitem> - - <listitem> - <para>Interface propriétaire - Sony(<literal>scd</literal>),</para> - </listitem> - - <listitem> - <para>Interface ATAPI IDE (expérimentale et doit être considérée - de niveau ALPHA!) (<literal>wcd</literal>).</para> - </listitem> - - </itemizedlist> - - </sect2> - - <sect2 id="install-nics"> - <title>Cartes Ethernet</title> - - <itemizedlist> - - <listitem> - <para>Cartes Allied-Telesis AT1700 et RE2000,</para> - </listitem> - - <listitem> - <para>Interface Ethernet SMC Elite 16 WD8013, et la plupart des - clones à base de WD8003E, WD8003EBT, WD8003W, WD8013W, - WD8003S, WD8003SBT et WD8013EBT. Les cartes à base de SMC - Elite Ultra et 9432TX sont aussi supportées,</para> - </listitem> - - <listitem> - <para>DEC EtherWORKS III NICs (“<foreignphrase>Network - Interface Card</foreignphrase>” - carte - d'interface réseau) (DE203, DE204, et DE205),</para> - </listitem> - - <listitem> - <para>DEC EtherWORKS II NICs (DE200, DE201, DE202, et - DE422),</para> - </listitem> - - <listitem> - <para>NICs à base de DEC DC21040/DC21041/DC21140:</para> - <itemizedlist> - - <listitem> - <para>ASUS PCI-L101-TB,</para> - </listitem> - - <listitem> - <para>Accton ENI1203,</para> - </listitem> - - <listitem> - <para>Cogent EM960PCI,</para> - </listitem> - - <listitem> - <para>Compex CPXPCI/32C,</para> - </listitem> - - <listitem> - <para>D-Link DE-530,</para> - </listitem> - - <listitem> - <para>DEC DE435,</para> - </listitem> - - <listitem> - <para>Danpex EN-9400P3,</para> - </listitem> - - <listitem> - <para>JCIS Condor JC1260,</para> - </listitem> - - <listitem> - <para>Kingston KNE100TX,</para> - </listitem> - - <listitem> - <para>Linksys EtherPCI,</para> - </listitem> - - <listitem> - <para>Mylex LNP101,</para> - </listitem> - - <listitem> - <para>SMC EtherPower 10/100 (Modèle 9332),</para> - </listitem> - - <listitem> - <para>SMC EtherPower (Modèle 8432),</para> - </listitem> - - <listitem> - <para>SMC EtherPower (2),</para> - </listitem> - - <listitem> - <para>Zynx ZX314,</para> - </listitem> - - <listitem> - <para>Zynx ZX342.</para> - </listitem> - - </itemizedlist> - - </listitem> - - <listitem> - <para>NICs DEC FDDI (DEFPA/DEFEA),</para> - </listitem> - - <listitem> - <para>Fujitsu FMV-181 et FMV-182,</para> - </listitem> - - <listitem> - <para>Fujitsu MB86960A/MB86965A,</para> - </listitem> - - <listitem> - <para>Intel EtherExpress,</para> - </listitem> - - <listitem> - <para>Intel EtherExpress Pro/100B 100Mbit,</para> - </listitem> - - <listitem> - <para>Isolan AT 4141-0 (16 bit),</para> - </listitem> - - <listitem> - <para>Isolink 4110 (8 bit),</para> - </listitem> - - <listitem> - <para>Interface réseau sans fil Lucent WaveLAN,</para> - </listitem> - - <listitem> - <para>Interface Ethernet Novell NE1000, NE2000, et NE2100,</para> - </listitem> - - <listitem> - <para>Cartes 3Com 3C501,</para> - </listitem> - - <listitem> - <para>3Com 3C503 Etherlink II,</para> - </listitem> - - <listitem> - <para>3Com 3c505 Etherlink/+,</para> - </listitem> - - <listitem> - <para>3Com 3C507 Etherlink 16/TP,</para> - </listitem> - - <listitem> - <para>3Com 3C509, 3C579, 3C589 (PCMCIA) Etherlink III,</para> - </listitem> - - <listitem> - <para>3Com 3C590, 3C595 Etherlink III,</para> - </listitem> - - <listitem> - <para>Cartes 3Com 3C90x,</para> - </listitem> - - <listitem> - <para>HP PC Lan Plus (27247B et 27252A),</para> - </listitem> - - <listitem> - <para>Cartes Ethernet Toshiba,</para> - </listitem> - - <listitem> - <para>Les cartes Ethernet PCMCIA d'IBM et National - Semiconductor sont aussi supportées.</para> - </listitem> - - </itemizedlist> - - <note> - <para>FreeBSD ne supporte pas actuellement les fonctionnalités - PnP (<foreignphrase>plug-n-play</foreignphrase>) de - certaines cartes Ethernet. Si votre carte est PnP et vous pose des - problèmes, essayez de désactiver ses fonctionnalités PnP.</para> - </note> - </sect2> - - <sect2 id="install-misc"> - <title>Périphériques divers</title> - - <itemizedlist> - - <listitem> - <para>Carte AST 4 ports série avec IRQ partagée,</para> - </listitem> - - <listitem> - <para>Carte ARNET 8 ports série avec IRQ partagée,</para> - </listitem> - - <listitem> - <para>Carte BOCA IOAT66 6 ports série avec IRQ partagée,</para> - </listitem> - - <listitem> - <para>Carte BOCA 2016 16 ports série avec IRQ partagée,</para> - </listitem> - - <listitem> - <para>Carte série Cyclades Cyclom-y,</para> - </listitem> - - <listitem> - <para>Carte série STB 4 ports avec IRQ partagée,</para> - </listitem> - - <listitem> - <para>Carte série SDL Communications Riscom/8,</para> - </listitem> - - <listitem> - <para>Carte série synchrone SDL Communications RISCom/N2 et - N2pci,</para> - </listitem> - - <listitem> - <para>Carte série synchrone grande vitesse Digiboard - Sync/570i,</para> - </listitem> - - <listitem> - <para>Carte Decision-Computer Intl. “Eight-Serial” - 8 ports série avec IRQ partagée,</para> - </listitem> - - <listitem> - <para>Cartes sons Adlib, SoundBlaster, SoundBlaster Pro, - ProAudioSpectrum, Gravis UltraSound, Gravis UltraSound MAX - et Roland MPU-401,</para> - </listitem> - - <listitem> - <para>Carte d'acquisition vidéo Matrox Meteor,</para> - </listitem> - - <listitem> - <para>Carte d'incrustation vidéo Creative Labs Video,</para> - </listitem> - - <listitem> - <para>Carte d'acquisition vidéo Omnimedia Talisman,</para> - </listitem> - - <listitem> - <para>Cartes d'acquisition vidéo à base de puce Brooktree - BT848,</para> - </listitem> - - <listitem> - <para>Contrôleurs d'alimentation X-10,</para> - </listitem> - - <listitem> - <para>Manette de jeu et haut-parleur PC.</para> - </listitem> - - </itemizedlist> - - - <para>FreeBSD n'est pas actuellement compatible avec le bus - IBM microchannel (MCA).</para> - - </sect2> - </sect1> - - <sect1> - <title>Préparer l'installation</title> - - <para>Il y a un certain nombre de méthodes pour installer FreeBSD. Les - paragraphes qui suivent décrivent ce qui doit être fait dans chaque - cas.</para> - - <sect2> - <title>Avant d'installer à partir du CD-ROM</title> - - <para>Si votre lecteur de CD-ROMs n'est pas supporté, passez s'il vous - plaît à la section <link linkend="install-msdos">Avant d'installer - depuis une partition MS-DOS</link>.</para> - - <para>Il n'y a pratiquement rien à faire avant d'installer avec - succés à partir des CD-ROMs FreeBSD de Walnut Creek (les CD-ROMs - d'autres distributions marcheront sans doute aussi, bien que nous - ne puissions l'affirmer, car nous n'intervenons en rien dans la - façon dont ils sont faits). Vous pouvez démarrez l'installation - par CD soit depuis DOS avec la procédure - <filename>install.bat</filename> de Walnut Creek ou vous pouvez - créez une disquette de démarrage avec la commande - <filename>makeflp.bat</filename>.</para> - - <note> - <para>Si vous utilisez FreeBSD 2.1-RELEASE et avez un CD-ROM IDE, - servez-vous des procédures <filename>inst_ide.bat</filename> ou - <filename>atapiflp.bat</filename> à la place.</para> - </note> - - <para>Pour avoir l'interface la plus facile à utiliser (sous DOS), - tapez <command>view</command>. Cela vous affichera un menu DOS - qui vous guidera à travers toutes les options disponibles.</para> - - <para>Si vous créez la disquette de démarrage sur une machine UNIX, - voyez <link linkend="install">le début de ce guide</link> pour - avoir des exemples sur la façon de créer une disquette de - démarrage.</para> - - <para>Une fois que vous avez démarré sous DOS ou avec la disquette, - vous devriez pouvoir sélectionner le CD-ROM comme support - d'installation depuis le menu de sélection du support. Vous n'aurez - besoin de rien d'autre que du CD-ROM.</para> - - <para>Une fois que vous aurez terminé l'installation et redémarré - à partir du disque dur, vous pourrez monter quand vous voudrez le - CD-ROM en tapant: <command>mount /cdrom</command></para> - - <para>Avant de sortir de nouveau le CD-ROM, notez qu'il faut d'abord - taper: <command>umount /cdrom</command>. Ne le retirez pas - simplement du lecteur!</para> - - <note> - <para>Avant de commencer l'installation, vérifiez que le CD-ROM est - bien dans le lecteur, sans quoi le test avant installation ne le - trouvera pas. C'est aussi vrai si vous voulez, dès l'installation, - ajouter automatiquement le CD-ROM à la - configuration du système (que vous vous en serviez comme support - d'installation ou non).</para> - </note> - - <para>Finalement, si vous voulez que les gens puissent installer - FreeBSD par FTP directement depuis le CD-ROM de votre machine, - c'est assez facile à mettre en oeuvre. Il vous suffit d'ajouter - la ligne suivante au fichier de mots de passe (avec la commande - <command>vipw</command>):</para> - - <programlisting> -ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent</programlisting> - - <para>Quiconque peut se connecter par le réseau à votre machine (et - est autorisé à y ouvrir une session) peut maintenant sélectionner - FTP comme support d'installation et taper: - <userinput>ftp://<replaceable>votre - machine</replaceable></userinput> après avoir sélectionné - “Other” - autres - dans le menu - des sites ftp.</para> - - </sect2> - - <sect2> - <title>Avant d'installer à partir de disquettes</title> - - <para>Si vous devez installer à partir de disquettes, soit parce que - vous avez du matériel non supporté, soit que vous aimiez vous compliquer - la vie, vous devez d'abord préparer les disquettes - nécessaires.</para> - - <para>Il vous faudra, au minimum, autant de disquettes 1.2MB ou 1.44MB - que nécessaires pour y mettre tous les fichiers du répertoire - <filename>bin</filename> (distribution binaire). Si vous préparez - ces disquettes sous DOS, alors CES disquettes doit être formatées - avec la commande FORMAT de MS-DOS. Si vous utilisez Windows, - servez-vous de la commande de formatage du gestionnaire de fichiers - de Windows.</para> - - <para>Ne faites <emphasis>pas</emphasis> confiance aux disquettes - préformatées en usine. Reformattez-les vous-même, de façon à être - sûr. Nos utilisateurs nous ont, dans le passé, signalé de nombreux - problèmes dus à des disquettes incorrectement formatées, ce qui - explique pourquoi j'y insiste autant ici!</para> - - <para>Si vous créez les disquettes sur une autre machine FreeBSD, - ce n'est malgré tout pas une mauvaise idée de les formater bien - que vous n'ayez pas besoin d'y mettre un système de fichiers MS-DOS. - Vous pouvez employer les commandes <command>disklabel</command> et - <command>newfs</command> pour y mettre un système de fichiers UFS à - la place, comme le montre la séquence de commandes suivantes (pour - une disquette 3.5" 1.44MB):</para> - - <informalexample> - <screen>&prompt.root; <userinput>fdformat -f 1440 fd0.1440</userinput> -&prompt.root; <userinput>disklabel -w -r fd0.1440 floppy3</userinput> -&prompt.root; <userinput>newfs -t 2 -u 18 -l 1 -i 65536 /dev/rfd0</userinput> - </screen> - </informalexample> - - - <note> - <para>Utilisez <literal>fd0.1200</literal> et - <literal>floppy5</literal> pour les disquettes 5.25" 1.2MB.</para> - </note> - - <para>Vous pouvez alors les monter et y écrire comme sur n'importe - quel autre système de fichiers.</para> - - <para>Après avoir formaté les disquettes, il vous faudra y copier les - fichiers. Les fichiers de la distribution sont scindés en morceaux - de taille telle que 5 d'entre eux tiennent sur une disquette 1.44MB - ordinaire. Préparez les disquettes les unes après les autres, y - mettant sur chaque autant de fichiers que vous pouvez, jusqu'à ce - que vous ayez recopié toutes les distributions que vous voulez - installer. Chaque distribution doit avoir son propre sous-répertoire - sur la disquette, e.g.: <filename>a:\bin\bin.aa</filename>, - <filename>a:\bin\bin.ab</filename>, et ainsi de suite.</para> - - <para>Une fois que vous en êtes à l'écran de sélection du support - d'installation, choisissez - “Floppy” - disquette - et vous - aurez ensuite des indications sur la marche à suivre.</para> - - </sect2> - - <sect2 id="install-msdos"> - <title>Avant d'installer depuis une partition MS-DOS</title> - - <para>Pour préparer l'installation depuis une partition MS-DOS, copiez - les fichiers de la distribution dans un répertoire nommé - <filename>C:\FREEBSD</filename>. L'arborescence des répertoires du - CD-ROM doit être partiellement reproduite dans ce répertoire, je - vous suggère donc d'utiliser la commande DOS - <command>xcopy</command>. - Par exemple, pour préparer une installation minimale de - FreeBSD:</para> - - <informalexample> - <screen><prompt>C:\></prompt> <userinput>MD C:\FREEBSD</userinput> -<prompt>C:\></prompt> <userinput>XCOPY /S E:\BIN C:\FREEBSD\BIN\</userinput> -<prompt>C:\></prompt> <userinput>XCOPY /S E:\MANPAGES C:\FREEBSD\MANPAGES\</userinput></screen> - </informalexample> - - <para>En supposant que vous ayez de la place sur - <devicename>C:</devicename> et que votre CD-ROM soit monté sur - <devicename>E:</devicename>.</para> - - <para>Copiez chaque distribution que vous voulez installer depuis - MS-DOS (et pour laquelle vous avez de la place libre) dans - <filename>C:\FREEBSD</filename> - la distribution - <abbrev>BIN</abbrev> n'est que le minimum obligatoire.</para> - - </sect2> - - <sect2> - <title>Avant d'installer à partir de bandes QIC/SCSI</title> - - <para>Installer à partir de bandes est probablement la méthode la plus - simple, mis à part l'installation en ligne avec FTP ou depuis le - CD-ROM. Le programme d'installation s'attend à ce que les fichiers - soient simplement archivés avec <command>tar</command> sur la bande, - donc, après avoir récupéré tous les fichiers des distributions qui - vous intéressent, recopiez-les par <command>tar</command> avec une - commande comme:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cd /freebsd/distdir</userinput> -&prompt.root; <userinput>tar cvf /dev/rwt0 dist1 ... dist2</userinput></screen> - </informalexample> - - - <para>Quand vous installez, vous devez aussi vous assurer qu'il y a - assez de place dans un répertoire temporaire (que vous pourrez - choisir) pour y mettre le contenu <emphasis>entier</emphasis> de la - bande que vous avez créée. Vous devez donc vous attendre à avoir - besoin d'autant d'espace de stockage temporaire que vous avez mis - de données sur la bande.</para> - - <note> - <para>Au moment d'installer, la bande doit être dans le lecteur - <emphasis>avant</emphasis> de démarrer avec la disquette. Sinon, - les tests risquent de ne pas la trouver.</para> - </note> - </sect2> - - <sect2> - <title>Avant d'installer via le réseau</title> - - <para>Vous pouvez installer en réseau avec trois sortes de - communications:</para> - - <variablelist> - <varlistentry><term>Port série:</term> - <listitem> - <para>SLIP ou PPP,</para> - - </listitem> - </varlistentry> - - <varlistentry><term>Port parallèle:</term> - - <listitem> - <para>PLIP (câble “laplink”),</para> - - </listitem> - </varlistentry> - - <varlistentry><term>Ethernet:</term> - - <listitem> - <para>Contrôleur Ethernet standard (y compris certains - contrôleurs PCMCIA).</para> - - </listitem> - </varlistentry> - </variablelist> - - <para>Le support SLIP est assez rudimentaire et essentiellement - limité aux lignes directes. Les liaisons doivent être directes car - la procédure d'installation SLIP n'offre pas actuellement de - possibilité de connexion téléphonique; cette fonctionnalité existe - avec l'utilitaire PPP, qu'il faut utiliser de préférence à SLIP - chaque fois que c'est possible.</para> - - <para>Si vous utilisez un modem, PPP est certainement votre seul - choix. Veillez à avoir sous la main les informations concernant - votre fournisseur d'accès car vous en aurez besoin assez tôt dans - la procédure d'installation. Vous devrez savoir comment appeler - votre fournisseur d'accès Internet en utilisant les “commandes - AT” propres à votre modem, car le programme d'appel PPP ne - fournit qu'un émulateur de terminal trés simplifié. Si vous utilisez - PAP ou CHAP, vous devrez taper les commandes <command>set - authname</command> et <command>set authkey</command> avant de taper - <command>term</command>. Reportez-vous aux sections concernant PPP - intégré au noyau du <link linkend="userppp">manuel</link> ou de la - <ulink url="&url.faq;index.html">FAQ</ulink> - pour plus d'informations. Si vous avez des problèmes, connectez-vous - directement à l'écran avec la commande <command>set log local - ...</command>.</para> - - <para>Si vous disposez d'une liaison directe à une autre machine - FreeBSD (2.0R ou ultérieur), vous pouvez aussi envisager - l'installation avec un câble “laplink” sur le port - parallèle, la vitesse de transmission est supérieure à celle que - l'on obtient habituellement avec une liaison série, ce qui accélère - l'installation.</para> - - <para>Finalement, pour une installation en réseau la plus rapide - possible, une carte Ethernet est toujours un bon choix! FreeBSD - supporte la plupart des cartes Ethernet PC courantes. Il y a une - liste des cartes Ethernet supportées (et du paramètrage requis) - à la section <link linkend="install-hw">Configurations - supportées</link>. - Si vous utilisez l'une des cartes Ethernet PCMCIA suportées, ayez - soin de la mettre en place <emphasis>avant</emphasis> de mettre le - portable sous tension! FreeBSD ne supporte malheureusement pas - encore le branchement à chaud des cartes PCMCIA pendant - l'installation.</para> - - <para>Vous devrez aussi connaître votre adresse IP sur le réseau, le - masque de réseau pour votre classe d'adresses et le nom de votre - machine. Votre administrateur système peut vous dire quelles - valeurs vous devez utiliser pour votre configuration réseau - particulière. Si vous devez référencer d'autres machines par leur - nom plutôt que par leurs adresses IP, vous devrez aussi connaître - un serveur de noms et peut-être l'adresse d'une passerelle (si vous - utilisez PPP, c'est l'adresse IP de votre fournisseur d'accès) pour - accèder à ce serveur. Si vous n'avez pas les réponses à toutes ces - questions, vous devriez vraiment en discuter - <emphasis>d'abord</emphasis> avec votre administrateur système, - avant de vous lancer dans ce type d'installation.</para> - - <para>Une fois que vous avez une liaison d'un type ou l'autre qui - fonctionne, l'installation peut continuer avec NFS ou FTP.</para> - - <sect3> - <title>Préparer l'installation par NFS</title> - - <para>L'installation par NFS est assez directe: copiez simplement - les fichiers de la distribution de FreeBSD que vous voulez quelque - part sur le serveur et mentionnez ce répertoire au moment de - sélectionner le support NFS.</para> - - <para>Si le serveur n'accepte que les accès sur les “ports - privilégiés” (ce qui est généralement par défaut le cas sur - les stations de travail Sun), vous devrez le préciser dans le - menus des “Options” pour que l'installation puisse - continuer.</para> - - <para>Si vous avez une carte Ethernet de mauvaise qualité et des - vitesses de transfert très faibles, vous devrez peut-être aussi - positionner l'indicateur approprié dans ce menu.</para> - - <para>Pour que l'installation par NFS fonctionne, le serveur doit - pouvoir monter des sous-répertoires, e.g., si le répertoire pour - votre distribution de FreeBSD &rel.current; est - <filename>ziggy:/usr/archive/stuff/FreeBSD</filename>, alors - <hostid>ziggy</hostid> doit autoriser le montage de - <filename>/usr/archive/stuff/FreeBSD</filename>, et non simplement - de <filename>/usr</filename> ou - <filename>/usr/archive/stuff</filename>.</para> - - <para>Dans le fichier <filename>/etc/exports</filename> de FreeBSD, - on l'autorise avec l'option <option>-alldirs</option>. Il peut y - avoir d'autres conventions avec d'autres serveurs NFS. Si le - serveur vous envoie des messages - <errortype>Permission Denied</errortype>, il est probable que - c'est parce que vous n'avez pas activé correctemment cette - fonctionnalité.</para> - - </sect3> - - <sect3> - <title>Préparer l'Installation par FTP</title> - - <para>L'installation par FTP peut se faire à partir de n'importe - quel site miroir sur lequel il y a une version suffisamment - à jour de FreeBSD &rel.current;. Le menu des sites FTP propose - un choix raisonnable de sites pour à peu près n'importe quel - endroit du globe.</para> - - <para>Si vous voulez installer depuis une autre site FTP qui n'est - pas listé dans le menu, ou avez des difficultés à configurer - correctement votre serveur de noms, vous pouvez aussi préciser - l'URL de votre choix en sélectionnant l'option - “Other” - autre - de - ce menu. Vous pouvez aussi donner - directement l'adresse IP. Ceci par exemple fonctionnerait en - l'absence d'un serveur de noms:</para> - - <informalexample> - <screen>ftp://165.113.121.81/pub/FreeBSD/&rel.current;-RELEASE</screen> - </informalexample> - - <para>Il y a deux méthodes d'installation par FTP:</para> - - <variablelist> - <varlistentry><term>FTP actif</term> - <listitem> - <para>Utilise le mode “Actif” pour tous les - transferts FTP. Cela ne - marchera pas derrière un coupe-feu, mais fonctionnera - avec les serveurs ftp anciens qui ne supportent pas - encore le mode passif. Si votre connexion se bloque - en mode passif (qui est le mode par défaut), essayez cette - méthode!</para> - </listitem> - </varlistentry> - - <varlistentry><term>FTP passif</term> - - <listitem> - <para>Utilise le mode “Passif” pour tous les - transferts FTP. Cela permet de passer les coupe-feux qui - n'autorisent pas les connexions entrantes sur des ports - non privilégiés.</para> - </listitem> - </varlistentry> - </variablelist> - - <note> - <para>Ne confondez pas mode actif et passif et connexion mandatée, - quand un serveur mandataire écoute et transmet les requêtes - FTP!</para> - </note> - - <para>Avec un serveur FTP mandataire, vous devez habituellement - donner le nom du serveur réel accolé au nom d'utilisateur, après - une @. Le serveur mandataire passe alors pour le serveur réel. - Imaginons que vous vouliez installer depuis - <hostid role="fqdn">ftp.freebsd.org</hostid>, via le serveur FTP - mandataire <hostid role="fqdn">foo.bar.com</hostid>, qui écoute - sur le port 1234.</para> - - <para>Dans ce cas, vous allez dans le menu des options, donnez comme - nom d'utilisateur <username>ftp@ftp.freebsd.org</username>, et - comme mot de passe votre adresse de courrier électronique. Comme - support d'installation, vous précisez FTP (ou FTP passif, si le - serveur mandataire l'accepte) et comme URL - <literal>ftp://foo.bar.com:1234/pub/FreeBSD</literal>.</para> - - <para><filename>/pub/FreeBSD</filename> sur - <hostid role="fqdn">ftp.freebsd.org</hostid> - est alors mandaté par - <hostid role="fqdn">foo.bar.com</hostid>, ce qui vous - permet d'installer depuis <emphasis>cette</emphasis> - machine (qui va elle chercher les fichiers sur - <hostid role="fqdn">ftp.freebsd.org</hostid> au fur et à mesure - des besoins de votre installation).</para> - - </sect3> - </sect2> - </sect1> - - <sect1> - <title>Installer FreeBSD</title> - - <para>Une fois que vous avez établi quelles sont les étapes - préliminaires appropriées à votre méthode - d'installation, vous devriez arriver à installer FreeBSD sans autre problème.</para> - - <para>Dans le cas contraire, revenez sur vos pas et relisez les - sections - ci-dessus qui s'applique à la méthode que vous essayer d'utiliser, il - y a peut-être une indication utile qui vous a échappé à la première - lecture. Si vous avez des problèmes avec votre matériel ou si FreeBSD - refuse de démarrer, lisez le Guide du Matériel fourni sur la - disquette de démarrage pour avoir une liste de solutions - éventuelles.</para> - - <para>La disquette de démarrage de FreeBSD contient toute la - documentation en ligne dont vous devriez avoir besoin pour - naviguer dans la procédure d'installation, et si tel n'est - pas le cas, nous aimerions savoir ce que vous avez trouvé le - moins clair. Adressez vos remarques à &a.doc;. Nous souhaitons - que le programme d'installation de FreeBSD - (<command>sysinstall</command>) soit suffisamment auto-documenté - pour que les fastidieux guides d'installation “pas-à-pas” - deviennent inutiles. Cela nous prendra peut-être un peu de temps pour - y arriver, mais c'est notre objectif!</para> - - <para>En attendant, la “séquence typique d'installation - suivante” vous sera peut-être utile:</para> - - <orderedlist> - - <listitem> - <para>Démarrez avec la disquette d'installation. Après une - séquence d'initialisation qui peut prendre de 30 secondes à - 3 minutes, selon votre matériel, vous devriez obtenir le - menu des choix initiaux. Si votre machine ne démarre pas ou - se bloque, lisez la section Questions & Réponses du Guide - du Matériel pour en connaître les causes possibles.</para> - </listitem> - - <listitem> - <para>Appuyez sur F1. Vous devriez obtenir quelques indications de - base sur l'utilisation du système de menus et la façon d'y - naviguer. Si vous ne vous êtes pas encore servi de ces menus, - lisez <emphasis>s'il vous plaît</emphasis> ces indications en - détail!</para> - </listitem> - - <listitem> - <para>Sélectionnez “Options” et définissez vos - préférences.</para> - </listitem> - - <listitem> - <para>Choisissez l'installation “Novice”, - “Custom” - personnalisée - ou - “Express”, selon que vous préférez que la - procédure d'installation vous guide au long des étapes d'une - installation typique, vous donne une grande latitude dans le - choix des étapes successives, ou aille au plus rapide (en - utilisant des options par défaut à chaque fois que c'est - possible). Si vous n'avez encore jamais utilisé FreeBSD, - la méthode d'installation “Novice” est vivement - recommandée.</para> - </listitem> - - <listitem> - <para>Le menu final vous permet de configurer encore un peu plus - votre installation en vous donnant accès par menus à diverses - options système. Certains choix, comme ceux qui concernent le - réseau, peuvent être - particulièrement utiles si vous avez installé depuis le CD-ROM, - une bande ou des disquettes et n'avez pas encore configuré vos - interfaces réseau (si vous en avez). Si vous les configurez - maintenant correctement, votre machine FreeBSD sera sur le - réseau dès le prochain redémarrage depuis le disque - dur.</para> - </listitem> - - </orderedlist> - - </sect1> - - <sect1> - <title>Questions et Réponses pour les utilisateurs MS-DOS</title> - - <para>De nombreux utilisateurs veulent installer FreeBSD sur des PCs - qui fonctionnent sous MS-DOS. Voici quelques questions fréquentes - concernant l'installation de FreeBSD sur de tels systèmes.</para> - - <para><emphasis>A l'aide! Je n'ai plus de place! Faut-il que je - commence par tout effacer?</emphasis></para> - - <para>Si votre machine tourne déjà sous MS-DOS et qu'il ne vous reste - que peu ou pas de place pour installer FreeBSD, tout n'est pas perdu! - L'utilitaire FIPS qui se trouve dans le répertoire - <filename>tools</filename> du CDROM FreeBSD ou sur les différents - sites ftp vous sera probablement très utile.</para> - - <para>FIPS vous permet de scinder en deux une partition MS-DOS - existante, sans altérer le contenu de la partition originale, pour - installer ensuite FreeBSD sur la seconde partition ainsi créée; Vous - défragmentez d'abord votre partition MS-DOS, avec l'utilitaire DEFRAG - de DOS 6.xx ou les utilitaires Disque de Norton, puis utilisez FIPS. - Il vous demandera les autres informations dont il a besoin. Vous - pouvez ensuite redémarrer et installer sur la nouvelle - “tranche” libre. - Voyez le menu <emphasis>Distributions</emphasis> pour avoir une - estimation de la place dont vous aurez besoin selon ce que vous - voulez installer.</para> - - <para><emphasis>Puis-je utiliser des systèmes de fichiers MS-DOS - compressés depuis FreeBSD?</emphasis></para> - - <para>Non. Si vous employez des utilitaires tels que Stacker(tm) ou - DoubleSpace(tm), FreeBSD ne pourra utiliser que la partie du système - de fichiers que vous n'avez pas compressée. Le reste apparaîtra comme - un seul gros fichier (le fichier empilé/réduit). <emphasis>N'effacez - pas ce fichier!</emphasis> Vous le regretteriez très - certainement!</para> - - <para>Il est probablement mieux de créer une autre partition MS-DOS non - compressée et de l'utiliser pour les échanges entre MS-DOS et - FreeBSD.</para> - - <para><emphasis>Puis-je monter mes partitions MS-DOS - étendues?</emphasis></para> - - <para>Oui. Les partitions DOS étendues sont référencées après les autres - “tranches” par FreeBSD, exemple: votre disque - <devicename>D:</devicename> peut être appelé - <filename>/dev/sd0s5</filename>, et votre disque - <devicename>E:</devicename> <filename>/dev/sd0s6</filename>, et ainsi - de suite. Nous supposons bien sûr dans cet exemple que votre partition - étendue est sur le disque SCSI 0. Dans le cas des disques IDE, - remplacez <filename>sd</filename> par la référence au disque - <filename>wd</filename> appropriée. A part cela, les partitions - étendues se montent exactement comme toutes les autres partitions DOS, - e.g.:</para> - - <informalexample> - <screen>&prompt.root; <userinput>mount -t msdos /dev/sd0s5 /dos_d</userinput></screen> - </informalexample> - - <para><emphasis>Puis-je utiliser des binaires MS-DOS sous - FreeBSD?</emphasis></para> - - <para>BSDI a légué au monde BSD son émulateur DOS, qui a été porté sous - FreeBSD.</para> - - <para>Il y a aussi une belle application (du point de vue technique) - disponible au - <link linkend="ports">Catalogue des logiciels portés</link>, - qui s'appelle <command>pcemu</command> et qui vous permet d'utiliser - nombre de programmes MS-DOS simples en mode texte en émulant un - processeur 8088.</para> - - </sect1> - </chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-shorttag: nil - sgml-always-quote-attributes: t - sgml-minimize-attributes: max - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> - diff --git a/fr_FR.ISO8859-1/books/handbook/internals/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/internals/chapter.sgml deleted file mode 100644 index 1f05f5a3b5..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/internals/chapter.sgml +++ /dev/null @@ -1,2141 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: 1.8 ---> - -<chapter id="internals"> - <title>Les “internes” de FreeBSD</title> - &trans.a.haby; - - <sect1 id="booting"> - <title>Le processus de démarrage</title> - - <para><emphasis>Contribution de &a.phk;. v1.1, 16 Avril - 1995.</emphasis></para> - - <para>Le démarrage de FreeBSD est essentiellement un processus en - trois étapes : charger le noyau, identifier le système - de fichiers racine et initialiser utilisateur. Cela autorise - d'intéressantes combinaisons décrites plus loin.</para> - - <sect2> - <title>Charger un noyau</title> - - <para>Nous disposons actuellement des trois mécanismes de base - décrits ci-dessous pour charger un noyau : ils transmettent - tous des informations au noyau afin de l'aider à décider - de ce qu'il doit faire ensuite.</para> - - <variablelist> - <varlistentry> - <term>Biosboot</term> - - <listitem> - <para>Biosboot est notre “code de démarrage”. - Il consiste en deux fichiers qui seront copiés sur les huit - premiers kilo-octets de la disquette ou de la - “tranche” - <foreignphrase>slice</foreignphrase> - du - disque dur à partir de laquelle on démarrera.</para> - - <para>Biosboot peut charger un noyau donné par son nom dans - un système de fichiers FreeBSD.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Dosboot</term> - - <listitem> - <para>Dosboot a été écrit par DI. Christian - Gusenbauer, et c'est malheureusement actuellement l'un des - quelques codes qui ne compilent pas sous FreeBSD, parce qu'il est - écrit pour les compilateurs Microsoft.</para> - - <para>Dosboot peut charger un noyau depuis un fichier MS-DOS ou un - système de fichiers FreeBSD sur disque. Il essaye de - négocier avec les divers et étranges - gestionnires de mémoire qui hantent les adresses hautes des - systèmes MS-DOS et les gagne en général - à sa cause.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Netboot</term> - - <listitem> - <para>Netboot recherche une carte Ethernet supportée et - utilise BOOTP, TFTP et NFS pour trouver un noyau permettant de - démarrer.</para> - </listitem> - </varlistentry> - </variablelist> - </sect2> - - <sect2> - <title>Identifier le système de fichiers racine</title> - - <para>Dès que le noyau est chargé et que le code de - démarrage lui passe la main, le noyau s'initialise, il essaie de - déterminer quels sont les matériels installés, et - ainsi de suite; il lui faut ensuite trouver le système de - fichiers racine.</para> - - <para>Nous reconnaissons actuellement les types suivants de - systèmes de fichiers racine :</para> - - <variablelist> - <varlistentry> - <term>UFS</term> - - <listitem> - <para>C'est le type de système de fichiers racine le plus - habituel. Il peut être sur disquette ou sur disque - dur.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>MSDOS</term> - - <listitem> - <para>Bien que ce soit techniquement possible, ce n'est pas - particulièrement utile, du fait de l'impossibilité - pour le système de fichiers <acronym>FAT</acronym> de - gérer les liens, les fichiers spéciaux et autres - particularités “UNIX”.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>MFS</term> - - <listitem> - <para>Il s'agit en rélité d'un système de - fichiers UFS intégré au noyau à la - compilation de ce dernier. Cela signifie que le noyau n'a pas - vraiment besoin de disque dur, disquette ou autre matériel - pour s'exécuter.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>CD9660</term> - - <listitem> - <para>Cela permet d'utiliser un CD-ROM comme système de - fichiers racine.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>NFS</term> - - <listitem> - <para>Cela permet d'utiliser un serveur de fichiers comme - système de fichiers racine, essentiellement pour - faire fonctionner une machine sans disque dur.</para> - </listitem> - </varlistentry> - </variablelist> - </sect2> - - <sect2> - <title>Initialiser l'environnement utilisateur</title> - - <para>Pour que les programmes utilisateur puissent s'exécuter, le - noyau, quand la phase d'initialisation est terminée, lance un - processus de <literal>pid == 1</literal> et exécute - un programme du système de fichiers racine;, normalement - <filename>/sbin/init</filename>.</para> - - <para>Vous pouvez remplacer <command>/sbin/init</command> par n'importe - quel programme, tant que vous vous rappelez que :</para> - - <para>Il n'y a pas de stdin/out/err à moins que vous ne les ouvriez - vous-même. Si vous sortez du programme, la machine panique. La - gestion des signaux par le processus de <literal>pid == 1</literal> est - particulière à ce processus.</para> - - <para>Le programme <command>/stand/sysinstall</command> de la disquette - d'installation est un exemple d'“init” adapté.</para> - </sect2> - - <sect2> - <title>Combinaisons intéressantes</title> - - <para>Démarrer un noyau contenant un système de fichiers MFS - avec un programme <filename>/sbin/init</filename> particulier - qui...</para> - - <variablelist> - <varlistentry> - <term>A — En utilisant DOS</term> - - <listitem> - <itemizedlist> - <listitem> - <para>monte votre disque <filename>C:</filename> sous le - répertoire <filename>/C:</filename></para> - </listitem> - - <listitem> - <para>attache le fichier spécial - <filename>/dev/vn0</filename> au fichier - <filename>C:/freebsd.fs</filename></para> - </listitem> - - <listitem> - <para>monte <filename>/dev/vn0</filename> sous - <filename>/rootfs</filename></para> - </listitem> - - <listitem> - <para>crée les liens symboliques - <filename>/rootfs/bin</filename> -> - <filename>/bin</filename>, - <filename>/rootfs/etc</filename> -> - <filename>/etc</filename>, - <filename>/rootfs/sbin</filename> -> - <filename>/sbin</filename> (etc.)</para> - </listitem> - </itemizedlist> - - <para>Vous faites maintenant tourner FreeBSD sans avoir - repartitionné votre disque dur...</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>B — En utilisant NFS</term> - - <listitem> - <itemizedlist> - <listitem> - <para>monte avec NFS votre - <filename>serveur:~vous/FreeBSD</filename> sur - <filename>/nfs</filename>, redéfinit la racine comme - <filename>/nfs</filename> - avec - <citerefentry><refentrytitle>chroot</refentrytitle> - <manvolnum>8</manvolnum></citerefentry> - et - y exécute <filename>/sbin/init</filename></para> - </listitem> - </itemizedlist> - - <para>Vous faites maintenant tourner FreeBSD sans disque dur, bien - que vous n'ayez pas le contrôle du serveur NFS...</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>C — Démarre un serveur X</term> - - <listitem> - <para>Vous avez maintenant un terminal X, bien plus efficace que X - sous Windows, tellement lent que vous pouvez- voir- tout- ce - qu'il- fait, alors que votre patron assure que cela est toujours - mieux que de dépenser encore de l'argent en - matériel.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>D — En utilisant une bande</term> - - <listitem> - <itemizedlist> - <listitem> - <para>copie <filename>/dev/rwd0</filename> sur un lecteur de - bandes sur le réseau ou sur un serveur de - fichiers.</para> - </listitem> - </itemizedlist> - - <para>Vous avez finalement la sauvegarde que vous auriez dû - faire il y a un an déjà...</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>E — Fonctionne - comme coupe-feu / serveur Web / que sais-je - encore...</term> - - <listitem> - <para>C'est particulièrement intéressant parce que - vous pouvez démarrer à partir d'une disquette - protégée en écriture, et pouvez malgré - tout écrire sur votre système de fichiers - racine.</para> - </listitem> - </varlistentry> - </variablelist> - </sect2> - </sect1> - - <sect1 id="memoryuse"> - <title>Utilisation de la mémoire du PC</title> - - <para><emphasis>Contribution de &a.joerg;. 16 Avril 1995.</emphasis></para> - - <para><emphasis>Une brève description de la manière dont - FreeBSD utilise la mémoire sur les plates-formes - i386</emphasis></para> - - <para>Le secteur de démarrage est chargé à l'adresse - <literal>0:0x7c00</literal>, et se reloge immédiatement à - l'adresse <literal>0x7c0:0</literal>. (Il n'y a rien de mystérieux - là-dedans, c'est seulement un ajustement du registre - <literal>%cs</literal>, effectué par un - <literal>ljmp</literal>.)</para> - - <para>Il charge ensuite les quinze premiers secteurs à l'adresse - <literal>0x10000</literal> (segment <makevar>BOOTSEG</makevar> dans le - <filename>Makefile</filename> de - <citerefentry><refentrytitle>biosboot</refentrytitle></citerefentry>), et - initialise la pile pour qu'elle travaille aux adresses en-dessous - de <literal>0x1fff0</literal>. Il passe ensuite au point d'entrée - <literal>boot2</literal> de ce code, i.e. il se branche au-delà de - lui-même et de la table de partition (fictive), et ajuste le - registre <literal>%cs</literal>—nous sommes alors encore en - mode 16-bits.</para> - - <para><literal>boot2</literal> recherche le fichier de démarrage, et - examine son en-tête <filename>a.out</filename>. Il masque le point - d'entrée de ce fichier (habituellement - <literal>0xf0100000</literal>) avec <literal>0x00ffffff</literal> et - charge le code à l'adresse ainsi obtenue. Il est donc - généralement chargé à l'adresse 1 MB - (<literal>0x00100000</literal>). Pendant le chargement, le code va et - vient entre le mode réel et le mode protégé, pour - utiliser le BIOS en mode réel.</para> - - <para>Le code de démarrage lui-même utilise les - sélecteurs de segment <literal>0x18</literal> et - <literal>0x20</literal> pour <literal>%cs</literal> et - <literal>%ds/%es</literal> en mode protégé, et - <literal>0x28</literal> pour revenir en mode réel. Le noyau est - finalement lancé avec <literal>%cs</literal> - <literal>0x08</literal> et <literal>%ds/%es/%ss</literal> - <literal>0x10</literal>, qui constituent des descripteurs fictifs - recouvrant la totalité de l'espace d'adressage.</para> - - <para>Le noyau démarre à l'adresse à laquelle il est - chargé. Comme son édition de liens a été - effectuée pour une autre adresse (haute), il doit exécuter - du code <literal>PIC</literal> jusqu'à ce que la table de pages et - le répertoire des pages soient correctement renseignés, la - pagination peut alors être activée et le noyau - s'exécuter à l'adresse pour laquelle il a été - généré.</para> - - <para><emphasis>Contribution de &a.dg;. 16 Avril 1995.</emphasis></para> - - <para>Les pages physiques qui suivent immédiatement le segment - <literal>BSS</literal> du noyau contiennent le répertoire de pages - de <literal>proc0</literal>, ses tables de pages et les - pages utilisateur. Plus tard, quand le système de - mémoire virtuelle est initialisé, la mémoire - physique entre <literal>0x1000-0x9ffff</literal> et la mémoire - physique après le noyau (<literal>text+data+bss+proc0+d'autres - choses</literal>) est mise à disposition sous forme de pages de - mémoire virtuelle ordinaires et ajoutée à la liste - globales des pages libres.</para> - </sect1> - - <sect1 id="dma"> - <title>L'accès direct à la - mémoire - -<foreignphrase>DMA</foreignphrase> : - Qu'est-ce que c'est et comment ça marche</title> - - <para><emphasis>Copyright © 1995,1997 &a.uhclem;, Tous Droits - Réservés. 10 Décembre 1996. Dernière mise - à jour le 8 Octobre 1997.</emphasis></para> - - <para>L'accès direct à la - mémoire - <foreignphrase>Direct - Memory Access (DMA)</foreignphrase> - est une technique qui - permet que les mouvements de données entre la mémoire et - les périphériques se fassent sans intervention de - l'unité centrale (<foreignphrase>CPU</foreignphrase>).</para> - - <para>L'implémentation de l'accès direct à la - mémoire diffère selon les architectures matérielles, - nous limiterons donc la discussion à son implémentation sur - l'ordinateur personnel IBM (<foreignphrase>PC</foreignphrase>), sur l'IBM - PC/AT, ses successeurs et ses différents clones.</para> - - <para>Le sous-système DMA du PC repose sur le contrôleur DMA - Intel 8237. Ce contrôleur gère quatre canaux DMA qui peuvent - être programmés séparément et chacun de ces - canaux peut être le canal actif à un moment donné. Ces - canaux sont numérotés 0, 1, 2 et 3. Depuis le PC/AT, IBM a - ajouté une seconde puce 8237, et numéroté ces canaux - 4, 5, 6 et 7.</para> - - <para>Le contrôleur DMA d'origine (0,1, 2 et 3) effectue les - transferts octet par octet. Le second contrôleur DMA (4, 5, 6 et 7) - effectue les transferts 16 bits par 16 bits, le premier octet étant - toujours un octet d'adresse paire. Les deux contrôleurs sont des - composants identiques, la différence dans la taille des transferts - vient du càblage différent du second - contrôleur.</para> - - <para>Il y a deux signaux électriques par canal sur le 8237, - appelés DRQ (<foreignphrase>Data Request</foreignphrase>) et -DACK - (<foreignphrase>Data Acknowledge</foreignphrase>). Il y a des signaux supplémentaires dont les noms sont HRQ (<foreignphrase>Hold - Request</foreignphrase>), HLDA (<foreignphrase>Hold - Ackwnoledge</foreignphrase>), -EOP (<foreignphrase>End Of - Process</foreignphrase>) et des signaux de contrôle du bus -MEMR - (<foreignphrase>Memory Read</foreignphrase>), -MEMW (<foreignphrase>Memory - Write</foreignphrase>), -IOR (<foreignphrase>I/O Read</foreignphrase>) et - IOW (<foreignphrase>I/O Write</foreignphrase>).</para> - - <para>Le contrôleur DMA 8237 est un contrôleur - “<foreignphrase>fly-by</foreignphrase>” - transparent. - Cela signifie que les données transférées ne - transitent pas par la puce DMA et n'y sont pas mémorisées. - En conséquence, le DMA ne peut effectuer de transferts qu'entre un - port d'entrée/sortie et la mémoire, pas entre deux ports - d'entrée/sortie ou deux adresses mémoire.</para> - - <note> - <para>Le 8237 autorise l'interconnexion de deux de ses canaux pour - permettre les opérations DMA de mémoire à - mémoire, en mode - non-“<foreignphrase>fly-by</foreignphrase>”, mais nul dans - l'industrie du PC n'utilise cette ressource rare de cette façon, - parce qu'il est plus rapide de transférer des données - entre deux adresses mémoire en passant par le processeur.</para> - </note> - - <para>Dans l'architecture PC, chaque canal DMA est normalement activé - uniquement quand le matériel qui utilise le canal DMA en question - demande un transfert en validant la ligne DRQ pour ce canal.</para> - - <sect2> - <title>Un exemple de transfert DMA</title> - - <para>Voici un exemple des étapes successives qui provoquent et - effectuent un transfert DMA. Dans cet exemple, le contrôleur - du lecteur de disquette - <foreignphrase>floppy disk - controller (FDC)</foreignphrase> - vient de lire un octet sur - la disquette et demande au DMA de le ranger à l'adresse - mémoire <literal>0x00123456</literal>. Le processus commence - quand le FDC active le signal DRQ2 (la ligne DRQ pour le canal DMA - numéro 2) pour prévenir le contrôleur DMA.</para> - - <para>Le contrôleur DMA s'aperçoit que le signal DRQ2 est - positionné et s'assure que le canal DMA 2 est programmé - et non-masqué (activé). Le contrôleur DMA s'assure - aussi qu'aucun autre canal DMA n'est actif ou ne demande à - l'être et possède une plus haute priorité. Ces - vérifications faites, le DMA demande au processeur de - libérer le bus pour pouvoir l'utiliser. Il le fait en activant - le signal HRQ, envoyé au processeur.</para> - - <para>Le CPU détecte le signal HRQ et termine l'exécution de - l'instruction en cours. Dès que le processeur est en mesure de - libérer le bus, il le fait. Tous les signaux normalement - générés par le processeur (-MEMR, -MEMW, -IOR, - -IOW et quelques autres) sont positionnés dans un état - intermédiaire (ni haut, ni bas), puis le CPU positionne le - signal HDLA qui prévient le contrôleur DMA qu'il a - maintenant le contrôle du bus.</para> - - <para>Selon le processeur, le CPU peut encore être capable - d'exécuter quelques instructions supplémentaires bien - qu'il n'ait plus accès au bus, mais il peut aussi devoir - attendre lorsqu'il arrive sur une instruction qui doit lire une - donnée en mémoire et que celle-ci ne se trouve pas dans le - cache interne du processeur ou dans son - canal - “<foreignphrase>pipeline</foreignphrase>”.</para> - - <para>Maintenant que le DMA “a la main”, il active ses signaux - de sortie -MEMR, -MEMW, -IOR, -IOW, et fixe l'adresse de sortie du DMA - en <literal>0x3456</literal>, adresse qui sera utilisée pour - diriger l'octet qui va être transféré vers une - adresse mémoire donnée.</para> - - <para>Le DMA avertit ensuite le périphérique qui a - demandé le transfert que celui-ci commence, en positionnant le - signal -DACK, ou, dans le cas du contrôleur de disquette, le - signal -DACK2.</para> - - <para>C'est maintenant au contrôleur de disquette de placer l'octet - à transférer sur les lignes de données du bus. A - moins qu'il ne faille plus de temps au contrôleur de disquette - pour placer l'octet de donnée sur le bus (et dans ce cas, il - prévient le DMA via le signal READY), le DMA attend un cycle de - son horloge, puis désactive les signaux -MEMW et -IOR, de - façon à ce que la mémoire bascule et stocke - l'octet qui se trouve sur le bus, et que le contrôleur de - disquette sache que l'octet a été - transféré.</para> - - <para>Comme le DMA ne transfère qu'un seul octet à la fois - et par cycle, le FDC désactive maintenant le signal DRQ2, de - sorte que le DMA sache que l'on n'a plus besoin de ses services. Le - DMA désactive alors le signal -DACK2, pour avertir le FDC de - ne plus mettre de donnée sur le bus.</para> - - <para>Le DMA regarde alors si les autres canaux DMA ont des - opérations à effectuer. Si aucun des canaux n'a sa ligne - DRQ active, le travail du contrôleur DMA est terminé et il - positionne ses signaux -MEMR, -MEMW, -IOR, -IOW et d'adresse dans un - état intermédiaire.</para> - - <para>Pour finir, le DMA désactive le signal HRQ. Le CPU s'en - aperçoit et désactive le signal HOLDA puis active ses - signaux -MEMR, -MEMW, -IOR, -IOW et d'adresse et enfin reprend - l'exécution des instructions et ses accès à la - mémoire et aux périphériques.</para> - - <para>Pour un secteur de disquette typique, le processus ci-dessus est - répété 512 fois, une fois pour chaque octet. Chaque - fois qu'un octet est transféré, le registre d'adresse du - DMA est incrémenté et le compteur du DMA qui indique - combien d'octets ont été transférés, - décrémenté.</para> - - <para>Quand le compteur arrive à zéro, le DMA positionne le - signal EOP, qui indique que son compteur est nul et qu'aucune autre - donnée ne sera transférée tant que le - contrôleur DMA n'aura pas été reprogrammé par - le CPU. Cet événement est aussi appelé - “fin de décompte” - <foreignphrase>Terminal - Count (TC)</foreignphrase>. Il n'y a qu'un seul signal EOP, et comme il - ne peut y avoir qu'un seul canal DMA actif à un moment - donné, c'est nécessairement le canal DMA actuellement - actif qui vient de terminer sa tâche.</para> - - <para>Si un périphérique veut générer une - interruption à la fin du transfert d'un tampon, il peut tester si - les signaux -DACKn et EOP sont simultanément actifs. Quand cela - se produit, c'est que le DMA ne transférera plus d'autre - donnée pour ce périphérique sans intervention du - CPU. Le périphérique peut alors positionner un de ses - signaux d'interruption pour avertir le CPU. Dans l'architecture PC, le - circuit DMA lui-même ne peut pas générer - d'interruption. Le périphérique et l'électronique - associée sont responsables de la génération de - toutes les interruptions qui peuvent intervenir. Il est en - conséquence impossible d'avoir des périphériques - qui utilisent le DMA mais n'emploient pas d'interruptions.</para> - - <para>Il est important de comprendre que bien que le CPU laisse toujours - l'accès au bus au DMA quand le DMA effectue sa demande, cette - action est transparente pour les applications et pour le - système d'exploitation, hormis pour le petit temps - supplémentaire que met le processeur agrave; exécuter des - instructions quand le DMA est actif. En conséquence, le - processeur doit interroger les périphériques, les - registres du DMA ou recevoir une interruption du - périphérique pour être sûr qu'un transfert DMA - est terminé.</para> - </sect2> - - <sect2> - <title>Les registres de page DMA et la limite d'adressage de 16Mo</title> - - <para>Vous avez peut-être déjà remarqué qu'au - lieu de prendre pour adresse la valeur <literal>0x00123456</literal>, le - DMA utilise la valeur <literal>0x3456</literal>. Cela mérite - quelques explications.</para> - - <para>Quand l'IBM PC d'origine a été conçu, IBM a - choisi d'utiliser à la fois des circuits contrôleur DMA et - contrôleur d'interruptions prévus pour le 8085, un - processeur 8-bits avec un espace adressable sur 16 bits (64Ko). Comme - l'IBM PC supportait plus de 64Ko de mémoire, il fallait trouver - le moyen de permettre au DMA de lire ou d'écrire à des - emplacements mémoire au-delà de la limite de 64Ko. Pour - résoudre le problème, IBM a ajouté un registre - externe pour chaque canal DMA qui reçoit les bits de poids fort - de l'adresse où lire ou écrire. Chaque fois - qu'un canal DMA est actif, le contenu de ce registre est écrit - sur le bus d'adresse et y reste jusqu'à ce que l'opération - DMA pour ce canal soit terminée. IBM a appelé ces - registres “registres de page”.</para> - - <para>Dans notre exemple précédent donc, le DMA mettrait la - partie <literal>0x3456</literal> de l'adresse sur le bus et le registre - de page du canal DMA 2 mettrait la partie <literal>0x0012xxxx</literal> - sur le bus. Ensemble, ces deux valeurs constituent l'adresse - mémoire complète de l'accès.</para> - - <para>Comme le registre de page est indépendant du circuit DMA, la - zone mémoire où lire ou écrire ne doit pas franchir - la limite d'une plage de 64Ko. Par exemple, si le DMA accède - à l'adresse <literal>0xffff</literal>, après transfert, le - DMA incrémente le registre d'adresse et accède à - l'octet d'adresse suivante <literal>0x0000</literal> et non - <literal>0x10000</literal>. Ce n'est probablement pas le résultat - attendu.</para> - - <note> - <para>Les limites “physiques” de 64Ko ne doivent pas - être confondues avec les “segments” de 64Ko du mode - 8086, qui sont définis par l'addition d'un registre de segment - et d'un registre de déplacement. Les registres de page ne - peuvent pas recouvrir d'adresses communes car ils font l'objet d'un - <literal>OU</literal> logique avec l'adresse basse.</para> - </note> - - <para>Pour compliquer encore les choses, les registres externes d'adresse - DMA du PC/AT n'ont que 8 bits, ce qui nous donne 8+16=24 bits, ce qui - signifie que le DMA ne peut adresser la mémoire qu'entre 0 et - 16Mo. Sur les ordinateurs plus récents, qui permettent d'utiliser - plus de 16Mo de mémoire, le DMA compatible PC standard ne peut - adresser au-delà de 16Mo.</para> - - <para>Pour contourner cette restriction, les systèmes - d'exploitation réservent une zone de mémoire en - dessous de 16Mo qui n'inclue pas une limite de plage de 64 Ko. Le DMA - est alors programmé pour effectuer les transferts dans cette zone - tampon. Une fois que ce transfert est terminé, le système - d'exploitation copie alors les données à l'adresse - où elles doivent effectivement être stockées.</para> - - <para>Pour transférer des données d'une adresse - au-delà de 16Mo vers un périphérique utilisant le - DMA, les données doivent d'abord être copiées dans - un tampon en dessous de 16Mo, et de là, le DMA peut les - transférer au périphérique. Sous FreeBSD, ces - tampons réservés sont appelés “tampons - à rebonds” - <foreignphrase>Bounce - Buffers</foreignphrase>. Dans le monde MS-DOS, ils sont parfois - appelés “tampons - intelligents” - <foreignphrase>Smart - Buffers</foreignphrase>.</para> - - <note> - <para>Une nouvelle implémentation du 8237, appelée 82374, - possède des registres de page de 16 bits, ce qui permet - l'adressage 32 bits, sans avoir à utiliser de tampon à - rebonds.</para> - </note> - </sect2> - - <sect2> - <title>Modes opératoires et configurations du DMA</title> - - <para>Le DMA 8237 peut opérer selon différents modes. Les - principaux sont :</para> - - <variablelist> - <varlistentry> - <term>Simple</term> - - <listitem> - <para>Un seul octet (ou mot) est transféré. Le DMA - doit libérer et réobtenir le bus pour chaque nouvel - octet. Ce mode est habituellement utilisé par les - périphériques qui ne peuvent transférer - immédiatement un bloc entier de données. Le - périphérique fait appel au DMA chaque fois qu'il est - prêt à un nouveau transfert.</para> - - <para>Le contrôleur de disquette standard des compatibles PC - (NEC 765) n'a qu'un tampon d'un octet. Il utilise donc ce - mode.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Bloc/A la Demande</term> - - <listitem> - <para>Une fois que le DMA a eu le contrôle du bus - système, il transfère un bloc entier de - données, de 64Ko au plus. Si le périphérique - a besoin de plus de temps, il peut activer le signal READY pour - suspendre brièvement le transfert. READY doit être - utilisé parcimonieusement et, pour un - périphérique lent, il faut plutôt utiliser le - mode simple.</para> - - <para>Le différence entre les modes Bloc et A la Demande est - que dès qu'un transfert Bloc est entamé, il se - poursuit jusqu'à ce que le compteur d'octets - transférés atteigne la valeur zéro. Le signal - DRQ ne doit être actif que jusqu'à ce que le signal - -DACK soit activé. En mode A la Demande, les octets sont - transférés jusqu'à ce que le signal DRQ soit - désactivé, le DMA interrompt alors le transfert et - rend le contrôle du bus au CPU. Quand le signal DRQ est - ensuite réactivé, le transfert reprend là - où il a été interrompu.</para> - - <para>Les anciens contrôleurs de disques durs utilisaient le - mode A la Demande, jusqu'à ce que la puissance des - processeurs augmente au point qu'il soit plus efficace de - transférer les données en utilisant le CPU, en - particulier lorsque les adresses mémoire utilisées - pour le transfert se situent au-delà de la limite des - 16Mo.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Cascade</term> - - <listitem> - <para>Ce mécanisme permet à un canal DMA de - prendre le contrôle du bus, mais c'est ensuite le - périphérique associé et non le DMA qui est - chargé de paramétrer le bus d'adresse. Ce mode est - aussi utilisé pour mettre en oeuvre une technique - appelée “Maîtrise du - bus” - <foreignphrase>Bus - Mastering</foreignphrase>.</para> - - <para>Quand un canal DMA en mode Cascade reçoit le - contrôle du bus, le DMA ne met pas les adresses et les - signaux de contrôle des entrées/sorties sur le bus - comme le DMA le fait normalement quand il est actif. Au lieu de - cela, il positionne uniquement le signal -DACK pour le canal - DMA actif.</para> - - <para>C'est au périphérique relié - à ce canal DMA de fournir l'adresse et les signaux de - contrôle du bus. Le périphérique - contrôle alors intégralement le bus système - et peut effectuer des opérations de lecture et/ou - d'écriture à n'importe quelle adresse en dessous de - 16 Mo. Quand le périphérique en a terminé, - il désactive le signal DRQ et le contrôleur DMA peut - alors rendre le main au processeur ou à un autre canal - DMA.</para> - - <para>Le mode Cascade peut servir à mettre plusieurs - contrôleurs DMA en série, et c'est exactement - à cela que sert le canal DMA 4 dans l'architecture PC. - Quand un périphérique demande le bus sur un des - canaux DMA 0, 1, 2 ou 3, le contrôleur DMA esclave active - le signal HLDREQ, mais ce dernier est en fait relié - à la ligne DRQ4 du contrôleur DMA primaire et non au - processeur. Le contrôleur DMA primaire, pensant qu'il a - un transfert à effectuer sur le canal 4, demande le bus au - processeur avec le signal HLDREQ. Une fois que le CPU lui a - octroyé le bus, le signal -DACK4 est positionné et - ce dernier est en fait relié au signal HLDA du - contrôleur DMA esclave. Le contrôleur DMA esclave - transfère alors des données pour le canal DMA - (0, 1, 2 ou 3) qui l'a demandé ou bien confie le bus - à un périphérique qui veut en avoir la - maîtrise, un contrôleur SCSI, par exemple.</para> - - <para>A cause de ce câblage, seuls les canaux DMA 0, 1, 2, 3, - 5, 6 et 7 peuvent être utilisés par des - périphériques sur les systèmes PC/AT.</para> - - <note> - <para>Le canal DMA 0 était réservé pour les - opérations de rafraîchissement sur les premiers - IBM PC, mais est habituellement disponible pour les - périphériques sur les systèmes - récents.</para> - </note> - - <para>Quand un périphérique prend le contrôle du - bus, il faut qu'il transfère des données de ou vers - la mémoire de façon constante, tant qu'il garde le - contrôle du bus système. Si le - périphérique ne peut pas le faire, il faut qu'il - libère fréquemment le bus, pour que le - système puisse rafraîchir la mémoire.</para> - - <para>La RAM dynamique utilisée par tous les PCs doit - être rafraîchie fréquemment pour que les bits - stockés par ses composants restent - “chargés”. La RAM dynamique est essentiellement constituée de millions de condensateurs représentant - chacun un bit de donnée. Ces condensateurs sont - chargés pour représenter un <literal>1</literal> ou - déchargés pour représenter un - <literal>0</literal>. Comme tous les condensateurs fuient, il faut - les recharger à intervalles réguliers pour conserver - les valeurs <literal>1</literal>. Les circuits de mémoire - s'occupent en fait de la tâche de recharger les cases - mémoire appropriées, mais le reste du système - doit leur dire quand le faire, pour que cela n'interfère - pas avec les accès normaux du système à la - mémoire. Si l'ordinateur ne peut pas rafraîchir la - mémoire, le contenu de cette dernière sera corrompu - en quelques millisecondes.</para> - - <para>Comme les cycles de lecture et d'écriture en - mémoire “comptent” pour des cycles de - rafraîchissement (un cycle de rafraîchissement de la - RAM dynamique est en fait un cycle de lecture incomplet), tant que - le périphérique continue de lire ou d'écrire - des données en séquence en mémoire, cette - opération rafraîchit la totalité de la - mémoire.</para> - - <para>La prise de contrôle du bus est utilisée par les - interfaces SCSI et d'autres contrôleurs de - périphérique de haute performance.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Autoinitialisation</term> - - <listitem> - <para>Dans ce mode, le DMA opère des transferts d'octet, de - bloc, ou à la demande mais, lorsque le compteur de - transferts du DMA arrive à zéro, le compteur et - l'adresse sont réinitialisés avec les valeurs - initialement programmées pour le canal DMA. Cela signifie - que tant que le périphérique demande des transferts, - ils lui sont accordés. C'est au processeur de placer les - données à l'avance dans le tampon fixe d'où - le DMA les déplacera lors d'opérations de sortie, et - de lire les données du tampon avant que le DMA n'y - réécrive lors d'opérations - d'entrée.</para> - - <para>Cette technique est couramment utilisée par les - périphériques audio qui n'ont qu'un petit ou pas - de tampon matériel pour les échantillons. - Il y a occupation supplémentaire du processeur pour - gérer ce tampon “circulaire” mais, dans - certains cas, c'est la seule façon d'éliminer le - temps de latence qui intervient lorsque le compteur du DMA - arrive à zéro et que le DMA arrête le - transfert jusqu'à ce qu'il soit reprogrammé.</para> - </listitem> - </varlistentry> - </variablelist> - </sect2> - - <sect2> - <title>Programmation du DMA</title> - - <para>Le canal DMA qui va être programmé doit toujours - être “masqué” avant de le paramétrer. - Cela parce que le matériel pourrait inopinément activer - le signal DRQ pour ce canal avant que tous les paramètres n'aient - été chargés ou mis à jour.</para> - - <para>Une fois masqué, le processeur doit préciser le sens - du transfert (de la mémoire vers le périphérique - ou du périphérique vers la mémoire), le mode - d'opération du DMA (Simple, Bloc, A la Demande, Cascade, etc.) - qui sera utilisé pour le transfert et, pour finir, l'adresse et - le volume de données à transférer. La - quantité de données à indiquer est - inférieure d'un octet à celle que vous voulez que le DMA - transfère. Le LSB (octet bas) et le MSB (octet haut) de l'adresse - et de la quantité sont écrites sur le même port - d'entrée/sortie 8 bits, il y a donc un autre - port sur lequel il faut écrire d'abord pour s'assurer que le - DMA comprenne le premier octet comme le LSB et le second comme le MSB - de la quantité et de l'adresse.</para> - - <para>Enfin, il faut mettre à jour le registre de page, qui est - externe au DMA et est accessible via un autre jeu de ports - d'entrée/sortie.</para> - - <para>Une fois que toutes ces valeurs sont définies, le canal DMA - peut être démasqué. Le canal DMA en question est - maintenant considéré “armé”, et - répondra quand la ligne DRQ correspondante sera - activée.</para> - - <para>Reportez-vous à un manuel documentant le matériel - pour connaître les détails de la programmation du 8237. - Vous aurez aussi besoin de la carte des ports d'entré/sortie des - systèmes PC, qui donne les adresses des ports du DMA et du - registre de page. Vous trouverez ci-dessous une table donnant une - description complète de ces ports.</para> - </sect2> - - <sect2> - <title>Ports DMA</title> - - <para>Les contrôleurs DMA sont situés sur les mêmes - ports d'entrée/sortie sur tous les systèmes de type IBM-PC - et PC/AT. La table ci-dessous en donne la liste complète. Les - ports affectés au deuxième contrôleur DMA ne sont - pas définis sur les systèmes non-AT.</para> - - <sect3> - <title>0x00–0x0f Contrôleur numéro 1 (Canaux 0, 1, 2 - et 3)</title> - - <para>Registres d'adresse et compteur DMA</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <tbody> - <row> - <entry>0x00</entry> - <entry>écriture</entry> - <entry>Adresse initiale Canal 0</entry> - </row> - - <row> - <entry>0x00</entry> - <entry>lecture</entry> - <entry>Adresse courante Canal 0</entry> - </row> - - <row> - <entry>0x01</entry> - <entry>écriture</entry> - <entry>Compteur initial Canal 0</entry> - </row> - - <row> - <entry>0x01</entry> - <entry>lecture</entry> - <entry>Compteur courant Canal 0</entry> - </row> - - <row> - <entry>0x02</entry> - <entry>écriture</entry> - <entry>Adresse initiale Canal 1</entry> - </row> - - <row> - <entry>0x02</entry> - <entry>lecture</entry> - <entry>Adresse courante Canal 1</entry> - </row> - - <row> - <entry>0x03</entry> - <entry>écriture</entry> - <entry>Compteur initial Canal 1</entry> - </row> - - <row> - <entry>0x03</entry> - <entry>lecture</entry> - <entry>Compteur courant Canal 1</entry> - </row> - - <row> - <entry>0x04</entry> - <entry>écriture</entry> - <entry>Adresse initiale Canal 2</entry> - </row> - - <row> - <entry>0x04</entry> - <entry>lecture</entry> - <entry>Adresse courante Canal 2</entry> - </row> - - <row> - <entry>0x05</entry> - <entry>écriture</entry> - <entry>Compteur initial Canal 2</entry> - </row> - - <row> - <entry>0x05</entry> - <entry>lecture</entry> - <entry>Compteur courant Canal 2</entry> - </row> - - <row> - <entry>0x06</entry> - <entry>écriture</entry> - <entry>Adresse initiale Canal 3</entry> - </row> - - <row> - <entry>0x06</entry> - <entry>lecture</entry> - <entry>Adresse courante Canal 3</entry> - </row> - - <row> - <entry>0x07</entry> - <entry>écriture</entry> - <entry>Compteur initial Canal 3</entry> - </row> - - <row> - <entry>0x07</entry> - <entry>lecture</entry> - <entry>Compteur courant Canal 3</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Registres de commande du DMA</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <tbody> - <row> - <entry>0x08</entry> - <entry>écriture</entry> - <entry>Registre de commande</entry> - </row> - - <row> - <entry>0x08</entry> - <entry>lecture</entry> - <entry>Registre d'état</entry> - </row> - - <row> - <entry>0x09</entry> - <entry>écriture</entry> - <entry>Registre de requête</entry> - </row> - - <row> - <entry>0x09</entry> - <entry>lecture</entry> - <entry>-</entry> - </row> - - <row> - <entry>0x0a</entry> - <entry>écriture</entry> - <entry>Registre de masque de bit</entry> - </row> - - <row> - <entry>0x0a</entry> - <entry>lecture</entry> - <entry>-</entry> - </row> - - <row> - <entry>0x0b</entry> - <entry>écriture</entry> - <entry>Registre de mode</entry> - </row> - - <row> - <entry>0x0b</entry> - <entry>lecture</entry> - <entry>-</entry> - </row> - - <row> - <entry>0x0c</entry> - <entry>écriture</entry> - <entry>Remise à zéro du LSB/MSB de la - bascule</entry> - </row> - - <row> - <entry>0x0c</entry> - <entry>lecture</entry> - <entry>-</entry> - </row> - - <row> - <entry>0x0d</entry> - <entry>écriture</entry> - <entry>Remise à zéro/réinitialisation - maître</entry> - </row> - - <row> - <entry>0x0d</entry> - <entry>lecture</entry> - <entry>Registre temporaire (non disponible sur les versions - récentes)</entry> - </row> - - <row> - <entry>0x0e</entry> - <entry>écriture</entry> - <entry>Registre de remise à zéro du masque</entry> - </row> - - <row> - <entry>0x0e</entry> - <entry>lecture</entry> - <entry>-</entry> - </row> - - <row> - <entry>0x0f</entry> - <entry>écriture</entry> - <entry>Registre d'écriture de tous les bits du - masque</entry> - </row> - - <row> - <entry>0x0f</entry> - <entry>lecture</entry> - <entry>Registre de lecture de tous les bits du masque (Intel - 82374 uniquement)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect3> - - <sect3> - <title>0xc0–0xdf Contrôleur numéro 2 (Canaux 4, 5, 6 - et 7)</title> - - <para>Registres d'adresse et compteur DMA</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <tbody> - <row> - <entry>0xc0</entry> - <entry>ériture</entry> - <entry>Adresse initiale Canal 4</entry> - </row> - - <row> - <entry>0xc0</entry> - <entry>lecture</entry> - <entry>Adresse courante Canal 4</entry> - </row> - - <row> - <entry>0xc2</entry> - <entry>écriture</entry> - <entry>Compteur initial Canal 4</entry> - </row> - - <row> - <entry>0xc2</entry> - <entry>lecture</entry> - <entry>Compteur courant Canal 4</entry> - </row> - - <row> - <entry>0xc4</entry> - <entry>écriture</entry> - <entry>Adresse initiale Canal 5</entry> - </row> - - <row> - <entry>0xc4</entry> - <entry>lecture</entry> - <entry>Adresse courante Canal 5</entry> - </row> - - <row> - <entry>0xc6</entry> - <entry>écriture</entry> - <entry>Compteur initial Canal 5</entry> - </row> - - <row> - <entry>0xc6</entry> - <entry>lecture</entry> - <entry>Compteur courant Canal 5</entry> - </row> - - <row> - <entry>0xc8</entry> - <entry>écriture</entry> - <entry>Adresse initiale Canal 6</entry> - </row> - - <row> - <entry>0xc8</entry> - <entry>lecture</entry> - <entry>Adresse courante Canal 6</entry> - </row> - - <row> - <entry>0xca</entry> - <entry>écriture</entry> - <entry>Compteur initial Canal 6</entry> - </row> - - <row> - <entry>0xca</entry> - <entry>lecture</entry> - <entry>Compteur courant Canal 6</entry> - </row> - - <row> - <entry>0xcc</entry> - <entry>écriture</entry> - <entry>Adresse initiale Canal 7</entry> - </row> - - <row> - <entry>0xcc</entry> - <entry>lecture</entry> - <entry>Adresse courante Canal 7</entry> - </row> - - <row> - <entry>0xce</entry> - <entry>écriture</entry> - <entry>Compteur initial Canal 7</entry> - </row> - - <row> - <entry>0xce</entry> - <entry>lecture</entry> - <entry>Compteur courant Canal 7</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Registres de commande du DMA</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <tbody> - <row> - <entry>0xd0</entry> - <entry>écriture</entry> - <entry>Registre de commande</entry> - </row> - - <row> - <entry>0xd0</entry> - <entry>lecture</entry> - <entry>Registre d'état</entry> - </row> - - <row> - <entry>0xd2</entry> - <entry>écriture</entry> - <entry>Registre de requête</entry> - </row> - - <row> - <entry>0xd2</entry> - <entry>lecture</entry> - <entry>-</entry> - </row> - - <row> - <entry>0xd4</entry> - <entry>écriture</entry> - <entry>Registre de masque de bit</entry> - </row> - - <row> - <entry>0xd4</entry> - <entry>lecture</entry> - <entry>-</entry> - </row> - - <row> - <entry>0xd6</entry> - <entry>écriture</entry> - <entry>Registre de mode</entry> - </row> - - <row> - <entry>0xd6</entry> - <entry>lecture</entry> - <entry>-</entry> - </row> - - <row> - <entry>0xd8</entry> - <entry>écriture</entry> - <entry>Remise à zéro du LSB/MSB de la - bascule</entry> - </row> - - <row> - <entry>0xd8</entry> - <entry>lecture</entry> - <entry>-</entry> - </row> - - <row> - <entry>0xda</entry> - <entry>écriture</entry> - <entry>Remise à zéro/réinitialisation - maître</entry> - </row> - - <row> - <entry>0xda</entry> - <entry>lecture</entry> - <entry>Registre temporaire (non disponible sur l'Intel - 82374)</entry> - </row> - - <row> - <entry>0xdc</entry> - <entry>écriture</entry> - <entry>Registre de remise à zéro du masque</entry> - </row> - - <row> - <entry>0xdc</entry> - <entry>lecture</entry> - <entry>-</entry> - </row> - - <row> - <entry>0xde</entry> - <entry>écriture</entry> - <entry>Registre d'écriture de tous les bits du - masque</entry> - </row> - - <row> - <entry>0xdf</entry> - <entry>lecture</entry> - <entry>Registre de lecture de tous les bits du masque (Intel - 82374 uniquement)</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect3> - - <sect3> - <title>0x80–0x9f Registres de page du DMA</title> - - <informaltable frame="none"> - <tgroup cols="3"> - <tbody> - <row> - <entry>0x87</entry> - <entry>lecture/écriture</entry> - <entry>Canal 0 octet bas (23-16) du registre de page</entry> - </row> - - <row> - <entry>0x83</entry> - <entry>lecture/écriture</entry> - <entry>Canal 1 octet bas (23-16) du registre de page</entry> - </row> - - <row> - <entry>0x81</entry> - <entry>lecture/écriture</entry> - <entry>Canal 2 octet bas (23-16) du registre de page</entry> - </row> - - <row> - <entry>0x82</entry> - <entry>lecture/écriture</entry> - <entry>Canal 3 octet bas (23-16) du registre de page</entry> - </row> - - <row> - <entry>0x8b</entry> - <entry>lecture/écriture</entry> - <entry>Canal 5 octet bas (23-16) du registre de page</entry> - </row> - - <row> - <entry>0x89</entry> - <entry>lecture/écriture</entry> - <entry>Canal 6 octet bas (23-16) du registre de page</entry> - </row> - - <row> - <entry>0x8a</entry> - <entry>lecture/écriture</entry> - <entry>Canal 7 octet bas (23-16) du registre de page</entry> - </row> - - <row> - <entry>0x8f</entry> - <entry>lecture/écriture</entry> - <entry>Octet bas rafraîchissement de page</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect3> - - <sect3> - <title>0x400–0x4ff Registres du DMA Etendu 82374</title> - - <para>Le composant système EISA - <foreignphrase>EISA - System Component (ESC)</foreignphrase> - Intel 82374 est - apparu au début de 1996 et comporte un contrôleur DMA - qui fournit un sur-ensemble des fonctionnalités du 8237 en - même temps que d'autres composants périphériques - compatibles PC de base sur une seule puce. Ce composant est - destiné à la fois aux plates-formes EISA et PCI et - offre des fonctionnalités DMA récentes telles que - dispersion/regroupement, tampons en anneau et accès direct - via le DMA à la totalité de l'espace d'adressage sur 32 - bits.</para> - - <para>Lorsque ces possibilités sont utilisées, il faut - aussi fournir le code qui procure les mêmes - fonctionnalités aux ordinateurs compatibles PC des 16 - années précédentes. Pour des raisons de - compatibilité, il faut programmer certains registres du 82374 - <emphasis>après</emphasis> avoir programmé les registres - traditionnels du 8237, pour chaque transfert. Ecrire dans un registre - 8237 traditionnel remet à zéro certains registres - étendus du 82374 de façon à assurer la - rétro-compatibilité du logiciel.</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <tbody> - <row> - <entry>0x401</entry> - <entry>lecture/écriture</entry> - <entry>Canal 0 octet haut (23-16) du compteur de mots</entry> - </row> - - <row> - <entry>0x403</entry> - <entry>lecture/écriture</entry> - <entry>Canal 1 octet haut (23-16) du compteur de mots</entry> - </row> - - <row> - <entry>0x405</entry> - <entry>lecture/écriture</entry> - <entry>Canal 2 octet haut (23-16) du compteur de mots</entry> - </row> - - <row> - <entry>0x407</entry> - <entry>lecture/écriture</entry> - <entry>Canal 3 octet haut (23-16) du compteur de mots</entry> - </row> - - <row> - <entry>0x4c6</entry> - <entry>lecture/écriture</entry> - <entry>Canal 5 octet haut (23-16) du compteur de mots</entry> - </row> - - <row> - <entry>0x4ca</entry> - <entry>lecture/écriture</entry> - <entry>Canal 6 octet haut (23-16) du compteur de mots</entry> - </row> - - <row> - <entry>0x4ce</entry> - <entry>lecture/écriture</entry> - <entry>Canal 7 octet haut (23-16) du compteur de mots</entry> - </row> - - <row> - <entry>0x487</entry> - <entry>lecture/écriture</entry> - <entry>Canal 0 octet haut (23-16) du registre de page</entry> - </row> - - <row> - <entry>0x483</entry> - <entry>lecture/écriture</entry> - <entry>Canal 1 octet haut (23-16) du registre de page</entry> - </row> - - <row> - <entry>0x481</entry> - <entry>lecture/écriture</entry> - <entry>Canal 2 octet haut (23-16) du registre de page</entry> - </row> - - <row> - <entry>0x482</entry> - <entry>lecture/écriture</entry> - <entry>Canal 3 octet haut (23-16) du registre de page</entry> - </row> - - <row> - <entry>0x48b</entry> - <entry>lecture/écriture</entry> - <entry>Canal 5 octet haut (23-16) du registre de page</entry> - </row> - - <row> - <entry>0x489</entry> - <entry>lecture/écriture</entry> - <entry>Canal 6 octet haut (23-16) du registre de page</entry> - </row> - - <row> - <entry>0x48a</entry> - <entry>lecture/écriture</entry> - <entry>Canal 7 octet haut (23-16) du registre de page</entry> - </row> - - <row> - <entry>0x48f</entry> - <entry>lecture/écriture</entry> - <entry>Octet haut rafraîchissement de page</entry> - </row> - - <row> - <entry>0x4e0</entry> - <entry>lecture/écriture</entry> - <entry>Canal 0 registre Stop (bits 7-2)</entry> - </row> - - <row> - <entry>0x4e1</entry> - <entry>lecture/écriture</entry> - <entry>Canal 0 registre Stop (bits 15-8)</entry> - </row> - - <row> - <entry>0x4e2</entry> - <entry>lecture/écriture</entry> - <entry>Canal 0 registre Stop (bits 23-16)</entry> - </row> - - <row> - <entry>0x4e4</entry> - <entry>lecture/écriture</entry> - <entry>Canal 1 registre Stop (bits 7-2)</entry> - </row> - - <row> - <entry>0x4e5</entry> - <entry>lecture/écriture</entry> - <entry>Canal 1 registre Stop (bits 15-8)</entry> - </row> - - <row> - <entry>0x4e6</entry> - <entry>lecture/écriture</entry> - <entry>Canal 1 registre Stop (bits 23-16)</entry> - </row> - - <row> - <entry>0x4e8</entry> - <entry>lecture/écriture</entry> - <entry>Canal 2 registre Stop (bits 7-2)</entry> - </row> - - <row> - <entry>0x4e9</entry> - <entry>lecture/écriture</entry> - <entry>Canal 2 registre Stop (bits 15-8)</entry> - </row> - - <row> - <entry>0x4ea</entry> - <entry>lecture/écriture</entry> - <entry>Canal 2 registre Stop (bits 23-16)</entry> - </row> - - <row> - <entry>0x4ec</entry> - <entry>lecture/écriture</entry> - <entry>Canal 3 registre Stop (bits 7-2)</entry> - </row> - - <row> - <entry>0x4ed</entry> - <entry>lecture/écriture</entry> - <entry>Canal 3 registre Stop (bits 15-8)</entry> - </row> - - <row> - <entry>0x4ee</entry> - <entry>lecture/écriture</entry> - <entry>Canal 3 registre Stop (bits 23-16)</entry> - </row> - - <row> - <entry>0x4f4</entry> - <entry>lecture/écriture</entry> - <entry>Canal 5 registre Stop (bits 7-2)</entry> - </row> - - <row> - <entry>0x4f5</entry> - <entry>lecture/écriture</entry> - <entry>Canal 5 registre Stop (bits 15-8)</entry> - </row> - - <row> - <entry>0x4f6</entry> - <entry>lecture/écriture</entry> - <entry>Canal 5 registre Stop (bits 23-16)</entry> - </row> - - <row> - <entry>0x4f8</entry> - <entry>lecture/écriture</entry> - <entry>Canal 6 registre Stop (bits 7-2)</entry> - </row> - - <row> - <entry>0x4f9</entry> - <entry>lecture/écriture</entry> - <entry>Canal 6 registre Stop (bits 15-8)</entry> - </row> - - <row> - <entry>0x4fa</entry> - <entry>lecture/écriture</entry> - <entry>Canal 6 registre Stop (bits 23-16)</entry> - </row> - - <row> - <entry>0x4fc</entry> - <entry>lecture/écriture</entry> - <entry>Canal 7 registre Stop (bits 7-2)</entry> - </row> - - <row> - <entry>0x4fd</entry> - <entry>lecture/écriture</entry> - <entry>Canal 7 registre Stop (bits 15-8)</entry> - </row> - - <row> - <entry>0x4fe</entry> - <entry>lecture/écriture</entry> - <entry>Canal 7 registre Stop (bits 23-16)</entry> - </row> - - <row> - <entry>0x40a</entry> - <entry>écriture</entry> - <entry>Canaux 0-3 registre de mode chaînage</entry> - </row> - - <row> - <entry>0x40a</entry> - <entry>lecture</entry> - <entry>Registre d'état d'interruption du canal</entry> - </row> - - <row> - <entry>0x4d4</entry> - <entry>écriture</entry> - <entry>Canaux 4-7 registre de mode chaînage</entry> - </row> - - <row> - <entry>0x4d4</entry> - <entry>lecture</entry> - <entry>Etat du mode chaînage</entry> - </row> - - <row> - <entry>0x40c</entry> - <entry>lecture</entry> - <entry>Registre de contrôle d'expiration du tampon de - chaînage</entry> - </row> - - <row> - <entry>0x410</entry> - <entry>écriture</entry> - <entry>Canal 0 registre de commande - dispersion/regroupement</entry> - </row> - - <row> - <entry>0x411</entry> - <entry>écriture</entry> - <entry>Canal 1 registre de commande - dispersion/regroupement</entry> - </row> - - <row> - <entry>0x412</entry> - <entry>écriture</entry> - <entry>Canal 2 registre de commande - dispersion/regroupement</entry> - </row> - - <row> - <entry>0x413</entry> - <entry>écriture</entry> - <entry>Canal 3 registre de commande - dispersion/regroupement</entry> - </row> - - <row> - <entry>0x415</entry> - <entry>écriture</entry> - <entry>Canal 5 registre de commande - dispersion/regroupement</entry> - </row> - - <row> - <entry>0x416</entry> - <entry>écriture</entry> - <entry>Canal 6 registre de commande - dispersion/regroupement</entry> - </row> - - <row> - <entry>0x417</entry> - <entry>écriture</entry> - <entry>Canal 7 registre de commande - dispersion/regroupement</entry> - </row> - - <row> - <entry>0x418</entry> - <entry>lecture</entry> - <entry>Canal 0 registre d'état - dispersion/regroupement</entry> - </row> - - <row> - <entry>0x419</entry> - <entry>lecture</entry> - <entry>Canal 1 registre d'état - dispersion/regroupement</entry> - </row> - - <row> - <entry>0x41a</entry> - <entry>lecture</entry> - <entry>Canal 2 registre d'état - dispersion/regroupement</entry> - </row> - - <row> - <entry>0x41b</entry> - <entry>lecture</entry> - <entry>Canal 3 registre d'état - dispersion/regroupement</entry> - </row> - - <row> - <entry>0x41d</entry> - <entry>lecture</entry> - <entry>Canal 5 registre d'état - dispersion/regroupement</entry> - </row> - - <row> - <entry>0x41e</entry> - <entry>lecture</entry> - <entry>Canal 6 registre d'état - dispersion/regroupement</entry> - </row> - - <row> - <entry>0x41f</entry> - <entry>lecture</entry> - <entry>Canal 7 registre d'état - dispersion/regroupement</entry> - </row> - - <row> - <entry>0x420-0x423</entry> - <entry>lecture/écriture</entry> - <entry>Canal 0 registre de pointeur sur le table de descripteurs - dispersion/regroupement</entry> - </row> - - <row> - <entry>0x424-0x427</entry> - <entry>lecture/écriture</entry> - <entry>Canal 1 registre de pointeur sur le table de descripteurs - dispersion/regroupement</entry> - </row> - - <row> - <entry>0x428-0x42b</entry> - <entry>lecture/écriture</entry> - <entry>Canal 2 registre de pointeur sur le table de descripteurs - dispersion/regroupement</entry> - </row> - - <row> - <entry>0x42c-0x42f</entry> - <entry>lecture/écriture</entry> - <entry>Canal 3 registre de pointeur sur le table de descripteurs - dispersion/regroupement</entry> - </row> - - <row> - <entry>0x434-0x437</entry> - <entry>lecture/écriture</entry> - <entry>Canal 5 registre de pointeur sur le table de descripteurs - dispersion/regroupement</entry> - </row> - - <row> - <entry>0x438-0x43b</entry> - <entry>lecture/écriture</entry> - <entry>Canal 6 registre de pointeur sur le table de descripteurs - dispersion/regroupement</entry> - </row> - - <row> - <entry>0x43c-0x43f</entry> - <entry>lecture/écriture</entry> - <entry>Canal 7 registre de pointeur sur le table de descripteurs - dispersion/regroupement</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect3> - </sect2> - </sect1> - - <sect1 id="internals-vm"> - <title>La gestion de mémoire virtuelle de FreeBSD</title> - - <para><emphasis>Contribution de &a.dillon;. 6 Février - 1999</emphasis></para> - - <sect2> - <title>Gestion de la mémoire - physique—<literal>vm_page_t</literal></title> - - <para>La mémoire physique est gérée page par page - via la structure <literal>vm_page_t</literal>. Les pages de - mémoire physique sont caractérisées par - l'emplacement de leurs structures <literal>vm_page_t</literal> - respectives dans l'une des queues de pagination.</para> - - <para>Une page peut être verrouillée, active, inactive, dans - le cache ou libre. Sauf lorsqu'elle est verrouillée, la page est - typiquement placée dans une queue représentée par - une liste à double chaînage décrivant l'état - dans lequel elle est. Les pages verrouillées n'appartiennent - à aucune queue.</para> - - <para>FreeBSD implément système de queues de pagination plus - sophistiqué pour les pages libres ou dans le cache, de - façon à mettre en oeuvre un algorithme de coloration des - pages. Chacun de ces états (libre, caché) met en oeuvre - des files d'attente multiples selon la taille des caches L1 et L2 du - processeur. Quand il faut allouer une nouvelle page, FreeBSD essaie d'en - obtenir une qui soit raisonnablement alignée du point de vue des - caches L1 et L2 selon le type d'objet en mémoire virtuelle pour - lequel la page est allouée.</para> - - <para>De plus, une page peut être retenue par un compteur - de référence, ou bloquée avec un compteur - d'utilisation. Le système de mémoire virtuelle - implémente aussi un état “verrouillage - ultime” lorsque la page utilise le bit PG_BUSY des drapeaux de - page.</para> - - <para>En termes généraux, chacune des queues de pagination - opère en mode LRU (moins récemment utilisé). Une - page est habituellement initialement placée dans l'état - actif ou verrouillé. Lorsqu'elle est verrouillée, la page - est normalement associée à une table de pages quelque - part. Le système de mémoire virtuelle - “viellit” les pages en parcourant les pages d'une queue de - pagination plus active de façon à les déplacer vers - une queue moins active. Les pages qui sont déplacées vers - le cache sont toujours associées à un objet en - mémoire virtuelle mais sont candidates à une - réutilisation immédiate. Les pages dans la queue libre - sont vraiment disponibles. FreeBSD essaie de minimiser le nombre de - pages dans la queue libre, mais il faut conserver un certain nombre de - pages réellement disponibles pour pouvoir gérer - l'allocation de pages lors d'interruptions.</para> - - <para>Si un processus essaie d'accéder à une page qui - n'existe pas dans sa table de pages mais existe dans une des queues de - pagination (la queue inactive ou celle du cache par exemple), il se - produit un défaut relativement peu pénalisant de - réactivation de page, qui fait que la page est - réactivée. Si la page n'existe nulle part en - mémoire, le processus doit attendre que la page soit - récupérée sur disque.</para> - - <para>FreeBSD optimise dynamiquement ses queues de pagination et essaie de - maintenir un ratio raisonnable entre les différentes queues de - même qu'entre les pages à jour et celles qui ne le sont - pas. Ce rééquilibrage est mis en oeuvre par le - démon de pagination et comprend le nettoyage des pages - dégradées (leur synchronisation avec la version en - arrière-plan), la surveillance des pages - référencées par des tâches actives (leur - repositionnement dans les queues LRU ou leur déplacement d'une - queue à une autre), la migration de pages entre queues lorsque - les queues sont déséquilibrées, et ainsi de suite. - Le système de mémoire virtuelle de FreeBSD accepte un - nombre raisonnable de défauts de réactivation de page afin - de savoir à quel point une page est active ou inactive. Cela - permet de prendre de meilleures décisions pour savoir quand - mettre à jour ou décharger une page sur disque.</para> - </sect2> - - <sect2> - <title>Le tampon cache - unifié—<literal>vm_object_t</literal></title> - - <para>FreeBSD implémente la notion d'“objet en mémoire - virtuelle” générique. Les objets en mémoire - virtuelle peuvent être associés à différents - types de mise en arrière-plan—non sauvegardé, - sauvegardé sur disque (<foreignphrase>swap</foreignphrase>), - sauvegardé sur un périphérique physique, ou - sauvegardé dans un fichier. Comme le système de fichiers - utilise les mêmes objets en mémoire virtuelle pour - gérer les informations de base relatives aux fichiers, le - résultat est un tampon cache unifié.</para> - - <para>Les objets en mémoire virtuelle peuvent être des objets - <emphasis>ombre - <foreignphrase>shadowed</foreignphrase></emphasis>, - c'est-à-dire qu'ils peuvent être empilés les uns au - dessus des autres. Par exemple, il peut y avoir un objet ombre - sauvegardé dans l'espace de <foreignphrase>swap</foreignphrase> - empilé sur un objet sauvegardé dans un fichier pour - implémenter une correspondance - <citerefentry><refentrytitle>mmap</refentrytitle> - <manvolnum>2</manvolnum></citerefentry> de type - <literal>MAP_PRIVATE</literal>. Ce type d'empilement est aussi - utilisé pour implémenter différents types de - partage, dont la copie sur écriture pour les espaces d'adressage - de processus fils (créés par - <citerefentry><refentrytitle>fork</refentrytitle> <manvolnum>2</manvolnum></citerefentry>.</para> - - <para>Il faut noter qu'un <literal>vm_page_t</literal> ne peut être - associé qu'à un seul objet en mémoire virtuelle - à la fois. Les objets ombre en mémoire - virtuelle implémentent le partage apparent de la même page - pour des instances multiples.</para> - </sect2> - - <sect2> - <title>Entrée/sortie sur le système de - fichiers—<literal>struct buf</literal></title> - - <para>Les objets en mémoire virtuelle sauvegardés via le - système de “vnodes”, tels que les objets - sauvegardés dans des fichiers, doivent généralement - maintenir eux-mêmes leurs informations d'état à - jour/périmé, indépendamment de l'idée que - s'en fait le système de mémoire virtuelle. Par exemple, - quand le système de mémoire virtuelle décide de - synchroniser une page physique avec sa version en arrière-plan, - il doit indiquer que la page est à jour avant qu'elle ne soit - effectivement écrite en arrière-plan. De plus, les - systèmes de fichiers doivent être capables de faire - correspondre des parties d'un fichier ou de méta-informations - sur un fichier avec l'interface entre la mémoire virtuelle et le - noyau, pour pouvoir travailler sur ces informations.</para> - - <para>Les entités qui servent à gérer cela sont - appelées tampons du système de fichiers, - <literal>struct buf</literal>s, ou encore <literal>bp</literal>s. Quand - un système de fichiers doit opérer sur une partie d'un - objet en mémoire virtuelle, il fait typiquement correspondre - une partie de l'objet à un <literal>struct buf</literal> puis - les pages du <literal>struct buf</literal> à l'interface entre - la mémoire virtuelle et le noyau. De même, les - entrées/sorties disque sont typiquement gérées en - faisant correspondre des parties des objets et des structures tampon - et en effectuent les entrées/sorties sur ces structures. Les - <literal>vm_page_t</literal>s sous-jacentes sont habituellement - monopolisées le temps des entrées/sorties. Les tampons du - système de fichiers ont leur propre notion d'occupation, ce qui - est utile pour le code des pilotes du système de fichiers, qui - travaille plutôt sur ces tampons que directement sur les pages de - la mémoire virtuelle.</para> - - <para>FreeBSD réserve une quantité limitée de - l'interface mémoire virtuelle du noyau pour les correspondances - avec les <literal>struct buf</literal>s, mais il faut garder à - l'esprit que cet espace n'est utilisé que pour stocker les - correspondances et que cela ne diminue pas les possibilités de - mettre des données dans un cache. Le cache physique de - données est une fonction des <literal>vm_page_t</literal>s, et - non des tampons du système de fichiers. Cependant, comme les - tampons du système de fichiers sont utilisés pour les - entrées/sorties, ils limitent de fait le nombre - d'entrées/sorties possibles simultanément. Comme il y a - habituellement quelques milliers de tampons de système de - fichiers disponibles, ce n'est généralement pas un - problème.</para> - </sect2> - - <sect2> - <title>Tables de correspondance des - pages—<literal>vm_map_t</literal>, - <literal>vm_entry_t</literal></title> - - <para>FreeBSD dissocie l'organisation des tables de pages physiques du - système de mémoire virtuelle. Toutes les tables en dur de - pages par processus peuvent être reconstruites à la - volée et sont généralement - considérées comme jetables. Des tables de pages - particulières, comme celles qui gèrent l'interface entre - la mémoire virtuelle et le noyau, sont allouées de - façon permanente. Ces pages ne sont pas considérées - comme jetables.</para> - - <para>FreeBSD associe des parties des <literal>vm_object</literal>s - à des plages d'adresses via les structures - <literal>vm_map_t</literal> et <literal>vm_entry_t</literal>. Les tables - de pages sont construites synthétiquement à partir de la - hiérarchie - <literal>vm_map_t</literal>/<literal>vm_entry_t</literal>/<literal>vm_object_t</literal>. - Rappelez-vous que j'ai dit que les pages physiques n'étaient - directement associées qu'à un - <literal>vm_object</literal>. Ce n'est en fait pas tout-à-fait - vrai. Les <literal>vm_page_t</literal>s sont aussi liés aux - tables de pages auxquelles ils sont activement associés. - Un <literal>vm_page_t</literal> peut être lié à - plusieurs <emphasis>pmaps</emphasis>, nom que l'on donne aux tables de - pages. Cependant, l'association hiérarchique fait que toutes les - références du même objet à la même page - se rapportent à la même <literal>vm_page_t</literal> de - sorte que le tampon cache est globalement unifié.</para> - </sect2> - - <sect2> - <title>Organisation mémoire de l'interface mémoire virtuelle - du noyau - <foreignphrase>KVM</foreignphrase></title> - - <para>FreeBSD utilise l'interface mémoire virtuelle du noyau pour - stocker différentes structures de données du noyau. - L'unique plus grosse entité de cette interface est le tampon - de cache du système de fichiers. C'est-à-dire, les - correspondances se rapportant aux <literal>struct buf</literal>s.</para> - - <para>Au contraire de Linux, FreeBSD ne fait <emphasis>pas</emphasis> - correspondre toute la mémoire physique avec l'interface de - mémoire virtuelle. Ce qui signifie que FreeBSD peut gérer - des configurations ayant jusqu'à 4 Go de mémoire sur les - plates-formes 32 bits. En fait, si l'unité de gestion de la - mémoire - <foreignphrase>Memory Management Unit - (MMU)</foreignphrase> en était capable, FreeBSD pourrait - théoriquement gérer jusqu'à 8 To sur une - plate-forme 32 bits. Nénmoins, comme la plupart des plates-formes - 32 bits ne peuvent pas recevoir plus de 4 Go, c'est un sujet de - controverse.</para> - - <para>L'interface de mémoire virtuelle du noyau est - gérée par différents mécanismes. Le - mécanisme principal de gestion de cette interface est - l'allocateur de zone - <emphasis>zone allocator</emphasis>. - L'allocateur de zone prend une portion de l'interface de - mémoire virtuelle et la découpe en blocs de - mémoire de même taille pour y allouer un type - particulier de structure. Vous pouvez utiliser la commande - <command>vmstat -m</command> pour avoir une vue d'ensemble de - l'utilisation actuelle de l'interface entre le noyau et la - mémoire virtuelle zone par zone.</para> - </sect2> - - <sect2> - <title>Optimisation du système de gestion de mémoire - virtuelle de FreeBSD</title> - - <para>Il a été fourni un effort concerté pour que le - noyau de FreeBSD optimise lui-même dynamiquement son - fonctionnement. Vous n'avez normalement pas à vous casser la - tête avec les options <literal>maxusers</literal> et - <literal>NMBCLUSTERS</literal> de configuration du noyau, options de - compilation habituellement définies dans - <filename>/usr/src/sys/i386/conf/<replaceable>FICHIER_DE_CONFIGURATION</replaceable></filename>. - On trouve une description de toutes les options de configuration du - noyau dans <filename>/usr/src/sys/i386/conf/LINT</filename>.</para> - - <para>Lors de la configuration d'un gros système, vous pouvez - vouloir augmenter <literal>maxusers</literal>. Ses valeurs sont - généralement comprises entre 10 et 128. Remarquez que - donner une valeur trop importante à - <literal>maxusers</literal> peut provoquer un débordement de - l'interface de mémoire virtuelle disponible, entraînant des - résultats imprévisibles. Il vaut mieux donner à - <literal>maxusers</literal> une valeur raisonnable et ajouter d'autres - options, telles que <literal>NMBCLUSTERS</literal>, pour augmenter des - ressources précises.</para> - - <para>Si votre système va faire beaucoup appel au réseau, - vous pouvez augmenter <literal>NMBCLUSTERS</literal>. Les valeurs - usuelles sont comprises entre 1024 et 4096.</para> - - <para>Le paramètre <literal>NBUF</literal> est aussi - traditionnellement utilisé pour dimensionner le système. - Ce paramètre définit la taille de l'interface de - mémoire virtuelle du noyau disponible pour les correspondances - avec les tampons d'entrée/sortie du système de fichiers. - Notez bien que ce paramètre n'a rien à voir avec le - tampon cache unifié ! Ce paramètre est - optimisé dynamiquement par le noyau - <literal>3.0-current</literal> et les noyaux ultérieurs et n'a - normalement pas besoin d'être ajusté à la main. - Nous recommandons de ne <emphasis>pas</emphasis> essayer de fixer le - paramètre <literal>NBUF</literal>. Laissez le système - s'en charger. Une valeur trop faible peut rendre le système de - fichiers largement inefficace et une valeur trop grande saturer les - queues de pages en entraînant le verrouillage d'un trop grand - nombre de pages.</para> - - <para>Par défaut, les noyaux FreeBSD ne sont pas optimisés. - Vous pouvez positionner les indicateurs d'optimisation et de - déboguage avec les directives <literal>makeoptions</literal> de - configuration du noyau. Remarquez que vous ne devriez pas utiliser - l'option <option>-g</option> à moins que vous ne puissiez vous - accommoder des noyaux de taille importante (habituellement plus de 7 Mo) - qui en résultent.</para> - - <programlisting> -makeoptions DEBUG="-g" -makeoptions COPTFLAGS="-O2 -pipe" - </programlisting> - - <para><command>sysctl</command> fournit un moyen d'optimiser le noyau en - temps réel. Vous n'avez habituellement pas à vous - préoccuper des variables de <command>sysctl</command>, et en - particulier pas de celles qui concernent la mémoire - virtuelle.</para> - - <para>L'optimisation de la gestion de mémoire virtuelle et du - système d'exécution est relativement simple. Tout - d'abord, utilisez “les mises à jour - logicielles” - <foreignphrase>softupdates</foreignphrase> - sur - vos systèmes de fichiers UFS/FFS chaque fois que c'est possible. - Le fichier - <filename>/usr/src/contrib/sys/softupdates/README</filename> donne - les indications (et les restrictions) sur la façon de les - configurer.</para> - - <para>En second lieu, prévoyez suffisamment d'espace de pagination. - Vous devriez avoir une partition de pagination sur chaque disque - physique, jusqu'à quatre, même sur vos disques “de - travail”. Il doit y avoir au moins deux fois autant d'espace de - pagination que de mémoire, et éventuellement même - plus si vous n'avez pas beaucoup de mémoire. Vous devriez aussi - dimensionner votre partition de pagination en fonction de la - quantité maximale de mémoire que vous comptez installer - sur votre système pour ne pas avoir à repartitionner vos - disques par la suite. Si vous voulez pouvoir garder une trace en cas - de plantage - <foreignphrase>crash - dump</foreignphrase> - votre première partition de - pagination doit être au moins de la taille de la mémoire et - <filename>/var/crash</filename> doit disposer de suffisamment de place - libre pour recevoir la trace.</para> - - <para>Il est tout à fait admissible de paginer via NFS à - partir des systèmes <literal>-4.x</literal> et ultérieurs, - mais il faut être conscient que le serveur NFS supportera le plus - fort de la charge de pagination.</para> - </sect2> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> diff --git a/fr_FR.ISO8859-1/books/handbook/introduction/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/introduction/chapter.sgml deleted file mode 100644 index c18577aa65..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/introduction/chapter.sgml +++ /dev/null @@ -1,727 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: 1.13 ---> - - <chapter id="introduction"> - <title>Introduction</title> - &trans.a.haby; - <para>FreeBSD est une système d'exploitation basé sur 4.4BSD-Lite2 pour - les PCs à base d'architecture Intel (x86) et DEC Alpha. Pour un aperçu de FreeBSD, - reportez-vous à <link linkend="nutshell">FreeBSD en bref</link>. Pour - connaître l'histoire du projet, lisez <link linkend="history">Un - court historique de FreeBSD</link>. Pour avoir une description de la - version la plus récente, allez à la section - <link linkend="relnotes">A propos de cette version</link>. Si vous - voulez contribuer d'une façon ou d'une autre au projet FreeBSD - (code, matériel, chèques en blanc), voyez s'il vous plaît à la section - <link linkend="contrib">Contribuer à FreeBSD</link>.</para> - - <sect1 id="nutshell"> - <title>FreeBSD en bref</title> - - <para>FreeBSD est un système d'exploitation en l'état de - l'art pour les ordinateurs personnels à base d'architecture à - processeurs Intel, ce qui inclut les processeurs 386, 486 (SX et - DX) et Pentium ainsi que l'architecture Alpha. Les CPUs - compatibles Intel d'AMD et Cyrix sont aussi supportées. FreeBSD - vous apporte de nombreuses fonctionnalités avancées qui - n'étaient jusque-là disponibles que sur des ordinateurs beaucoup - plus onéreux. Parmi ces fonctionnalités:</para> - - - <itemizedlist> - - <listitem> - <para><emphasis>Multi-tâche préemptif</emphasis> avec - ajustement dynamique des priorités pour garantir un - partage équilibré et fluide de l'ordinateur entre les - applications et utilisateurs.</para> - </listitem> - - <listitem> - <para>Accès <emphasis>Multi-utilisateurs</emphasis>, ce qui - signifie que de nombreuses personnes peuvent utiliser en - même temps un système FreeBSD à des fins très différentes. - Les périphériques tels que les imprimantes ou les lecteurs - de bandes peuvent être aussi PARTAGES sans problème entre - TOUS les utilisateurs du système.</para> - </listitem> - - <listitem> - <para><emphasis>Réseau TCP/IP</emphasis> complet dont le - support de SLIP, PPP, NFS et NIS. Cela signifie que votre - machine FreeBSD peut coopérer facilement avec les autres - systèmes ou bien être utilisée - comme serveur d'entreprise, fournissant - des fonctions essentielles comme NFS (accès aux fichiers en - réseau) ou le service de courrier électronique, ou encore - gérer l'accès de votre entreprise à l'Internet grâce aux - services WWW, ftp, et aux fonctionnalités de routage et de - coupe-feu (sécurité).</para> - </listitem> - - <listitem> - <para>La <emphasis>Protection mémoire</emphasis> garantit que les - applications ou les utilisateurs n'interfèrent pas entre eux. - Une application qui “plante” n'affecte en rien les - autres.</para> - </listitem> - - <listitem> - <para>FreeBSD est un système d'exploitation - <emphasis>32-bit</emphasis> et a été conçu comme tel dès le - début.</para> - </listitem> - - <listitem> - <para>Le standard industriel <emphasis>X Window System</emphasis> - (X11R6) fournit une interface graphique (“Graphical User - Interface” - GUI), - moyennant l'achat d'une carte VGA - ordinaire et d'un moniteur, et est livré avec l'intégralité de - son code source.</para> - </listitem> - - <listitem> - <para><emphasis>Compatibilité binaire</emphasis> avec de - nombreux programmes compilés pour SCO, BSDI, NetBSD, Linux et - 386BSD.</para> - </listitem> - - <listitem> - <para>Des centaines d'applications - <emphasis>prêtes à l'emploi</emphasis> - sont disponibles grâce au catalogue des logiciels - <emphasis>portés</emphasis> (“ports”) et au catalogue - des logiciels <emphasis>pré-compilés</emphasis> - (“packages”). Pourquoi chercher sur l'Internet alors - que tout est déjà là?</para> - </listitem> - - <listitem> - <para>Des milliers d'applications <emphasis>faciles à - porter</emphasis> sont disponibles sur l'Internet. FreeBSD est - compatible au niveau du code source avec les systèmes - Unix commerciaux les plus répandus et donc il y a peu, sinon - aucune modification, à faire pour les compiler.</para> - </listitem> - - <listitem> - <para><emphasis>Mémoire virtuelle</emphasis> paginée à la demande - et “cache unifié pour le disque - et la mémoire virtuelle”; cela - permet de répondre aux besoins d'applications gourmandes en - mémoire tout en garantissant le temps de réponse aux autres - utilisateurs.</para> - </listitem> - - <listitem> - <para>Les <emphasis>Biliothèques partagées</emphasis> - (l'équivalent Unix des DLLs de MS-Windows) permettent une - utilisation efficace de la mémoire et du disque.</para> - </listitem> - - <listitem> - <para>Des outils complets de développement <emphasis>C</emphasis>, - <emphasis>C++</emphasis> et <emphasis>Fortran</emphasis>. De - nombreux autres langages pour la recherche de pointe et le - développement sont aussi disponibles dans les catalogues des - logiciels portés et pré-compilés.</para> - </listitem> - - <listitem> - <para>La disponibilité du <emphasis>Code source</emphasis> de la - totalité du système vous donne tout contrôle sur votre - environnement. Pourquoi être prisonnier d'une solution - propriétaire et dépendant de votre fournisseur alors que vous - pouvez avoir un vrai Système Ouvert?</para> - - </listitem> - - <listitem> - <para><emphasis>Documentation en ligne</emphasis> très - complète.</para> - </listitem> - - <listitem> - <para><emphasis>Et beaucoup d'autres choses - encore!</emphasis></para> - </listitem> - - </itemizedlist> - - <para>FreeBSD est basé sur la version 4.4BSD-Lite2 du “Computer - Systems Research Group” (CSRG) de l'Université de Californie à - Berkeley et continue la tradition de développement renommée des - systèmes BSD. En plus de l'excellent travail fourni par le CSRG, le - Projet FreeBSD a investi des milliers d'heures de travail pour - optimiser le système pour arriver aux meilleures performances et au - maximum de fiabilité sous la charge d'un environnement de production. - Alors que la plupart des géants dans le domaine des systèmes - d'exploitation pour PC s'acharnent encore - à obtenir de telles possibilités, - performances et fiabilité, FreeBSD peut les offrir - <emphasis>dès maintenant</emphasis>!</para> - - <para>La seule limite aux domaines d'application auxquels FreeBSD peut - satisfaire est votre propre imagination. Du développement - de logiciels à la production robotisée, de la gestion de stocks à - la correction d'azimuth pour les antennes satellites; si un - Unix commercial peut le faire, il y a de très fortes chances que - FreeBSD le puisse aussi! FreeBSD bénéficie aussi - de centaines d'applications de haute qualité developpées par les - centres de recherche et les universités du monde entier, souvent - disponibles gratuitement ou presque. Il existe aussi des applications - commerciales et leur nombre croît de jour en jour.</para> - - <para>Comme le code source de FreeBSD lui-même est globalement - disponible, le système peut aussi être adapté sur mesure à un - point pratiquement jamais atteint pour des applications ou des - projets particuliers, d'une façon qui serait habituellement - impossible avec les systèmes d'exploitation commerciaux de la - plupart des principaux fournisseurs. Voici juste quelques exemples - d'applications pour lesquelles FreeBSD est utilisé:</para> - - - <itemizedlist> - - <listitem> - <para><emphasis>Services Internet:</emphasis> Les - fonctionnalités réseau TCP/IP robustes qu'inclut FreeBSD - en font la plate-forme idéale pour un éventail de services - Internet, tels que:</para> - <itemizedlist> - - <listitem> - <para>Serveurs FTP,</para> - </listitem> - - <listitem> - <para>Serveurs “World Wide Web”,</para> - </listitem> - - <listitem> - <para>Serveurs Gopher,</para> - </listitem> - - <listitem> - <para>Serveurs de courrier électronique,</para> - </listitem> - - <listitem> - <para>Serveurs de “News - USENET” - forums - de discussion,</para> - </listitem> - - <listitem> - <para>“Bulletin Board Systems (BBS)”,</para> - </listitem> - - <listitem> - <para>Et plus...</para> - </listitem> - - </itemizedlist> - - <para>Vous pouvez facilement commencer petit avec un PC 386 à bas - prix et muscler votre configuration au fur et à mesure que - votre entreprise grandit.</para> - </listitem> - - <listitem> - <para><emphasis>Education:</emphasis> Etes-vous étudiant en - informatique ou dans un domaine d'ingénierie apparenté? Il - n'y a pas de meilleur moyen pour étudier les systèmes - d'exploitation, l'architecture des ordinateurs et les - réseaux que l'expérience directe et de - “derrière la coulisse” - que FreeBSD peut vous apporter. Il y a aussi un grand nombre - d'outils mathématiques, graphiques et de Conception Assistée - par Ordinateur qui en font en outil très utile pour ceux qui - s'intéressent aux ordinateurs essentiellement pour faire un - <emphasis>autre</emphasis> travail!</para> - </listitem> - - <listitem> - <para><emphasis>Recherche:</emphasis> Avec le code source de la - totalité du système disponible, FreeBSD est un excellent outil - de recherche sur les systèmes d'exploitation tout autant que - pour d'autres branches de l'informatique. Le fait que FreeBSD - soit librement disponible rend aussi possible l'échange d'idées - et le développement partagé entre groupes éloignés sans avoir à - se préoccuper de problèmes de licence particulières ou de - restrictions à ce qui pourait être discuté sur des forums - ouverts.</para> - </listitem> - - <listitem> - <para><emphasis>Réseau:</emphasis> Il vous faut un nouveau - routeur? Un serveur de domaine (DNS)? Un coupe-feu pour tenir - les gens à l'écart de votre réseau interne? FreeBSD peut - facilement faire de votre vieux 386 ou 486 inutilisé qui - traîne dans un coin un routeur évolué avec des fonctionnalités - sophistiquées de filtrage de paquets.</para> - </listitem> - - <listitem> - <para><emphasis>Station de travail X Window:</emphasis> FreeBSD - est un excellent choix pour faire un terminal X peu coûteux, - soit avec le serveur XFree86 librement disponible, soit avec - les excellents serveurs commerciaux de X Inside. Au contraire - d'un terminal X, FreeBSD permet d'exécuter localement, si - désiré, un grand nombre d'applications, déchargeant ainsi - le serveur central. FreeBSD peut même démarrer “sans - disque”, ce qui permet de concevoir des postes de - travail individuels moins chers et plus faciles à - administrer.</para> - </listitem> - - <listitem> - <para><emphasis>Développement de logiciel:</emphasis> Le système - FreeBSD de base inclut un environnement de développement - complet dont les compilateur et débogueur GNU C/C++ - réputés.</para> - </listitem> - - </itemizedlist> - - <para>FreeBSD est disponible sous forme de code source ou binaire sur - CD-ROM ou par ftp anonyme, Voyez <link linkend="mirrors">Se procurer - FreeBSD</link> pour plus de détails.</para> - - </sect1> - - <sect1 id="history"> - <title>Un court historique de FreeBSD</title> - - <para><emphasis>Contribution de &a.jkh;</emphasis>.</para> - - <para>Le projet FreeBSD a vu le jour au début de 1993, en partie - comme extension du “Kit de mise à jour non officiel de - 386BSD” des trois derniers coordinateurs du kit de mise à - jour : Nate Williams, Rod Grimes et moi-même.</para> - - <para>Notre objectif de départ était de fournir une distribution - intermédiaire de 386BSD pour corriger un certain nombre de - problèmes que le mécanisme du kit de mise à jour ne permettait - pas de résoudre. Certains d'entre vous se rappellent peut-être - que l'intitulé de travail d'origine du projet était - “386 BSD 0.5” ou “386BSD Interim” en - référence à ce problème.</para> - - <para>386BSD était le système d'exploitation de Bill Jolitz, qui - souffrait assez sévèrement à ce moment-là d'avoir été négligé - presque un an. Comme le kit de mise à jour enflait de plus - en plus inconfortablement au fil des jours, nous avons décidé à - l'unanimité qu'il fallait faire quelque chose et aider Bill en - fournissant cette distribution provisoire de “remise à plat”. - Ces projets se sont brutalement interrompus lorsque Bill a décidé - de retirer son aval au projet sans dire - clairement ce qui serait fait à - la place.</para> - - <para>Il ne nous a pas fallu longtemps pour décider que l'objectif - restait valable, même sans l'adhésion de Bill, et nous avons donc - adopté le nom “FreeBSD”, une proposition de David - Greenman. Nos objectifs de départ ont été définis après avoir - consulté les utilisateurs du moment du système et, dès qu'il est - devenu clair que le projet était parti pour devenir un jour - éventuellement réalité, nous avons contacté Walnut - Creek CDROM dans l'optique d'améliorer la distribution de - FreeBSD pour le grand nombre de ceux qui n'avaient pas la chance - de pouvoir accéder facilement à l'Internet. Non seulement Walnut - Creek CDROM a adopté l'idée de distribuer FreeBSD sur CD-ROM, mais - a été jusqu'à fournir au projet une machine pour travailler et - une connexion rapide à l'Internet. Sans le degré pratiquement - sans précédent de confiance de Walnut Creek CDROM en ce qui n'était - alors qu'un projet totalement inconnu, il y a peu de chance que - FreeBSD ait été aussi loin, aussi vite, que là où il en est - aujourd'hui.</para> - - <para>La première version sur CD-ROM (et sur l'ensemble du Net) fut - FreeBSD 1.0, parue en Décembre 1993. Elle reposait sur la bande - 4.3BSD-Lite (“Net/2”) de l'Université de Californie à - Berkeley, avec de nombreux composants venant aussi de 386BSD et de - la “Free Software Foundation”. Ce fut un - succès honnête pour une - version initiale, qui fut suivi par le franc succès de la version 1.1 - de FreeBSD, publiée en Mai 1994.</para> - - <para>A peu près à cette époque, des nuages menaçants et inattendus - apparurent lorsque commença la bataille juridique entre Novell et - l'U.C. Berkley autour du statut légal de la bande Net/2 de - Berkeley. Dans les termes de l'accord, l'U.C. Berkeley concédait - qu'une grande partie de Net/2 était du code “protégé” - et propriété de Novell, qui l'avait à son tour racheté à - AT&T quelque temps auparavant. Berkeley obtint en retour la - “bénédiction” de Novell que 4.4BSD-Lite soit, lorsqu'il - vit finalement le jour, déclaré non protégé et que tous les - utilisateurs de Net/2 soit fortement incités à migrer. Cela incluait - FreeBSD, et l'on donna au projet jusqu'à Juillet 1994 pour mettre un - terme à propre produit basé sur Net/2. Selon les termes de cet accord, - une dernière livraison était autorisée avant le délai final; ce - fut FreeBSD 1.1.5.1.</para> - - <para>FreeBSD s'attela alors à la tâche difficile de littéralement se - réinventer à partir de fragments totalement nouveaux et assez - incomplets de 4.4BSD-Lite. Les versions “Lite” - étaient légères (“light”) en partie parce que le - CSRG avait retiré de gros morceaux du code nécessaires pour que - l'on puisse effectivement en faire un système qui démarre (pour - différentes raisons légales) et parce que le portage pour Intel - de la version 4.4 était très partiel. Il fallu au projet jusqu'à - Décembre 1994 pour terminer cette étape de transition et FreeBSD 2.0 - parut sur l'Internet et sur CD-ROM en Janvier 1995. Bien qu'elle fut - encore assez rugueuse aux angles, cette livraison obtint un succès - significatif et fut suivie par la version 2.0.5 de FreeBSD, plus - fiable et facile à installer.</para> - - <para>Nous avons publié FreeBSD 2.1.5 en Août 1996, et il s'avéra - suffisamment populaire chez les fournisseurs d'accès et les - utilisateurs professionnels pour qu'une nouvelle version sur - la branche 2.1-stable soit justifiée. Ce fut la version - FreeBSD 2.1.7.1, parue en Février 1997 et qui marque la fin de - 2.1-stable comme branche principale de développement. Dès lors, il - n'y aurait plus que des améliorations quant à la sécurité et autres - corrections de bogues critiques sur cette branche, (RELENG_2_1_0), - passée en phase de maintenance.</para> - - <para>La branche FreeBSD 2.2 fut créée à partir de la branche principale - de développement (“-current”) en Novembre 1996 en tant - que branche RELENG_2_2, et la première version complète (2.2.1) parut - en Avril 1997. Il y eut d'autres versions sur la branche 2.2 à l'été - et à l'automne 97, la plus récente étant la 2.2.7, qui a été publiée - en Juillet 1998. La première version officielle 3.0 sortira en - Octobre 1998 et la dernière version sur la branche 2.2, la version - 2.2.8, en Novembre.</para> - - <para>Il y eut la création d'une nouvelle branche le 20 - Janvier 1999. Cela donna une branche 4.0-current et une branche - 3.X-stable. De cette dernière il y eut la version 3.1 livrée le - 15 Février 1999 et la version 3.2 livrée le 25 Mai 1999</para> - - <para>Tous les projets de développement à long terme, de SMP à la - version DEC Alpha, continueront à se faire sur la branche 4.0-current - et sur les versions d'instantanés de la 4.0 sur CD-ROM (et bien sûr - sur l'Internet).</para> - - </sect1> - - <sect1 id="goals"> - <title>Les objectifs du projet FreeBSD</title> - - <para><emphasis>Contribution de &a.jkh;</emphasis>.</para> - - <para>L'objectif du projet FreeBSD est de fournir du logiciel qui - puisse être utilisé à n'importe quelle fin et sans aucun restriction. - Nombre d'entre nous sont impliqués de façon significative dans le - code (et dans le projet) et ne refuseraient certainement pas une - petite compensation financière de temps à autre, mais ce n'est - certainement pas dans nos intentions d'insister là dessus. Nous - croyons que notre première et principale “mission” - est de fournir du code à tout le monde, pour n'importe quel projet, - de façon à ce que l'il soit utilisé le plus possible et avec - le maximum d'avantages. C'est, nous le pensons, l'un des objectifs - les plus fondamentaux du Logiciel Libre et l'un de ceux que nous - soutenons avec enthousiasme.</para> - - <para>Le code de l'arborescence des sources, qui est régi par la - Licence Publique GNU (“GNU Public - License” - GPL) ou - la Licence Publique GNU pour les Bibliothèques (“GNU Library - Public License” - GLPL) impose légèrement plus de - contraintes, bien que plutôt liées à une disponibilité plus grande - qu'au contraire, comme c'est généralement le cas. En raison des - complications supplémentaires qui peuvent résulter de l'utilisation - commerciale de logiciels GPL, nous essayons, cependant de remplacer - ces derniers par des logiciels soumis à la licence BSD qui est plus - souple, chaque fois que c'est possible.</para> - - </sect1> - - <sect1 id="development"> - <title>Le mode de développement de FreeBSD</title> - - <para><emphasis>Contribution de &a.asami;</emphasis>.</para> - - <para>Le développement de FreeBSD est un processus très ouvert et - très souple, FreeBSD est littéralement le résultat de - contributions de centaines de personnes dans le mode entier, - ce que reflète notre <link linkend="staff">liste des - participants</link>. Nous sommes toujours à l'affut de nouveaux - développeurs et de nouvelles idées, et ceux que s'impliquer - de plus près intéresse n'ont besoin que de contacter la - &a.hackers;. Ceux qui préfèrent travailler de façon plus - indépendante sont aussi acceptés, et sont libres d'utiliser nos - possibilités de FTP sur <ulink - url="ftp://ftp.freebsd.org/pub/FreeBSD/incoming">ftp.freebsd.org</ulink> - pour livrer leurs propres modifications ou sources en cours de - développement. La &a.announce; est aussi disponible pour ceux qui - veulent faire connaître aux autres utilisateurs de FreeBSD les - principaux domaines de développement en cours.</para> - - <para>Quelques points utiles à connaître à propos du projet FreeBSD - et de son processus de développement, que vous travailliez - indépendamment ou en collaboration étroite:</para> - - <variablelist> - <varlistentry><term>Les archives CVS - <anchor id="development-cvs-repository"></term> - <listitem> - <para>L'arborescence centrale des sources de FreeBSD est gérée - sous <ulink - url="http://www.cyclic.com/cyclic-pages/CVS-sheet.html">CVS</ulink> (“Concurrent Version System”), - un système librement disponible de gestion de - version des sources qui est livré avec FreeBSD. Les - <ulink url="http://www.freebsd.org/cgi/cvsweb.cgi">archives - CVS</ulink> d'origine sont sur une machine à Concord, CA, USA, - d'où elles sont répliquées sur de nombreuses machines miroir - à travers le monde. L'arborescence CVS, et les branches - <link linkend="current">-current</link> et <link - linkend="stable">-stable</link> qui en sont extraites, - peuvent facilement être dupliquées sur votre propre machine. - Reportez-vous à la section - <link linkend="synching">Synchroniser votre arborescence des - sources</link> pour plus d'informations sur la façon de - procéder.</para> - </listitem> - </varlistentry> - - <varlistentry><term>La liste des personnes autorisées, les “commiters” - <anchor id="development-committers"></term> - - <listitem> - <para>Les <link linkend="staff-committers">personnes - autorisées (“committers”)</link> sont celles qui - ont les droits en - <emphasis>écriture</emphasis> sur l'arborescence CVS, et sont - donc autorisées à faire des modifications dans les sources - de FreeBSD (le terme “committer” vient de la - commande - <citerefentry><refentrytitle>cvs</refentrytitle><manvolnum>1</manvolnum></citerefentry> <command>commit</command>, que l'on utilise pour - reporter des modifications dans les archives CVS). La - meilleure façon de proposer des modifications pour qu'elles - soient validées par les “committers” est - d'utiliser la commande - <citerefentry><refentrytitle>send-pr</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - quoique, s'il semble y avoir un problème avec ce système, vous - pouvez aussi les joindre en envoyant un courrier électronique - aux <email>committers@freebsd.org</email>.</para> - </listitem> - </varlistentry> - - <varlistentry><term>L'équipe de base de - FreeBSD<anchor id="development-core"></term> - - <listitem> - <para><link linkend="staff-core">L'équipe de base de - FreeBSD</link> serait l'équivalent du comité de direction - si le Projet FreeBSD était une entreprise. La responsabilité - principale de l'équipe de base est de s'assurer que le projet, - dans son ensemble, fonctionne correctement et va dans la - bonne direction. Proposer à des développeurs impliqués et - responsables de rejoindre notre groupe de personnes autorisées - est une des fonctions de l'équipe de base, ainsi que le - recrutement de nouveaux membres de l'équipe de base quand - d'autres s'en vont. La plupart des membres actuels de - l'équipe de base ont d'abord été des “commiters” - dont l'attachement au projet a mobilisé la meilleure part - d'eux-mêmes.</para> - - <para>Certains membres de l'équipe de base ont aussi leur - propre <link - linkend="staff-who">domaine de responsabilité</link>, - ce qui signifie qu'il leur est dévolu de veiller à ce - qu'une partie significative du système satisfasse aux - fonctionnalités annoncées.</para> - - <note> - <para>La plupart des membres de l'équipe de base sont - volontaires en ce qui concerne le développement de FreeBSD - et ne retirent aucun profit financier du projet, donc - “implication” ne doit pas être compris - “support garanti”. La comparaison précédente - avec un comité directeur n'est pas très exacte, et il - serait plus juste de dire que ce sont des gens qui ont - sacrifié leur vie à FreeBSD contre toute raison! - <!-- smiley --><emphasis>;)</emphasis></para> - </note> - </listitem> - </varlistentry> - - <varlistentry><term>Contributions extérieures</term> - - <listitem> - <para>Enfin, mais certainement pas des moindres, le groupe le - plus important de développeurs est constitué par les - utilisateurs eux-mêmes qui nous fournissent de façon quasi - régulière leur retour d'expérience et leurs corrections de - bogues. Le principal moyen d'entrer en contact avec le - développement plus décentralisé de FreeBSD est - de s'inscrire sur la &a.hackers; (voyez les informations - sur les <link linkend="eresources-mail">listes de - discussion</link>), où ces questions sont abordées.</para> - - <para>La <link linkend="contrib-additional">liste</link> de - ceux qui ont fourni quelque chose qui a trouvé son chemin - jusqu'à notre arborescence des sources est longue et - s'accroît sans cesse, pourquoi donc ne pas vous y joindre - et contribuer à quelque chose en retour dès - aujourd'hui? <!-- smiley --><emphasis>:-)</emphasis></para> - - <para>Fournir du code n'est pas la seule manière de contribuer - au projet. Pour avoir une liste plus complète de ce qu'il y - a à faire, voyez s'il vous plaît la section - <link linkend="contrib">Comment contribuer</link> de ce - manuel.</para> - </listitem> - </varlistentry> - </variablelist> - - - <para>En résumé, notre modèle de développement est organisé comme - un ensemble relaché de cercles concentriques. Ce modèle centralisé - est en place pour la commodité des <emphasis>utilisateurs</emphasis> - de FreeBSD, qui disposent ainsi d'un moyen facile de suivre - l'évolution d'une base de code centrale, et non pour tenir à l'écart - d'éventuels participants! Nous souhaitons fournir un système - d'exploitation stable avec un nombre conséquent de - <link linkend="ports">programmes d'application</link> cohérents que - les utilisateurs puissent facilement installer et employer, - et c'est un modèle qui fonctionne très bien pour cela.</para> - - <para>Tout ce que nous attendons de ceux qui se joindraient à nous - pour développer FreeBSD est un peu de la même implication que les - développeurs actuels ont vis-à-vis de sa réussite continue!</para> - - </sect1> - - <sect1 id="relnotes"> - <title>A propos de cette version</title> - - <para>FreeBSD est une version librement disponible et incluant tout - le code source basé sur 4.4BSD-Lite2 pour les PCs à architecture - Intel i386/i486/Pentium/PentiumPro/Pentium II (ou - compatible) et DEC Alpha . Il est basé essentiellement sur - du logiciel du groupe CSRG de l'Université de Californie à - Berkeley, avec des additions venant de NetBSD, OpenBSD, 386BSD, - et de la “Free Software Foundation”.</para> - - - <para>Depuis la publication de FreeBSD 2.0 en Janvier 95, les - performances, fonctionnalités et la stabilité de FreeBSD ont - été améliorées de façon spectaculaire. La plus grosse modification - est un gestionnaire de mémoire virtuelle totalement revu qui - comprend un cache commun au disque et à la mémoire virtuelle, qui - n'améliore pas seulement les performances, mais diminue aussi - l'occupation de la mémoire, de telle sorte qu'une configuration avec - 5MB devienne un minimum acceptable. D'autres ajouts concernent le - support intégral des clients et serveurs NIS, le support des - transactions TCP, les connexions PPP à la demande, un sous-système - SCSI amélioré, un premier support ISDN, les supports des interfaces - FDDI et “Fast Ethernet” (100 Mbit), un meilleur support - du contrôleur Adaptec 2940 (Wide et normal) et des centaines de - corrections de bogues.</para> - - <para>Nous avons aussi pris en considération les commentaires et les - suggestions de nombre de nos utilisateurs et avons essayé de - fournir ce que nous espérons être une procédure d'installation - plus saine et facile à comprendre. Votre avis en retour - sur cette procédure (constamment en évolution) sera - particulièrement le bienvenu!</para> - - <para>En plus du système lui-même, FreeBSD offre un nouveau catalogue - de logiciels portés (“ports”) qui inclut - des centaines de programmes - habituellement demandés. A la fin Avril 1999, il y en avait plus de - 2300! La liste va des serveurs HTTP (WWW) aux jeux, langages, - éditeurs et presque tout ce qui existe entre. Le catalogue complet - des logiciels demande près de 50MB d'espace disque, les portages se - présentant sous forme de “delta” avec les sources - d'origine. Cela rend leur mise à jour bien plus facile, et diminue - de facon sensible l'espace nécessaire par rapport à l'ancien - catalogue 1.0. Pour compiler un logiciel porté, il vous suffit - d'aller dans le répertoire où il se trouve, de taper - <command>make all</command>, puis <command>make install</command> - une fois la compilation réussie, et de laisser le système faire - le reste. La distribution originale complète de chaque logiciel est - chargée dynamiquement depuis le CD-ROM ou un site ftp proche, il vous - suffit de disposer de suffisamment de place pour compiler le logiciel - que vous voulez. (Presque) tous les logiciels sont aussi fournis - sous forme pré-compilée (“package”) qui s'installe - en une seule commande (<command>pkg_add</command>), si vous ne voulez - pas les compiler à partir du source.</para> - - <para>Il y a un certain nombre d'autres documents qui vous serons - peut-être très utiles à l'installation et à l'utilisation de - FreeBSD, que vous pouvez maintenant trouver dans le répertoire - <filename>/usr/share/doc</filename> de n'importe quelle machine - sous FreeBSD 2.1 ou ultérieur. Vous pouvez consulter les manuels - localement disponibles avec n'importe quel navigateur HTML aux - URLs suivantes:</para> - - - <variablelist> - <varlistentry><term>Le manuel FreeBSD</term> - <listitem> - <para><ulink - url="file:/usr/share/doc/handbook/handbook.html">file:/usr/share/doc/handbook/handbook.html</ulink></para> - </listitem> - </varlistentry> - - <varlistentry><term>La FAQ FreeBSD</term> - - <listitem> - <para><ulink - url="file:/usr/share/doc/FAQ/FAQ.html">file:/usr/share/doc/FAQ/FAQ.html</ulink></para> - - </listitem> - </varlistentry> - </variablelist> - - - <para>Vous pouvez aussi consulter les exemplaires originaux (et les plus - souvent mis à jour) sur <ulink - url="http://www.freebsd.org">http://www.freebsd.org</ulink>.</para> - - <para>Le coeur de FreeBSD ne contient pas de code DES qui en - empêcherait l'exportation à l'extérieur des Etats-Unis. Il y a un - supplément à la version de base, utilisable aux Etats-Unis - uniquement, qui contient les programmes qui utilisent habituellement - le DES. Les logiciels auxiliaires fournis séparement peuvent être - utilisés par tout le monde. Il y a aussi une version Européenne - librement exportable (d'ailleurs que des Etats-Unis) du DES pour nos - utilisateurs non américains, qui est décrite dans la - <ulink url="&url.faq;index.html">FAQ FreeBSD</ulink>.</para> - - <para>Si vous ne voulez que des mots de passe sûrs, et que vous n'avez - pas besoin de copier de mots de passe venant de machines différentes - (des machines Suns, DEC, etc) vers des mots de passe FreeBSD, alors - l'encodage FreeBSD basé sur MD5 est probablement tout ce qu'il vous - faut. Nous pensons que notre modèle de sécurité par défaut est mieux - qu'un concurrent du DES, et il n'est - pas encombré de tous ces problèmes - délicats d'exportation. Si vous êtes à l'extérieur, ou même aux - Etats-Unis, essayez-le donc!</para> - - </sect1> - </chapter> - - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-shorttag: nil - sgml-always-quote-attributes: t - sgml-minimize-attributes: max - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> diff --git a/fr_FR.ISO8859-1/books/handbook/kernelconfig/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/kernelconfig/chapter.sgml deleted file mode 100755 index 8a93fa5956..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/kernelconfig/chapter.sgml +++ /dev/null @@ -1,1876 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: n.nn ---> - - <chapter id="kernelconfig"> - <title>Configurer le noyau de FreeBSD</title> - - <para><emphasis>Contribution de &a.jehamby;.<!-- <br> -->6 Octobre - 1995.</emphasis></para> - &trans.a.haby; - - <para>Cette longue section du manuel décrit l'essentiel de la - configuration d'un noyau FreeBSD adapté à vos besoins propres. - Elle concerne tout autant les administrateurs système débutants - que ceux qui ont une vaste expérience d'Unix.</para> - - - <sect1> - <title>Pourquoi compiler un noyau sur mesure?</title> - - <para>Générer un noyau sur mesure est l'un des plus importants - rites de passage que doit endurer tout administrateur système - Unix. Cette opération, qui prend du temps, apportera de nombreuses - améliorations à votre système FreeBSD. A l'inverse du noyau - <literal>GENERIC</literal>, qui doit supporter toutes les - cartes SCSI et réseau possibles, ainsi qu'une tonne de matériels - rarement utilisés, un noyau sur mesure n'inclut que le support - de <emphasis>votre</emphasis> configuration matérielle. Cela a - de nombreux avantages:</para> - - <para> - <itemizedlist> - - <listitem> - <para>Le système démarrera plus rapidement parce qu'il ne perdra - pas de temps à rechercher des périphériques que vous n'avez - pas.</para> - </listitem> - - <listitem> - <para>Un noyau personnalisé monopolise souvent moins de mémoire, - ce qui est important parce que le noyau est le processus qui - doit toujours résider en mémoire, ce qui fait que tout le - code inutilisé s'approprie des pages mémoire que vos programmes - pourraient utiliser. D'où l'importance critique de générer un - noyau sur mesure sur un système dont les ressources mémoire - sont limitées.</para> - </listitem> - - <listitem> - <para>Enfin, il y a plusieurs options du noyau que vous pouvez - ajuster à vos besoins, et des pilotes pour des périphériques - comme les cartes son que vous pouvez inclure dans votre - noyau, mais qui <emphasis>ne sont pas</emphasis> dans le - noyau générique.</para> - </listitem> - - </itemizedlist> - </para> - - </sect1> - - <sect1 - id="kernelconfig-building"> - <title>Compiler et installer un noyau sur mesure</title> - - <para>Commenç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 - <filename>/usr/src/sys</filename>, auquel on accède aussi via - le lien symbolique <filename>/sys</filename>. Il comporte un - certain nombre de sous-répertoires correspondants à différentes - parties du noyau, mais les plus importants, en ce qui nous - concerne, sont <filename>i386/conf</filename>, où nous éditerons - notre fichier de configuration personnalisée, et - <filename>compile</filename>, qui est l'espace de travail où nous - générerons notre noyau. Remarquez l'organisation logique de - l'arborescence des répertoires, où chaque périphérique, système - de fichiers et option supporté a son propre sous-répertoire. D'autre - part, tout ce qui ce trouve dans le répertoire - <filename>i386</filename> est propre au matériel PC, alors que tout - le reste est commun à toutes les plates-formes sur lesquelles - FreeBSD pourrait potentiellement être porté.</para> - - <note> - <para>S'il <emphasis>n'y a pas</emphasis> de répertoire - <filename>/usr/src/sys</filename> sur votre système, c'est que les - sources du noyau n'ont pas été installés. Suivez les instructions - d'installation pour ajouter cette distribution à votre - système.</para> - </note> - - <para>Allez ensuite dans le répertoire <filename>i386/conf</filename> - et copiez le fichier de configuration <filename>GENERIC</filename> - dans un fichier qui aura le nom que vous voulez donner à votre - nouveau noyau. Par exemple: - - <informalexample> - <screen>&prompt.root; <userinput>cd /usr/src/sys/i386/conf</userinput> -&prompt.root; <userinput>cp GENERIC MONNOYAU</userinput></screen> - </informalexample> Par tradition, c'est un nom en majuscules, et - si vous maintenez plusieurs machines FreeBSD avec des configurations - différentes, c'est une bonne idée de lui donner le même nom que - la machine. Nous l'appelerons <filename>MONNOYAU</filename> - pour les besoins de notre exemple.</para> - - <note> - <para>Tout cela doit être fait sous le compte super-utilisateur sans - quoi vous aurez des erreurs - “<errortype>permission denied</errortype>”.</para> - </note> - - <para>Editez maintenant <filename>MONNOYAU</filename> avec votre éditeur - de texte préféré. Si vous venez tout juste de finir l'installation, le - seul éditeur disponible est probablement <command>vi</command>, qui - est trop complexe pour être décrit ici, mais est bien expliqué dans - de nombreux ouvrages de la - <link linkend="bibliography">Bibliographie</link>. - N'hésitez pas - à modifier les commentaires d'en-tête pour y décrire votre - configuration ou les modifications que vous avez apportées par rapport - à <filename>GENERIC</filename>.</para> - - <para>Si vous avez déjà compilé un noyau sur SunOs ou tout autre - système d'exploitation BSD, l'essentiel de ce que contient le - fichier vous sera très familier. Si vous venez d'un autre système - d'exploitation comme DOS, à l'inverse, le fichier de configuration - vous paraîtra peut-être inintelligible, lisez alors lentement et - attentivement la description qui en est faite dans la section - <link linkend="kernelconfig-config">Fichier de configuration</link>.</para> - - <note> - <para>Si vous essayez de mettre à jour votre noyau à partir d'une - ancienne version de FreeBSD, il vous faudra probablement une - version récente de - <citerefentry><refentrytitle>config</refentrytitle><manvolnum>8</manvolnum></citerefentry> - de même origine que les sources du nouveau noyau. Vous la trouverez - dans le répertoire <filename>/usr/src/usr.sbin</filename>. Il vous - faudra donc télécharger aussi les sources de cet utilitaire. - Recompilez et installez-le avant de faire autre chose.</para> - </note> - - <para>Une fois que vous avez terminé, tapez la commande suivante pour - compiler et installer votre noyau: - - <informalexample> - <screen>&prompt.root; <userinput>/usr/sbin/config MONNOYAU</userinput> -&prompt.root; <userinput>cd ../../compile/MONNOYAU</userinput> -&prompt.root; <userinput>make depend</userinput> -&prompt.root; <userinput>make</userinput> -&prompt.root; <userinput>make install</userinput></screen> - </informalexample> Le nouveau noyau sera recopié dans le répertoire - racine sous le nom <filename>/kernel</filename> et l'ancien renommé - en <filename>/kernel.old</filename>. Arrêtez maintenant votre système - et redémarrez-le pour utiliser votre nouveau noyau. Si - quelque chose tourne mal, il y a quelques instructions de - <link linkend="kernelconfig-trouble">dépannage</link> - à la fin de ce document. Ayez soin de lire la section qui explique - comment vous en sortir si votre nouveau noyau ne - <link linkend="kernelconfig-noboot">démarre pas</link>.</para> - - <note> - <para>Si vous avez ajouté de nouveaux périphériques (cartes son, - par exemple), vous devrez peut-être ajouter des - <link linkend="kernelconfig-nodes">fichiers spéciaux de périphériques</link> - dans votre répertoire <filename>/dev</filename> avant de pouvoir les - utiliser.</para> - </note> - - </sect1> - - <sect1 - id="kernelconfig-config"> - <title>Le fichier de configuration</title> - - <para>Le 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 prennent - qu'un seul argument. Tout ce qui suit le caractère - <literal>#</literal> est considéré comme un commentaire et ignoré. - Les sections suivantes décrivent chaque mot-clé, normalement dans - l'ordre où ils apparaîssent dans le fichier - <filename>GENERIC</filename>, 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 - <filename>GENERIC</filename>. - <anchor id="kernelconfig-options">Il y a une liste exhaustive et - des explications plus détaillées des lignes se rapportant aux - périphériques dans le fichier de configuration - <filename>LINT</filename>, qui se trouve dans le - même répertoire que <filename>GENERIC</filename>. Si vous avez des - doutes sur la signification ou la nécessité d'une ligne, consultez - d'abord le fichier <filename>LINT</filename>.</para> - - <para>Le noyau est en cours de réorganisation pour une meilleure - gestion des options. Traditionnellement, chaque option du fichier - de configuration se traduisait par un indicateur <option>-D</option> - dans la ligne <acronym>CFLAGS</acronym> du fichier - <filename>Makefile</filename> du noyau. D'où une pléthore d'options, - dont personne ne savait vraiment lesquelles étaient référencées dans - quels fichiers.</para> - - <para>Dans le nouveau modèle, chaque <literal>#ifdef</literal> - qui dépend d'une option la déduit d'un fichier de déclarations - <filename>opt_<replaceable>foo</replaceable>.h</filename> - créé par la commande <command>config</command> dans le répertoire - de compilation. La liste des options valides de - <command>config</command> est définie par deux fichiers: les options - indépendantes de l'architecture dans - <filename>/sys/conf/options</filename>, et celles qui en dépendent - dans - <filename>/sys/<replaceable>arch</replaceable>/conf/options.<replaceable>arch</replaceable></filename>, - où <emphasis>arch</emphasis> vaut par exemple - <filename>i386</filename>.</para> - - - <sect2> - <title>Mots-clés obligatoires</title> - - <para>Ces mots-clés sont requis pour tous les noyaux que vous - générez.</para> - - - <variablelist> - <varlistentry><term>machine "i386"</term> - <listitem> - <para>Le premier mot-clé est <literal>machine</literal>, - qui, étant donné que FreeBSD ne tourne que sur des - processeurs Intel 386 ou compatibles, vaut i386.</para> - - <note> - <para>Tous les mots-clés composés d'une chaîne de - caractères comportant des chiffres doivent être - mis entre guillemets, sans quoi le programme - <command>config</command> ne les comprend pas et - pense que vous faites référence à la valeur - numérique, 386, par exemple.</para> - </note> - </listitem> - </varlistentry> - - <varlistentry><term>cpu "<replaceable>modèle_de_cpu</replaceable>"</term> - - <listitem> - <para>Le mot-clé suivant est <literal>cpu</literal>, - qui définit le support de chaque CPU reconnue par FreeBSD. - Les valeurs possibles de - <replaceable>modèle_de_cpu</replaceable> sont: - <itemizedlist> - - <listitem> - <para>I386_CPU</para> - </listitem> - - <listitem> - <para>I486_CPU</para> - </listitem> - - <listitem> - <para>I586_CPU</para> - </listitem> - - <listitem> - <para>I686_CPU</para> - </listitem> - - </itemizedlist>Il peut y avoir plusieurs occurences de la - ligne <literal>cpu</literal> avec des valeurs différentes - de <replaceable>modèle_de_cpu</replaceable> comme c'est - le cas dans le noyau <filename>GENERIC</filename>. - Dans le cas d'un noyau sur mesure, il vaut mieux n'indiquer - que l'unité centrale que vous avez. Si, par exemple, c'est - un Pentium Intel, donnez la valeur - <literal>I586_CPU</literal> à - <replaceable>modèle_de_cpu</replaceable>.</para> - </listitem> - </varlistentry> - - <varlistentry><term>ident <replaceable>nom_du_noyau</replaceable></term> - - <listitem> - <para>Ensuite vient <literal>ident</literal>, - qui est l'identifiant de votre noyau. Vous devriez - le modifier pour remplacer <literal>GENERIC</literal> - par le nom, quel qu'il soit, que vous donnez à votre - noyau; dans notre exemple, - <literal>MONNOYAU</literal>. La valeur que vous donnez à - <literal>ident</literal> s'affiche au démarrage du - système, il est donc parfois utile de lui donner un nom - différent du nom habituel (par exemple, si vous compilez - un noyau expérimental). Notez bien qu'il faut, comme pour - <literal>machine</literal> et <literal>cpu</literal>, - mettre le nom de votre noyau entre guillements, s'il - comporte des chiffres.</para> - - <para>Comme ce nom est transmis au compilateur C après un - indicateur <option>-D</option>, n'utilisez pas de nom - du genre <literal>DEBUG</literal>, ou qui puisse être - compris comme un nom de machine ou de CPU, du style - <literal>vax</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry><term>maxusers <replaceable>nombre</replaceable></term> - - <listitem> - <para>Cette ligne définit la taille d'un certain nombre - de tables importantes du système. Cette valeur est - supposée être en gros égale au nombre d'utilisateurs - simultanés que vous vous attendez à avoir sur votre - système. Cependant, dans des conditions normales, - vous devez fixer <literal>maxusers</literal> à - <literal>4</literal> au moins, en particulier si - vous utilisez le sous-système graphique X Window - ou compilez des logiciels. En effet, la valeur la plus - importante que dimensionne <literal>maxusers</literal> - est le nombre maximum de processus, qui est fixé à - <literal>20 + 16 * maxusers</literal>, de sorte que si - vous positionnez <literal>maxusers</literal> à - <literal>1</literal>, vous ne pouvez avoir que 36 - processus simultanés, dont les 18 environ que le système - lance au démarrage, et les 15 à peu près qui s'initialisent - au démarrage de X Window. Même une action aussi simple - que de lire une page de manuel activera 9 processus pour - la filtrer, la décompresser et la visualiser. Donner à - <literal>maxusers</literal> la valeur <literal>4</literal> - autorise jusqu'à 84 processus simultanés, ce qui devrait - suffire dans la plupart des cas. Si, toutefois, vous avez - le message d'erreur tant redouté - <errorname>proc table full</errorname> quand vous tentez - d'exécuter un nouveau programme, ou gérez un serveur - avec de nombreux utilisateurs simultanés - (tel le site FTP de Walnut Creek CDROM), vous pouvez - toujours augmenter cette valeur et recompiler le - noyau.</para> - - <note> - <para><literal>maxusers</literal> - <emphasis>ne limite pas</emphasis> le nombre - d'utilisateurs qui pourront ouvrir une session sur - votre machine. Cette valeur dimensionne simplement - raisonnablement différentes tables en fonction - du nombre maximum d'utilisateurs que vous aurez - vraisemblablement sur votre machine et du nombre - de processus que chacun d'entre eux exécutera. Un - mot-clé qui <emphasis>limite</emphasis> le nombre - d'<emphasis>utilisateurs distants</emphasis> est - <link linkend="kernelconfig-ptys">pseudo-device pty</link>.</para> - </note> - </listitem> - </varlistentry> - - <varlistentry><term>config <replaceable>nom_du_noyau</replaceable> root on - <replaceable>périphérique_racine</replaceable></term> - - <listitem> - <para>Cette ligne définit le nom et la localisation du - (fichier exécutable du) noyau. Traditionnellement, - le noyau s'appelle - <filename>vmunix</filename>, mais FreeBSD l'appelle, à juste - titre, <filename>kernel</filename>. Vous devriez toujours - utiliser <literal>kernel</literal> pour - <replaceable>nom_du_noyau</replaceable>, parce qu'en changer - rendra nombre d'utilitaires système inopérants. La deuxième - partie de la ligne indique sur quel disque et partition - résident le noyau et le système de fichiers racine, - typiquement <literal>wd0</literal> sur un système sans - disque SCSI, et <literal>sd0</literal> sur un système - avec des disques SCSI.</para> - </listitem> - </varlistentry> - </variablelist> - - - </sect2> - - <sect2> - <title>Options générales</title> - - <para>Ces lignes définissent les systèmes de fichiers supportés - par le noyau ainsi que certaines autres options.</para> - - <para> - <variablelist> - <varlistentry><term>options MATH_EMULATE</term> - <listitem> - <para>Cette ligne permet au noyau d'émuler un - co-processeur mathématique si votre système - n'en a pas (386 ou 486SX). Si vous avez un Pentium, - un 486DX, ou un 386 ou 486SX avec un co-processeur - mathématique 387 ou 487, vous pouvez mettre cette - ligne en commentaire.</para> - - <note> - <para>Les sous-programmes standards d'émulation de - co-processeur mathématique de FreeBSD - <emphasis>ne sont pas</emphasis> très précis. Si vous - n'avez pas de co-processeur mathématique, je vous - conseille de changer cette option en - <literal>GPL_MATH_EMULATE</literal> pour utiliser - les fonctions mathématiques GNU, qui ne sont pas - inclues par défaut pour des questions de licence.</para> - </note> - </listitem> - </varlistentry> - - <varlistentry><term>options "COMPAT_43"</term> - - <listitem> - <para>Compatibilité avec 4.3BSD. Gardez cette option; - certains programmes auront un comportement bizzare - si vous la commentez.</para> - </listitem> - </varlistentry> - - <varlistentry><term>options BOUNCE_BUFFERS</term> - - <listitem> - <para>Les périphériques ISA, et EISA fonctionnant en mode - compatible ISA, ne peuvent effectuer d'opérations DMA - ("Direct Memory Acces" - accès direct à la mémoire) - qu'en dessous de la limite de 16 méga-octets. Cette option - permet d'utiliser ces périphériques avec des systèmes ayant - plus de 16 méga-octets de mémoire.</para> - </listitem> - </varlistentry> - - <varlistentry><term>options UCONSOLE</term> - - <listitem> - <para>Permet aux utilisateurs d'accéder à la console système, - ce qui est utile avec X Window. Vous pouvez alors, - par exemple, ouvrir une console "xterm" avec - <command>xterm -C</command>, qui affichera les - sorties de <command>write</command>, - <command>talk</command> et les autres messages que vous - recevez, ainsi que tout message envoyé par le noyau - à la console.</para> - </listitem> - </varlistentry> - - <varlistentry><term>options SYSVSHM</term> - - <listitem> - <para>Cette option implémente la mémoire partagée de - System V. L'usage le plus courant qui en est fait - est l'extension XSHM d'X Window, dont nombre de logiciels - gourmants en graphique (comme le logiciel de visualisation - de films XAnim ou DOOM pour Linux) tireront automatiquement - parti pour fonctionner plus vite. Si vous utilisez X - Window, vous utiliserez absolument cette option.</para> - </listitem> - </varlistentry> - - <varlistentry><term>options SYSVSEM</term> - - <listitem> - <para>Cette option implémente les sémaphores de System V. - Ils sont d'un usage moins courant, mais cela n'augmente - que de quelques centaines d'octets la taille du - noyau.</para> - </listitem> - </varlistentry> - - <varlistentry><term>options SYSVMSG</term> - - <listitem> - <para>Cette option implémente les messages de System V. - De même, cela n'augmente que de quelques - centaines d'octets la taille du noyau.</para> - - <note> - <para>La commande <citerefentry><refentrytitle>ipcs</refentrytitle><manvolnum>1</manvolnum></citerefentry> - vous donnera la liste des processus qui utilisent chacun - de ces mécanismes de System V.</para> - </note> - </listitem> - </varlistentry> - </variablelist> - </para> - - </sect2> - - <sect2> - <title>Systèmes de fichiers</title> - - <para>Ces options incluent le support des différents systèmes - de fichiers. Vous devez au moins donner celle qui correspond - au périphérique à partir duquel vous démarrez votre système; - habituellement, ce sera <acronym>FFS</acronym> si vous chargez - le système depuis un disque dur, ou <acronym>NFS</acronym>, pour - une station sans disque récupérant son système via un réseau - Ethernet. Vous pouvez aussi indiquer les autres systèmes de - fichiers que vous utilisez couramment, mais n'hésitez pas à - commenter ceux qui vous sont d'un usage moins fréquent (peut-être - le système de fichiers MS-DOS?); ils seront chargés dynamiquement - depuis le répertoire <filename>lkm</filename> (Loadable Kernel - Module - modules du noyau à chargement dynamique) au premier montage - d'une partition de ce type.</para> - - - <variablelist> - <varlistentry><term>options FFS</term> - <listitem> - <para>Le système de fichiers de base sur disque dur; gardez - cette option si vous chargez le système depuis le disque - dur.</para> - </listitem> - </varlistentry> - - <varlistentry><term>options NFS</term> - - <listitem> - <para>Le système de fichiers en réseau. A moins que vous - n'envisagiez de monter des partitions depuis un serveur - de fichiers Unix via un réseau Ethernet, vous pouvez - commenter cette option.</para> - </listitem> - </varlistentry> - - <varlistentry><term>options MSDOSFS</term> - - <listitem> - <para>Le système de fichiers MS-DOS. A moins que vous - n'envisagiez de monter une partition formatée DOS - sur un disque dur au démarrage du système, vous pouvez - commenter sans risque 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 <application>mtools</application> - (au catalogue des portages) permet d'accéder aux - disquettes DOS sans avoir besoin de les monter (et n'a - pas non plus besoin de MSDOSFS).</para> - </listitem> - </varlistentry> - - <varlistentry><term>options "CD9660"</term> - - <listitem> - <para>Le système de fichiers ISO 9660 pour les CD-ROMs. - Commentez-le si vous n'avez pas de lecteur de CD-ROMs ou ne - montez qu'occasionnellement des CD-ROMs (Il sera chargé - dynamiquement la première fois que vous monterez un - CD-ROM). Les CD-ROMs audio n'ont pas besoin de ce système - de fichiers.</para> - </listitem> - </varlistentry> - - <varlistentry><term>options PROCFS</term> - - <listitem> - <para>Le système de fichiers pour les processus. C'est un - pseudo-système de fichiers monté sur - <filename>/proc</filename> que des outils comme - <citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry> utilisent pour vous fournir plus d'informations - sur les processus qui s'exécutent.</para> - </listitem> - </varlistentry> - - <varlistentry><term>options MFS</term> - - <listitem> - <para>Système de fichiers en mémoire. C'est essentiellement - un disque RAM pour l'archivage rapide de fichiers - temporaires, utile si vous avez beaucoup d'espace de - pagination dont vous voulez tirer parti. Le répertoire - <filename>/tmp</filename> est un bon candidat pour le - montage d'une partition MFS, car de nombreux programmes - y mettent leurs données temporaires. Pour monter un disque - RAM MFS sur <filename>/tmp</filename>, ajoutez la ligne qui - suit au fichier <filename>/etc/fstab</filename> et - redémarrez le système ou tapez - <command>mount /tmp</command>: - - <programlisting> -/dev/wd1s2b /tmp mfs rw 0 0 - </programlisting> - </para> - - <note> - <para>Remplacez <filename>/dev/wd1s2b</filename> par - le nom de votre partition de pagination, qui est définie - comme suit dans votre fichier - <filename>/etc/fstab</filename>: - - <programlisting> -/dev/wd1s2b none swap sw 0 0 - </programlisting> - </para> - </note> - - <note> - <para>Le système de fichiers <acronym>MFS</acronym> - <emphasis>n'est pas</emphasis> chargeable dynamiquement, - <emphasis>vous devez</emphasis> donc l'inclure dans votre - noyau si vous voulez essayer de l'utiliser.</para> - </note> - </listitem> - </varlistentry> - - <varlistentry><term>options "EXT2FS"</term> - - <listitem> - <para>Système de fichiers natif de Linux. Avec le support - d'“ext2fs”, vous pouvez lire - et écrire sur des partitions - Linux. C'est utile si votre machine fonctionne - alternativement sous FreeBSD et sous Linux et que vous - voulez partager des données entre les deux systèmes.</para> - </listitem> - </varlistentry> - - <varlistentry><term>options QUOTA</term> - - <listitem> - <para>Active les quotas d'espace disque. Si votre système - est accessible à plusieurs utilisateurs et que vous - voulez éviter qu'ils ne saturent la partition - <filename>/home</filename>, vous pouvez définir des - quotas d'espace disque pour chaque utilisateur. - Reportez-vous au chapitre - <link linkend="quotas">Quotas d'espace disque</link> - pour plus d'informations.</para> - </listitem> - </varlistentry> - </variablelist> - - - </sect2> - - <sect2> - <title>Contrôleurs et périphériques standards</title> - - <para>Ces sections décrivent les contrôleurs de disques, lecteurs - de bandes magnétiques et lecteurs de CD-ROMs standards supportés - par FreeBSD. Les contrôleurs - <link linkend="kernelconfig-scsi">SCSI</link> et les cartes <link - linkend="kernelconfig-network">réseau</link> - sont décrits - dans des sections séparées.</para> - - - <variablelist> - <varlistentry><term>controller isa0</term> - <listitem> - <para>Tous les PC supportés par FreeBSD ont un contrôleur ISA. - Si vous avez un IBM PS/2 (Micro Channel Architecture), vous - ne pouvez pas utiliser FreeBSD pour l'instant.</para> - </listitem> - </varlistentry> - - <varlistentry><term>controller pci0</term> - - <listitem> - <para>Ajoutez 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.</para> - </listitem> - </varlistentry> - - <varlistentry><term>controller fdc0</term> - - <listitem> - <para>Contrôleur de lecteur de - disquettes: <literal>fd0</literal> - correspond au lecteur de disquettes - <devicename>A:</devicename>, et - <literal>fd1</literal> au lecteur - <devicename>B:</devicename>. - <literal>ft0</literal> est le lecteur de bandes QIC-80 relié - au contrôleur du lecteur de disquettes. Commentez les lignes - correspondant aux périphériques que vous n'avez pas.</para> - - <note> - <para>Avec le lecteur de bandes QIC-80, vous devez de plus - utiliser un logiciel de filtrage appelé - <citerefentry><refentrytitle>ft</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - reportez-vous à la page de manuel pour plus de - détails.</para> - </note> - </listitem> - </varlistentry> - - <varlistentry><term>controller wdc0</term> - - <listitem> - <para>C'est le contrôleur IDE primaire. <literal>wd0</literal> - et <literal>wd1</literal> sont respectivement, les disques - maître et esclave. - <literal>wdc1</literal> est le contrôleur IDE secondaire - sur lequel vous pouvez avoir un troisième et un quatrième - disque, ou un lecteur de CD-ROMs. Commentez les lignes qui - ne s'appliquent pas à votre configuration (par exemple, si - vous avez un disque SCSI, vous commenterez probablement - toutes les six lignes).</para> - </listitem> - </varlistentry> - - <varlistentry><term>device wcd0<anchor - id="kernelconfig-atapi"></term> - - <listitem> - <para>Cette option fournit le support du lecteur de CD-ROMs - IDE. Assurez-vous de conserver - <literal>wcd0</literal>, ainsi que - <literal>wcd1</literal> si vous avez plus d'un contrôleur - IDE et que votre CD-ROM est sur le second. Pour utiliser - cette option, vous devrez aussi inclure la ligne - <literal>options ATAPI</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device npx0 at isa? port "IO_NPX" irq 13 - vector npxintr</term> - - <listitem> - <para><literal>npx0</literal> est, dans FreeBSD, l'interface - avec le co-processeur mathématique, qu'il soit matériel ou - émulé par logiciel. Cette option - <emphasis>N'EST PAS</emphasis> facultative.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device wt0 at isa? port 0x300 bio irq 5 drq - 1 vector wtintr</term> - - <listitem> - <para>Lecteurs de bandes Wangtek et Archive - QIC-02/QIC-36.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Modèles spéciaux de lecteurs de CD-ROMs</term> - - <listitem> - <para>Les pilotes suivants sont ceux des lecteurs de - CD-ROMs soit-disant <emphasis>propriétaires</emphasis>. - Ces lecteurs ont leur propre contrôleur ou s'interfacent - parfois avec une carte son comme la carte SoundBlaster 16. - Ils ne sont <emphasis>ni</emphasis> IDE - <emphasis>ni</emphasis> SCSI. La plupart des anciens - lecteurs de CD-ROMs simple et double vitesse utilisent ces - interfaces, alors que les lecteurs quadruple vitesse sont - généralement soit <link linkend="kernelconfig-atapi">IDE</link>, - soit <link linkend="kernelconfig-scsi">SCSI</link>.</para> - - <para> - <variablelist> - <varlistentry><term>device mcd0 at isa? port 0x300 bio - irq 10 vector mcdintr</term> - <listitem> - <para>Mitsumi CD-ROM (LU002, LU005, FX001D).</para> - </listitem> - </varlistentry> - - <varlistentry><term>device scd0 at isa? port 0x230 - bio</term> - - <listitem> - <para>Sony CD-ROM (CDU31, CDU33A).</para> - </listitem> - </varlistentry> - - <varlistentry><term>controller matcd0 at isa? port ? - bio</term> - - <listitem> - <para>Matsushita/Panasonic CD-ROM (distribué par - Creative Labs pour la carte SoundBlaster).</para> - </listitem> - </varlistentry> - </variablelist> - </para> - </listitem> - </varlistentry> - </variablelist> - - - </sect2> - - <sect2 - id="kernelconfig-scsi"> - <title>Périphériques SCSI</title> - - <para>Cette section décrit les différents contrôleurs et - périphériques SCSI supportés par FreeBSD.</para> - - - <variablelist> - <varlistentry><term>Contrôleurs SCSI</term> - <listitem> - <para>La dizaine de lignes qui suit correspond au support de - différents type de contrôleurs SCSI. Commentez-les toutes - sauf celle(s) qui correspond(ent) à celui/ceux que vous - avez:</para> - - <para> - <variablelist> - <varlistentry><term>controller bt0 at isa? port - "IO_BT0" bio irq ? vector btintr</term> - <listitem> - <para>La plupart des contrôleurs Buslogic.</para> - </listitem> - </varlistentry> - - <varlistentry><term>controller uha0 at isa? port - "IO_UHA0" bio irq ? drq 5 vector uhaintr</term> - - <listitem> - <para>UltraStor 14F et 34F.</para> - </listitem> - </varlistentry> - - <varlistentry><term>controller ahc0</term> - - <listitem> - <para>Adaptec 274x/284x/294x.</para> - </listitem> - </varlistentry> - - <varlistentry><term>controller ahb0 at isa? bio irq ? - vector ahbintr</term> - - <listitem> - <para>Adaptec 174x.</para> - </listitem> - </varlistentry> - - <varlistentry><term>controller aha0 at isa? port - "IO_AHA0" bio irq ? drq 5 vector ahaintr</term> - - <listitem> - <para>Adaptec 154x.</para> - </listitem> - </varlistentry> - - <varlistentry><term>controller aic0 at isa? port - 0x340 bio irq 11 vector aicintr</term> - - <listitem> - <para>Adaptec 152x et les cartes sons utilisant - l'Adaptec AIC-6360 (lent!).</para> - </listitem> - </varlistentry> - - <varlistentry><term>controller nca0 at isa? port - 0x1f88 bio irq 10 vector ncaintr</term> - - <listitem> - <para>Carte ProAudioSpectrum avec NCR 5380 ou - Trantor T130.</para> - </listitem> - </varlistentry> - - <varlistentry><term>controller sea0 at isa? bio irq 5 - iomem 0xc8000 iosiz 0x2000 vector seaintr</term> - - <listitem> - <para>Contrôleur Seagate ST01/02 8 bits - (lent!).</para> - </listitem> - </varlistentry> - - <varlistentry><term>controller wds0 at isa? port - 0x350 bio irq 15 drq 6 vector wdsintr</term> - - <listitem> - <para>Contrôleur Western Digital WD700.</para> - </listitem> - </varlistentry> - - <varlistentry><term>controller ncr0</term> - - <listitem> - <para>Contrôleurs SCSI NCR 53C810, 53C815, 53C825, - 53C860, 53C875 PCI.</para> - </listitem> - </varlistentry> - </variablelist> - </para> - </listitem> - </varlistentry> - - <varlistentry><term>options "SCSI_DELAY=15"</term> - - <listitem> - <para>Cette option dit à votre noyau d'attendre 15 secondes - avec 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 pouvez peut-être diminuer - cette valeur, éventuellement jusqu'à 5 secondes, pour - accélerer le démarrage du système. Bien sûr, si vous le - faites et que FreeBSD a du mal à identifier vos - périphériques SCSI, vous devrez l'augmenter de - nouveau.</para> - </listitem> - </varlistentry> - - <varlistentry><term>controller scbus0</term> - - <listitem> - <para>Si vous avez des contrôleurs SCSI, cette ligne vous - en fournit le support générique. Si vous n'en avez pas, - commentez-la, ainsi que les trois lignes qui - suivent.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device sd0</term> - - <listitem> - <para>Support de disque dur.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device st0</term> - - <listitem> - <para>Support de lecteur de bandes SCSI.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device cd0</term> - - <listitem> - <para>Support de lecteur de CD-ROMs SCSI.</para> - - <para>Notez bien que le chiffre <literal>0</literal> - dans les lignes précédentes n'est pas tout à fait exact: - tous ces périphériques sont automatiquement configurés - quand ils sont reconnus, quel que soit le nombre de - périphériques sur la ou les chaînes SCSI, et quels que - soient leurs IDs cibles.</para> - - <para>Si vous voulez “attacher” des IDs cibles - précis à des périphériques particuliers, reportez-vous - à la section appropriée du fichier de configuration du - noyau <filename>LINT</filename>.</para> - </listitem> - </varlistentry> - </variablelist> - - - </sect2> - - <sect2> - <title>Console, souris sur un bus, et serveur X</title> - - <para>Vous devez sélectionner un des deux types de console, et, - si vous envisagez d'utiliser le gestionnaire graphique X Window - avec la console vt220, activer l'option XSERVER. Optionnellement, - vous pouvez aussi choisir le support de souris sur un bus ou - PS/2.</para> - - <variablelist> - <varlistentry><term>device sc0 at isa? port "IO_KBD" tty irq 1 - vector scintr</term> - <listitem> - <para><literal>sc0</literal> 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 <filename>termcap</filename>, cela n'a guère - d'importance que vous choisissiez ce pilote ou le pilote - compatible VT220 <literal>vt0</literal>. Quand vous ouvrez - une session, positionnez la variable d'environnement - <envar>TERM</envar> à “scoansi” si vous avez - des problèmes pour utiliser des programmes en mode - plein-écran avec cette console.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device vt0 at isa? port "IO_KBD" tty irq 1 - vector pcrint</term> - - <listitem> - <para>C'est le pilote de console compatible VT220, et, - retrospectivement, compatible avec les VT100/102. Il - fonctionne bien sur certains portables qui sont - matériellement incompatibles avec le pilote - <literal>sc0</literal>. Comme précédemment, positionnez la - variable d'environnement <envar>TERM</envar> à - <literal>vt100</literal> ou <literal>vt220</literal>, - cette fois-ci, quand vous ouvrez une session. Ce pilote - peut aussi s'avérer utile pour un certain nombre de - machines sur un réseau, pour lequelles le terminal - <devicename>sc0</devicename> est rarement défini dans les - fichiers <filename>termcap</filename> ou - <filename>terminfo</filename> - -- alors que le terminal <literal>vt100</literal> existe - pratiquement sur toutes les plates-formes.</para> - - <variablelist> - <varlistentry><term>options "PCVT_FREEBSD=210"</term> - <listitem> - <para>Obligatoire avec la console - <literal>vt0</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry><term>options XSERVER</term> - - <listitem> - <para>S'applique seulement à la console - <literal>vt0</literal>. Cette option inclut le - code nécessaire à l'utilisation du serveur X Window - <application>XFree86</application> avec la console - <literal>vt0</literal>.</para> - </listitem> - </varlistentry> - </variablelist> - - </listitem> - </varlistentry> - - <varlistentry><term>device mse0 at isa? port 0x23c tty irq 5 - vector ms</term> - - <listitem> - <para>Utilisez ce pilote si vous avez une carte Logitech - ou ATI InPort pour la souris.</para> - - <note> - <para>Si vous avez une souris sur le port série, ignorez - ces deux lignes, et, à la place, vérifiez que le port - <link linkend="kernelconfig-serial">série</link> - correspondant est bien activé - (probablement COM1).</para> - </note> - </listitem> - </varlistentry> - - <varlistentry><term>device psm0 at isa? port "IO_KBD" - conflicts tty irq 12 vector psmintr</term> - - <listitem> - <para>Utilisez ce pilote si votre souris se branche sur le - port PS/2.</para> - </listitem> - </varlistentry> - </variablelist> - - - </sect2> - - <sect2> - <title>Ports séries et parallèles</title> - - <para>Presque tous les systèmes ont ces ports. Si vous avez une - imprimante sur l'un d'eux, la section - <link linkend="printing">Imprimer</link> - de ce manuel vous - sera très utile. Si vous utilisez un modem, la section - <link linkend="dialup">Connexions téléphoniques</link> - vous fournit des informations détaillées sur la configuration du - port série pour ces périphériques.</para> - - - <variablelist> - <varlistentry><term>device sio0 at isa? port "IO_COM1" tty irq - 4 vector siointr<anchor id="kernelconfig-serial"></term> - <listitem> - <para><literal>sio0</literal> à <literal>sio3</literal> - sont les quatre ports séries, appelés COM1 à COM4 dans - le monde MS-DOS. Notez bien que 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, voyez - la page de manuel de - <citerefentry><refentrytitle>sio</refentrytitle><manvolnum>4</manvolnum></citerefentry> - pour plus d'informations sur les bonnes valeurs pour ces - lignes. Certaines cartes vidéo (notamment celles à base de - circuits S3) utilisent des adresses d'Entrée/Sortie du type - <literal>0x*2e8</literal>, et comme de nombreuses cartes - séries gèrent mal l'espace d'adressage complet sur - 16-bits, il y aura des conflits avec ces cartes, rendant - le port COM4 pratiquement inutilisable.</para> - - <para>Chaque port série doit avoir une IRQ unique (à moins - que vous n'utilisiez une carte multi-ports qui autorise - le partage d'interruption), de sorte que les IRQ par - défaut pour les ports COM3 et COM4 ne sont pas - utilisables.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device lpt0 at isa? port? tty irq 7 vector - lptintr</term> - - <listitem> - <para><literal>lpt0</literal> à <literal>lpt2</literal> - sont les trois ports imprimante que vous pourriez - éventuellement avoir. La plupart des gens n'en ont qu'un, - n'hésitez donc pas à mettre en commentaires ceux que vous - n'avez pas.</para> - </listitem> - </varlistentry> - </variablelist> - - - </sect2> - - <sect2 - id="kernelconfig-network"> - <title>Le réseau</title> - - <para>FreeBSD, comme Unix en général, accorde - <emphasis>une</emphasis> grande importance au réseau. Donc, même - si vous n'avez pas de carte Ethernet, faites bien attention aux - options obligatoires et au support du réseau via une ligne - téléphonique.</para> - - - <variablelist> - <varlistentry><term>options INET</term> - <listitem> - <para>Support réseau. Conservez-le même si vous n'envisagez - pas de vous connecter à un réseau. La plupart des - programmes utilisent au moins le réseau "en boucle" (i.e. - établissent des connexions réseau avec le PC lui-même), - cette option est donc quasiment obligatoire.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Cartes Ethernet</term> - - <listitem> - <para>Les lignes qui suivent incluent le support de - différentes cartes Ethernet. Si vous n'avez pas de - carte réseau, vous pouvez toutes les commenter. Sinon, - vous garderez le support pour la ou les cartes Ethernet - dont vous disposez:</para> - - <variablelist> - <varlistentry><term>device de0</term> - <listitem> - <para>Adaptateurs Ethernet à base de circuits - Digital Equipment DC21040, DC21041 ou DC21140.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device fxp0</term> - - <listitem> - <para>Intel EtherExpress Pro/100B.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device vx0</term> - - <listitem> - <para>3Com 3C590 et 3C595 (bogué).</para> - </listitem> - </varlistentry> - - <varlistentry><term>device cx0 at isa? port 0x240 net - irq 15 drq 7 vector cxintr</term> - - <listitem> - <para>Cronyx/Sigma multiport sync/async (avec - trames Cisco ou PPP).</para> - </listitem> - </varlistentry> - - <varlistentry><term>device ed0 at isa? port 0x280 net - irq 5 iomem 0xd8000 vector edintr</term> - - <listitem> - <para>Western Digital et SMC 80xx et 8216; Novell - NE1000 and NE2000; 3Com 3C503; HP PC Lan Plus - (HP27247B et HP27252A).</para> - </listitem> - </varlistentry> - - <varlistentry><term>device el0 at isa? port 0x300 net - irq 9 vector elintr</term> - - <listitem> - <para>3Com 3C501 (lent!).</para> - </listitem> - </varlistentry> - - <varlistentry><term>device eg0 at isa? port 0x310 net - irq 5 vector egintr</term> - - <listitem> - <para>3Com 3C505.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device ep0 at isa? port 0x300 net - irq 10 vector epintr</term> - - <listitem> - <para>3Com 3C509 (bogué).</para> - </listitem> - </varlistentry> - - <varlistentry><term>device fe0 at isa? port 0x240 net - irq ? vector feintr</term> - - <listitem> - <para>Fujitsu MB86960A/MB86965A Ethernet.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device fea0 at isa? net irq ? vector - feaintr</term> - - <listitem> - <para>Adaptateur DEC DEFEA EISA FDDI.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device ie0 at isa? port 0x360 net - irq 7 iomem 0xd0000 vector ieintr</term> - - <listitem> - <para>AT&T StarLAN 10 et EN100; 3Com 3C507; - NI5210 quelconque.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device ix0 at isa? port 0x300 net - irq 10 iomem 0xd0000 iosiz 32768 vector - ixintr</term> - - <listitem> - <para>Intel EtherExpress 16.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device le0 at isa? port 0x300 net - irq 5 iomem 0xd0000 vector le_intr</term> - - <listitem> - <para>Digital Equipment EtherWorks 2 et EtherWorks - 3 (DEPCA, DE100, DE101, DE200, DE201, DE202, - DE203, DE204, DE205, DE422).</para> - </listitem> - </varlistentry> - - <varlistentry><term>device lnc0 at isa? port 0x300 net - irq 10 drq 0 vector lncintr</term> - - <listitem> - <para>Cartes Lance/PCnet (Isolan, Novell NE2100, - NE32-VL).</para> - </listitem> - </varlistentry> - - <varlistentry><term>device ze0 at isa? port 0x300 net - irq 5 iomem 0xd8000 vector zeintr</term> - - <listitem> - <para>Contrôleur Ethernet IBM/National Semiconductor - PCMCIA.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device zp0 at isa? port 0x300 net - irq 10 iomem 0xd8000 vector zpintr</term> - - <listitem> - <para>3Com PCMCIA Etherlink III.</para> - </listitem> - </varlistentry> - </variablelist> - - - <note> - <para>Avec certaines cartes (notamment la NE2000) vous - devrez définir le port et/ou l'IRQ, car ces cartes - n'ont pas d'adresse “standard”.</para> - </note> - </listitem> - </varlistentry> - - <varlistentry><term>pseudo-device loop</term> - - <listitem> - <para><literal>loop</literal> est l'interface "en boucle" - générique de TCP/IP. Si vous employez telnet ou FTP sur - <hostid>localhost</hostid> - (a.k.a. <hostid role="ipaddr">127.0.0.1</hostid>) - la réponse vous arrivera via ce - pseudo-périphérique. Obligatoire.</para> - </listitem> - </varlistentry> - - <varlistentry><term>pseudo-device ether</term> - - <listitem> - <para><literal>ether</literal> ne sert que si vous avez une - carte Ethernet et inclut le code générique pour le - protocole Ethernet.</para> - </listitem> - </varlistentry> - - <varlistentry><term>pseudo-device sl - <replaceable>nombre</replaceable></term> - - <listitem> - <para><literal>sl</literal> est le support de SLIP - (Serial Line Internet Protocol - protocole Internet sur - ligne série). Il a pratiquement disparu au profit de PPP, - plus facile à mettre en oeuvre, mieux adapté aux connexions - par modem, et aussi plus puissant. La valeur numérique après - <literal>sl</literal> définit le nombre maximum de - connexions SLIP simultanées. - Ce manuel contient d'autres informations sur la mise en - place d'un <link linkend="slipc">client</link> ou d'un - <link linkend="slips">serveur</link> SLIP.</para> - </listitem> - </varlistentry> - - <varlistentry><term>pseudo-device ppp - <replaceable>nombre</replaceable></term> - - <listitem> - <para><literal>ppp</literal> est le support de - PPP (Point-to-Point Protocol - protocole point à point) - intégré au noyau, pour les connexions téléphoniques à - l'Internet. Il y a aussi une version de PPP sous forme - de programme utilisateur qui utilise le pseudo-périphérique - <devicename>tun</devicename> et offre plus de souplesse et - des possibilités, comme la connexion à la demande. Si vous - voulez cependant utiliser ce pilote PPP, lisez la section - <link linkend="ppp">Configurer PPP intégré au noyau</link> - de ce manuel. Comme pour le pilote <literal>sl</literal>, - <replaceable>nombre</replaceable> est le nombre maximum - de connexions PPP simultanées.</para> - </listitem> - </varlistentry> - - <varlistentry><term>pseudo-device tun - <replaceable>nombre</replaceable></term> - - <listitem> - <para><literal>tun</literal> est utilisé par le programme PPP - en mode utilisateur. Ce programme est facile à paramétrer - et très rapide. Il offre aussi des possibilités - particulières, comme la connexion automatique à la demande. - La valeur qui suit <literal>tun</literal> est le nombre - maximum de sessions PPP simultanées. Voyez la section - <link linkend="userppp">Configurer PPP en mode utilisateur</link> - de ce manuel pour plus - d'informations.</para> - </listitem> - </varlistentry> - - <varlistentry><term>pseudo-device bpfilter - <replaceable>nombre</replaceable></term> - - <listitem> - <para>Filtrage de paquets de Berkeley. Ce pseudo-périphérique - permet de mettre les interfaces - réseau en mode “indiscret”, - pour capturer tous les paquets sur un réseau de diffusion - (e.g. un réseau Ethernet). Ces paquets peuvent être - enregistrés sur disque et/ou examinés avec le programme - <citerefentry><refentrytitle>tcpdump</refentrytitle><manvolnum>1</manvolnum></citerefentry>. Rappelez-vous que la mise en service de cette - possibilité peut sérieusement compromettre la sécurité - globale de votre réseau. Le - <replaceable>nombre</replaceable> - après <literal>bpfilter</literal> est le nombre - d'interfaces qui peuvent être surveillées simultanément. - Optionnel et non recommandé, sauf à ceux qui ont pleinement - conscience des dangers éventuels. Toutes les cartes réseau - n'acceptent pas cette possibilité.</para> - </listitem> - </varlistentry> - </variablelist> - - - </sect2> - - <sect2> - <title>Cartes son</title> - - <para>C'est la première section qui comporte des lignes qui ne font - pas partie du noyau GENERIC. Pour inclure le support d'une carte - son, vous devrez copier les lignes adéquates du noyau LINT (qui - contient le support de <emphasis>tous</emphasis> les périphériques) - comme suit:</para> - - - <variablelist> - <varlistentry><term>controller snd0</term> - <listitem> - <para>Code générique du pilote de carte son. Requis pour - toutes les cartes ci-dessous, sauf - <literal>pca</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device pas0 at isa? port 0x388 irq 10 drq 6 - vector pasintr</term> - - <listitem> - <para>ProAudioSpectrum digital audio et MIDI.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device sb0 at isa? port 0x220 irq 7 - conflicts drq 1 vector sbintr</term> - - <listitem> - <para>SoundBlaster digital audio.</para> - - <note> - <para>Si votre SoundBlaster est sur une IRQ différente - (5, par exemple), modifiez <literal>irq 7</literal> en - <literal>irq 5</literal>, par exemple, et supprimez - le mot-clé <literal>conflicts</literal>. Vous devrez aussi - ajouter la ligne: - <literal>options "SBC_IRQ=5"</literal></para> - </note> - </listitem> - </varlistentry> - - <varlistentry><term>device sbxvi0 at isa? drq 5</term> - - <listitem> - <para>SoundBlaster 16 digital 16-bits audio.</para> - - <note> - <para>Si votre SB16 est sur un canal DMA 16-bits - différent (tel que 6 ou 7), remplacez le mot-clé - <literal>drq 5</literal> par la valeur appropriée, et - ajoutez la ligne: - <literal>options "SB16_DMA=6"</literal>.</para> - </note> - </listitem> - </varlistentry> - - <varlistentry><term>device sbmidi0 at isa? port 0x330</term> - - <listitem> - <para>Interface SoundBlaster 16 MIDI. Si vous avez une - SoundBlaster 16, vous devez inclure cette ligne, sinon, - le noyau ne compilera pas.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device gus0 at isa? port 0x220 irq 10 drq 1 - vector gusintr</term> - - <listitem> - <para>Gravis Ultrasound.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device mss0 at isa? port 0x530 irq 10 drq 1 - vector adintr</term> - - <listitem> - <para>Microsoft Sound System.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device opl0 at isa? port 0x388 - conflicts</term> - - <listitem> - <para>AdLib FM-synthesis audio. Ajoutez cette ligne pour - les cartes AdLib, SoundBlaster, et ProAudioSpectrum, - si vous voulez jouer de la musique au format MIDI avec - des logiciels comme <command>playmidi</command> - (au catalogue des logiciels portés).</para> - </listitem> - </varlistentry> - - <varlistentry><term>device mpu0 at isa? port 0x330 irq 6 drq - 0</term> - - <listitem> - <para>Carte d'extension Roland MPU-401.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device uart0 at isa? port 0x330 irq 5 vector - "m6850intr"</term> - - <listitem> - <para>Carte d'extension 6850 UART pour MIDI.</para> - </listitem> - </varlistentry> - - <varlistentry><term>device pca0 at isa? port "IO_TIMER1" - tty<anchor id="kernelconfig-pcaudio"></term> - - <listitem> - <para>Son digital via le haut-parleur PC. Ce son sera de - très mauvaise qualité et consommera beaucoup de CPU, vous - êtes donc prévenus (mais il n'y a pas besoin de carte - son).</para> - </listitem> - </varlistentry> - </variablelist> - - - <note> - <para>Le fichier - <filename>/usr/src/sys/i386/isa/sound/sound.doc</filename>. - contient un complément de documentation. Si vous ajoutez l'un - de ces pilotes, créez aussi les - <link linkend="kernelconfig-nodes">fichiers spéciaux de périphériques</link> - pour le son.</para> - </note> - - </sect2> - - <sect2> - <title>Pseudo-périphériques</title> - - <para>Les pilotes de pseudo-périphériques sont des parties du noyau - qui se comportent comme des pilotes de périphériques mais ne - correspondent à aucun matériel de la machine. Les - pseudo-périphériques associés au - <link linkend="kernelconfig-network">réseau</link> - sont décrits dans la section - correspondante, les autres sont décrits ici.</para> - - - <variablelist> - <varlistentry><term>pseudo-device gzip</term> - <listitem> - <para><literal>gzip</literal> vous permet d'exécuter des - programmes FreeBSD qui ont été compressés avec la commande - <command>gzip</command>. C'est le cas des programmes du - répertoire <filename>/stand</filename>, aussi est-ce une - bonne idée de garder cette option dans votre noyau.</para> - </listitem> - </varlistentry> - - <varlistentry><term>pseudo-device log</term> - - <listitem> - <para><literal>log</literal> est utilisé pour tracer les - messages d'erreur du noyau. Indispensable.</para> - </listitem> - </varlistentry> - - <varlistentry><term>pseudo-device pty - <replaceable>nombre</replaceable><anchor - id="kernelconfig-ptys"></term> - - <listitem> - <para><literal>pty</literal> est un - “pseudo-terminal” ou un port simulant une - session. Il est utilisé par les sessions - <command>telnet</command> et <command>rlogin</command> - entrantes, par xterm, et d'autres applications comme emacs. - <replaceable>nombre</replaceable> est le nombre de - <literal>pty</literal>s à créer. S'il vous faut plus du - défaut <filename>GENERIC</filename> de 16 fenêtres xterm - et/ou connexions à distance simultanées, veillez à - augmenter cette valeur en conséquence, jusqu'au maximum - de 64.</para> - </listitem> - </varlistentry> - - <varlistentry><term>pseudo-device snp - <replaceable>nombre</replaceable></term> - - <listitem> - <para>Pseudo-périphérique espion. Ce pseudo-périphérique - permet à une session d'en espionner une autre avec la commande - <citerefentry><refentrytitle>watch</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Notez - que l'implémentation de cette posibilité a d'importantes - conséquences sur la sécurité et la confidentialité. - Le <replaceable>nombre</replaceable> - qui suit snp est le nombre maximum de sessions - “espion” - simultanées. Optionnel.</para> - </listitem> - </varlistentry> - - <varlistentry><term>pseudo-device vn</term> - - <listitem> - <para>Pilote de noeud virtuel. Ce pilote permet d'utiliser - un fichier comme un périphérique après l'avoir configuré - avec la commande - <citerefentry><refentrytitle>vnconfig</refentrytitle><manvolnum>8</manvolnum></citerefentry>. - Il peut être utile pour manipuler des images de disquettes - ou pour utiliser un fichier comme périphérique de - pagination. (e.g. comme un fichier MS Windows de - pagination). En option.</para> - </listitem> - </varlistentry> - - <varlistentry><term>pseudo-device ccd - <replaceable>nombre</replaceable></term> - - <listitem> - <para>Disques concaténés, Ce pseudo-périphérique vous - permet de concaténer plusieurs partitions sur disque - en un seul gros “méta”-disque. Le - <replaceable>nombre</replaceable> après - ccd est le nombre maximum de disques concaténés (et non - le nombre maximum de disques qui peuvent être concaténés) - que l'on pourra créer. (Voyez les pages de manuel de - <citerefentry><refentrytitle>ccd</refentrytitle><manvolnum>4</manvolnum></citerefentry> - et <citerefentry><refentrytitle>ccdconfig</refentrytitle><manvolnum>8</manvolnum></citerefentry> - pour plus de détails.) En option.</para> - </listitem> - </varlistentry> - </variablelist> - - - </sect2> - - <sect2> - <title>Manette de jeu, haut-parleur PC, divers</title> - - <para>Cette section décrit des dispositifs divers qui sont - supportés par FreeBSD. Aucune de ces lignes ne se trouve - dans le noyau générique, vous devrez les recopier de ce manuel - ou du noyau LINT (qui inclut le support de - <emphasis>tous</emphasis> les périphériques):</para> - - <variablelist> - <varlistentry><term>device joy0 at isa? port "IO_GAME"</term> - <listitem> - <para>Manette de jeu PC.</para> - </listitem> - </varlistentry> - - <varlistentry><term>pseudo-device speaker</term> - - <listitem> - <para>Supporte les bruitages du style IBM BASIC via - le haut-parleur du PC. Certains programmes amusants - de <filename>/usr/sbin/spkrtest</filename>, qui est une - procédure qui joue quelques chansonnettes et - <filename>/usr/games/piano</filename>, qui vous permet - d'utiliser le clavier comme un piano rudimentaire (ce - fichier existe si vous avez installé les logiciels de - jeux <literal>games</literal>) utilisent cette possibilité. - L'excellent jeu de rôles en mode texte - <application>NetHack</application> (au catalogue des - logiciels portés) peut aussi être configuré pour faire - entendre la musique sur ce périphérique quand vous jouez - d'un instrument pendant le jeu.</para> - - <para>Voyez aussi ce qui concerne le périphérique - <link linkend="kernelconfig-pcaudio">pca0</link>.</para> - </listitem> - </varlistentry> - </variablelist> - - - </sect2> - </sect1> - - <sect1 - id="kernelconfig-nodes"> - <title>Créer les fichiers spéciaux de périphériques</title> - - <para>A pratiquement chaque périphérique correspond un - “noeud” (ou fichier spécial de périphérique) - dans le répertoire <filename>/dev</filename>. Ces noeuds ressemblent - à des fichiers ordinaires, mais sont en fait des points d'entrée - particuliers dans le noyau, qu'utilisent les programmes pour accéder - aux périphériques. La procédure - <filename>/dev/MAKEDEV</filename>, qui est exécutée à la première - installation du système d'exploitation, crée la plupart des noeuds - nécessaires. Cependant, elle ne les crée pas - <emphasis>tous</emphasis>, de sorte que, quand vous ajoutez le support - pour un nouveau périphérique, il vaut - la peine de vérifier que l'entrée - adéquate existe dans ce répertoire, et sinon, de l'y ajouter. Voici - un exemple simple:</para> - - <para>Supposons que vous ajoutiez au noyau le support du lecteur de - CD-ROMs IDE avec la ligne: - - <programlisting> -controller wcd0 - </programlisting> Cela signifie que vous devrez chercher une entrée - qui commence par <filename>wcd0</filename> dans le répertoire - <filename>/dev</filename>, éventuellement suivie d'une lettre comme - <literal>c</literal>, ou précédée de la lettre <literal>r</literal>, - qui désigne un périphérique en mode - caractère - “raw (brut)”. S'il - s'avère que ces fichiers n'existent - pas, vous devez aller dans le répertoire <filename>/dev</filename> - et taper: - - <informalexample> - <screen>&prompt.root; <userinput>sh MAKEDEV wcd0</userinput></screen> - </informalexample> Quand la procédure s'est exécutée, vous verrez - qu'il y a maintenant les entrées - <filename>wcd0c</filename> et <filename>rwcd0c</filename> - dans <filename>/dev</filename>. Ce qui vous confirme qu'elle a bien - fonctionné.</para> - - <para>Pour les cartes sons, la commande: - - <informalexample> - <screen>&prompt.root; <userinput>sh MAKEDEV snd0</userinput></screen> - </informalexample> créera les entrées nécessaires.</para> - - <note> - <para>Quand vous créez les noeuds pour des périphériques comme - les cartes sons, si d'autres personnes ont accès à votre - machine, il peut être souhaitable de protéger ces périphériques - d'accès extérieurs en les ajoutant au fichier - <filename>/etc/fbtab</filename> . Voyez <command>man - fbtab</command> pour plus d'informations.</para> - </note> - - <para>Suivez cette simple procédure pour tous les autres périphériques - absents de <filename>GENERIC</filename> pour lequels les entrées - n'existent pas encore.</para> - - <note> - <para>Tous les contrôleurs SCSI utilisent les mêmes entrées dans - <filename>/dev</filename>, vous n'avez donc pas besoin de les - créer. Par ailleurs, les cartes réseau et les pseudo-périphériques - SLIP/PPP n'ont pas d'entrée dans <filename>/dev</filename>, vous - n'avez donc pas non plus à vous en préoccupper.</para> - </note> - - </sect1> - - <sect1 - id="kernelconfig-trouble"> - <title>Si quelque chose se passe mal</title> - - <para>Il y a quatre types de problèmes que vous pouvez rencontrer - quand vous générez un noyau sur-mesure. Ce sont:</para> - - - <variablelist> - <varlistentry><term>La commande Config échoue.</term> - <listitem> - <para>Si la commande <command>config</command> échoue - quand vous lui donnez en paramètre la description de - votre noyau, vous avez probablement fait une simple - erreur quelque part. Heureusement - <command>config</command> vous affiche le numéro de - la ligne qui lui a posé problème, vous pouvez donc vous - y référez rapidement avec la commande <command>vi</command>. - Par exemple, si vous avez: - - <informalexample> - <screen>config: line 17: syntax error</screen> - </informalexample> vous pouvez aller droit au problème avec - <command>vi</command> en tapant <COMMAND>17G</COMMAND> - en mode commande. Vérifiez que le mot-clé est correctement - spécifié, en le comparant avec ce qu'il y a dans le noyau - GENERIC ou autre référence.</para> - </listitem> - </varlistentry> - - <varlistentry><term>La commande Make échoue.</term> - - <listitem> - <para>Si la commande <command>make</command> échoue, - c'est habituellement une erreur dans la description de - votre noyau, pas suffisamment sérieuse cependant pour - que la commande <command>config</command> la détecte. - Vérifiez là aussi votre fichier de configuration et, si - vous n'arrivez toujours pas à résoudre le problème, - adressez un courrier électronique à - &a.questions; en joignant votre fichier de configuration - du noyau, le diagnostic devrait être très rapide.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Le système ne redémarre pas avec le nouveau - noyau<anchor - id="kernelconfig-noboot">.</term> - - <listitem> - <para>Si votre système ne redémarre pas avec le nouveau noyau, - ou ne reconnaît pas vos périphériques, ne paniquez pas! - BSD est heureusement doté d'un excellent mécanisme pour - récupérer si le noyau n'est pas cohérent. Tapez simplement - le nom du noyau que vous voulez charger à l'invite de - démarrage de FreeBSD - (i.e. <filename>kernel.old</filename>) au lieu d'appuyer - sur Entrée. Quand vous reconfigurez votre noyau, c'est - toujours une bonne idée de garder sous le coude un noyau - dont vous savez qu'il fonctionne.</para> - - <para>Après avoir démarré le système avec un noyau en état de - marche, vous pouvez revérifier votre fichier de configuration - et essayer de recompiler de nouveau votre noyau. Les - indications du fichier - <filename>/var/log/messages</filename> qui enregistre, entre - autres, tous les messages du noyau à chaque démarrage - réussi peuvent vous aider. La commande - <citerefentry><refentrytitle>dmesg</refentrytitle><manvolnum>8</manvolnum></citerefentry> - vous affichera aussi les messages du noyau pour le dernier - démarrage.</para> - - <note> - <para>Si vous avez des difficultés à compiler un noyau, - veillez à conserver un noyau <filename>GENERIC</filename>, - ou un autre noyau dont vous savez qu'il fonctionne, sous - la main, avec un nom différent de celui que vous générez, - de façon à ce qu'il ne soit pas écrasé par la prochaine - compilation. Vous ne pouvez pas vous fier au noyau - <filename>kernel.old</filename>, parce qu'à l'installation - du nouveau noyau, il est surchargé par le dernier noyau - installé, dont il n'est pas certain qu'il soit opérationnel. - Déplacez aussi, aussitôt que possible, le noyau opérationnel - vers le bon fichier <filename>kernel</filename>, sans quoi - des commandes comme - <citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry> - ne s'exécuteront pas correctement. La bonne commande pour - “déverrouiller” le fichier - <filename>kernel</filename> installé par la commande - <command>make</command> (pour mettre définitivement en - place une autre noyau) est: - - <informalexample> - <screen>&prompt.root; <userinput>chflags noschg /kernel</userinput></screen> - </informalexample> Si vous voulez - “verrouiller” le noyau que vous venez - d'installer, ou tout autre fichier le cas échéant, - de sorte qu'il ne puisse être déplacé ou modifié, - utilisez: - - <informalexample> - <screen>&prompt.root; <userinput>chflags schg /kernel</userinput></screen> - </informalexample> - </para> - </note> - </listitem> - </varlistentry> - - <varlistentry><term>Le noyau est opérationnel, mais la commande - <command>ps</command> ne fonctionne plus!</term> - - <listitem> - <para>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 expérimental “2.2.0” sur - un système 2.1.0-RELEASE, de nombreuses commandes d'affichage - de l'état du système, telles - <citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry> and <citerefentry><refentrytitle>vmstat</refentrytitle><manvolnum>8</manvolnum></citerefentry> - ne fonctionneront plus. Vous devez recompiler la - bibliothèque <filename>libkvm</filename> de même que ces - utilitaires. 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.</para> - </listitem> - </varlistentry> - </variablelist> - - - - </sect1> - </chapter> -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-shorttag: nil - sgml-always-quote-attributes: t - sgml-minimize-attributes: max - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> diff --git a/fr_FR.ISO8859-1/books/handbook/kerneldebug/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/kerneldebug/chapter.sgml deleted file mode 100644 index b8c33414c3..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/kerneldebug/chapter.sgml +++ /dev/null @@ -1,682 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: 1.13 ---> - -<chapter id="kerneldebug"> - <title>Déboguer le noyau</title> - - <para><emphasis>Contribution de &a.paul; et &a.joerg;</emphasis></para> - &trans.a.haby; - - <sect1> - <title>Déboguer une trace de - plantage - <foreignphrase>crash - dump</foreignphrase> - avec <command>kgdb</command></title> - - <para>Voici quelques instructions pour déboguer le noyau en cas de - plantage. Elles supposent que vous avez suffisamment d'espace de - pagination pour enregistrer la trace du plantage. Si vous avez plusieurs - partitions de pagination et que la première est trop petite pour - archiver cette trace, vous pouvez configurer votre noyau pour utiliser - un autre fichier spécial de périphérique pour stocker - cette trace (à la ligne <literal>config kernel</literal>) ou vous - pouvez indiquer un autre fichier spécial de - périphérique avec la commande &man.dumpon.8;. La meilleure - méthode pour utiliser &man.dumpon.8; consiste à positionner - la variable <literal>dumpdev</literal> dans - <filename>/etc/rc.conf</filename>. Vous utiliserez typiquement une des - partitions de pagination définies dans - <filename>/etc/fstab</filename>. L'enregistrement de la trace sur d'autres - fichiers spéciaux de périphériques que les partitions - de pagination, des bandes par exemple, n'est actuellement pas - supporté. Configurez votre noyau avec <command>config -g</command>. - Reportez-vous au chapitre <link linkend="kernelconfig">Configuration du - noyau de FreeBSD</link> pour avoir plus de détails sur la - manière de procéder.</para> - - <para>Utilisez la commande &man.dumpon.8; pour dire au noyau où - enregistrer la trace (notez que cela doit être fait après - avoir configuré la partition en question comme partition de - pagination avec &man.swapon.8;). C'est normalement fait via - <filename>/etc/rc.conf</filename> et <filename>/etc/rc</filename>. Vous - pouvez aussi définir le fichier spécial de trace avec la - clause <literal>dump</literal> de la ligne <literal>config</literal> du - fichier de configuration du noyau. C'est déprécié - et ne devrait être utilisé que si vous voulez la trace d'un - plantage du noyau lors du démarrage du système.</para> - - <note> - <para>Dans ce qui suit, le terme <command>kgdb</command> se rapporte - à <command>gdb</command> exécuté en “mode - déboguage du noyau”. Cela se fait soit en lançant - <command>gdb</command> avec l'option <option>-k</option>, soit en - le générant et en le lançant sous le nom - <command>kgdb</command>. Ce n'est cependant pas fait par défaut, - et c'est une façon de faire obsolète, parce que les gens - du projet GNU n'aiment pas que leurs outils se comportent - différemment quand ils sont appelés d'un autre nom. Cette - fonctionnalité pourrait disparaître des versions - futures.</para> - </note> - - <para>Une fois que le noyau a été compilé, faites-en - une copie, disons <filename>kernel.debug</filename>, et exécutez - <command>strip -d</command> sur l'original. Installez l'original comme - d'habitude. Vous pouvez aussi installer le noyau non expurgé, mais - le temps de recherche dans la table des symboles augmentera de - façon dramatique pour certains programmes, et comme le noyau - est intégralement chargé en mémoire au - démarrage et y reste ensuite, vous gaspillerez plusieurs Mo de - mémoire physique.</para> - - <para>Si vous testez un nouveau noyau, par exemple en donnant le nom de ce - noyau au démarrage, mais avez besoin de démarrez avec un - autre noyau pour avoir de nouveau un système en état de - marche, démarrez uniquement en mode mono-utilisateur avec - l'indicateur <option>-s</option> à l'invite de démarrage et - effectuez ensuite les étapes suivantes :</para> - - <screen>&prompt.root; <userinput>fsck -p</userinput> -&prompt.root; <userinput>mount -a -t ufs</userinput> # de façon à ce qu'il soit possible d'écrire - # sur le système de fichiers pour /var/crash -&prompt.root; <userinput>savecore -N /kernel.panicked /var/crash</userinput> -&prompt.root; <userinput>exit</userinput> # ... en mode multi-utilisateur</screen> - - <para>Cela dit à &man.savecore.8; d'utiliser un autre noyau pour y - chercher les noms des symboles. Il utiliserait sans cela le noyau en cours - d'exécution et cela ne ménerait probablement à rien, - puisque les symboles de la trace de plantage et ceux du noyau ne sont pas - les mêmes.</para> - - <para>Maintenant, après un plantage, allez dans - <filename>/sys/compile/QUELQUE_CHOSE</filename> et lancez - <command>kgdb</command>. Sous <command>kgdb</command>, tapez :</para> - - <screen><userinput>symbol-file kernel.debug</userinput> -<userinput>exec-file /var/crash/kernel.0</userinput> -<userinput>core-file /var/crash/vmcore.0</userinput></screen> - - <para>et voilà, vous pouvez maintenant déboguer la trace de - plantage en vous servant des sources du noyau comme vous le feriez pour - n'importe quel autre programme.</para> - - <para>Voici la trace d'une session <command>kgdb</command> qui illustre la - façon de procéder. Les lignes trop longues ont - été scindées pour en faciliter la lecture, et les - lignes sont numérotées pour pouvoir y faire - référence. Malgré cela, c'est un exemple grandeur - nature, correspondant à une trace prise lors du - développement du pilote <devicename>pcvt</devicename>.</para> - -<screen> 1:Script started on Fri Dec 30 23:15:22 1994 - 2:&prompt.root; <userinput>cd /sys/compile/URIAH</userinput> - 3:&prompt.root; <userinput>kgdb kernel /var/crash/vmcore.1</userinput> - 4:Reading symbol data from /usr/src/sys/compile/URIAH/kernel -...done. - 5:IdlePTD 1f3000 - 6:panic: because you said to! - 7:current pcb at 1e3f70 - 8:Reading in symbols for ../../i386/i386/machdep.c...done. - 9:<prompt>(kgdb)</prompt> <userinput>where</userinput> -10:#0 boot (arghowto=256) (../../i386/i386/machdep.c line 767) -11:#1 0xf0115159 in panic () -12:#2 0xf01955bd in diediedie () (../../i386/i386/machdep.c line 698) -13:#3 0xf010185e in db_fncall () -14:#4 0xf0101586 in db_command (-266509132, -266509516, -267381073) -15:#5 0xf0101711 in db_command_loop () -16:#6 0xf01040a0 in db_trap () -17:#7 0xf0192976 in kdb_trap (12, 0, -272630436, -266743723) -18:#8 0xf019d2eb in trap_fatal (...) -19:#9 0xf019ce60 in trap_pfault (...) -20:#10 0xf019cb2f in trap (...) -21:#11 0xf01932a1 in exception:calltrap () -22:#12 0xf0191503 in cnopen (...) -23:#13 0xf0132c34 in spec_open () -24:#14 0xf012d014 in vn_open () -25:#15 0xf012a183 in open () -26:#16 0xf019d4eb in syscall (...) -27:<prompt>(kgdb)</prompt> <userinput>up 10</userinput> -28:Reading in symbols for ../../i386/i386/trap.c...done. -29:#10 0xf019cb2f in trap (frame={tf_es = -260440048, tf_ds = 16, tf_\ -30:edi = 3072, tf_esi = -266445372, tf_ebp = -272630356, tf_isp = -27\ -31:2630396, tf_ebx = -266427884, tf_edx = 12, tf_ecx = -266427884, tf\ -32:_eax = 64772224, tf_trapno = 12, tf_err = -272695296, tf_eip = -26\ -33:6672343, tf_cs = -266469368, tf_eflags = 66066, tf_esp = 3072, tf_\ -34:ss = -266427884}) (../../i386/i386/trap.c line 283) -35:283 (void) trap_pfault(&frame, FALSE); -36:<prompt>(kgdb)</prompt> <userinput>frame frame->tf_ebp frame->tf_eip</userinput> -37:Reading in symbols for ../../i386/isa/pcvt/pcvt_drv.c...done. -38:#0 0xf01ae729 in pcopen (dev=3072, flag=3, mode=8192, p=(struct p\ -39:roc *) 0xf07c0c00) (../../i386/isa/pcvt/pcvt_drv.c line 403) -40:403 return ((*linesw[tp->t_line].l_open)(dev, tp)); -41:<prompt>(kgdb)</prompt> <userinput>list</userinput> -42:398 -43:399 tp->t_state |= TS_CARR_ON; -44:400 tp->t_cflag |= CLOCAL; /* cannot be a modem (:-) */ -45:401 -46:402 #if PCVT_NETBSD || (PCVT_FREEBSD >= 200) -47:403 return ((*linesw[tp->t_line].l_open)(dev, tp)); -48:404 #else -49:405 return ((*linesw[tp->t_line].l_open)(dev, tp, flag)); -50:406 #endif /* PCVT_NETBSD || (PCVT_FREEBSD >= 200) */ -51:407 } -52:<prompt>(kgdb)</prompt> <userinput>print tp</userinput> -53:Reading in symbols for ../../i386/i386/cons.c...done. -54:$1 = (struct tty *) 0x1bae -55:<prompt>(kgdb)</prompt> <userinput>print tp->t_line</userinput> -56:$2 = 1767990816 -57:<prompt>(kgdb)</prompt> <userinput>up</userinput> -58:#1 0xf0191503 in cnopen (dev=0x00000000, flag=3, mode=8192, p=(st\ -59:ruct proc *) 0xf07c0c00) (../../i386/i386/cons.c line 126) -60: return ((*cdevsw[major(dev)].d_open)(dev, flag, mode, p)); -61:<prompt>(kgdb)</prompt> <userinput>up</userinput> -62:#2 0xf0132c34 in spec_open () -63:<prompt>(kgdb)</prompt> <userinput>up</userinput> -64:#3 0xf012d014 in vn_open () -65:<prompt>(kgdb)</prompt> <userinput>up</userinput> -66:#4 0xf012a183 in open () -67:<prompt>(kgdb)</prompt> <userinput>up</userinput> -68:#5 0xf019d4eb in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi =\ -69: 2158592, tf_esi = 0, tf_ebp = -272638436, tf_isp = -272629788, tf\ -70:_ebx = 7086, tf_edx = 1, tf_ecx = 0, tf_eax = 5, tf_trapno = 582, \ -71:tf_err = 582, tf_eip = 75749, tf_cs = 31, tf_eflags = 582, tf_esp \ -72:= -272638456, tf_ss = 39}) (../../i386/i386/trap.c line 673) -73:673 error = (*callp->sy_call)(p, args, rval); -74:<prompt>(kgdb)</prompt> <userinput>up</userinput> -75:Initial frame selected; you cannot go up. -76:<prompt>(kgdb)</prompt> <userinput>quit</userinput> -77:&prompt.root; <userinput>exit</userinput> -78:exit -79: -80:Script done on Fri Dec 30 23:18:04 1994</screen> - <para>Commentaires sur les résultats ci-dessus :</para> - - <variablelist> - <varlistentry> - <term>ligne 6 :</term> - - <listitem> - <para>C'est une trace obtenue depuis DDB (voir plus bas), d'où - le commentaire panique “<foreignphrase>because you said - to!</foreignphrase> - parce que vous l'avez - demandé” - et une assez longue trace de la - pile d'exécution; la raison initiale du passage sous DDB est - néanmoins la détection d'un défaut de - page.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>ligne 20 :</term> - - <listitem> - <para>C'est la position de l'appel à la fonction - <function>trap()</function> dans la pile.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>ligne 36 :</term> - - <listitem> - <para>Impose l'utilisation d'un nouveau contexte de - pile - <foreignphrase>stack frame</foreignphrase>; ce - n'est dorénavant plus nécessaire. Les contextes de - pile sont maintenant censés pointer sur les bonnes adresses, - même en cas de débranchement. (Je n'ai pas de trace - récente de plantage sous la main; mon noyau n'a pas - paniqué depuis un certain temps.) Au vu de la ligne 403 du - code source, il y a de fortes chances pour que soit le pointeur de - “tp” soit erronné soit il y ait - débordement dans le tableau.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>ligne 52 :</term> - - <listitem> - <para>Le pointeur semble suspect, mais il se trouve que l'adresse est - valide.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>ligne 56 :</term> - - <listitem> - <para>Il pointe cependant sur n'importe quoi, nous avons donc - trouvé notre erreur! (Pour ceux qui ne sont pas - familiarisés avec ce code particulier : - <literal>tp->t_line</literal> se rapporte à la gestion de - la liaison - <foreignphrase>line - discipline</foreignphrase> - du périphérique - console, qui doit être un entier assez petit.)</para> - </listitem> - </varlistentry> - </variablelist> - </sect1> - - <sect1> - <title>Déboguer une trace de plantage avec DDD</title> - - <para>Il est aussi possible d'examiner une trace de plantage avec un - débogueur graphique comme <command>ddd</command>. Ajoutez l'option - <option>-k</option> à la ligne de commande de - <command>ddd</command> que vous utiliseriez normalement. Par - exemple :</para> - - <screen>&prompt.root; <userinput>ddd -k /var/crash/kernel.0 /var/crash/vmcore.0</userinput></screen> - - <para>Vous devriez maintenant pouvoir examiner la trace de plantage avec - l'interface graphique de <command>ddd</command>.</para> - </sect1> - - <sect1> - <title>Analyser la trace après plantage</title> - - <para>Que faire si le noyau plante alors que vous ne l'aviez pas - prévu et donc que vous ne l'avez pas compilé avec - <command>config -g</command> ? Tout n'est pas perdu. Ne paniquez - pas !</para> - - <para>Il faut bien sûr que vous autorisiez l'archivage des traces de - plantage. Voyez plus haut quelles options vous devez utiliser pour - cela.</para> - - <para>Allez dans le répertoire de compilation de votre noyau et - éditez la ligne contenant <literal>COPTFLAGS?=-O</literal>. - Ajoutez-y l'option <option>-g</option> (mais ne changez - <emphasis>rien</emphasis> au niveau d'optimisation. Si vous avez - déjà une vague idée de là où se situe - le code fautif (e.g., le pilote <devicename>pcvt</devicename> dans - l'exemple précédent), supprimez tous les fichiers objets - correspondant à ce code. Recompilez le noyau. Du fait de la - modification de la date du <filename>Makefile</filename>, d'autres - objets seront reconstruits, par exemple, <filename>trap.o</filename>. Avec - un peu de chance, l'option supplémentaire <option>-g</option> ne - changera rien au code généré, vous aurez donc un - nouveau noyau dont le code est similaire à celui qui a - planté à l'exception de quelques symboles de - débogage. Vérifiez au moins les tailles des deux noyaux avec - la commande &man.size.1;. Si elles ne correspondent pas, vous devrez - probablement en rester là.</para> - - <para>Examinez maintenant la trace comme décrit plus haut. Il y aura - probablement par endroit des symboles de débogage incomplets, comme - on peut le voir dans la trace de la pile de l'exemple plus haut, où - certaines fonctions sont listées sans numéro de ligne et - liste d'arguments. S'il vous faut plus d'informations, supprimez les - fichiers objets et reprenez la session <command>kgdb</command> - jusqu'à ce que vous en sachiez assez.</para> - - <para>Il n'y a aucune garantie que tout cela marche, mais cela fera - l'affaire dans la plupart des cas.</para> - </sect1> - - <sect1> - <title>Déboguer en ligne le noyau avec DDB</title> - - <para>Tandis que <command>kgdb</command> comme débogueur hors-ligne - procure une interface utilisateur de très haut niveau, il y a - certaines choses qu'il ne peut pas faire. Les principales sont la mise en - place de points d'arrêt et l'exécution pas -à-pas du - code du noyau.</para> - - <para>Si vous devez faire du débogage de bas niveau de votre noyau, - il y a un débogueur de bas niveau appelé DDB. Il permet la - mise en place des points d'arrêt, l'exécution instruction - par instruction des fonctions du noyau, l'examen et la modification - de variables du noyau, etc. Il ne peut cependant pas accéder aux - fichiers source du noyau et n'a accès qu'aux symboles globaux et - statiques et non à la totalité des informations comme - <command>kgdb</command>.</para> - - <para>Pour configurer votre noyau pour y inclure DDB, ajoutez la ligne - d'option :</para> - - <programlisting> -options DDB</programlisting> - - <para>à votre fichier de configuration et recompilez-le. - (Reportez-vous au chapitre <link linkend="kernelconfig">Configurer le - noyau de FreeBSD </link> pour plus de détails sur la configuration - du noyau de FreeBSD.)</para> - - <note> - <para>Si vous avez une ancienne version des blocs de démarrage, les - symboles du débogueur peuvent ne pas être chargés du - tout. Mettez à jour les blocs de démarrage; les versions - récentes chargent automagiquement les symboles de DDB.</para> - </note> - - <para>Une fois que votre noyau incluant DDB s'exécute, il y a - plusieurs façons de passer sous DDB. La première et la plus - immédiate est d'utiliser l'option <option>-d</option> dès le - démarrage; Le noyau démarrera en mode débogage et - passera sous DDB avant même de tester la présence des - périphériques. Vous pouvez donc même déboguer - les fonctions de test et d'attachement des - périphériques.</para> - - <para>Le seconde est d'utiliser une combinaison de touches du clavier, - habituellement - <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>>Esc</keycap></keycombo>. - Avec <devicename>syscons</devicename>, cette combinaison peut être - redéfinie; certaines redéfinitions distribuées du - clavier le font, faites-y donc attention. Il existe une option pour les - consoles série qui permet d'utiliser un <keysym>Break</keysym> sur - la ligne console pour passer sous DDB - (<literal>options BREAK_TO_DEBUGGER</literal> dans le fichier de - configuration du noyau). Ce n'est pas l'option par défaut, parce - qu'il y a de nombreux adaptateurs série qui génèrent - gratuitement un <keysym>Break</keysym>, par exemple, lorsque l'on - débranche le câble.</para> - - <para>Troisièmement, le noyau passe sous DDB lorsqu'une condition - panique intervient, s'il est configuré pour l'utiliser. En - conséquence, il vaut mieux ne pas configurer le noyau pour qu'il - inclue DDB, si la machine n'est pas sous surveillance.</para> - - <para>Les commandes de DDB ressemblent assez à celles de - <command>gdb</command>. La première chose que vous devrez - probablement faire sera de placer un point d'arrêt :</para> - - <screen><userinput>b nom-de-fonction</userinput> -<userinput>b adresse</userinput></screen> - - <para>Par défaut, les nombres sont normalement donnés en - hexadécimal, mais, pour les distinguer des noms de symboles, les - nombres hexadécimaux qui commencent par les lettres - <literal>a-f</literal> doivent être précédés de - <literal>0x</literal> (c'est facultatif pour les autres nombres). On peut - utiliser des expressions simples, par exemple : - <literal>nom-de-fonction + 0x103</literal>.</para> - - <para>Pour reprendre l'exécution interrompue du noyau, tapez - simplement :</para> - - <screen><userinput>c</userinput></screen> - - <para>Pour avoir le trace de la pile d'exécution, tapez :</para> - - <screen><userinput>trace</userinput></screen> - - <note> - <para>Remarquez que quand vous passez sous DDB avec une combinaison de - touches, le noyau traite en fait une interruption, le contenu de la pile - d'exécution ne vous sera alors peut-être pas très - utile.</para> - </note> - - <para>Si vous voulez supprimer un point d'arrêt, servez-vous - de :</para> - - <screen><userinput>del</userinput> -<userinput>del expression-définissant-l'adresse</userinput></screen> - - <para>Le premier exemple sert immédiatement après être - arrivé à un point d'arrêt et supprime ce point - d'arrêt. Le second exemple permet de supprimer n'importe quel point - d'arrêt, mais il faut donner son adresse exacte; on peut l'obtenir - avec :</para> - - <screen><userinput>show b</userinput></screen> - - <para>Pour exécuter pas-à-pas le noyau, essayez :</para> - - <screen><userinput>s</userinput></screen> - - <para>Vous exécuterez ainsi pas-à-pas les fonctions, mais vous - pouvez aussi faire en sorte que DDB aille jusqu'à l'instruction de - retour d'une fonction avec :</para> - - <screen><userinput>n</userinput></screen> - - <note> - <para>Ce n'est pas la même chose que la commande - <command>next</command> de <command>gdb</command>, mais c'est - l'équivalent de la commande <command>finish</command>.</para> - </note> - - <para>Pour consulter le contenu de la mémoire, employez (par - exemple) :</para> - - <screen><userinput>x/wx 0xf0133fe0,40</userinput> -<userinput>x/hd db_symtab_space</userinput> -<userinput>x/bc termbuf,10</userinput> -<userinput>x/s stringbuf</userinput></screen> - - <para>pour accéder à des mots/demi-mots/octets, et pour - afficher des chaînes de valeurs - hexadécimales/décimales/caractères. La valeur - après la virgule est le nombre d'éléments. Pour - afficher les <literal>0x10</literal> éléments suivants, - tapez simplement :</para> - - <screen><userinput>x ,10</userinput></screen> - - <para>De même, utilisez :</para> - - <screen><userinput>x/ia foofunc,10</userinput></screen> - - <para>pour désassembler les <literal>0x10</literal> premières - instructions de <function>foofunc</function>, et les afficher avec leur - déplacement depuis le début de - <function>foofunc</function>.</para> - - <para>Pour modifer le contenu de la mémoire, utilisez la commande - d'écriture :</para> - - <screen><userinput>w/b termbuf 0xa 0xb 0</userinput> -<userinput>w/w 0xf0010030 0 0</userinput></screen> - - <para>Le paramètre de la commande - (<literal>b</literal>/<literal>h</literal>/<literal>w</literal>) - indique la taille de la valeur à écrire, la première - expression qui suit est l'adresse où écrire et la suite est - interprétée comme donnant les valeurs à écrire - en séquence en mémoire.</para> - - <para>Si vous avez besoin de connaître le contenu des registres, - servez-vous de :</para> - - <screen><userinput>show reg</userinput></screen> - - <para>Vous pouvez aussi afficher la valeur d'un seul registre avec, par - exemple :</para> - - <screen><userinput>p $eax</userinput></screen> - - <para>et la modifier avec :</para> - - <screen><userinput>set $eax nouvelle-valeur</userinput></screen> - - <para>Si vous voulez appeler une fonction du noyau depuis DDB, dites - simplement :</para> - - <screen><userinput>call func(arg1, arg2, ...)</userinput></screen> - - <para>La valeur de retour sera affichée.</para> - - <para>Pour avoir un résumé du style &man.ps.1; des processus - lancés, utilisez :</para> - - <screen><userinput>ps</userinput></screen> - - <para>Vous avez maintenant examiné la raison de l'échec de - votre noyau, et voulez redémarrer le système. Rappelez-vous - que, selon la gravité des dysfonctionnements - précédents, toutes les parties du noyau ne fonctionneront - peut-être pas comme prévu. Redémarrez votre - système, avec l'un des moyens suivants :</para> - - <screen><userinput>call diediedie()</userinput></screen> - - <para>Votre noyau enregistrera une trace de plantage et redémarrera, - vous pourrez donc analyser à plus haut niveau la trace avec - <command>kgdb</command>. Cette commande doit habituellement être - suivie d'une instruction <command>continue</command>. Il y a maintenant - un alias pour cela : <command>panic</command>.</para> - - <screen><userinput>call boot(0)</userinput></screen> - - <para>C'est une bonne méthode pour arrêter proprement le - système, exécuter <function>sync()</function> sur tous les - disques et ensuite redémarrer. Tant que le disque et les interfaces - du système de fichier du noyau ne sont pas endommagés, ce - peut être une bonne façon d'arrêter presque proprement - le système.</para> - - <screen><userinput>call cpu_reset()</userinput></screen> - - <para>est la méthode ultime pour se sortir du désastre et - c'est à peu près la même chose que d'appuyer sur le - Bouton Rouge.</para> - - <para>Si vous avez besoin d'un bref résumé des commandes, - tapez simplemement :</para> - - <screen><userinput>help</userinput></screen> - - <para>Il est néanmoins chaudement recommandé d'avoir sous la - main un exemplaire des pages de manuel de &man.ddb.4; lors d'une session - de débogage. Rappelez-vous qu'il peut être difficile de lire - le manuel en ligne tandis que l'on exécute pas-à-pas le - noyau.</para> - </sect1> - - <sect1> - <title>Déboguer en ligne le noyau en utilisant GDB à - distance</title> - - <para>Cette fonctionnalité est supportée depuis FreeBSD 2.2, - et est de fait très élégante.</para> - - <para>GDB supporte déjà depuis longtemps le - <emphasis>débogage à distance</emphasis>. Cela se fait avec - un protocole très simple sur une ligne série. A l'inverse - des autres méthode décrite plus haut, il vous faudra pour - cela deux machines. L'une fournit l'environnement de débogage, y - compris la totalité des sources, et un exemplaire du binaire du - noyau incluant tous les symboles, et l'autre est la machine cible qui - exécute un exemplaire identique du noyau (mais sans les - informations de débogage).</para> - - <para>Vous devrez configurer le noyau en question avec <command>config - -g</command>, inclure <option>DDB</option> à sa configuration, et - le compiler comme d'habitude. Cela donne un binaire assez imposant, du - fait des informations de débogage. Copiez ce noyau sur la machine - cible, supprimez les informations de débogage avec <command>strip - -x</command>, et démarrez avec l'option <option>-d</option>. - Reliez la première ligne série de la machine cible à - n'importe quelle ligne série de la machine de débogage. - Allez maintenant dans le répertoire de compilation du noyau de la - machine de débogage, et lancez <command>gdb</command> :</para> - - <screen>&prompt.user; <userinput>gdb -k kernel</userinput> -GDB is free software and you are welcome to distribute copies of it - under certain conditions; type "show copying" to see the conditions. -There is absolutely no warranty for GDB; type "show warranty" for details. -GDB 4.16 (i386-unknown-freebsd), -Copyright 1996 Free Software Foundation, Inc... -<prompt>(kgdb)</prompt> </screen> - - <para>Initialisez la session de débogage à distance (en - supposant que l'on utilise le premier port série) - avec :</para> - - <screen><prompt>(kgdb)</prompt> <userinput>target remote /dev/cuaa0</userinput></screen> - - <para>Puis, sur la machine cible (celle qui est passée sous DDB avant - même de tester la présence des périphériques), - tapez :</para> - - <screen>Debugger("Boot flags requested debugger") -Stopped at Debugger+0x35: movb $0, edata+0x51bc -<prompt>db></prompt> <userinput>gdb</userinput></screen> - - <para>DDB répondra par :</para> - - <screen>Next trap will enter GDB remote protocol mode</screen> - - <para>Chaque que vous taperez <command>gdb</command>, vous passerez de GDB - à distance à DDB en local et inversement. Pour basculer - immédiatement, tapez simplement <command>s</command> - (<foreignphrase>step</foreignphrase>). Votre GDB hôte aura - maintenant le contrôle du noyau cible :</para> - - <screen>Remote debugging using /dev/cuaa0 -Debugger (msg=0xf01b0383 "Boot flags requested debugger") - at ../../i386/i386/db_interface.c:257 -<prompt>(kgdb)</prompt></screen> - - <para>Vous pouvez faire sous cette session à peu près les - mêmes choses qu'avec n'importe quelle autre session GDB, y compris - accéder intégralement au source, l'exécuter en mode - <foreignphrase>gud</foreignphrase> dans une fenêtre Emacs (ce qui - provoque l'affichage automatique du code source dans une autre - fenêtre Emacs), etc.</para> - - <para>GDB peut aussi être utilisé à distance pour - déboguer des modules du noyau à chargement - dynamique - <foreignphrase>LKM</foreignphrase>. Compilez d'abord - le module avec les symboles de débogage :</para> - - <screen>&prompt.root; <userinput>cd /usr/src/lkm/linux</userinput> -&prompt.root; <userinput>make clean; make COPTS=-g</userinput></screen> - - <para>Installez ensuite cette version du module sur la machine cible, - chargez-le et utilisez <command>modstat</command> pour trouver où - il a été chargé :</para> - - <screen>&prompt.root; <userinput>linux</userinput> -&prompt.root; <userinput>modstat</userinput> -Type Id Off Loadaddr Size Info Rev Module Name -EXEC 0 4 f5109000 001c f510f010 1 linux_mod</screen> - - <para>Prenez l'adresse de chargement et ajoutez-y <literal>0x20</literal> - (probablement pour prendre en compte l'en-tête a.out). C'est - l'adresse où le code du module a été relogé. - Utilisez la commande <command>add-symbol-file</command> de GDB pour - informer le débogueur de l'existence du module :</para> - - <screen><prompt>(kgdb)</prompt> <userinput>add-symbol-file /usr/src/lkm/linux/linux_mod.o 0xf5109020</userinput> -add symbol table from file "/usr/src/lkm/linux/linux_mod.o" at -text_addr = 0xf5109020? (y or n) <userinput>y</userinput> -<prompt>(kgdb)</prompt></screen> - - <para>Vous avez maintenant accès à tous les symboles du - module.</para> - </sect1> - - <sect1> - <title>Déboguer un pilote de console</title> - - <para>Comme vous avez besoin d'un pilote de console pour faire tourner DDB, - les choses sont plus compliquées si c'est le pilote de console - lui-même qui a des problèmes. Vous pouvez penser à - utiliser une console série (soit avec des blocs de démarrage - modifiés, soit en utilisant l'option <option>-h</option> à - l'invite <prompt>Boot:</prompt>) et connecter un terminal standard au - premier port série. DDB fonctionne avec n'importe quel pilote de - console configuré, donc bien sûr aussi avec une console - série.</para> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> - diff --git a/fr_FR.ISO8859-1/books/handbook/kernelopts/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/kernelopts/chapter.sgml deleted file mode 100644 index 7837338269..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/kernelopts/chapter.sgml +++ /dev/null @@ -1,200 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: 1.9 ---> - -<chapter id="kernelopts"> - <title>Ajouter de nouvelles options de configuration du noyau</title> - - <para><emphasis>Contribution de &a.joerg;</emphasis></para> - &trans.a.haby; - - <note> - <para>Vous devez être familiarisé avec le chapitre - <link linkend="kernelconfig">Configurer le noyau de FreeBSD</link> avant - de lire ce chapitre.</para> - </note> - - <sect1> - <title>Au fait, qu'est-ce-qu'une <emphasis>option du - noyau</emphasis> ?</title> - - <para>L'utilisation des options du noyau est principalement décrite - au chapitre <link linkend="kernelconfig-options">Configurer le noyau de - FreeBSD</link>. Il y a aussi des explications à propos des options - “historiques” et “nouveau style”. L'objectif final - est de remplacer toutes les options supportées du noyau par des - options de nouveau style, de façon à ce que pour ceux qui - ont correctement exécuté <command>make depend</command> dans - leur répertoire de compilation du noyau après - &man.config.8;, la phase de compilation retrouve automatiquement les - options modifiées et ne recompile que les fichiers - nécessaires. Il n'y aura alors plus besoin d'effacer tous les - fichiers de l'ancien répertoire de compilation après - chaque &man.config.8;, comme c'est encore le cas.</para> - - <para>Une option du noyau n'est essentiellement rien de plus que la - définition d'une macro-instruction du préprocesseur C pour - la compilation du noyau. Pour que la compilation soit vraiment - optionnelle, la partie correspondante du source du noyau (ou le fichier - <filename>.h</filename> du noyau) doit être écrit avec - l'option à l'esprit, i.e., la valeur par défaut doit pouvoir - être surchargée par l'option de configuration. C'est - habituellement réalisé avec quelque chose - comme :</para> - - <programlisting> -#ifndef CETTE_OPTION -#define CETTE_OPTION (une valeur par défaut) -#endif /* CETTE_OPTION */ - </programlisting> - - <para>De la sorte, un administrateur donnant une autre valeur à - l'option dans son fichier de configuration, désactivera la valeur - par défaut et la remplacera par sa nouvelle valeur. Bien - évidemment, la nouvelle valeur sera substituée dans le code - par le préprocesseur, ce doit donc être une expression C - valide dans le contexte dans lequel était utilisée la - valeur par défaut.</para> - - <para>Il est aussi possible de définir une option sans valeur qui - encadre une partie donnée du code pour la mettre en service ou - non :</para> - - <programlisting> -#ifdef CETTE_OPTION - -[votre code] - -#endif - </programlisting> - - <para>Simplement indiquer <literal>CETTE_OPTION</literal> dans le fichier de - de configuration (avec ou sans valeur) mettra en service le code - correspondant.</para> - - <para>Les gens qui ont l'habitude du langage C auront immédiatement - compris que n'importe quoi peut être une option de configuration, - dès lors qu'il y a au moins un <literal>#ifdef</literal> qui y fait - référence... Il y a cependant peu de chance que beaucoup - utilisent :</para> - - <programlisting> -options notyet,notdef</programlisting> - - <para>dans leur fichier de configuration, et se demandent ensuite pourquoi - la compilation du noyau échoue. <!-- smiley -->:-)</para> - - <para>A l'évidence, donner n'importe quel nom aux options rend - très difficile de retrouver où elles sont utilisées - dans l'arborescence des sources du noyau. C'est la raison d'être de - l'organisation des options de <emphasis>nouveau style</emphasis>, - dans laquelle chaque option est définie dans un - <filename>.h</filename> distinct du répertoire de compilation du - noyau, appelé par convention - <filename>opt_<replaceable>foo</replaceable>.h</filename>. De cette - façon, les dépendances habituelles dans le - <filename>Makefile</filename> s'appliquent, et <command>make</command> - peut savoir ce qu'il faut recompiler quand une option a été - modifiée.</para> - - <para>Le mécanisme d'option de style ancien a un avantage dans le cas - des options locales ou éventuellement expérimentales dont - la durée de vie prévue est courte : comme il est - simple d'ajouter un <literal>#ifdef</literal> au source du noyau, cela - en fait d'office une option de configuration du noyau. Dans ce cas, - l'administrateur qui utilise une telle option doit lui-même - savoir ce que cela implique (et éventuellement forcer la - recompilation de parties de son noyau). Une fois que toutes les options - supportées auront été converties, &man.config.8; - émettra un message d'avertissement toutes les fois qu'une option - non supportée sera détectée, mais il l'incluera - malgré tout dans le <filename>Makefile</filename> du - noyau.</para> - </sect1> - - <sect1> - <title>Que faut-il donc faire maintenant ?</title> - - <para>Editez d'abord <filename>sys/conf/options</filename> (ou - <filename>sys/i386/conf/options.<replaceable><arch></replaceable></filename>, - e. g., <filename>sys/i386/conf/options.i386</filename>), et - sélectionnez le fichier - <filename>opt_<replaceable>foo</replaceable>.h</filename> où votre - option ira le mieux.</para> - - <para>S'il y a déjà quelque chose qui se rapproche de - l'objectif de la nouvelle option, utilisez-le. Par exemple, les options - qui modifient le comportement général du sous-système - SCSI vont dans <filename>opt_scsi.h</filename>. Par défaut, le fait - d'indiquer une option dans le fichier d'option approprié, disons - <literal>FOO</literal>, implique que sa valeur sera définie dans le - fichier <filename>opt_foo.h</filename>. Ce peut être - surchargé dans la partie droite de la règle en indiquant un - autre nom de fichier.</para> - - <para>S'il n'y a pas encore de fichier - <filename>opt_<replaceable>foo</replaceable>.h</filename> pour la nouvelle - option envisagée, inventez un nouveau nom. Faites en sorte qu'il - soit significatif, et ajoutez des commentaires à la nouvelle - section du fichier - <filename>options[<replaceable>.<arch></replaceable>]</filename>. - &man.config.8; s'apercevra automagiquement de la modification et - créera ce fichier la prochaine fois qu'il sera utilisé. La - plupart des options vont normalement dans un fichier d'en-tête qui - leur est propre.</para> - - <para>Incorporer trop d'options à un même - <filename>opt_<replaceable>foo</replaceable>.h</filename> entraînera - la recompilation de nombreux fichiers du noyau dès qu'une des - options du fichier de configuration aura été - modifiée.</para> - - <para>Pour finir, déterminez quels fichiers du noyau dépendent - de la nouvelle option. A moins que vous veniez de l'inventer, et qu'elle - n'existe encore nulle part :</para> - <screen>&prompt.user; <userinput>find /usr/src/sys -name type f | xargs fgrep NEW_OPTION</userinput></screen> - <para>vous aidera à les trouver. Editez ces fichiers et - ajoutez-y :</para> - <programlisting> -#include "opt_foo.h" - </programlisting> - <para><emphasis>au début</emphasis>, avant tout autre - <literal>#include <xxx.h></literal>. Cet ordre est très - important, parce que les options peuvent surcharger les valeurs par - défaut des fichiers inclus habituels, si les valeurs par - défaut sont données sous forme :</para> - <programlisting> -#ifndef NOUVELLE_OPTION -#define NOUVELLE_OPTION (quelque chose) -#endif - </programlisting> - <para>dans l'en-tête habituelle.</para> - - <para>Ajouter une option qui redéfinisse quelque chose dans un - fichier d'en-tête du système (i.e., un fichier dans - <filename>/usr/include/sys/</filename>) est presque toujours une erreur. - <filename>opt_<replaceable>foo</replaceable>.h</filename> ne peut pas - être inclus dans ces fichiers parce que cela dégraderait plus - sérieusement les en-têtes, et s'il n'est pas inclus, il peut - alors y avoir des valeurs inconsistantes pour l'option là - où il est inclus. Oui, il y a déjà des - précédents, mais cela ne rend pas l'opération plus - correcte.</para> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> - diff --git a/fr_FR.ISO8859-1/books/handbook/l10n/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/l10n/chapter.sgml deleted file mode 100644 index f7e8c9fae2..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/l10n/chapter.sgml +++ /dev/null @@ -1,376 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: 1.9 ---> - -<chapter id="l10n"> - <title>Localisation</title> - &trans.a.haby; - - <sect1 id="russian"> - <title>Russe (codage KOI8-R)</title> - - <para><emphasis>Contribution de &a.ache; 1 Mai - 1997</emphasis>.</para> - - <para>Vous trouverez plus d'informations sur la codification KOI8-R dans les - <ulink URL="http://www.nagual.pp.ru/~ache/koi8.html">Références - KOI8-R (Jeu de caractères russes pour Internet)</ulink>.</para> - - <sect2 id="russian-console"> - <title>Configuration de la console</title> - - <procedure> - <step> - <para>Ajoutez la ligne suivante à votre fichier de - configuration du noyau :</para> - - <programlisting> -options "SC_MOUSE_CHAR=0x03"</programlisting> - - <para>pour déplacer les codes utilisés pour le curseur - de la souris hors de la plage des caractères - pseudographiques KOI8-R.</para> - </step> - - <step> - <para>L'entrée pour la console russe de - <filename>/etc/rc.conf</filename> doit ressembler - à :</para> - - <programlisting> -keymap=ru.koi8-r -keychange="61 ^[[K" -scrnmap=koi8-r2cp866 -font8x16=cp866b-8x16 -font8x14=cp866-8x14 -font8x8=cp866-8x8</programlisting> - - <note> - <para><literal>^[</literal> signifie qu'il faut mettre le - caractère <keycap>ESC</keycap> dans - <filename>/etc/rc.conf</filename>, et non la chaîne de - caractères <literal>^[</literal>.</para> - </note> - - <para>Cela correspond au clavier KOI8-R avec la police de - caractères alternative correspondant à la codification - KOI8-R pour conserver les caractères pseudographiques et - à la touche <keycap>Gray Delete</keycap> - reconfigurée pour correspondre à l'entrée pour - le russe de &man.termcap.5; pour la console FreeBSD.</para> - - <para>Le passage de russe à latin se fera avec - <keycap>CapsLock</keycap>. L'ancienne fonctionnalitée de - <keycap>CapsLock</keycap> est toujours disponible avec - <keycombo><keycap>Shift</keycap><keycap>CapsLock</keycap></keycombo>. - La diode <keycap>CapsLock</keycap> indiquera que le mode russe est - actif, et non le mode majuscules.</para> - </step> - - <step> - <para>Pour chaque entrée <literal>ttyv?</literal> de - <filename>/etc/ttys</filename>, modifiez le type de terminal de - <literal>cons25</literal> en <literal>cons25r</literal>, i.e., - chaque entrée ressemblera à :</para> - - <programlisting> -ttyv0 "/usr/libexec/getty Pc" cons25r on secure</programlisting> - </step> - </procedure> - </sect2> - - <sect2 id="russian-locale"> - <title>Configuration pour - “<foreignphrase>locale</foreignphrase>”</title> - - <para><anchor id="russian-env">Il y a deux variables d'environnement pour - la configuration de - “<foreignphrase>locale</foreignphrase>” :</para> - - <itemizedlist> - <listitem> - <para><envar>LANG</envar> pour la famille de fonctions POSIX - &man.setlocale.3;,</para> - </listitem> - - <listitem> - <para><envar>MM_CHARSET</envar> pour le jeu de caractères des - applications MIME.</para> - </listitem> - </itemizedlist> - - <para>La meilleure façon de procéder est d'utiliser la - classe de session utilisateur <literal>russian</literal> de - &man.passwd.5; dans <filename>/etc/login.conf</filename>. Reportez-vous - aux pages de manuel de &man.login.conf.5; pour plus de - précisions.</para> - - <sect3 id="russian-class"> - <title>Méthode utilisant la classe de session utilisateur</title> - - <para>Vérifiez tout d'abord qu'il y a bien une classe de session - <literal>russian</literal> dans votre - <filename>/etc/login.conf</filename>, cette entrée ressemble - probablement à :</para> - - <programlisting> -russian:Russian Users Accounts:\ - :charset=KOI8-R:\ - :lang=ru_RU.KOI8-R:\ - :tc=default:</programlisting> - - <sect4> - <title>Comment faire avec &man.vipw.8;</title> - - <para>Si vous utilisez &man.vipw.8; pour ajouter de nouveaux comptes, - les entrées de <filename>/etc/master.passwd</filename> - doivent ressembler à :</para> - - <programlisting> -utilisateur:mot_de_passe:1111:11:russian:0:0:Nom d'utilisateur: - /home/utilisateur:/bin/csh</programlisting> - </sect4> - - <sect4> - <title>Comment faire avec &man.adduser.8;</title> - - <para>Si vous utilisez &man.adduser.8; pour ajouter de nouveaux - comptes :</para> - - <itemizedlist> - <listitem> - <para>Positionnez :</para> - - <programlisting> -defaultclass = russian</programlisting> - - <para>dans <filename>/etc/adduser.conf</filename> (vous devez - dans ce cas indiquer la classe <literal>default</literal> pour - tous les comptes autres que russes),</para> - </listitem> - - <listitem> - <para>Une autre façon de faire est de répondre - <literal>russian</literal> chaque fois que vous - voyez l'invite :</para> - - <screen><prompt>Enter login class:</prompt> default []:</screen> - <para>de &man.adduser.8;,</para> - </listitem> - - <listitem> - <para>Autre variante : utilisez :</para> - - <screen>&prompt.root; <userinput>adduser -class russian</userinput></screen> - - <para>chaque fois que vous voulez ajouter un compte utilisateur - russe.</para> - </listitem> - </itemizedlist> - </sect4> - - <sect4> - <title>Comment faire avec &man.pw.8;</title> - - <para>Si vous utilisez &man.pw.8; pour ajouter de nouveaux comptes, - appelez-le comme suit :</para> - - <screen>&prompt.root; <userinput>pw useradd nom_d_utilisateur -L russian</userinput></screen> - </sect4> - </sect3> - - <sect3> - <title>Méthode utilisant les fichiers d'initialisation de - l'interpréteur de commandes</title> - - <para>Si vous ne voulez pas utiliser <link linkend="russian-class">la - méthode par la classe de session</link> pour une raison ou une - autre, positionnez simplement ces <link linkend="russian-env">deux - variables d'environnement</link> dans les fichiers de démarrage - de l'interpréteur de commandes suivants :</para> - - <itemizedlist> - <listitem> - <para><filename>/etc/profile</filename> :</para> - - <programlisting> -LANG=ru_RU.KOI8-R; export LANG -MM_CHARSET=KOI8-R; export MM_CHARSET</programlisting> - </listitem> - - <listitem> - <para><filename>/etc/csh.login</filename> :</para> - - <programlisting> -setenv LANG ru_RU.KOI8-R -setenv MM_CHARSET KOI8-R</programlisting> - </listitem> - </itemizedlist> - - <para>Vous pouvez aussi ajouter ces instructions à :</para> - - <itemizedlist> - <listitem> - <para><filename>/usr/share/skel/dot.profile</filename> :</para> - - <para>(comme pour <filename>/etc/profile</filename> - ci-dessus);</para> - </listitem> - - <listitem> - <para><filename>/usr/share/skel/dot.login</filename> :</para> - - <para>(comme pour <filename>/etc/csh.login</filename> - ci-dessus).</para> - </listitem> - </itemizedlist> - </sect3> - </sect2> - - <sect2 id="russian-printer"> - <title>Configuration de l'imprimante</title> - - <para>Comme la plupart des imprimantes qui ont un jeu de caractères - russes ont un “code page” matériel CP866, il faut un - filtre de sortie spécial pour la conversion KOI8-R -> CP866. - Ce type de filtre s'installe par défaut dans - <filename>/usr/libexec/lpr/ru/koi2alt</filename>. L'entrée de - <filename>/etc/printcap</filename> pour l'imprimante russe devra donc - ressembler à :</para> - - <programlisting> -lp|Imprimante ligne russe locale:\ - :sh:of=/usr/libexec/lpr/ru/koi2alt:\ - :lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:</programlisting> - - <para>Reportez-vous aux pages de manuel de &man.printcap.5; pour plus de - détails.</para> - </sect2> - - <sect2 id="russian-msdosfs"> - <title>Système de fichiers MSDOS et noms de fichiers russes</title> - - <para>Suivez l'exemple d'entrée dans &man.fstab.5; ci-dessous pour - autoriser les noms de fichiers en russe avec le système de - fichiers MSDOS :</para> - - <programlisting> -/dev/sd0s1 /dos/c msdos rw,-W=koi2dos,-L=ru_RU.KOI8-R 0 0</programlisting> - - <para>Reportez-vous aux pages de manuel de &man.mount.msdos.8; pour avoir - une description détaillée des options <option>-W</option> - et <option>-L</option>.</para> - </sect2> - - <sect2 id="russian-xwindow"> - <title>Configuration de X Window</title> - - <para>Instructions pas-à-pas:</para> - - <procedure> - <step> - <para>Configurez d'abord - <link linkend="russian-locale">“<foreignphrase>locale</foreignphrase>”</link> - indépendamment de X, comme expliqué plus haut.</para> - - <note> - <para><anchor id="russian-note">La configuration KOI8-R russe pour - “<foreignphrase>locale</foreignphrase>” peut ne pas - marcher avec d'anciennes versions de XFree86 (antérieures - à la 3.3). La version de XFree86 de - <filename>/usr/ports/x11/XFree86</filename> est d'hors et - déjà la plus récente, cela fonctionnera donc, - si vous avez installé cette version de XFree86. La version - de XFree86 fournie avec la dernière version de FreeBSD - devrait aussi marcher (Vérifiez que le numéro de - version de XFree86 est au moins 3.3).</para> - </note> - </step> - - <step> - <para>Allez dans le répertoire - <filename>/usr/ports/russian/X.language</filename> et - tapez-y :</para> - - <screen>&prompt.root; <userinput>make all install</userinput></screen> - <para>Cela installe la dernière version des polices de - caractères KOI8-R. Il y a déjà des polices - KOI8-R fournies avec XFree86 3.3, mais les précédentes - se redimensionnent mieux.</para> - - <para>Consultez la section <literal>"Files"</literal> de votre - <filename>/etc/XF86Config</filename>, les lignes suivantes doivent - précéder toutes autres entrées - <literal>FontPath</literal> :</para> - - <programlisting> -FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc" -FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi" -FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"</programlisting> - - <para>Si vous utilisez un mode vidéo haute résolution, - intervertissez les lignes 75 dpi et 100 dpi.</para> - </step> - - <step> - <para>Pour mettre en service le clavier russe, ajoutez la - ligne :</para> - - <programlisting> -XkbKeymap "xfree86(ru)" - </programlisting> - - <para>à la section <literal>"Keyboard"</literal> de - <filename>/etc/XF86Config</filename>, et vérifiez que - <literal>XkbDisable</literal> y est désactivé - (mis en commentaires).</para> - - <para>Le passage de russe à latin se fera avec - <keycap>CapsLock</keycap>. L'ancienne fonctionnalitée de - CapsLock est toujours disponible avec - <keycombo><keycap>Shift</keycap><keycap>CapsLock</keycap></keycombo> - (en mode latin uniquement).</para> - - <note> - <para>Le clavier russe XKB peut ne pas fonctionner avec d'anciennes - versions de XFree86, voyez la <link linkend="russian-note">note - à propos de - “<foreignphrase>locale</foreignphrase>”</link> pour - plus d'informations. Le clavier russe XKB peut aussi ne pas - fonctionner avec des applications non localisées, pour - être un minimum localisée, une application doit - appeler la fonction - <literal>XtSetLanguageProc (NULL, NULL, NULL);</literal> assez en - amont dans le code.</para> - </note> - </step> - </procedure> - </sect2> - </sect1> - - <sect1 id="german"> - <title>Allemand (ISO 8859-1)</title> - - <para>Slaven Rezic <email>eserte@cs.tu-berlin.de</email> a - rédigé un guide sur l'utilisation des - <foreignphrase>umlaut</foreignphrase>s sur une machine FreeBSD. Ce guide - est écrit en allemand et disponible sur - <ulink URL="http://www.de.freebsd.org/de/umlaute/">http://www.de.freebsd.org/de/umlaute/</ulink>.</para> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> - diff --git a/fr_FR.ISO8859-1/books/handbook/linuxemu/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/linuxemu/chapter.sgml deleted file mode 100644 index 45a5234038..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/linuxemu/chapter.sgml +++ /dev/null @@ -1,973 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: 1.11 ---> - -<chapter id="linuxemu"> - <title>Emulation Linux</title> - - <para><emphasis>Contribution de &a.handy; et &a.rich;</emphasis></para> - &trans.a.haby; - - <sect1> - <title>Comment installer l'émulateur Linux</title> - - <para>L'émulation de Linux sous FreeBSD a atteint un point où - il est possible d'exécuter une grande partie des binaires Linux - et au format a.out et au format ELF. L'émulation Linux de la - branche 2.1-stable peut exécuter les versions Linux de Doom et - Mathematica; la version de l'émulateur sous &rel.current;-release - a encore plus de possibilités et exécute en plus de ces - programmes, les versions Linux de Quake, Abuse, IDL, netrek et bien - d'autres programmes.</para> - - <para>Il y a quelques particularités du système d'exploitation - Linux qui ne sont pas supportées sous FreeBSD. Les binaires Linux - ne fonctionneront pas sous FreeBSD s'ils utilisent le système de - fichiers <filename>/proc</filename> de Linux (qui diffère du - système de fichiers <filename>/proc</filename> optionnel de - FreeBSD) ou des appels i386 spécifiques, comme l'activation du - mode virtuel 8086.</para> - - <para>Selon la version de FreeBSD que vous utilisez, la mise en oeuvre de - l'émulation Linux se fait de façon légèrement - différente :</para> - - <sect2> - <title>Installer l'émulation Linux sous 2.1-stable</title> - - <para>Le noyau <filename>GENERIC</filename> de 2.1-stable n'est pas - configuré pour être compatible Linux, vous devez donc le - reconfigurer pour cela. Il y a deux façons de faire :</para> - - <orderedlist> - <listitem> - <para>Lier statiquement l'émulateur Linux au noyau - lui-même,</para> - </listitem> - <listitem> - <para>Configurer le noyau pour qu'il charge dynamiquement le module - Linux.</para> - </listitem> - </orderedlist> - - <para>Pour mettre en oeuvre l'émulateur, ajoutez la ligne suivante - à votre fichier de configuration du noyau (c.f. - <filename>/sys/i386/conf/LINT</filename>) :</para> - - <programlisting> -options COMPAT_LINUX - </programlisting> - - <para>Si vous voulez utiliser Doom ou d'autres applications qui utilisent - les mémoires partagées, ajoutez aussi :</para> - - <programlisting> -options SYSVSHM - </programlisting> - - <para>Les appels système Linux ont besoin de la - compatibilité 4.3BSD. Vérifiez que vous avez bien la - ligne :</para> - - <programlisting> -options "COMPAT_43" - </programlisting> - - <para>Si vous préférez lier statiquement l'émulateur - au noyau plutôt qu'utiliser le module du noyau à - chargement dynamique - <foreignphrase>loadable kernel module - (LKM)</foreignphrase>, ajoutez aussi :</para> - - <programlisting> -options LINUX - </programlisting> - - <para>Configurez et installez ensuite le nouveau noyau comme décrit - au chapitre <link linkend="kernelconfig">Configurer le noyau de - FreeBSD</link>.</para> - - <para>Si vous avez choisi d'utiliser le LKM, vous devez aussi installer - le module. Une incompatibilité de version entre le noyau et le module - à chargement dynamique peut planter le noyau. La façon la - plus sûre de procéder est donc de réinstaller le - LKM en même temps que le noyau :</para> - - <screen>&prompt.root; <userinput>cd /usr/src/lkm/linux</userinput> -&prompt.root; <userinput>make all install</userinput></screen> - - <para>Une fois que vous avez installé le noyau et le LKM, vous - pouvez utiliser <command>linux</command> sous le compte - super-utilisateur <username>root</username> pour charger le - LKM :</para> - - <screen>&prompt.root; <userinput>linux</userinput> -Linux emulator installed -Module loaded as ID 0</screen> - - <para>Pour vérifier que le LKM est chargé, utilisez - <command>modstat</command> :</para> - - <screen>&prompt.user; modstat -Type Id Off Loadaddr Size Info Rev -Module Name EXEC 0 3 f0baf000 0018 f0bb4000 1 linux_emulator</screen> - - <para>Il y a deux façons de charger le LKM au démarrage. - Sous FreeBSD 2.2.1-release et 2.1-stable, activez-le dans - <filename>/etc/sysconfig</filename> :</para> - - <programlisting> -linux=YES - </programlisting> - - <para>en remplaçant <literal>NO</literal> par - <literal>YES</literal>. Sous FreeBSD 2.1-release et antérieurs, - cette ligne n'existe pas. Vous devez donc éditer - <filename>/etc/rc.local</filename> et y ajouter la ligne :</para> - - <programlisting> -linux - </programlisting> - </sect2> - - <sect2> - <title>Installer l'émulation Linux sous 2.2.2-release et - ultérieurs</title> - - <para>Il n'y a plus besoin de préciser <literal>options - LINUX</literal> ou <literal>options COMPAT_LINUX</literal>. - L'émulation Linux est réalisée par un module du - noyau à chargement dynamique - LKM - (“<foreignphrase>Loadable Kernel - Module</foreignphrase>”) - et peut donc être - installée à la volée sans avoir à - redémarrer le système. Vos fichiers de démarrage - devront néanmoins comporter les instructions - suivantes :</para> - - <orderedlist> - <listitem> - <para>Dans <filename>/etc/rc.conf</filename>, la ligne - suivante :</para> - - <programlisting> -linux_enable=YES - </programlisting> - </listitem> - - <listitem> - <para>Ce qui ensuite active les commandes ci-dessous dans - <filename>/etc/rc.i386</filename> :</para> - - <programlisting> -# Start the Linux binary emulation if requested. -if [ "X${linux_enable}" = X"YES" ]; then echo -n ' - linux'; linux > /dev/null 2>&1 -fi - </programlisting> - </listitem> - </orderedlist> - - <para>Si vous voulez vérifier que l'émulation est active, - utilisez <command>modstat</command> :</para> - - <screen>&prompt.user; modstat -Type Id Off Loadaddr Size Info Rev Module Name -EXEC 0 4 f09e6000 001c f09ec010 1 linux_mod</screen> - - <para>On a cependant signalé des cas où cela ne marchait pas - avec certains systèmes 2.2-release et ultérieurs. Si pour - une raison ou une autre vous ne pouvez pas charger le LKM Linux, liez - alors statiquement l'émulateur au noyau en ajoutant la - ligne :</para> - - <programlisting> -options LINUX - </programlisting> - - <para>à votre fichier de configuration du noyau. Configurez et - installez ensuite le nouveau noyau comme décrit au chapitre - <link linkend="kernelconfig">Configurer le noyau de - FreeBSD</link>.</para> - </sect2> - - <sect2> - <title>Installer les bibliothèques Linux</title> - - <sect3> - <title>Installation à l'aide du “logiciel - porté” <filename>linux_lib</filename></title> - - <para>La plupart des applications Linux utilisent des - bibliothèques partagées, vous n'avez donc pas tout ce - qu'il vous faut tant que vous n'avez pas installé les - bibliothèques partagées. Vous pouvez le faire à - la main, mais il est beaucoup plus facile d'installer le logiciel - porté <filename>linux_lib</filename> :</para> - - <screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_lib</userinput> -&prompt.root; <userinput>make all install</userinput></screen> - - <para>et votre émulation Linux devrait fonctionner. La - légende et les archives du courrier électronique - <!-- smiley -->:-) veulent que l'émulation Linux fonctionne - mieux avec des binaires Linux liés avec les - bibliothèques ZMAGIC; Les bibliothèques QMAGIC (telles - celles utilisées par la distribution Slackware V2.0) peuvent - avoir tendance à donner des maux d'estomac au - “Linuxlateur”. Attendez-vous aussi à ce que - certains programmes se plaignent de versions mineures incorrectes de - bibliothèques système. Ce n'est cependant - généralement pas un problème.</para> - </sect3> - - <sect3> - <title>Installer les bibliothèques à la main</title> - - <para>Si vous n'avez pas installé la distribution pour les - “logiciels portés”, vous pouvez à la place - installer les bibliothèques à la main. Il vous faudra - les bibliothèques partagées Linux dont a besoin le - programme et l'éditeur de liens dynamiques. Vous devrez aussi - créer un répertoire racine - “masquant” - <foreignphrase>shadow - root</foreignphrase> - <filename>/compat/linux</filename> - pour les bibliothèques Linux sur votre système FreeBSD. - Les bibliothèques partagées ouvertes par les programmes - Linux exécutés sous FreeBSD iront d'abord voir dans - cette arborescence. Ainsi, si un programme Linux charge par exemple, - <filename>/lib/libc.so</filename>, FreeBSD essayera d'abord d'ouvrir - <filename>/compat/linux/lib/libc.so</filename>, puis, si cette - bibliothèque n'existe pas, <filename>/lib/libc.so</filename>. - Les bibliothèques partagées doivent donc être - installées sous l'arborescence - <filename>/compat/linux/lib</filename> plutôt que sous les - chemins d'accès mentionnés par la commande Linux - <command>ld.so</command>.</para> - - <para>Le fonctionnement de FreeBSD-2.2-release et ultérieurs est - légèrement différent en ce qui concerne - <filename>/compat/linux</filename> : tous les fichiers, et pas - seulement les bibliothèques, sont recherchés dans - l'arborescence “<foreignphrase>shadow - root</foreignphrase>” <filename>/compat/linux</filename>.</para> - - <para>Habituellement, vous n'aurez à chercher à savoir - de quelles bibliothèques partagées dépendent les - binaires Linux que les premières fois que vous installerez des - exécutables Linux sur votre système FreeBSD. - Après quelques temps, vous disposerez d'un jeu suffisant de - bibliothèques partagées Linux sur votre système - pour pouvoir exécuter les binaires Linux nouvellement - importés sans installation supplémentaire.</para> - </sect3> - - <sect3> - <title>Comment installer des bibliothèques partagées - supplémentaires</title> - - <para>Comment faire si vous avez installé le logiciel - porté <filename>linux_lib</filename> et que votre application - se plaint toujours qu'il lui manque des bibliothèques - partagées ? Comment savoir de quelles bibliothèques - partagées ont besoin les binaires Linux, et où se les - procurer ? Il y a habituellement deux possibilités (si - vous suivez les instructions ci-dessous , vous devrez être - en session sous le compte super-utilisateur <username>root</username> - pour effectuer les étapes nécessaires à - l'installation).</para> - - <para>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 - FreeBSD. Supposons que vous veniez de télécharger le - binaire Linux de Doom. Installez-le sur le système Linux - auquel vous avez accès, et vérifiez de quelles - bibliothèques partagées il a besoin avec la commande - <command>ldd linuxxdoom</command> :</para> - - <screen>&prompt.user; <userinput>ldd linuxxdoom</userinput> -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.29</screen> - - <para>Vous devrez récupérer tous les fichiers - mentionnés dans la dernière colonne et les installer - sous <filename>/compat/linux</filename>, en utilisant les noms de - la première colonne comme liens symboliques qui pointent - dessus. Ce qui signifie que vous aurez éventuellement les - fichiers suivants sur votre système FreeBSD :</para> - - <screen>/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</screen> - - <note> - <para>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 <command>ldd</command>, il est inutile - de copier le fichier décrit 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 plus récente. Vous pouvez supprimer la version - plus ancienne, du moment que le lien symbolique pointe sur la - nouvelle. Par exemple, si vous avez les bibliothèques - suivantes sur votre système :</para> - - <screen>/compat/linux/lib/libc.so.4.6.27 -/compat/linux/lib/libc.so.4 -> libc.so.4.6.27</screen> - - <para>et que vous trouvez un nouveau binaire qui, d'après le - résultat de la commande <command>ldd</command> semble avoir - besoin d'une version plus récente :</para> - - <screen>libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29</screen> - - <para>Si vous n'avez qu'une ou deux versions de retard sur le dernier - indice, ne vous souciez pas d'installer la version - <filename>/lib/libc.so.4.6.29</filename> 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 - <filename>libc.so</filename>, ce qui devrait vous donner quelque - chose comme :</para> - - <screen>/compat/linux/lib/libc.so.4.6.29 -/compat/linux/lib/libc.so.4 -> libc.so.4.6.29</screen> - </note> - - <note> - <para>Le mécanisme de lien symbolique n'est nécessaire - que pour les binaires Linux. L'éditeur de liens dynamiques de - FreeBSD se charge lui-même de trouver les numéros de - versions majeures adéquats et vous n'avez pas à vous - en préoccuper.</para> - </note> - </sect3> - - <sect3> - <title>Configurer <filename>ld.so</filename>—pour FreeBSD - 2.2-release et ultérieurs</title> - - <para>Cette section ne s'applique qu'à FreeBSD 2.2-release et - ultérieurs. Ceux qui utilisent 2.1-stable peuvent - l'ignorer.</para> - - <para>Pour finir, si vous utilisez FreeBSD 2.2-release, vous devez - vérifier que vous disposez de l'éditeur de liens - dynamiques Linux et de ses fichiers de configuration sur votre - système. Vous devez copier ces fichiers du système - Linux à l'endroit approprié sur votre système - FreeBSD (dans l'arborescence - <filename>/compat/linux</filename>) :</para> - - <screen>/compat/linux/lib/ld.so -/compat/linux/etc/ld.so.config</screen> - - <para>Si vous n'avez pas accès à un système Linux, - vous devrez récupérer les fichiers - supplémentaires de différents sites ftp. Des - informations sur où trouver les divers fichiers sont - données plus bas. Supposons pour l'instant que vous savez - où récupérer les fichiers.</para> - - <para>Téléchargez les fichiers suivants (du même - site ftp pour éviter les incompatibilités de version) - et installez-les sous <filename>/compat/linux</filename> (i.e., - <filename>/foo/bar</filename> est installé sous - <filename>/compat/linux/foo/bar</filename>):</para> - - <screen>/sbin/ldconfig -/usr/bin/ldd -/lib/libc.so.x.y.z -/lib/ld.so</screen> - - <para><command>ldconfig</command> et <command>ldd</command> n'ont pas - obligatoirement besoin d'être sous l'arborescence - <filename>/compat/linux</filename>; vous pouvez aussi les installer - ailleurs sur votre système. Veillez cependant à ce - qu'il n'y ait pas de conflit avec leurs équivalents FreeBSD. - C'est une bonne idée de les mettre dans - <filename>/usr/local/bin</filename> où sont - <command>ldconfig-linux</command> et - <command>ldd-linux</command>.</para> - - <para>Créez le fichier - <filename>/compat/linux/etc/ld.so.conf</filename>, décrivant - les répertoires où l'éditeur de liens dynamiques - Linux devra chercher les bibliothèques partagées. C'est - un fichier texte ordinaire, avec un nom de répertoire par - ligne. <filename>/lib</filename> and <filename>/usr/lib</filename> - sont standard, vous pourriez ajouter les lignes - suivantes :</para> - - <programlisting> -/usr/X11/lib -/usr/local/lib - </programlisting> - - <para>Quand un binaire Linux ouvre une bibliothèque telle que - <filename>/lib/libc.so</filename>, l'émulateur effectue en - interne la correspondance avec - <filename>/compat/linux/lib/libc.so</filename>. Toutes les - bibliothèques Linux doivent être installées sous - <filename>/compat/linux</filename> (e.g., - <filename>/compat/linux/lib/libc.so</filename>, - <filename>/compat/linux/usr/X11/lib/libX11.so</filename>, etc.) - pour que l'émulateur puisse les trouver.</para> - - <para>Ceux qui utilisent FreeBSD 2.2-release doivent exécuter le - programme <command>ldconfig</command> Linux.</para> - - <screen>&prompt.root <userinput>cd /compat/linux/lib</userinput> -&prompt.root; <userinput>/compat/linux/sbin/ldconfig</userinput></screen> - - <para><command>ldconfig</command> est lié statiquement, il n'a - donc pas besoin des bibliothèques partagées pour - s'exécuter. Il crée le fichier - <filename>/compat/linux/etc/ld.so.cache</filename> qui contient les - noms de toutes les bibliothèques partagées, et doit - être réexécuté pour recréer ce - fichier chaque fois que vous installez de nouvelles - bibliothèques partagées.</para> - - <para>Sous 2.1-stable, n'installez pas - <filename>/compat/linux/etc/ld.so.cache</filename> et - n'exécutez pas <command>ldconfig</command>; sous 2.1-stable, - les appels système sont implémentés - différemment et <command>ldconfig</command> n'est ni utile ni - utilisé.</para> - - <para>Tout devrait être maintenant en place pour les binaires - Linux qui n'ont besoin que d'une bibliothèque - <filename>libc</filename> partagée. Vous pouvez le tester en - exécutant la commande <command>ldd</command> Linux sur - elle-même. Supposons que vous l'ayez installé sous le nom - <command>ldd-linux</command>, le résultat devrait ressembler - à quelque chose comme :</para> - - <screen>&prompt.root; <userinput>ldd-linux `which ldd-linux`</userinput> -libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29</screen> - - <para>Une fois que c'est fait, vous êtes prêt à - installer de nouveaux binaires Linux. Toutes les fois que vous - installez un nouveau programme Linux, vous devriez vérifier - s'il a besoin de nouvelles bibliothèques partagées, et - si tel est le cas, les installer dans l'arborescence - <filename>/compat/linux</filename>. Pour cela, vous exécutez la - version Linux de <command>ldd</command> sur le nouveau programme et - consultez le résultat. <command>ldd</command> (reportez-vous - aussi aux pages de manuel de &man.ldd.1;) imprimera la liste des - bibliothèques partagées dont dépend le programme, - sous la forme <literal><replaceable>nom principal</replaceable> - (<replaceable>référence de version</replaceable>) => - <replaceable>nom complet</replaceable></literal>.</para> - - <para>S'il imprime <literal>not found</literal> au lieu du - <replaceable>nom complet</replaceable>, cela signifie qu'il vous faut - une nouvelle bibliothèque. La bibliothèque dont vous - avez besoin est celle indiquée par son - <literal><replaceable>nom principal</replaceable></literal> sous forme - <literal>lib<replaceable>XXXX</replaceable>.so.<replaceable>N</replaceable></literal>. - Il faudra que vous trouviez - <filename>lib<replaceable>XXXX</replaceable>.so.N.mm</filename> sur un - site ftp Linux et que vous l'installiez sur votre système. - <replaceable>XXXX</replaceable> (nom) et - <replaceable>N</replaceable> (numéro de version majeure) - doivent correspondre; le(s) numéro(s) de version(s) mineure(s) - sont moins importants, bien qu'il soit conseillé de prendre la - version la plus récente.</para> - </sect3> - </sect2> - - <sect2> - <title>Installer des binaires Linux ELF</title> - - <para>Il y a parfois besoin d'une étape supplémentaire pour - les binaires ELF : “le marquage”. Si vous essayez - d'exécuter un binaire ELF non marqué vous aurez un - message d'erreur ressemblant à ce qui suit :</para> - - <screen>&prompt.user; <userinput>./mon-binaire-elf-linux</userinput> -ELF binary type not known -Abort</screen> - - <para>Pour que le noyau de FreeBSD puisse distinguer entre un binaire ELF - FreeBSD et un binaire Linux, vous devez employer l'utilitaire - &man.brandelf.1;.</para> - - <screen>&prompt.user; <userinput>brandelf -t Linux mon-binaire-elf-linux</userinput></screen> - - <para>Les outils GNU incorporent maintenant automatiquement les marques - nécessaires dans les binaires ELF, vous aurez donc de moins en - moins besoin de passer par cette étape à l'avenir.</para> - </sect2> - - <sect2> - <title>Configurer le solveur de noms de domaines</title> - - <para>Si le DNS ne fonctionne pas, ou si vous avez les - messages :</para> - - <screen>resolv+: "bind" is an invalid keyword resolv+: -"hosts" is an invalid keyword</screen> - - <para>vous devez renseigner un fichier - <filename>/compat/linux/etc/host.conf</filename> contenant :</para> - - <programlisting> -order hosts, bind -multi on</programlisting> - - <para>où l'ordre ci-dessus spécifie qu'il faut d'abord - regarder dans le fichier <filename>/etc/hosts</filename> puis - interroger le DNS. Si le fichier - <filename>/compat/linux/etc/host.conf</filename> n'est pas - installé, les applications Linux trouvent le fichier - <filename>/etc/host.conf</filename> de FreeBSD et se plaignent de sa - syntaxe FreeBSD incompatible. Supprimez <literal>bind</literal>, si - vous n'avez pas configuré de serveur de noms avec le fichier - <filename>/etc/resolv.conf</filename>.</para> - - <para>Enfin, ceux qui utilisent 2.1-stable doivent définir une - variable d'environnement <envar>RESOLV_HOST_CONF</envar> pour que les - applications sachent comment chercher dans les tables de noms de - machines. Si vous êtes sous FreeBSD 2.2-release ou - ultérieurs, vous pouvez vous en passer. Avec - l'interpréteur de commandes <filename>/bin/csh</filename>, - utilisez :</para> - - <screen>&prompt.user; <userinput>setenv RESOLV_HOST_CONF /compat/linux/etc/host.conf</userinput></screen> - - <para>Avec <filename>/bin/sh</filename>, utilisez :</para> - - <screen>&prompt.user; <userinput>RESOLV_HOST_CONF=/compat/linux/etc/host.conf; export RESOLV_HOST_CONF</userinput></screen> - </sect2> - - <sect2> - <title>Trouver les fichiers nécessaires</title> - - <note> - <para>Les informations qui suivent sont valables à la date de - rédaction de ce document, mais certains détails, tels - que les noms des sites ftp, des répertoires ou des - distributions peuvent avoir changé au moment où vous le - lirez.</para> - </note> - - <para>Linux est distribué par plusieurs groupes donc chacun - constitue l'ensemble de programmes qu'il distribue. Chaque distribution - a son propre nom, “Slackware” ou “Yggdrasil”, - par exemple. Ces distributions sont disponibles sur nombre de sites - ftp. Les fichiers sont parfois individualisés, et vous pouvez - récupérer uniquement les fichiers dont vous avez besoin, - mais ils sont généralement archivés par - distributions, compactées et compressées avec - <citerefentry><refentrytitle>tar</refentrytitle> - <manvolnum>1</manvolnum></citerefentry> et - <citerefentry><refentrytitle>gzip</refentrytitle> - <manvolnum>1</manvolnum></citerefentry>. Les sites ftp principaux - pour les distributions sont :</para> - - <orderedlist> - <listitem> - <para>sunsite.unc.edu:/pub/Linux/distributions</para> - </listitem> - - <listitem> - <para>tsx-11.mit.edu:/pub/linux/distributions</para> - </listitem> - </orderedlist> - - <para>Quelques sites miroirs européens :</para> - - <orderedlist> - <listitem> - <para>ftp.luth.se:/pub/linux/distributions</para> - </listitem> - - <listitem> - <para>ftp.demon.co.uk:/pub/unix/linux</para> - </listitem> - - <listitem> - <para>src.doc.ic.ac.uk:/packages/linux/distributions</para> - </listitem> - </orderedlist> - - <para>Pour simplifier, nous nous concentrerons sur la Slackware. Cette - distribution est composée d'un certain nombre de - sous-répertoires, contenant des paquetages séparés. - Ils sont normalement contrôlés par un programme - d'installation, mais vous pouvez aussi les récupérer - à la main. Vous devrez d'abord aller voir dans le - sous-répertoire <filename>contents</filename> de la - distribution. Vous y trouverez de nombreux petits fichiers texte - décrivant le contenu de chacun des paquetages. La façon - la plus rapide de retrouver quelque chose est de récupérer - tous les fichiers de ce sous-répertoire et d'y rechercher avec - <citerefentry><refentrytitle>grep</refentrytitle> - <manvolnum>1</manvolnum></citerefentry> le fichier dont vous avez - besoin. Voici un exemple d'une liste de fichiers dont vous pourriez - avoir besoin et où vous les trouveriez en cherchant dans les - fichiers de contenu :</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Bibliothèque</entry> - <entry>Paquetage</entry> - </row> - </thead> - - <tbody> - <row> - <entry><filename>ld.so</filename></entry> - <entry>ldso</entry> - </row> - - <row> - <entry><filename>ldconfig</filename></entry> - <entry>ldso</entry> - </row> - - <row> - <entry><filename>ldd</filename></entry> - <entry>ldso</entry> - </row> - - <row> - <entry><filename>libc.so.4</filename></entry> - <entry>shlibs</entry> - </row> - - <row> - <entry><filename>libX11.so.6.0</filename></entry> - <entry>xf_lib</entry> - </row> - - <row> - <entry><filename>libXt.so.6.0</filename></entry> - <entry>xf_lib</entry> - </row> - - <row> - <entry><filename>libX11.so.3</filename></entry> - <entry>oldlibs</entry> - </row> - - <row> - <entry><filename>libXt.so.3</filename></entry> - <entry>oldlibs</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Dans ce cas donc, vous auriez besoin des paquetages - <filename>ldso</filename>, <filename>shlibs</filename>, - <filename>xf_lib</filename> et <filename>oldlibs</filename>. Dans - chacun des fichiers de contenu de ces paquetages, recherchez la ligne - <literal>PACKAGE LOCATION</literal>, qui vous dira sur quel - “disque” le paquetage se trouve; dans notre cas, cela nous - dira dans quel sous-répertoire il faut regarder. Pour notre - exemple, nous trouverions :</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead - <row> - <entry>Paquetage</entry> - <entry>Localisation</entry> - </row> - </thead> - - <tbody> - <row> - <entry>ldso</entry> - <entry>diska2</entry> - </row> - - <row> - <entry>shlibs</entry> - <entry>diska2</entry> - </row> - - <row> - <entry>oldlibs</entry> - <entry>diskx6</entry> - </row> - - <row> - <entry>xf_lib</entry> - <entry>diskx9</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Les localisations appelées - “disk<replaceable>XX</replaceable>” se rapportent aux - sous-répertoires - <filename>slakware/<replaceable>XX</replaceable></filename> - de la distribution, d'autres peuvent se trouver dans le - sous-répertoire <filename>contrib</filename>. Dans notre cas, - nous pouvons maintenant télécharger les paquetages dont - nous avons besoin en récupérant les fichiers suivants - (à partir du répertoire racine de l'arborescence de la - distribution Slackware) :</para> - - <itemizedlist> - <listitem> - <para><filename>slakware/a2/ldso.tgz</filename></para> - </listitem> - - <listitem> - <para><filename>slakware/a2/shlibs.tgz</filename></para> - </listitem> - - <listitem> - <para><filename>slakware/x6/oldlibs/tgz</filename></para> - </listitem> - - <listitem> - <para><filename>slakware/x9/xf_lib.tgz</filename></para> - </listitem> - </itemizedlist> - - <para>Extrayez les fichiers de ces archives compressées dans le - répertoire <filename>/compat/linux</filename> (en ommettant ou en - supprimant ensuite les fichiers dont vous n'avez pas besoin) et vous - aurez tout ce qu'il vous faut.</para> - - <para><emphasis>Consultez aussi :</emphasis> - <filename>ftp.freebsd.org:pub/FreeBSD/2.0.5-RELEASE/xperimnt/linux-emu/README</filename> - et <filename>/usr/src/sys/i386/ibcs2/README.iBCS2</filename></para> - </sect2> - </sect1> - - <sect1 id="mathematica"> - <title>Comment installer Mathematica sous FreeBSD</title> - - <para><emphasis>Contribution de &a.rich; et &a.chuck;</emphasis></para> - - <para>Ce document explique comment installer la distribution binaire Linux - de Mathematica 2.2 sous FreeBSD 2.1.</para> - - <para>Mathematica supporte en natif Linux mais pas FreeBSD. Une fois donc - que vous avez configuré votre système pour qu'il soit - compatible Linux, vous avez à peu près tout ce qu'il vous - faut pour utiliser Mathematica.</para> - - <para>Pour ceux qui ont déjà la version - “étudiant&rdquo de Mathematica pour DOS, la mise à - jour pour Linux coûtait, quand ce document a été - rédigé, en Mars 1996, $45.00. Vous pouvez la commander - directement à Wolfram au (217) 398-6500 et payer par carte de - crédit.</para> - - <sect2> - <title>Décompacter la distribution de Mathematica</title> - - <para>Les binaires sont actuellement distribués par Wolfram sur - CD-ROM. Il y a une douzaine de fichiers d'archive sur le CD-ROM, chacun - contenant une distribution binaire pour une des architectures - supportées. Celle pour Linux s'appelle - <filename>LINUX.TAR</filename>. Vous pouvez, par exemple, la - décompacter dans - <filename>/usr/local/Mathematica</filename> :</para> - - <screen>&prompt.root; <userinput>cd /usr/local</userinput> -&prompt.root; <userinput>mkdir Mathematica</userinput> -&prompt.root; <userinput>cd Mathematica</userinput> -&prompt.root; <userinput>tar -xvf /cdrom/LINUX.TAR</userinput></screen> - </sect2> - - <sect2> - <title>Obtenir votre mot de passe pour Mathematica</title> - - <para>Avant de pouvoir utiliser Mathematica, vous devrez obtenir de - Wolfram un mot de passe qui corresponde à - l'“IDentifiant” de votre machine :</para> - - <para>Une fois que vous avez installé les bibliothèques pour - la compatibilité Linux et décompacté Mathematica, - vous pouvez connaître l'“IDentifiant” de votre machine - en exécutant le programme <command>mathinfo</command> dans le - répertoire d'installation :</para> - - <screen>&prompt.root; <userinput>cd /usr/local/Mathematica/Install</userinput> -&prompt.root; <userinput>mathinfo</userinput> -LINUX: 'ioctl' fd=5, typ=0x89(), num=0x27 not implemented -richc.isdn.bcm.tmc.edu 9845-03452-90255</screen> - - <para>Ici, par exemple, l'“IDentifiant” de la machine - <hostid>richc</hostid> est <literal>9845-03452-90255</literal>. Ne vous - souciez pas du message à propos de l'<literal>ioctl</literal> - qui n'est pas implémenté. Cela ne vous empèchera - pas d'utiliser Mathematica, bien que vous aurez ce message toutes les - fois que vous exécuterez Mathematica.</para> - - <para>Quand vous vous enregistrerez 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 consiste - en groupes de chiffres. Vous devrez ajouter les deux, ainsi que le nom - de la machine et le numéro de licence, dans votre fichier - <filename>mathpass</filename>.</para> - - <para>Vous pouvez le faire en utilisant :</para> - - <screen>&prompt.root; <userinput>cd /usr/local/Mathematica/Install</userinput> -&prompt.root; <userinput>math.install</userinput></screen> - - <para>Il vous demandera votre numéro de licence et le mot de passe - que Wolfram vous a fourni. Si vous vous trompez ou si pour une raison ou - une autre <command>math.install</command> échoue, ce n'est pas un - problème; vous pouvez simplement éditer le fichier - <filename>mathpass</filename>, qui se trouve dans le même - répertoire, pour corriger à la main ces - informations.</para> - - <para>Après le mot de passe, <command>math.install</command> vous - demandera si vous voulez utiliser la configuration d'installation par - défaut ou si vous préférez définir la - vôtre. Si vous êtes comme nous et n'avez pas confiance dans - les programmes d'installation, vous voudrez certainement indiquer - vous-même les répertoires d'installation. Attention. Bien - que <command>math.install</command> vous demande les noms des - répertoires, il ne les crée pas à votre place, vous - devriez donc ouvrir une deuxième fenêtre pour le faire - avant de donner leurs noms au programme d'installation. Ou, si vous - échouez, vous pouvez créer les répertoires puis - relancer le programme <command>math.install</command>. Nous avons choisi - de créer au préalable et d'indiquer à - <command>math.install</command> les répertoires - suivants :</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <tbody> - <row> - <entry><filename>/usr/local/Mathematica/bin</filename></entry> - <entry>pour les binaires</entry> - </row> - - <row> - <entry><filename>/usr/local/Mathematica/man/man1</filename></entry> - <entry>pour les pages de manuel</entry> - </row> - - <row> - <entry><filename>/usr/local/Mathematica/lib/X11</filename></entry> - <entry>pour le fichier <filename>XKeysymb</filename></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Vous pouvez aussi lui dire d'utiliser - <filename>/tmp/math.record</filename> comme fichier d'enregistrement - système, dans lequel il conserve les traces des sessions. - <command>math.install</command> continuera ensuite en - décompactant la distribution et en mettant les fichiers là - où il faut.</para> - - <para>La fonction calepin de Mathematica est fournie séparement, - de même que l'interface X, et vous devez les installer à - part. Pour que l'interface X soit correctement installée, allez - dans le répertoire - <filename>/usr/local/Mathematica/FrontEnd</filename> et exécutez - la procédure <command>xfe.install</command>. Vous devrez lui - dire où mettre les fichiers, mais vous n'aurez pas de - répertoire à créer, parce qu'elle utilise les - mêmes que ceux qui ont été créés - pour <command>math.install</command>. Finalement, il doit y avoir - une nouvelle procédure appelée - <filename>mathematica</filename> dans le répertoire - <filename>/usr/local/Mathematica/bin</filename>.</para> - - <para>Pour finir, vous devrez modifier chacune des procédures que - Mathematica a installé pour y ajouter la ligne - suivante :</para> - - <screen>&prompt.user; <userinput>XKEYSYMDB=/usr/local/Mathematica/lib/X11/XKeysymDB; export XKEYSYMDB</userinput></screen> - - <para>Cela pour dire à Mathematica où trouver sa propre - version du fichier de correspondance clavier - <filename>XKeysymDB</filename>, sinon vous aurez des messages d'erreur - dus à des correspondances de touches manquantes.</para> - - <para>Sous 2.1-stable, vous devrez aussi ajouter la ligne - suivante :</para> - - <screen>&prompt.user; <userinput>RESOLV_HOST_CONF=/compat/linux/etc/host.conf; export RESOLV_HOST_CONF</userinput></screen> - - <para>pour dire à Mathematica d'utiliser la version Linux de - <filename>host.conf</filename>. Ce fichier a une syntaxe - différente de celui de FreeBSD, vous aurez donc un message - d'erreur à propos de <filename>/etc/host.conf</filename> si vous - oubliez cette modification.</para> - - <para>Vous voudrez peut-être aussi modifier votre fichier - <filename>/etc/manpath.config</filename> pour lire le nouveau - répertoire pour les pages de manuel, et aurez peut-être - besoin d'éditer votre fichier <filename>~/.cshrc</filename> - pour ajouter <filename>/usr/local/Mathematica/bin</filename> à - vos chemins d'accès par défaut.</para> - - <para>C'est à peu près tout. Vous devriez maintenant pouvoir - taper <command>mathematica</command> et obtenir un calepin Mathematica - vraiment “nickel”. Mathematica a inclu des interfaces - utilisateurs Motif, mais elles sont liées statiquement, vous - n'avez donc pas besoin des bibliothèques Motif. Bonne chance - pour votre propre installation !</para> - </sect2> - - <sect2> - <title>Bogues</title> - - <para>Il est connu que l'interface calepin se bloque parfois à la - lecture de certains fichiers calepin avec des messages d'erreur - du type :</para> - - <screen><errorname>File .../Untitled-1.mb appears to be broken for OMPR.257.0</errorname></screen> - - <para>Nous n'en avons pas trouvé la raison, mais cela ne touche que - l'interface calepin X, et non le moteur Mathematica lui-même. - L'interface en ligne de commande invoquée par - <command>math</command> n'est pas affectée par ce bogue.</para> - </sect2> - - <sect2> - <title>Remerciements</title> - - <para>Remerciements bien mérités à &a.sos; et - &a.peter; qui ont fait de l'émulation Linux ce qu'elle est - aujourd'hui, et à Michael Smith qui les a poussé au - point qu'elle exécute les binaires Linux mieux que Linux - lui-même ! <!-- smiley -->:-)</para> - </sect2> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> - diff --git a/fr_FR.ISO8859-1/books/handbook/mail/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/mail/chapter.sgml deleted file mode 100644 index c6e37f3993..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/mail/chapter.sgml +++ /dev/null @@ -1,653 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: n.nn ---> - - <chapter id="mail"> - <title>Courrier électronique</title> - - <para><emphasis>Contribution de &a.wlloyd;.</emphasis></para> - &trans.a.haby; - - <para>De nombreux ouvrages d'<link - linkend="bibliography">Administration Système</link> traitent de la - configuration du courrier électronique. Si vous envisagez de faire - plus que configurer un seul serveur de courrier sur votre réseau, - il vous faut de la documentation de qualité industrielle.</para> - - <para>Certaines parties de la configuration du courrier électronique - sont confiées au Système de Noms de Domaines (DNS). Si vous gérez - votre propre serveur DNS, consultez <filename>/etc/namedb</filename> et - <command>man -k named</command> pour plus d'informations.</para> - - <sect1> - <title>Notions de base</title> - - <para>Voici les principaux programmes impliqués dans un échange de - courrier électronique. Le “serveur de courrier” est - responsable de l'expédition et de la réception du courrier pour - votre machine, voire votre réseau.</para> - - <sect2> - <title>Le programme utilisateur</title> - - <para>C'est un programme comme <application >elm</application>, - <application>pine</application>, <application>mail</application>, - ou un outil plus sophistiqué tel un navigateur WWW. Ce programme - transmet simplement toutes les transactions concernant le courrier - électronique au “serveur de courrier” local, soit en - invoquant <command>sendmail</command>, soit via TCP.</para> - - </sect2> - - <sect2> - <title>Le “démon” serveur de courrier</title> - - <para>C'est habituellement <command>sendmail</command> ou - <command>smail</command>, s'exécutant en tâche de fond. Vous - le désactivez ou modifiez les options de sa ligne de commande - dans le fichier <filename>/etc/rc.conf</filename> (ou, pour les - versions antérieures à FreeBSD 2.2.2, - <filename>/etc/sysconfig</filename>). Il vaut mieux le laisser - actif, à moins que vous n'ayez une bonne raison de ne pas - le faire tourner, par exemple, si vous configurez un - <link linkend="firewalls">coupe-feu</link>.</para> - - <para>Vous devez savoir que <command>sendmail</command> est un maillon - potentiellement faible sur un site sécurisé. Certaines versions de - <command>sendmail</command> ont des trous de sécurité connus.</para> - - <para><command>sendmail</command> accomplit deux tâches. Il se charge - d'envoyer et de recevoir le courrier.</para> - - <para>Lorsque <command>sendmail</command> doit expédier du courrier - depuis votre site, il consulte le DNS pour savoir quelle machine - reçoit le courrier pour la destination voulue.</para> - - <para>S'il agit comme expéditeur, <command>sendmail</command> prendra - le message dans la file d'attente locale et le délivrera via - l'Internet à un autre <command>sendmail</command> sur la machine - qui doit le recevoir.</para> - - </sect2> - - <sect2> - <title>DNS - Système de Noms de Domaines</title> - - <para>Le système de noms de domaines (DNS), - et son “démon” - <command>named</command>, gèrent la base de données qui fait - correspondre nom de machine et adresse IP, et nom de machine - et serveur de courrier. L'adresse IP est définie par un - enregistrement A. L'enregistrement MX définit le serveur qui - recevra votre courrier. S'il n'y a pas d'enregistrement MX - associé à votre machine, cette dernière recevra directement le - courrier.</para> - - <para>A moins que vous n'ayez votre propre serveur DNS, vous ne pouvez - pas modifier vous-même les informations du DNS. Si vous passez par - un fournisseur d'accès Internet, voyez cela avec lui.</para> - - </sect2> - - <sect2> - <title>Serveur POP</title> - - <para>Ce programme récupère le courrier dans votre boîte aux lettres - et le transmet à votre navigateur. Si vous voulez faire tourner - un serveur POP sur votre machine, vous devrez faire deux - choses:</para> - - <procedure> - - <step> - <para>Récupérez le logiciel POP du <ulink - url="http://www.freebsd.org/ports/mail.html">catalogue des - logiciels portés</ulink>, que vous trouverez dans le - répertoire <filename>/usr/ports</filename>, ou du catalogue - des logiciels précompilés. Ce manuel comprend une section qui - décrit exhaustivement l'installation des - <link linkend="ports">logiciels portés</link>.</para> - </step> - - <step> - <para>Modifiez <filename>/etc/inetd.conf</filename> - pour lancer le serveur POP.</para> - </step> - - </procedure> - - <para>Il y aura des instructions avec le serveur POP. - Lisez-les.</para> - - </sect2> - </sect1> - - <sect1> - <title>Configuration</title> - - <sect2> - <title>Les bases</title> - - <para>Avec votre système FreeBSD “prêt-à-l'emploi”[TM], - vous devriez pouvoir envoyer du courrier électronique à l'extérieur, - dès que vous aurez configuré <filename>/etc/resolv.conf</filename> - ou si vous faites tourner un serveur DNS. Si vous voulez que votre - courrier soit délivré à une machine particulière, il y a deux - méthodes:</para> - - <itemizedlist> - <listitem> - <para>Faire tourner un serveur DNS (<command>man -k named</command>) - et avoir votre propre domaine, i.e.: - <hostid role="domainname">petitemine.com</hostid>.</para> - </listitem> - - <listitem> - <para>Faire en sorte que le courrier soit envoyé à l'adresse (nom de - machine) DNS de votre machine, i.e.: - <hostid role="fqdn">refectoire6.maison.ecole.edu</hostid>.</para> - </listitem> - </itemizedlist> - - <para>Quelle que soit la méthode choisie, pour que le courrier soit - directement délivré à votre machine, elle doit être référencée sur - l'Internet. Vous devez avoir une adresse IP permanente. Donc pas de - PPP dynamique. Si vous êtes derrière un coupe-feu, il faut qu'il - vous passe le trafic SMTP (<foreignphrase>Simple Mail Transfer - Protocol</foreignphrase> - protocole élémentaire de - transport de courrier électronique). D'après - <filename>/etc/services</filename>:</para> - - <programlisting ->smtp 25/tcp mail #Simple Mail Transfer</programlisting> - - <para>Si vous voulez recevoir le courrier sur la machine elle-même, - vous devez vous assurez que l'entrée MX du DNS pointe sur cette - machine, ou qu'il n'y a pas d'entrée MX correspondant à son nom - dans le DNS.</para> - - <para>Essayez:</para> - - <informalexample> - <screen>&prompt.root; <userinput>hostname</userinput> -newbsdbox.freebsd.org -&prompt.root; <userinput>host newbsdbox.freebsd.org</userinput> -newbsdbox.freebsd.org has address 204.216.27.xx</screen> - </informalexample> - - <para>Si c'est la seule réponse que vous obtenez, le courrier adressé - à <email>root@newbsdbox.freebsd.org</email> - arrivera sans problème.</para> - - <para>Si au lieu de cela, vous obtenez:</para> - - <informalexample> - <screen>&prompt.root; <userinput>host newbsdbox.freebsd.org</userinput> -newbsdbox.FreeBSD.org has address 204.216.27.xx -newbsdbox.FreeBSD.org mail is handled (pri=10) by freefall.FreeBSD.org</screen> - </informalexample> - - <para>Tout le courrier adressé directement à votre machine arrivera - sur <hostid>freefall</hostid>, adressé au même utilisateur.</para> - - <para>Cette information est configurée par votre serveur de noms de - domaines. C'est la machine définie comme serveur de noms primaire - dans <filename>/etc/resolv.conf</filename>.</para> - - <para>L'enregistrement du DNS qui contient l'information de routage - du courrier est l'entrée MX (<foreignphrase>Mail - eXchange</foreignphrase>). S'il n'y a pas d'entrée MX, le courrier - est envoyé directement à la machine en utilisant l'entrée - Addresse.</para> - - <para>Voici ce que fut à l'occasion l'entrée MX pour - <hostid role="fqdn">freefall.freebsd.org:</hostid>.</para> - - <programlisting> -freefall MX 30 mail.crl.net -freefall MX 40 agora.rdrop.com -freefall HINFO Pentium FreeBSD -freefall MX 10 freefall.FreeBSD.org -freefall MX 20 who.cdrom.com -freefall A 204.216.27.xx -freefall CNAME www.FreeBSD.org</programlisting> - - <para><hostid>freefall</hostid> a plusieurs entrées MX. Celle dont le - numéro est le plus faible reçoit en définitive le courrier. Les - autres le mettent temporairement dans leur file d'attente, si - <hostid>freefall</hostid> est occupé ou hors-service.</para> - - <para>Les sites MX de secours doivent avoir une connexion séparée à - l'Internet, pour être vraiment utiles. Un fournisseur d'accès ou - un site amical peuvent vous fournir ce service.</para> - - <para><command>dig</command>, <command>nslookup</command>, - et <command>host</command> sont ici vos alliés.</para> - - </sect2> - - <sect2 id="mail-domain"> - <title>Courrier pour votre domaine (réseau).</title> - - <para>Pour configurer un serveur de courrier pour votre réseau, vous - devez éviter que le courrier arrive à toutes vos stations de - travail. En d'autres termes, vous devez détourner tout le courrier - pour <hostid role="domainname">*.petitemine.com</hostid> vers une - seule machine, votre “serveur de courrier”.</para> - - <para>Dans la grande majorité des cas, les utilisateurs du réseau - récupèreront leur courrier sur leurs stations de travail avec POP - ou telnet.</para> - - <para>Il faut qu'il y ait un compte utilisateur avec le - <emphasis>même nom</emphasis> sur les deux machines. Utilisez - <command>adduser</command> pour ce faire. Si vous définissez - <literal>/nonexistent</literal> comme interpréteur de commandes - (sur le serveur de courrier), les utilisateurs ne pourront pas y - ouvrir de session.</para> - - <para>Votre serveur de courrier sera défini comme - <foreignphrase>Mail eXchange</foreignphrase> pour chaque station de - travail. Cela doit être défini dans le DNS (i.e.: BIND, named). - Reportez-vous s'il vous plaît à un ouvrage d'administration réseau - pour avoir des informations détaillées.</para> - - <para>Vous devez essentiellement ajouter les lignes suivantes à la - configuration de votre serveur DNS:</para> - - <programlisting> -pc24.petitemine.com A <replaceable>xxx.xxx.xxx.xxx</replaceable> ; Adresse IP de la station de travail - MX 10 smtp.petitemine.com ; Serveur de courrier</programlisting> - - <para>Vous ne pouvez le faire vous-même que si vous gérez un serveur - de noms. Si vous ne voulez pas faire tourner un serveur de noms, - trouvez quelqu'un, votre fournisseur d'accès Internet par exemple, - pour le faire à votre place.</para> - - <para>Le courrier adressé à une station de travail sera envoyé à - votre machine <foreignphrase>Mail eXchange</foreignphrase>. Quelle - que soit la machine sur laquelle pointe l'enregistrement A, le - courrier arrivera sur la machine MX.</para> - - <para>On peut utiliser cela pour implémenter un hébergement virtuel du - courrier électronique.</para> - - <para>Exemple:</para> - - <para>J'ai un client qui a comme domaine foo.bar, et je veux que tout - le courrier pour foo.bar arrive sur ma machine smtp.smalliap.com. - Il faut configurer une entrée comme suit pour le serveur DNS:</para> - - <programlisting> -foo.bar MX 10 smtp.smalliap.com ; mon serveur de courrier</programlisting> - - <para>Il n'y a pas besoin d'enregistrement A si l'on ne veut que - le courrier pour le domaine. i.e.: ne vous attendez pas à ce que - <command>ping foo.bar</command> fonctionne, à moins qu'il - n'y ait aussi un enregistrement d'Addresse pour - <filename>foo.bar</filename>.</para> - - <para>Sur la machine qui reçoit le courrier pour le distribuer dans - une boîte aux lettres, il faut dire à <command>sendmail</command> - pour quelle machine il accepte du courrier.</para> - - <para>Ajoutez <literal>pc24.petitemine.com</literal> à - <filename>/etc/sendmail.cw</filename> (si vous utilisez - <literal>FEATURE(use_cw_file)</literal>), ou ajoutez une ligne - <literal>Cw myhost.smalliap.com</literal> à - <filename>/etc/sendmail.cf</filename>.</para> - - <para>Si vous envisagez d'utiliser sérieusement - <command>sendmail</command>, vous devriez installer les - sources de <command>sendmail</command>. Ils sont accompagnés de - beaucoup de documentation. Vous trouverez de l'information sur - la façon d'obtenir le source de <command>sendmail</command> - à la section <link linkend="sendmailuucp">Configurer - UUCP</link>.</para> - - </sect2> - - <sect2 id="sendmailuucp"> - <title>Configurer UUCP.</title> - - <para><emphasis>Emprunté à la FAQ.</emphasis></para> - - <para>La configuration de <command>sendmail</command> livrée avec - FreeBSD convient à des sites directement connectés à l'Internet. - Les sites qui veulent échanger du courrier par UUCP doivent - installer un autre fichier de configuration de - <command>sendmail</command>.</para> - - <para>Bidouiller <filename>/etc/sendmail.cf</filename> à la main est - généralement considéré comme une occupation de puriste. La version - 8 de <command>sendmail</command> s'accompagne d'une nouvelle manière - de générer les fichiers de configuration avec le pré-processeur - <command>m4</command>, grâce auquel le travail de configuration - à la main se fait à un niveau d'abstraction plus élevé. - Utilisez les fichiers de configuration du répertoire - <filename>/usr/src/usr.sbin/sendmail/cf</filename>.</para> - - <para>Si vous n'avez pas installé la totalité du source sur votre - système, les fichiers et outils de <command>sendmail</command> ont - été scindés en plusieurs fichiers d'archive, pour plus de - commodités. En supposant que vous ayez monté le CD-ROM, - tapez:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cd /usr/src</userinput> -&prompt.root; <userinput>tar -xvzf /cdrom/dists/src/ssmailcf.aa</userinput></screen> - </informalexample> - - <para>Pas de panique, il n'y a que quelques centaines de kilo-octets. - Le fichier <filename>README</filename> du répertoire - <filename>cf</filename> est une bonne introduction de base à la - configuration avec <command>m4</command>.</para> - - <para>Pour le transfert par UUCP, le mieux est d'utiliser la - fonctionnalité <emphasis>mailertable</emphasis>. Elle construit une - base de données que <command>sendmail</command> peut utiliser pour - prendre ses décisions de routage.</para> - - <para>Vous devez d'abord créer un fichier <filename>.mc</filename>. - Le répertoire <filename>/usr/src/usr.sbin/sendmail/cf/cf</filename> - contient ces fichiers. Jetez-y un coup d'oeil, il y a déjà - quelques exemples. Supposons que vous ayez appelé votre fichier - <filename>foo.mc</filename>, tout ce que vous avez à faire pour le - convertir en un fichier <filename>sendmail.cf</filename> - valide est:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail/cf/cf</userinput> -&prompt.root; <userinput>make foo.cf</userinput></screen> - </informalexample> - - <para>Si vous n'avez pas de répertoire - <filename>/usr/obj</filename>, alors:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cp foo.cf /etc/sendmail.cf</userinput></screen> - </informalexample> - - <para>Sinon:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cp /usr/obj/`pwd`/foo.cf /etc/sendmail.cf</userinput></screen> - </informalexample> - - <para>Un fichier <filename>.mc</filename> typique ressemblerait - à:</para> - - <programlisting> -include(`../m4/cf.m4') -VERSIONID(`<replaceable>Votre numéro de version</replaceable>') -OSTYPE(bsd4.4) - -FEATURE(nodns) -FEATURE(nocanonify) -FEATURE(mailertable) - -define(`UUCP_RELAY', <replaceable>votre.relais.uucp</replaceable>) -define(`UUCP_MAX_SIZE', 200000) - -MAILER(local) -MAILER(smtp) -MAILER(uucp) - -Cw <replaceable>votre.alias.nom.machine</replaceable> -Cw <replaceable>votrenomdenoeuduucp.UUCP</replaceable></programlisting> - - <para>Les fonctionnalités <literal>nodns</literal> et - <literal>nocanonify</literal> évitent le recours au DNS - pour délivrer le courrier. La clause <literal>UUCP_RELAY</literal> - est nécessaire pour d'obscures raisons, ne me demandez pas - lesquelles. Mettez-y simplement un nom de machine Internet qui - soit capable de comprendre les adresses du pseudo-domaine .UUCP; - vous y mettrez vraisemblablement le nom du relais de courrier - électronique de votre fournisseur d'accès.</para> - - <para>Un fois que cela est fait, il vous faut le fichier appelé - <filename>/etc/mailertable</filename>. De nouveau, un exemple - typique de cette variété:</para> - - <programlisting> -# -# makemap hash /etc/mailertable.db < /etc/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:sax</programlisting> - - <para>Comme vous pouvez le constater, c'est un exemple d'après nature. - Les trois premières lignes prennent en charge les cas particuliers - où le courrier adressé au domaine ne doit pas être expédié sur la - route par défaut, mais à un voisin UUCP pour - “raccourcir” le trajet. La ligne suivante gère le - courrier sur le domaine local Ethernet, qui peut être délivré - par SMTP. Pour finir, les voisins UUCP sont référencés avec la - notation utilisant le pseudo-domaine .UUCP pour permettre - la surcharge des règles par défaut - <literal>uucp-voisin!destinataire</literal>. Il y a toujours un - simple point (“.”) sur la dernière ligne, - qui correspond à tout le reste, - et permet l'expédition UUCP à un voisin UUCP qui vous sert de - passerelle universelle pour le courrier au reste du monde. Tous les - noms de noeuds après le mot-clé <literal>uucp-dom:</literal> - doivent être des voisins UUCP valables, ce que vous pouvez contrôler - avec <command>uuname</command>.</para> - - <para>Pour vous rappeler que ce fichier doit être converti en base - de données DBM avant d'être utilisable, c'est une bonne idée de - mettre la ligne de commande qui le fait en tête du fichier - <filename>mailertable</filename>. Vous devez l'exécuter chaque fois - que vous modifiez <filename>mailertable</filename>.</para> - - <para>Dernier point: si vous n'êtes pas sûr qu'une route donnée - fonctionne, rappelez-vous l'option <option>-bt</option> de - <command>sendmail</command>. Elle lance <command>sendmail</command> - en mode “test d'addresse”; entrez simplement - <literal>0</literal>, puis l'adresse dont vous voulez tester la - route, la dernière ligne vous donnera l'agent de transport de - courrier utilisé en interne, la machine destinatrice que vous - avez donnée en paramètre, et l'adresse (éventuellement traduite). - Vous quittez ce mode en tapant Ctrl-D.</para> - - <informalexample> - <screen>&prompt.user; <userinput>sendmail -bt</userinput> -ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) -Enter <ruleset> <address> -<prompt>></prompt> <userinput>0 foo@interface-business.de</userinput> -rewrite: ruleset 0 input: foo @ interface-business . de -… -rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo < @ interface-business . de</screen> - </informalexample> - - </sect2> - </sect1> - - <sect1 id="mailfaq"> - <title>FAQ</title> - - <para><emphasis>Emprunts à la FAQ.</emphasis></para> - - - <sect2> - <title>Pourquoi faut-il que j'utilise les FQDN (“Fully Qualified - Domain Name” - noms Internet - complets) pour les machines de mon site?</title> - - <para>Vous vous rendrez probablement compte que la machine est en - fait dans un domaine différent; par exemple, si vous êtes dans - le domaine <hostid role="fqdn">foo.bar.edu</hostid> et que vous - voulez atteindre la machine <hostid>mumble</hostid> du domaine - <hostid role="domainname">bar.edu</hostid>, vous devrez utiliser - son nom de domaine complet, <hostid - role="fqdn">mumble.bar.edu</hostid>, au lieu de - <hostid>mumble</hostid>.</para> - - <para>C'était traditionnellement admis par les solveurs BIND BSD. - Néanmoins, la version de <application>BIND</application> qui est - maintenant livrée avec FreeBSD ne sait pas compléter les noms - de domaines abrégés autrement qu'avec le nom de votre domaine. - Donc le nom non qualifié <hostid>mumble</hostid> doit correspondre - à <hostid role="fqdn">mumble.foo.bar.edu</hostid>, sans quoi il - sera recherché dans le domaine racine.</para> - - <para>Cela diffère du comportement antérieur, où la recherche se - prolongeait à <hostid role="domainname">mumble.bar.edu</hostid>, - puis <hostid role="domainname">mumble.edu</hostid>. Consultez la - RFC 1535 pour savoir pourquoi cela était considéré comme une manière - incorrecte de faire, voire un trou de sécurité.</para> - - <para>Comme palliatif, vous pouvez mettre la ligne: - - <programlisting> -search foo.bar.edu bar.edu</programlisting> - - à la place de: - - <programlisting> -domain foo.bar.edu</programlisting> - - dans votre fichier <filename>/etc/resolv.conf</filename>. Assurez-vous - cependant que la recherche ne franchit pas la - “limite entre l'administration locale et publique” - selon l'expression de la RFC 1535.</para> - - </sect2> - - <sect2> - <title>Sendmail affiche le message d'erreur - <errorname>mail loops back to myself</errorname></title> - - <para>La réponse donnée dans la FAQ de Sendmail est la suivante:</para> - - <programlisting> -* J'ai des messages "Local configuration error", du style: - -553 relay.domain.net config error: mail loops back to myself -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) avec -un enregistrement MX, mais la machine relais ne se connaît pas elle-même -comme domain.net. Ajoutez domain.net à /etc/sendmail.cw (si vous utilisez -FEATURE(use_cw_file)) ou ajoutez "Cw domain.net" à /etc/sendmail.cf.</programlisting> - - <para>La FAQ Sendmail se trouve dans - <filename>/usr/src/usr.sbin/sendmail</filename>. Je vous en - recommande la lecture si vous voulez “bidouiller” - votre configuration du courrier électronique.</para> - - </sect2> - - <sect2> - <title>Comment puis-je gèrer le courrier électronique avec une - connexion téléphonique PPP?</title> - - <para>Vous voulez connecter une machine FreeBSD du réseau local - à l'Internet. Cette machine servira de passerelle de courrier - pour le réseau local. La connexion PPP n'est pas dédiée.</para> - - <para>Il y a au moins deux façons de faire.</para> - - <para>L'une d'elle est d'utiliser UUCP. Voici l'autre.</para> - - <para>Le point clé est d'obtenir d'un site Internet qu'il vous - fournisse les services MX secondaires pour votre domaine. Par - exemple:</para> - - <programlisting> -bigco.com. MX 10 bigco.com. - MX 20 smalliap.com.</programlisting> - - <para>Il doit y avoir une seule machine comme destinataire final - (ajoutez <literal>Cw bigco.com</literal> au fichier - <filename>/etc/sendmail.cf</filename> de bigco.com).</para> - - <para>Quand les <command>sendmail</command> expéditeurs essayeront - de vous délivrer du courrier, ils essayerons de vous contacter via - votre liaison modem. Ce qui échouera très probablement sur - dépassement de délai puisque vous n'êtes pas en ligne. - <command>sendmail</command> enverra automatiquement le courrier au - site MX secondaire, i.e.: votre fournisseur d'accès. Celui-ci - essayera toutes les 15 minutes (<literal>sendmail_flags = - "-bd -q15m"</literal> dans <filename>/etc/rc.conf</filename>) - de se connecter à votre machine pour expédier le courrier au site - MX primaire.</para> - - <para>Vous pouvez utiliser quelque chose comme ceci comme - procédure de connexion:</para> - - <programlisting> -#!/bin/sh -# Mettez-moi dans /usr/local/bin/pppbigco -( sleep 60 ; /usr/sbin/sendmail -q ) & -/usr/sbin/ppp -direct pppbigco</programlisting> - - <para>Si vous définissez une procédure de connexion particulière - pour un utilisateur, vous pouvez utiliser <command>sendmail - -qRbigco.com</command> au lieu de la procédure ci-dessus. Cela - forcera le traitement immédiat de tout le courrier dans la file - d'attente pour bigco.com.</para> - - <para>On peut encore affiner comme suit la configuration:</para> - - <para>Message emprunté à la liste de diffusion freebsd-isp.</para> - - <programlisting> -> 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 lui 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 '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 le courrier, sans essayer de -se connecter chez votre client. Vous le lui transmettez ensuite. Cela ne -marche qu'avec "hosts", vous n'avez donc pas besoin que votre client appelle -son serveur de courrier "client.com" ou "machine.client.com" dans le DNS. -Mettez seulement un enregistrement A pour "client.com" dans le DNS.</programlisting> - - </sect2> - </sect1> - </chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-shorttag: nil - sgml-always-quote-attributes: t - sgml-minimize-attributes: max - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> diff --git a/fr_FR.ISO8859-1/books/handbook/mailing-lists.ent b/fr_FR.ISO8859-1/books/handbook/mailing-lists.ent deleted file mode 100644 index 40523ef292..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/mailing-lists.ent +++ /dev/null @@ -1,113 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $Id: mailing-lists.ent,v 1.2 2000-05-26 05:47:48 gioria Exp $ - Original revision: n.nn ---> -<!-- - fichier crée a partir du fichier lists.sgml - de la version linuxdoc du docbook ---> - -<!ENTITY a.announce "liste de diffusion pour les annonces relatives à FreeBSD - <email>freebsd-announce@FreeBSD.ORG</email>"> - -<!ENTITY a.advocacy "FreeBSD advocacy mailing list - <email>freebsd-advocacy@FreeBSD.ORG</email>"> - -<!ENTITY a.cvsall "liste de diffusion des messages de soumission CVS de FreeBSD - <email>cvs-all@FreeBSD.ORG</email>"> - -<!ENTITY a.committers "liste de diffusion pour les <foreignphrase>committers</foreignphrase> de FreeBSD - <email>cvs-committers@FreeBSD.ORG</email>"> - -<!ENTITY a.database "FreeBSD based Databases - <email>freebsd-database@FreeBSD.ORG</email>"> - -<!ENTITY a.fr-doc "liste de diffusion du groupe de traduction en langue française de la documentation de FreeBSD - <email>freebsd-france@freebsd.francenet.fr</email>"> - -<!ENTITY a.doc "liste de diffusion du groupe de documentation de FreeBSD - <email>freebsd-doc@FreeBSD.ORG</email>"> - -<!ENTITY a.bugs "FreeBSD problem reports mailing list - <email>freebsd-bugs@FreeBSD.ORG</email>"> - -<!ENTITY a.chat "FreeBSD chat mailing list - <email>freebsd-chat@FreeBSD.ORG</email>"> - -<!ENTITY a.current "liste de diffusion à propos de FreeBSD-current - <email>freebsd-current@FreeBSD.ORG</email>"> - -<!ENTITY a.emulation "FreeBSD-emulation mailing list - <email>freebsd-emulation@FreeBSD.ORG</email>"> - -<!ENTITY a.fs "FreeBSD filesystem project mailing list - <email>freebsd-fs@FreeBSD.ORG</email>"> - -<!ENTITY a.hackers "liste de diffusion pour les discussions techniques sur FreeBSD - <email>freebsd-hackers@FreeBSD.ORG</email>"> - -<!ENTITY a.hardware "FreeBSD hardware and equipment mailing list - <email>freebsd-hardware@FreeBSD.ORG</email>"> - -<!ENTITY a.isdn "FreeBSD ISDN mailing list - <email>freebsd-isdn@FreeBSD.ORG</email>"> - -<!ENTITY a.isp "FreeBSD Internet service provider's mailing list - <email>freebsd-isp@FreeBSD.ORG</email>"> - -<!ENTITY a.java "FreeBSD Java Language mailing list - <email>freebsd-java@FreeBSD.ORG</email>"> - -<!ENTITY a.jobs "FreeBSD related employment mailing list - <email>freebsd-jobs@FreeBSD.ORG</email>"> - -<!ENTITY a.mobile "FreeBSD laptop computer mailing list - <email>freebsd-mobile@FreeBSD.ORG</email>"> - -<!ENTITY a.mozilla "FreeBSD port of the Mozilla browser mailing list - <email>freebsd-mozilla@FreeBSD.ORG</email>"> - -<!ENTITY a.multimedia "FreeBSD multimedia mailing list - <email>freebsd-multimedia@FreeBSD.ORG</email>"> - -<!ENTITY a.net "FreeBSD networking mailing list - <email>freebsd-net@FreeBSD.ORG</email>"> - -<!ENTITY a.newbies "FreeBSD new users mailing list - <email>freebsd-newbies@FreeBSD.ORG</email>"> - -<!ENTITY a.ports "liste de diffusion à propos du catalogue des logiciels portés de FreeBSD - <email>freebsd-ports@FreeBSD.ORG</email>"> - -<!ENTITY a.questions "liste de diffusion pour les questions d'ordre général à propos de FreeBSD - <email>freebsd-questions@FreeBSD.ORG</email>"> - -<!ENTITY a.scsi "FreeBSD SCSI subsystem mailing list - <email>freebsd-scsi@FreeBSD.ORG</email>"> - -<!ENTITY a.security "FreeBSD security mailing list - <email>freebsd-security@FreeBSD.ORG</email>"> - -<!ENTITY a.security-notifications "FreeBSD security notifications mailing list - <email>freebsd-security-notifications@FreeBSD.ORG</email>"> - -<!ENTITY a.small "liste de diffusion pour les systèmes FreeBSD embarqués - <email>freebsd-small@FreeBSD.ORG</email>"> - -<!ENTITY a.smp "FreeBSD symmetric multiprocessing mailing list - <email>freebsd-smp@FreeBSD.ORG</email>"> - -<!ENTITY a.stable "liste de diffusion à propos de FreeBSD-stable - <email>freebsd-stable@FreeBSD.ORG</email>"> - -<!ENTITY a.tokenring "FreeBSD tokenring mailing list - <email>freebsd-tokenring@FreeBSD.ORG</email>"> - -<!ENTITY a.majordomo - "<email>majordomo@FreeBSD.ORG</email>"> - -<!ENTITY a.core "Equipe de base de FreeBSD - <email>freebsd-core@FreeBSD.ORG</email>"> diff --git a/fr_FR.ISO8859-1/books/handbook/mirrors/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/mirrors/chapter.sgml deleted file mode 100644 index 69568d4228..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/mirrors/chapter.sgml +++ /dev/null @@ -1,1420 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: 1.12 ---> - -<chapter id="mirrors"> - <title>Se procurer FreeBSD</title> - - <sect1> - <title>Editeurs de CD-ROMs</title> - - <para>FreeBSD est disponible sur CD-ROMs chez Walnut Creek CDROM : - - <address> - <otheraddr>Walnut Creek CDROM</otheraddr> - <street>4041 Pike Lane, Suite F</street> - <city>Concord</city> - <state>CA</state>, <postcode>94520</postcode> - <country>USA</country> - Téléphone : <phone>+1 925 674-0783</phone> - Fax : <fax>+1 925 674-0821</fax> - Email : <email>info@cdrom.com</email> - WWW : <otheraddr>http://www.cdrom.com/</otheraddr> - </address></para> - </sect1> - - <sect1 id="mirrors-ftp"> - <title>Sites FTP</title> - - <para>Les sources officiels de FreeBSD sont disponibles via FTP anonyme - à l'adresse suivante : - - <blockquote> - <para><ulink - URL="ftp://ftp.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.FreeBSD.ORG/pub/FreeBSD</ulink>.</para> - </blockquote></para> - - <para>La <ulink - url="http://www.itworks.com.au/~gavin/FBSDsites.php3">base de - données des sites miroir FreeBSD</ulink> est plus à jour que - la liste de ce manuel de référence, parce qu'elle tire ses - informations du DNS plutôt que de donner une liste - figée.</para> - - <para>FreeBSD est aussi disponible via FTP anonyme sur les sites miroir - ci-dessous. Si vous faites le choix de vous procurer FreeBSD via FTP - anonyme, faites s'il vous plaît en sorte d'utiliser un site proche - de vous.</para> - - <para> - <link linkend="mirrors-za">Afrique du Sud</link>, - <link linkend="mirrors-de">Allemagne</link>, - <link linkend="mirrors-ar">Argentine</link>, - <link linkend="mirrors-au">Australie</link>, - <link linkend="mirrors-br">Brésil</link>, - <link linkend="mirrors-ca">Canada</link>, - <link linkend="mirrors-kr">Corée</link>, - <link linkend="mirrors-dk">Danemark</link>, - <link linkend="mirrors-es">Espagne</link>, - <link linkend="mirrors-ee">Estonie</link>, - <link linkend="mirrors-us">Etats-Unis</link>, - <link linkend="mirrors-fi">Finlande</link>, - <link linkend="mirrors-fr">France</link>, - <link linkend="mirrors-hk">Hong Kong</link>, - <link linkend="mirrors-ie">Irelande</link>, - <link linkend="mirrors-il">Israël</link>, - <link linkend="mirrors-jp">Japon</link>, - <link linkend="mirrors-nl">Pays-Bas</link>, - <link linkend="mirrors-pl">Pologne</link>, - <link linkend="mirrors-pt">Portugal</link>, - <link linkend="mirrors-sk">République Slovaque</link>, - <link linkend="mirrors-cz">République Tchèque</link>, - <link linkend="mirrors-uk">Royaume-Uni</link>, - <link linkend="mirrors-ru">Russie</link>, - <link linkend="mirrors-si">Slovénie</link>, - <link linkend="mirrors-se">Suède</link>, - <link linkend="mirrors-tw">Taïwan</link>, - <link linkend="mirrors-th">Thaïlande</link>, - <link linkend="mirrors-ua">Ukraine</link>.</para> - - <variablelist> - <varlistentry> - <term><anchor id="mirrors-za">Afrique du Sud</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@za.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.za.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.za.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp2.za.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.za.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp3.za.FreeBSD.ORG/FreeBSD">ftp://ftp3.za.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-de">Allemagne</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@de.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.de.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.de.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp2.de.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.de.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp3.de.FreeBSD.ORG/pub/FreeBSD">ftp://ftp3.de.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp4.de.FreeBSD.ORG/pub/FreeBSD">ftp://ftp4.de.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp5.de.FreeBSD.ORG/pub/FreeBSD">ftp://ftp5.de.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp6.de.FreeBSD.ORG/pub/FreeBSD">ftp://ftp6.de.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp7.de.FreeBSD.ORG/pub/FreeBSD">ftp://ftp7.de.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-ar">Argentine</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@ar.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.ar.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.ar.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-au">Australie</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@au.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.au.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.au.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp2.au.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.au.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp3.au.FreeBSD.ORG/pub/FreeBSD">ftp://ftp3.au.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp4.au.FreeBSD.ORG/pub/FreeBSD">ftp://ftp4.au.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-br">Brésil</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@br.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.br.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.br.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp2.br.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.br.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp3.br.FreeBSD.ORG/pub/FreeBSD">ftp://ftp3.br.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp4.br.FreeBSD.ORG/pub/FreeBSD">ftp://ftp4.br.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp5.br.FreeBSD.ORG/pub/FreeBSD">ftp://ftp5.br.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp6.br.FreeBSD.ORG/pub/FreeBSD">ftp://ftp6.br.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp7.br.FreeBSD.ORG/pub/FreeBSD">ftp://ftp7.br.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-ca">Canada</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@ca.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.ca.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.ca.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-kr">Corée</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@kr.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.kr.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.kr.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp2.kr.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.kr.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink url="ftp://ftp3.kr.FreeBSD.ORG/pub/FreeBSD">ftp://ftp3.kr.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink url="ftp://ftp4.kr.FreeBSD.ORG/pub/FreeBSD">ftp://ftp4.kr.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink url="ftp://ftp5.kr.FreeBSD.ORG/pub/FreeBSD">ftp://ftp5.kr.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - url="ftp://ftp6.kr.FreeBSD.ORG/pub/FreeBSD">ftp://ftp6.kr.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-dk">Danemark</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@dk.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.dk.freeBSD.ORG/pub/FreeBSD">ftp://ftp.dk.freeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-es">Espagne</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@es.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink url="ftp://ftp.es.freebsd.ORG/pub/FreeBSD">ftp://ftp.es.freebsd.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-ee">Estonie</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@ee.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.ee.freebsd.ORG/pub/FreeBSD">ftp://ftp.ee.freebsd.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-us">Etats-Unis</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp2.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp3.FreeBSD.ORG/pub/FreeBSD">ftp://ftp3.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp4.FreeBSD.ORG/pub/FreeBSD">ftp://ftp4.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp5.FreeBSD.ORG/pub/FreeBSD">ftp://ftp5.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp6.FreeBSD.ORG/pub/FreeBSD">ftp://ftp6.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-fi">Finlande</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@fi.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.fi.freebsd.ORG/pub/FreeBSD">ftp://ftp.fi.freebsd.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-fr">France</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@fr.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.fr.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.fr.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp2.fr.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.fr.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp3.fr.FreeBSD.ORG/pub/FreeBSD">ftp://ftp3.fr.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-hk">Hong Kong</term> - - <listitem> - <itemizedlist> - - <listitem> - <para><ulink - URL="ftp://ftp.hk.super.net/pub/FreeBSD">ftp://ftp.hk.super.net/pub/FreeBSD</ulink> Contact: <email>ftp-admin@HK.Super.NET</email>.</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-ie">Irelande</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@ie.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.ie.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.ie.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-il">Israël</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@il.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.il.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.il.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp2.il.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.il.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-jp">Japon</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@jp.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.jp.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.jp.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp2.jp.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.jp.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp3.jp.FreeBSD.ORG/pub/FreeBSD">ftp://ftp3.jp.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp4.jp.FreeBSD.ORG/pub/FreeBSD">ftp://ftp4.jp.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp5.jp.FreeBSD.ORG/pub/FreeBSD">ftp://ftp5.jp.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp6.jp.FreeBSD.ORG/pub/FreeBSD">ftp://ftp6.jp.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-nl">Pays-Bas</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@nl.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - - <listitem> - <para><ulink - URL="ftp://ftp.nl.freebsd.ORG/pub/FreeBSD">ftp://ftp.nl.freebsd.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-pl">Pologne</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@pl.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.pl.freebsd.ORG/pub/FreeBSD">ftp://ftp.pl.freebsd.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-pt">Portugal</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@pt.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.pt.freebsd.org/pub/FreeBSD">ftp://ftp.pt.freebsd.org/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp2.pt.freebsd.org/pub/FreeBSD">ftp://ftp2.pt.freebsd.org/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-sk">République Slovaque</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@sk.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink url="ftp://ftp.sk.freebsd.ORG/pub/FreeBSD">ftp://ftp.sk.freebsd.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-cz">République Tchèque</term> - - <listitem> - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://sunsite.mff.cuni.cz/OS/FreeBSD">ftp://sunsite.mff.cuni.cz/OS/FreeBSD</ulink> Contact: <email>jj@sunsite.mff.cuni.cz</email>.</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-uk">Royaume-Uni</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@uk.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.uk.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.uk.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp2.uk.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.uk.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp3.uk.FreeBSD.ORG/pub/FreeBSD">ftp://ftp3.uk.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp4.uk.FreeBSD.ORG/pub/FreeBSD">ftp://ftp4.uk.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-ru">Russie</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@ru.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.ru.freebsd.org/pub/FreeBSD">ftp://ftp.ru.freebsd.org/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp2.ru.freebsd.org/pub/FreeBSD">ftp://ftp2.ru.freebsd.org/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp3.ru.freebsd.org/pub/FreeBSD">ftp://ftp3.ru.freebsd.org/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink url="ftp://ftp4.ru.freebsd.org/pub/FreeBSD">ftp://ftp4.ru.freebsd.org/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry><term><anchor id="mirrors-si">Slovénie</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@si.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.si.freebsd.ORG/pub/FreeBSD">ftp://ftp.si.freebsd.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-se">Suède</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@se.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.se.freebsd.ORG/pub/FreeBSD">ftp://ftp.se.freebsd.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp2.se.freebsd.ORG/pub/FreeBSD">ftp://ftp2.se.freebsd.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp3.se.freebsd.ORG/pub/FreeBSD">ftp://ftp3.se.freebsd.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-tw">Taïwan</term> - - <listitem> - <para>En cas de problème, contactez le - “<foreignphrase>hostmaster</foreignphrase>” - <email>hostmaster@tw.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.tw.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.tw.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp2.tw.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.tw.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp3.tw.FreeBSD.ORG/pub/FreeBSD">ftp://ftp3.tw.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-th">Thaïlande</term> - - <listitem> - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.nectec.or.th/pub/FreeBSD">ftp://ftp.nectec.or.th/pub/FreeBSD</ulink> Contact: <email>ftpadmin@ftp.nectec.or.th</email>.</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><anchor id="mirrors-ua">Ukraine</term> - - <listitem> - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.ua.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.ua.FreeBSD.ORG/pub/FreeBSD</ulink> Contact: <email>freebsd-mnt@lucky.net</email>.</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - </variablelist> - - <para>Les dernières versions du code FreeBSD (2.0C et - ultérieurs) soumis à des restrictions à l'exportation - (“eBones” et “secure”) sont disponibles sur les - sites suivants. Si vous êtes à l'extérieur des - Etats-Unis et du Canada, procurez-vous s'il vous plaît - “secure” (DES) et “eBones” d'un des sites de - distribution étrangers suivants :</para> - - <variablelist> - <varlistentry> - <term>Afrique du Sud</term> - - <listitem> - <para>“<foreignphrase>Hostmaster</foreignphrase>” - <email>hostmaster@internat.FreeBSD.ORG</email> pour ce - domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.internat.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.internat.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ftp2.internat.FreeBSD.ORG/pub/FreeBSD">ftp://ftp2.internat.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Brésil</term> - - <listitem> - <para>“<foreignphrase>Hostmaster</foreignphrase>” - <email>hostmaster@br.FreeBSD.ORG</email> pour ce domaine.</para> - - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.br.FreeBSD.ORG/pub/FreeBSD">ftp://ftp.br.FreeBSD.ORG/pub/FreeBSD</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Finlande</term> - - <listitem> - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt">ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt</ulink> Contact: <email>count@nic.funet.fi</email>.</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - </variablelist> - </sect1> - - <sect1 id="mirrors-ctm"> - <title>Sites CTM</title> - - <para><link linkend="ctm">CTM</link>/FreeBSD est disponible via FTP anonyme - sur les sites miroir suivants. Si vous faites le choix de vous procurer - CTM via FTP anonyme, utilisez s'il vous plaît un site proche de - vous.</para> - - <para>En cas de problème, contactez &a.phk;.</para> - - <variablelist> - <varlistentry> - <term>Afrique du Sud, serveur de secours pour les anciens deltas</term> - - <listitem> - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.internat.freebsd.org/pub/FreeBSD/CTM">ftp://ftp.internat.freebsd.org/pub/FreeBSD/CTM</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Allemagne, Trier</term> - - <listitem> - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.uni-trier.de/pub/unix/systems/BSD/FreeBSD/CTM">ftp://ftp.uni-trier.de/pub/unix/systems/BSD/FreeBSD/CTM</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Californie, Bay Area, source officiel</term> - - <listitem> - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ftp.freebsd.org/pub/FreeBSD/development/CTM">ftp://ftp.freebsd.org/pub/FreeBSD/development/CTM</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Taiwan/R.O.C, Chiayi</term> - - <listitem> - <itemizedlist> - <listitem> - <para><ulink - URL="ftp://ctm.tw.freebsd.org/pub/FreeBSD/CTM">ftp://ctm.tw.freebsd.org/pub/FreeBSD/CTM</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ctm2.tw.freebsd.org/pub/FreeBSD/CTM">ftp://ctm2.tw.freebsd.org/pub/FreeBSD/CTM</ulink></para> - </listitem> - - <listitem> - <para><ulink - URL="ftp://ctm3.tw.freebsd.org/pub/freebsd/CTM">ftp://ctm3.tw.freebsd.org/pub/freebsd/CTM</ulink></para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - </variablelist> - - <para>Si vous n'avez pas trouvé de miroir proche de vous, ou si le - miroir est incomplet, essayez une - <ulink URL="http://ftpsearch.ntnu.no/"> recherche FTP</ulink> sur - <ulink URL="http://ftpsearch.ntnu.no/ftpsearch/">http://ftpsearch.ntnu.no/ftpsearch</ulink>. - Ce site est un excellent serveur “archie” libre à - Trondheim, en Norvège.</para> - </sect1> - - <sect1 id="mirrors-cvsup"> - <title>Sites CVSup</title> - - <para>Des serveurs <link linkend="cvsup">CVSup</link> FreeBSD sont - disponibles sur les sites suivants :</para> - - <variablelist> - <varlistentry> - <term>Afrique du Sud</term> - - <listitem> - <itemizedlist> - <listitem> - <para>cvsup.za.FreeBSD.ORG (responsable - <email>markm@FreeBSD.ORG</email>)</para> - </listitem> - - <listitem> - <para>cvsup2.za.FreeBSD.ORG (responsable - <email>markm@FreeBSD.ORG</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Allemagne</term> - - <listitem> - <itemizedlist> - <listitem> - <para>cvsup.de.FreeBSD.ORG (responsable - <email>wosch@freebsd.org</email>)</para> - </listitem> - - <listitem> - <para>cvsup2.de.FreeBSD.ORG (responsable - <email>petzi@freebsd.org</email>)</para> - </listitem> - - <listitem> - <para>cvsup3.de.FreeBSD.ORG (responsable - <email>ag@leo.org</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Argentine</term> - - <listitem> - <itemizedlist> - - <listitem> - <para>cvsup.ar.FreeBSD.ORG (responsable - <email>msagre@cactus.fi.uba.ar</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Australie</term> - - <listitem> - <itemizedlist> - <listitem> - <para>cvsup.au.FreeBSD.ORG (responsable - <email>dawes@physics.usyd.edu.au</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Brésil</term> - - <listitem> - <itemizedlist> - <listitem> - <para>cvsup.br.FreeBSD.ORG (responsable - <email>cvsup@cvsup.br.freebsd.org</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Canada</term> - - <listitem> - <itemizedlist> - <listitem> - <para>cvsup.ca.FreeBSD.ORG (responsable - <email>dm@glbalserve.net</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Danemark</term> - - <listitem> - <itemizedlist> - <listitem> - <para>cvsup.dk.FreeBSD.ORG (responsable - <email>jesper@skriver.dk</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Espagne</term> - - <listitem> - <itemizedlist> - <listitem> - <para>cvsup.es.freebsd.org (responsable - <email>jesusr@freebsd.org</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Estonie</term> - - <listitem> - <itemizedlist> - <listitem> - <para>cvsup.ee.FreeBSD.ORG (responsable - <email>taavi@uninet.ee</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Etats-Unis</term> - - <listitem> - <itemizedlist> - <listitem> - <para>cvsup1.FreeBSD.ORG (responsable - <email>skynyrd@opus.cts.cwu.edu</email>), Washington - state</para> - </listitem> - - <listitem> - <para>cvsup2.FreeBSD.ORG (responsable - <email>jdp@FreeBSD.ORG</email>), California</para> - </listitem> - - <listitem> - <para>cvsup3.FreeBSD.ORG (responsable - <email>wollman@FreeBSD.ORG</email>), Massachusetts</para> - </listitem> - - <listitem> - <para>cvsup5.FreeBSD.ORG (responsable - <email>cvsup@adsu.bellsouth.com</email>), Georgia</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Finlande</term> - - <listitem> - <itemizedlist> - <listitem> - <para>cvsup.fi.FreeBSD.ORG (responsable - <email>count@key.sms.fi</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Icelande</term> - - <listitem> - <itemizedlist> - <listitem> - <para>cvsup.is.FreeBSD.ORG (responsable - <email>adam@veda.is</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Japon</term> - - <listitem> - <itemizedlist> - - <listitem> - <para>cvsup.jp.FreeBSD.ORG (responsable - <email>simokawa@sat.t.u-tokyo.ac.jp</email>)</para> - </listitem> - - <listitem> - <para>cvsup2.jp.FreeBSD.ORG (responsable - <email>max@FreeBSD.ORG</email>)</para> - </listitem> - - <listitem> - <para>cvsup3.jp.FreeBSD.ORG (responsable - <email>shige@cin.nihon-u.ac.jp</email>)</para> - </listitem> - - <listitem> - <para>cvsup4.jp.FreeBSD.ORG (responsable - <email>cvsup-admin@ftp.media.kyoto-u.ac.jp</email>)</para> - </listitem> - - <listitem> - <para>cvsup5.jp.FreeBSD.ORG (responsable - <email>cvsup@imasy.or.jp</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Norvège</term> - - <listitem> - <itemizedlist> - <listitem> - <para>cvsup.no.FreeBSD.ORG (responsable - <email>Tor.Egge@idt.ntnu.no</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Pays-Bas</term> - - <listitem> - <itemizedlist> - - <listitem> - <para>cvsup.nl.FreeBSD.ORG (responsable - <email>xaa@xaa.iae.nl</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Pologne</term> - - <listitem> - <itemizedlist> - <listitem> - <para>cvsup.pl.FreeBSD.ORG (responsable - <email>Mariusz@kam.pl</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>République Slovaque</term> - - <listitem> - <itemizedlist> - <listitem> - <para>cvsup.sk.FreeBSD.ORG (responsable - <email>tps@tps.sk</email>)</para> - </listitem> - - <listitem> - <para>cvsup2.sk.FreeBSD.ORG (responsable - <email>tps@tps.sk</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Royaume-Uni</term> - - <listitem> - <itemizedlist> - <listitem> - <para>cvsup.uk.FreeBSD.ORG (responsable - <email>joe@pavilion.net</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Russie</term> - - <listitem> - <itemizedlist> - <listitem> - <para>cvsup.ru.FreeBSD.ORG (responsable - <email>mishania@demos.su</email>)</para> - </listitem> - - <listitem> - <para>cvsup2.ru.FreeBSD.ORG (responsable - <email>dv@dv.ru</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Suède</term> - - <listitem> - <itemizedlist> - <listitem> - <para>cvsup.se.FreeBSD.ORG (responsable - <email>pantzer@ludd.luth.se</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Taïwan</term> - - <listitem> - <itemizedlist> - <listitem> - <para>cvsup.tw.FreeBSD.ORG (responsable - <email>jdli@freebsd.csie.nctu.edu.tw</email>)</para> - </listitem> - - </itemizedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Ukraine</term> - - <listitem> - <itemizedlist> - - <listitem> - <para>cvsup2.ua.FreeBSD.ORG (responsable - <email>freebsd-mnt@lucky.net</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - </variablelist> - - <para>Le code pour FreeBSD soumis à des restrictions à - l'exportation (“eBones” et “secure”) est - disponible via <application>CVSup</application> sur l'archive - internationale suivante. Utilisez s'il vous plaît ce site pour - obtenir ce code, si vous êtes à l'extérieur des - Etats-Unis et du Canada.</para> - - <variablelist> - <varlistentry> - <term>Afrique du Sud</term> - - <listitem> - <itemizedlist> - <listitem> - <para>cvsup.internat.FreeBSD.ORG (responsable - <email>markm@FreeBSD.ORG</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - </variablelist> - - <para>Le site <application>CVSup</application> suivant est - spécialement conçu pour les utilisateurs de - <link linkend="ctm">CTM</link>. A l'inverse des autres miroirs CVSup, il - est mis à jour via <application>CTM</application>. Ce qui signifie - que si vous récupérez avec <application>CVSup</application> - <literal>cvs-all</literal> avec <literal>release=cvs</literal> de ce site, vous obtenez une version - des archives (y compris l'inévitable fichier - <filename>.ctm_status</filename>) prête à être mise - à jour avec les deltas <application>CTM</application> - <literal>cvs-cur</literal>. Cela permet aux utilisateurs qui maintiennent - à jour toute l'arborescence <literal>cvs-all</literal> de passer de - <application>CVSup</application> à <application>CTM</application> - sans avoir à réinitialiser leur archive avec un nouveau - delta <application>CTM</application> de base.</para> - - <note> - <para>Cette fonctionnalité particulière ne s'applique - qu'à la distribution <literal>cvs-all</literal> avec - <command>cvs</command> comme étiquette de version. - Récupérer tout autre distribution et/ou version CVSup vous - procurera la distribution en question, mais elle ne pourra pas - être mise à jour avec - <application>CTM</application>.</para> - </note> - - <note> - <para>Comme la version actuelle de <application>CTM</application> ne - conserve pas les dates des fichiers, les dates sur ce site miroir ne - sont pas les mêmes que sur les autres sites. Il n'est pas - recommandé de passer de ce site à d'autres. Cela - fonctionnera, mais ce n'est pas très efficace.</para> - </note> - - <variablelist> - <varlistentry> - <term>Allemagne</term> - - <listitem> - <itemizedlist> - <listitem> - <para>ctm.FreeBSD.ORG (responsable - <email>blank@fox.uni-trier.de</email>)</para> - </listitem> - </itemizedlist> - </listitem> - </varlistentry> - </variablelist> - </sect1> - - <sect1 id="mirrors-afs"> - <title>Sites AFS</title> - - <para>Il y a des serveurs AFS pour FreeBSD sur les sites - suivants :</para> - - <variablelist> - <varlistentry> - <term>Suède</term> - - <listitem> - <para>Le chemin d'accès aux fichiers est : - <filename>/afs/stacken.kth.se/ftp/pub/FreeBSD</filename></para> - - <itemizedlist> - <listitem> - <para><hostid role="fqdn">stacken.kth.se</hostid>, Stacken - Computer Club, KTH, Suède</para> - </listitem> - - <listitem> - <para><hostid role="ipaddr">130.237.234.3</hostid>, <hostid - role="fqdn">milko.stacken.kth.se</hostid></para> - </listitem> - - <listitem> - <para><hostid role="ipaddr">130.237.234.43</hostid>, <hostid - role="fqdn">hot.stacken.kth.se</hostid></para> - </listitem> - - <listitem> - <para><hostid role="ipaddr">130.237.234.44</hostid>, <hostid - role="fqdn">dog.stacken.kth.se</hostid></para> - </listitem> - </itemizedlist> - - <para>Responsable : <email>ftp@stacken.kth.se</email></para> - </listitem> - </varlistentry> - </variablelist> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> - diff --git a/fr_FR.ISO8859-1/books/handbook/pgpkeys/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/pgpkeys/chapter.sgml deleted file mode 100644 index 17f0f41fc8..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/pgpkeys/chapter.sgml +++ /dev/null @@ -1,627 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: 1.11 ---> - -<chapter id="pgpkeys"> - <title>PGP keys</title> - - <para>Pour le cas où vous auriez besoin de vérifier une - signature ou d'envoyer un courrier électronique crypté - à l'un des officiers ou membres de l'équipe de base, voici - à cet effet un certain nombre de clés.</para> - - <sect1> - <title>Officiers</title> - - <sect2> - <title>Officier de sérité FreeBSD - <email>security-officer@freebsd.org</email></title> - - <programlisting> -FreeBSD Security Officer <security-officer@freebsd.org> -Fingerprint = 41 08 4E BB DB 41 60 71 F9 E5 0E 98 73 AF 3F 11 - ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: 2.6.3i - -mQCNAzF7MY4AAAEEAK7qBgPuBejER5HQbQlsOldk3ZVWXlRj54raz3IbuAUrDrQL -h3g57T9QY++f3Mot2LAf5lDJbsMfWrtwPrPwCCFRYQd6XH778a+l4ju5axyjrt/L -Ciw9RrOC+WaPv3lIdLuqYge2QRC1LvKACIPNbIcgbnLeRGLovFUuHi5z0oilAAUR -tDdGcmVlQlNEIFNlY3VyaXR5IE9mZmljZXIgPHNlY3VyaXR5LW9mZmljZXJAZnJl -ZWJzZC5vcmc+iQCVAwUQMX6yrOJgpPLZnQjrAQHyowQA1Nv2AY8vJIrdp2ttV6RU -tZBYnI7gTO3sFC2bhIHsCvfVU3JphfqWQ7AnTXcD2yPjGcchUfc/EcL1tSlqW4y7 -PMP4GHZp9vHog1NAsgLC9Y1P/1cOeuhZ0pDpZZ5zxTo6TQcCBjQA6KhiBFP4TJql -3olFfPBh3B/Tu3dqmEbSWpuJAJUDBRAxez3C9RVb+45ULV0BAak8A/9JIG/jRJaz -QbKom6wMw852C/Z0qBLJy7KdN30099zMjQYeC9PnlkZ0USjQ4TSpC8UerYv6IfhV -nNY6gyF2Hx4CbEFlopnfA1c4yxtXKti1kSN6wBy/ki3SmqtfDhPQ4Q31p63cSe5A -3aoHcjvWuqPLpW4ba2uHVKGP3g7SSt6AOYkAlQMFEDF8mz0ff6kIA1j8vQEBmZcD -/REaUPDRx6qr1XRQlMs6pfgNKEwnKmcUzQLCvKBnYYGmD5ydPLxCPSFnPcPthaUb -5zVgMTjfjS2fkEiRrua4duGRgqN4xY7VRAsIQeMSITBOZeBZZf2oa9Ntidr5PumS -9uQ9bvdfWMpsemk2MaRG9BSoy5Wvy8VxROYYUwpT8Cf2iQCVAwUQMXsyqWtaZ42B -sqd5AQHKjAQAvolI30Nyu3IyTfNeCb/DvOe9tlOn/o+VUDNJiE/PuBe1s2Y94a/P -BfcohpKC2kza3NiW6lLTp00OWQsuu0QAPc02vYOyseZWy4y3Phnw60pWzLcFdemT -0GiYS5Xm1o9nAhPFciybn9j1q8UadIlIq0wbqWgdInBT8YI/l4f5sf6JAJUDBRAx -ezKXVS4eLnPSiKUBAc5OBACIXTlKqQC3B53qt7bNMV46m81fuw1PhKaJEI033mCD -ovzyEFFQeOyRXeu25Jg9Bq0Sn37ynISucHSmt2tUD5W0+p1MUGyTqnfqejMUWBzO -v4Xhp6a8RtDdUMBOTtro16iulGiRrCKxzVgEl4i+9Z0ZiE6BWlg5AetoF5n3mGk1 -lw== -=ipyA ------END PGP PUBLIC KEY BLOCK-----</programlisting> - </sect2> - - <sect2> - <title>&a.imp;</title> - - <programlisting> -Warner Losh <imp@village.org> - aka <imp@freebsd.org> -Fingerprint = D4 31 FD B9 F7 90 17 E8 37 C5 E7 7F CF A6 C1 B9 ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: 2.6.2 - -mQCNAzDzTiAAAAEEAK8D7KWEbVFUrmlqhUEnAvphNIqHEbqqT8s+c5f5c2uHtlcH -V4mV2TlUaDSVBN4+/D70oHmZc4IgiQwMPCWRrSezg9z/MaKlWhaslc8YT6Xc1q+o -EP/fAdKUrq49H0QQbkQk6Ks5wKW6v9AOvdmsS6ZJEcet6d9G4dxynu/2qPVhAAUR -tCBNLiBXYXJuZXIgTG9zaCA8aW1wQHZpbGxhZ2Uub3JnPokAlQMFEDM/SK1VLh4u -c9KIpQEBFPsD/1n0YuuUPvD4CismZ9bx9M84y5sxLolgFEfP9Ux196ZSeaPpkA0g -C9YX/IyIy5VHh3372SDWN5iVSDYPwtCmZziwIV2YxzPtZw0nUu82P/Fn8ynlCSWB -5povLZmgrWijTJdnUWI0ApVBUTQoiW5MyrNN51H3HLWXGoXMgQFZXKWYiQCVAwUQ -MzmhkfUVW/uOVC1dAQG3+AP/T1HL/5EYF0ij0yQmNTzt1cLt0b1e3N3zN/wPFFWs -BfrQ+nsv1zw7cEgxLtktk73wBGM9jUIdJu8phgLtl5a0m9UjBq5oxrJaNJr6UTxN -a+sFkapTLT1g84UFUO/+8qRB12v+hZr2WeXMYjHAFUT18mp3xwjW9DUV+2fW1Wag -YDKJAJUDBRAzOYK1s1pi61mfMj0BARBbA/930CHswOF0HIr+4YYUs1ejDnZ2J3zn -icTZhl9uAfEQq++Xor1x476j67Z9fESxyHltUxCmwxsJ1uOJRwzjyEoMlyFrIN4C -dE0C8g8BF+sRTt7VLURLERvlBvFrVZueXSnXvmMoWFnqpSpt3EmN6TNaLe8Cm87a -k6EvQy0dpnkPKokAlQMFEDD9Lorccp7v9qj1YQEBrRUD/3N4cCMWjzsIFp2Vh9y+ -RzUrblyF84tJyA7Rr1p+A7dxf7je3Zx5QMEXosWL1WGnS5vC9YH2WZwv6sCU61gU -rSy9z8KHlBEHh+Z6fdRMrjd9byPf+n3cktT0NhS23oXB1ZhNZcB2KKhVPlNctMqO -3gTYx+Nlo6xqjR+J2NnBYU8p -=7fQV ------END PGP PUBLIC KEY BLOCK-----</programlisting> - </sect2> - </sect1> - - <sect1> - <title>Membres de l'équipe de base</title> - - <sect2> - <title>&a.asami;</title> - - <programlisting> -Satoshi Asami <asami@cs.berkeley.edu> - aka <asami@FreeBSD.ORG> -Fingerprint = EB 3C 68 9E FB 6C EB 3F DB 2E 0F 10 8F CE 79 CA - ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: 2.6.2 - -mQCNAzPVyoQAAAEEAL7W+kipxB171Z4SVyyL9skaA7hG3eRsSOWk7lfvfUBLtPog -f3OKwrApoc/jwLf4+Qpdzv5DLEt/6Hd/clskhJ+q1gMNHyZ5ABmUxrTRRNvJMTrb -3fPU3oZj7sL/MyiFaT1zF8EaMP/iS2ZtcFsbYOqGeA8E/58uk4NA0SoeCNiJAAUR -tCVTYXRvc2hpIEFzYW1pIDxhc2FtaUBjcy5iZXJrZWxleS5lZHU+iQCVAwUQM/AT -+EqGN2HYnOMZAQF11QP/eSXb2FuTb1yX5yoo1Im8YnIk1SEgCGbyEbOMMBznVNDy -5g2TAD0ofLxPxy5Vodjg8rf+lfMVtO5amUH6aNcORXRncE83T10JmeM6JEp0T6jw -zOHKz8jRzygYLBayGsNIJ4BGxa4LeaGxJpO1ZEvRlNkPH/YEXK5oQmq9/DlrtYOJ -AEUDBRAz42JT8ng6GBbVvu0BAU8nAYCsJ8PiJpRUGlrz6rxjX8hqM1v3vqFHLcG+ -G52nVMBSy+RZBgzsYIPwI5EZtWAKb22JAJUDBRAz4QBWdbtuOHaj97EBAaQPA/46 -+NLUp+Wubl90JoonoXocwAg88tvAUVSzsxPXj0lvypAiSI2AJKsmn+5PuQ+/IoQy -lywRsxiQ5GD7C72SZ1yw2WI9DWFeAi+qa4b8n9fcLYrnHpyCY+zxEpu4pam8FJ7H -JocEUZz5HRoKKOLHErzXDiuTkkm72b1glmCqAQvnB4kAlQMFEDPZ3gyDQNEqHgjY -iQEBFfUEALu2C0uo+1Z7C5+xshWRYY5xNCzK20O6bANVJ+CO2fih96KhwsMof3lw -fDso5HJSwgFd8WT/sR+Wwzz6BAE5UtgsQq5GcsdYQuGI1yIlCYUpDp5sgswNm+OA -bX5a+r4F/ZJqrqT1J56Mer0VVsNfe5nIRsjd/rnFAFVfjcQtaQmjiQCVAwUQM9uV -mcdm8Q+/vPRJAQELHgP9GqNiMpLQlZig17fDnCJ73P0e5t/hRLFehZDlmEI2TK7j -Yeqbw078nZgyyuljZ7YsbstRIsWVCxobX5eH1kX+hIxuUqCAkCsWUY4abG89kHJr -XGQn6X1CX7xbZ+b6b9jLK+bJKFcLSfyqR3M2eCyscSiZYkWKQ5l3FYvbUzkeb6K0 -IVNhdG9zaGkgQXNhbWkgPGFzYW1pQEZyZWVCU0QuT1JHPg== -=39SC ------END PGP PUBLIC KEY BLOCK-----</programlisting> - </sect2> - - <sect2> - <title>&a.jmb;</title> - - <programlisting> -Jonathan M. Bresler <jmb@FreeBSD.org> -f16 Fingerprint16 = 31 57 41 56 06 C1 40 13 C5 1C E3 E5 DC 62 0E FB - ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: PGPfreeware 5.0i for non-commercial use - -mQCNAzG2GToAAAEEANI6+4SJAAgBpl53XcfEr1M9wZyBqC0tzpie7Zm4vhv3hO8s -o5BizSbcJheQimQiZAY4OnlrCpPxijMFSaihshs/VMAz1qbisUYAMqwGEO/T4QIB -nWNo0Q/qOniLMxUrxS1RpeW5vbghErHBKUX9GVhxbiVfbwc4wAHbXdKX5jjdAAUR -tCVKb25hdGhhbiBNLiBCcmVzbGVyIDxqbWJARnJlZUJTRC5PUkc+iQCVAwUQNbtI -gAHbXdKX5jjdAQHamQP+OQr10QRknamIPmuHmFYJZ0jU9XPIvTTMuOiUYLcXlTdn -GyTUuzhbEywgtOldW2V5iA8platXThtqC68NsnN/xQfHA5xmFXVbayNKn8H5stDY -2s/4+CZ06mmJfqYmONF1RCbUk/M84rVT3Gn2tydsxFh4Pm32lf4WREZWRiLqmw+J -AJUDBRA0DfF99RVb+45ULV0BAcZ0BACCydiSUG1VR0a5DBcHdtin2iZMPsJUPRqJ -tWvP6VeI8OFpNWQ4LW6ETAvn35HxV2kCcQMyht1kMD+KEJz7r8Vb94TS7KtZnNvk -2D1XUx8Locj6xel5c/Lnzlnnp7Bp1XbJj2u/NzCaZQ0eYBdP/k7RLYBYHQQln5x7 -BOuiRJNVU4kAlQMFEDQLcShVLh4uc9KIpQEBJv4D/3mDrD0MM9EYOVuyXik3UGVI -8quYNA9ErVcLdt10NjYc16VI2HOnYVgPRag3Wt7W8wlXShpokfC/vCNt7f5JgRf8 -h2a1/MjQxtlD+4/Js8k7GLa53oLon6YQYk32IEKexoLPwIRO4L2BHWa3GzHJJSP2 -aTR/Ep90/pLdAOu/oJDUiQCVAwUQMqyL0LNaYutZnzI9AQF25QP9GFXhBrz2tiWz -2+0gWbpcGNnyZbfsVjF6ojGDdmsjJMyWCGw49XR/vPKYIJY9EYo4t49GIajRkISQ -NNiIz22fBAjT2uY9YlvnTJ9NJleMfHr4dybo7oEKYMWWijQzGjqf2m8wf9OaaofE -KwBX6nxcRbKsxm/BVLKczGYl3XtjkcuJAJUDBRA1ol5TZWCprDT5+dUBATzXA/9h -/ZUuhoRKTWViaistGJfWi26FB/Km5nDQBr/Erw3XksQCMwTLyEugg6dahQ1u9Y5E -5tKPxbB69eF+7JXVHE/z3zizR6VL3sdRx74TPacPsdhZRjChEQc0htLLYAPkJrFP -VAzAlSlm7qd+MXf8fJovQs6xPtZJXukQukPNlhqZ94kAPwMFEDSH/kF4tXKgazlt -bxECfk4AoO+VaFVfguUkWX10pPSSfvPyPKqiAJ4xn8RSIe1ttmnqkkDMhLh00mKj -lLQuSm9uYXRoYW4gTS4gQnJlc2xlciA8Sm9uYXRoYW4uQnJlc2xlckBVU2kubmV0 -PokAlQMFEDXbdSkB213Sl+Y43QEBV/4D/RLJNTrtAqJ1ATxXWv9g8Cr3/YF0GTmx -5dIrJOpBup7eSSmiM/BL9Is4YMsoVbXCI/8TqA67TMICvq35PZU4wboQB8DqBAr+ -gQ8578M7Ekw1OAF6JXY6AF2P8k7hMcVBcVOACELPT/NyPNByG5QRDoNmlsokJaWU -/2ls4QSBZZlb -=zbCw ------END PGP PUBLIC KEY BLOCK-----</programlisting> - </sect2> - - <sect2> - <title>&a.ache;</title> - - <programlisting> -Andrey A. Chernov <ache@FreeBSD.org> - aka <ache@nagual.pp.ru> -Key fingerprint = 33 03 9F 48 33 7B 4A 15 63 48 88 0A C4 97 FD 49 - ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: 2.6.3ia - -mQCNAiqUMGQAAAEEAPGhcD6A2Buey5LYz0sphDLpVgOZc/bb9UHAbaGKUAGXmafs -Dcb2HnsuYGgX/zrQXuCi/wIGtXcZWB97APtKOhFsZnPinDR5n/dde/mw9FnuhwqD -m+rKSL1HlN0z/Msa5y7g16760wHhSR6NoBSEG5wQAHIMMq7Q0uJgpPLZnQjrAAUT -tCVBbmRyZXkgQS4gQ2hlcm5vdiA8YWNoZUBuYWd1YWwucHAucnU+iQCVAwUQM2Ez -u+JgpPLZnQjrAQEyugP8DPnS8ixJ5OeuYgPFQf5sy6l+LrB6hyaS+lgsUPahWjNY -cnaDmfda/q/BV5d4+y5rlQe/pjnYG7/yQuAR3jhlXz8XDrqlBOnW9AtYjDt5rMfJ -aGFTGXAPGZ6k6zQZE0/YurT8ia3qjvuZm3Fw4NJrHRx7ETHRvVJDvxA6Ggsvmr20 -JEFuZHJleSBBLiBDaGVybm92IDxhY2hlQEZyZWVCU0Qub3JnPokAlQMFEDR5uVbi -YKTy2Z0I6wEBLgED/2mn+hw4/3peLx0Sb9LNx//NfCCkVefSf2G9Qwhx6dvwbX7h -mFca97h7BQN4GubU1Z5Ffs6TeamSBrotBYGmOCwvJ6S9WigF9YHQIQ3B4LEjskAt -pcjU583y42zM11kkvEuQU2Gde61daIylJyOxsgpjSWpkxq50fgY2kLMfgl/ftCZB -bmRyZXkgQS4gQ2hlcm5vdiA8YWNoZUBuaWV0enNjaGUubmV0PokAlQMFEDR5svDi -YKTy2Z0I6wEBOTQD/0OTCAXIjuak363mjERvzSkVsNtIH9hA1l0w6Z95+iH0fHrW -xXKT0vBZE0y0Em+S3cotLL0bMmVE3F3D3GyxhBVmgzjyx0NYNoiQjYdi+6g/PV30 -Cn4vOO6hBBpSyI6vY6qGNqcsawuRtHNvK/53MpOfKwSlICEBYQimcZhkci+EtCJB -bmRyZXkgQS4gQ2hlcm5vdiA8YWNoZUBuYWd1YWwucnU+iQCVAwUQMcm5HeJgpPLZ -nQjrAQHwvQP9GdmAf1gdcuayHEgNkc11macPH11cwWjYjzA2YoecFMGV7iqKK8QY -rr1MjbGXf8DAG8Ubfm0QbI8Lj8iG3NgqIru0c72UuHGSn/APfGGG0AtPX5UK/k7B -gI0Ca2po6NA5nrSp8tDsdEz/4gyea84RXl2prtTf5Jj07hflbRstGXK0MkFuZHJl -eSBBLiBDaGVybm92LCBCbGFjayBNYWdlIDxhY2hlQGFzdHJhbC5tc2suc3U+iQCV -AwUQMCsAo5/rGryoL8h3AQHq1QQAidyNFqA9hvrmMcjpY7csJVFlGvj574Wj4GPa -o3pZeuQaMBmsWqaXLYnWU/Aldb6kTz6+nRcQX50zFH0THSPfApwEW7yybSTI5apJ -mWT3qhKN2vmLNg2yNzhqLTzHLD1lH3i1pfQq8WevrNfjLUco5S/VuekTma/osnzC -Cw7fQzCJAJUDBRAwKvwoa1pnjYGyp3kBARihBACoXr3qfG65hFCyKJISmjOvaoGr -anxUIkeDS0yQdTHzhQ+dwB1OhhK15E0Nwr0MKajLMm90n6+Zdb5y/FIjpPriu8dI -rlHrWZlewa88eEDM+Q/NxT1iYg+HaKDAE171jmLpSpCL0MiJtO0i36L3ekVD7Hv8 -vffOZHPSHirIzJOZTYkAlQMFEDAau6zFLUdtDb+QbQEBQX8D/AxwkYeFaYxZYMFO -DHIvSk23hAsjCmUA2Uil1FeWAusb+o8xRfPDc7TnosrIifJqbF5+fcHCG5VSTGlh -Bhd18YWUeabf/h9O2BsQX55yWRuB2x3diJ1xI/VVdG+rxlMCmE4ZR1Tl9x+Mtun9 -KqKVpB39VlkCBYQ3hlgNt/TJUY4riQCVAwUQMBHMmyJRltlmbQBRAQFQkwP/YC3a -hs3ZMMoriOlt3ZxGNUUPTF7rIER3j+c7mqGG46dEnDB5sUrkzacpoLX5sj1tGR3b -vz9a4vmk1Av3KFNNvrZZ3/BZFGpq3mCTiAC9zsyNYQ8L0AfGIUO5goCIjqwOTNQI -AOpNsJ5S+nMAkQB4YmmNlI6GTb3D18zfhPZ6uciJAJUCBRAwD0sl4uW74fteFRkB -AWsAA/9NYqBRBKbmltQDpyK4+jBAYjkXBJmARFXKJYTlnTgOHMpZqoVyW96xnaa5 -MzxEiu7ZWm5oL10QDIp1krkBP2KcmvfSMMHb5aGCCQc2/P8NlfXAuHtNGzYiI0UA -Iwi8ih/S1liVfvnqF9uV3d3koE7VsQ9OA4Qo0ZL2ggW+/gEaYIkAlQMFEDAOz6qx -/IyHe3rl4QEBIvYD/jIr8Xqo/2I5gncghSeFR01n0vELFIvaF4cHofGzyzBpYsfA -+6pgFI1IM+LUF3kbUkAY/2uSf9U5ECcaMCTWCwVgJVO+oG075SHEM4buhrzutZiM -1dTyTaepaPpTyRMUUx9ZMMYJs7sbqLId1eDwrJxUPhrBNvf/w2W2sYHSY8cdiQCV -AwUQMAzqgHcdkq6JcsfBAQGTxwQAtgeLFi2rhSOdllpDXUwz+SS6bEjFTWgRsWFM -y9QnOcqryw7LyuFmWein4jasjY033JsODfWQPiPVNA3UEnXVg9+n8AvNMPO8JkRv -Cn1eNg0VaJy9J368uArio93agd2Yf/R5r+QEuPjIssVk8hdcy/luEhSiXWf6bLMV -HEA0J+OJAJUDBRAwDUi+4mCk8tmdCOsBAatBBACHB+qtW880seRCDZLjl/bT1b14 -5po60U7u6a3PEBkY0NA72tWDQuRPF/Cn/0+VdFNxQUsgkrbwaJWOoi0KQsvlOm3R -rsxKbn9uvEKLxExyKH3pxp76kvz/lEWwEeKvBK+84Pb1lzpG3W7u2XDfi3VQPTi3 -5SZMAHc6C0Ct/mjNlYkAlQMFEDAMrPD7wj+NsTMUOQEBJckD/ik4WsZzm2qOx9Fw -erGq7Zwchc+Jq1YeN5PxpzqSf4AG7+7dFIn+oe6X2FcIzgbYY+IfmgJIHEVjDHH5 -+uAXyb6l4iKc89eQawO3t88pfHLJWbTzmnvgz2cMrxt94HRvgkHfvcpGEgbyldq6 -EB33OunazFcfZFRIcXk1sfyLDvYE -=1ahV ------END PGP PUBLIC KEY BLOCK-----</programlisting> - </sect2> - - <sect2> - <title>&a.jkh;</title> - - <programlisting> -Jordan K. Hubbard <jkh@FreeBSD.org> -Fingerprint = 3C F2 27 7E 4A 6C 09 0A 4B C9 47 CD 4F 4D 0B 20 - ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: 2.6.3ia - -mQCNAzFjX0IAAAEEAML+nm9/kDNPp43ZUZGjYkm2QLtoC1Wxr8JulZXqk7qmhYcQ -jvX+fyoriJ6/7ZlnLe2oG5j9tZOnRLPvMaz0g9CpW6Dz3nkXrNPkmOFV9B8D94Mk -tyFeRJFqnkCuqBj6D+H8FtBwEeeTecSh2tJ0bZZTXnAMhxeOdvUVW/uOVC1dAAUR -tCNKb3JkYW4gSy4gSHViYmFyZCA8amtoQEZyZWVCU0Qub3JnPokBFQMFEDXCTXQM -j46yp4IfPQEBwO8IAIN0J09AXBf86dFUTFGcAMrEQqOF5IL+KGorAjzuYxERhKfD -ZV7jA+sCQqxkWfcVcE20kVyVYqzZIkio9a5zXP6TwA247JkPt54S1PmMDYHNlRIY -laXlNoji+4q3HP2DfHqXRT2859rYpm/fG/v6pWkos5voPKcZ2OFEp9W+Ap88oqw+ -5rx4VetZNJq1Epmis4INj6XqNqj85+MOOIYE+f445ohDM6B/Mxazd6cHFGGIR+az -VjZ6lCDMLjzhB5+FqfrDLYuMjqkMTR5z9DL+psUvPlCkYbQ11NEWtEmiIWjUcNJN -GCxGzv5bXk0XPu3ADwbPkFE2usW1cSM7AQFiwuyJAJUDBRAxe+Q9a1pnjYGyp3kB -AV7XA/oCSL/Cc2USpQ2ckwkGpyvIkYBPszIcabSNJAzm2hsU9Qa6WOPxD8olDddB -uJNiW/gznPC4NsQ0N8Zr4IqRX/TTDVf04WhLmd8AN9SOrVv2q0BKgU6fLuk979tJ -utrewH6PR2qBOjAaR0FJNk4pcYAHeT+e7KaKy96YFvWKIyDvc4kAlQMFEDF8ldof -f6kIA1j8vQEBDH4D/0Zm0oNlpXrAE1EOFrmp43HURHbij8n0Gra1w9sbfo4PV+/H -U8ojTdWLy6r0+prH7NODCkgtIQNpqLuqM8PF2pPtUJj9HwTmSqfaT/LMztfPA6PQ -csyT7xxdXl0+4xTDl1avGSJfYsI8XCAy85cTs+PQwuyzugE/iykJO1Bnj/paiQCV -AwUQMXvlBvUVW/uOVC1dAQF2fQP/RfYC6RrpFTZHjo2qsUHSRk0vmsYfwG5NHP5y -oQBMsaQJeSckN4n2JOgR4T75U4vS62aFxgPLJP3lOHkU2Vc7xhAuBvsbGr5RP8c5 -LvPOeUEyz6ZArp1KUHrtcM2iK1FBOmY4dOYphWyWMkDgYExabqlrAq7FKZftpq/C -BiMRuaw= -=C/Jw ------END PGP PUBLIC KEY BLOCK-----</programlisting> - </sect2> - - <sect2> - <title>&a.phk;</title> - - <programlisting> -Poul-Henning Kamp <phk@FreeBSD.org> -Fingerprint = A3 F3 88 28 2F 9B 99 A2 49 F4 E2 FA 5A 78 8B 3E - ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: 2.6.3ia - -mQCNAzAdpMIAAAEEALHDgrFUwhZtb7PbXg3upELoDVEUPFRwnmpJH1rRqyROUGcI -ooVe7u+FQlIs5OsXK8ECs/5Wpe2UrZSzHvjwBYOND5H42YtI5UULZLRCo5bFfTVA -K9Rpo5icfTsYihrzU2nmnycwFMk+jYXyT/ZDYWDP/BM9iLjj0x9/qQgDWPy9AAUR -tCNQb3VsLUhlbm5pbmcgS2FtcCA8cGhrQEZyZWVCU0Qub3JnPokAlQMFEDQQ0aZ1 -u244dqP3sQEBu4ID/jXFFeJgs2MdTDNOZM/FbfDhI4qxAbYUsqS3+Ra16yd8Wd/A -jV+IHJE2NomFWl8UrUjCGinXiwzPgK1OfFJrS9Og1wQLvAl0X84BA8MTP9BQr4w7 -6I/RbksgUSrVCIO8MJwlydjSPocWGBeXlVjbZxXzyuJk7H+TG+zuI5BuBcNIiQCV -AwUQMwYr2rNaYutZnzI9AQHiIQP/XxtBWFXaBRgVLEhRNpS07YdU+LsZGlLOZehN -9L4UnJFHQQPNOpMey2gF7Y95aBOw5/1xS5vlQpwmRFCntWsm/gqdzK6rulfr1r5A -y94LO5TAC6ucNu396Y4vo1TyD1STnRC466KlvmtQtAtFGgXlORWLL9URLzcRFd1h -D0yXd9aJAJUDBRAxfo19a1pnjYGyp3kBAQqyA/4v64vP3l1F0Sadn6ias761hkz/ -SMdTuLzILmofSCC4o4KWMjiWJHs2Soo41QlZi1+xMHzV32JKiwFlGtPHqL+EHyXy -Q4H3vmf9/1KF+0XCaMtgI0wWUMziPSTJK8xXbRRmMDK/0F4TnVVaUhnmf+h5K7O6 -XdmejDTa0X/NWcicmIkAlQMFEDF8lef1FVv7jlQtXQEBcnwD/0ro1PpUtlkLmreD -tsGTkNa7MFLegrYRvDDrHOwPZH152W2jPUncY+eArQJakeHiTDmJNpFagLZglhE0 -bqJyca+UwCXX+6upAclWHEBMg2byiWMMqyPVEEnpUoHM1sIkgdNWlfQAmipRBfYh -2LyCgWvR8CbtwPYIFvUmGgB3MR87iQCVAwUQMUseXB9/qQgDWPy9AQGPkwP/WEDy -El2Gkvua9COtMAifot2vTwuvWWpNopIEx0Ivey4aVbRLD90gGCJw8OGDEtqFPcNV -8aIiy3fYVKXGZZjvCKd7zRfhNmQn0eLDcymq2OX3aPrMc2rRlkT4Jx425ukR1gsO -qiQAgw91aWhY8dlw/EKzk8ojm52x4VgXaBACMjaJAJUDBRAxOUOg72G56RHVjtUB -AbL4A/9HOn5Qa0lq9tKI/HkSdc5fGQD/66VdCBAb292RbB7CS/EM07MdbcqRRYIa -0+0gwQ3OdsWPdCVgH5RIhp/WiC+UPkR1cY8N9Mg2kTwJfZZfNqN+BgWlgRMPN27C -OhYNl8Q33Nl9CpBLrZWABF44jPeT0EvvTzP/5ZQ7T75EsYKYiYkAlQMFEDDmryQA -8tkJ67sbQQEBPdsEALCj6v1OBuJLLJTlxmmrkqAZPVzt5QdeO3Eqa2tcPWcU0nqP -vHYMzZcZ7oFg58NZsWrhSQQDIB5e+K65Q/h6dC7W/aDskZd64jxtEznX2kt0/MOr -8OdsDis1K2f9KQftrAx81KmVwW4Tqtzl7NWTDXt44fMOtibCwVq8v2DFkTJy -=JKbP ------END PGP PUBLIC KEY BLOCK-----</programlisting> - </sect2> - - <sect2> - <title>&a.rich;</title> - - <programlisting> -Rich Murphey <rich@FreeBSD.org> -fingerprint = AF A0 60 C4 84 D6 0C 73 D1 EF C0 E9 9D 21 DB E4 - ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: 2.6.2 - -mQCNAy97V+MAAAEEALiNM3FCwm3qrCe81E20UOSlNclOWfZHNAyOyj1ahHeINvo1 -FBF2Gd5Lbj0y8SLMno5yJ6P4F4r+x3jwHZrzAIwMs/lxDXRtB0VeVWnlj6a3Rezs -wbfaTeSVyh5JohEcKdoYiMG5wjATOwK/NAwIPthB1RzRjnEeer3HI3ZYNEOpAAUR -tCRSaWNoIE11cnBoZXkgPHJpY2hAbGFtcHJleS51dG1iLmVkdT6JAJUDBRAve15W -vccjdlg0Q6kBAZTZBACcNd/LiVnMFURPrO4pVRn1sVQeokVX7izeWQ7siE31Iy7g -Sb97WRLEYDi686osaGfsuKNA87Rm+q5F+jxeUV4w4szoqp60gGvCbD0KCB2hWraP -/2s2qdVAxhfcoTin/Qp1ZWvXxFF7imGA/IjYIfB42VkaRYu6BwLEm3YAGfGcSw== -=QoiM ------END PGP PUBLIC KEY BLOCK-----</programlisting> - </sect2> - - <sect2> - <title>&a.jdp;</title> - - <programlisting> -John D. Polstra <jdp@polstra.com> -Fingerprint = 54 3A 90 59 6B A4 9D 61 BF 1D 03 09 35 8D F6 0D - ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: 2.6.2 - -mQCNAzMElMEAAAEEALizp6ZW9QifQgWoFmG3cXhzQ1+Gt+a4S1adC/TdHdBvw1M/ -I6Ok7TC0dKF8blW3VRgeHo4F3XhGn+n9MqIdboh4HJC5Iiy63m98sVLJSwyGO4oM -dkEGyyCLxqP6h/DU/tzNBdqFzetGtYvU4ftt3RO0a506cr2CHcdm8Q+/vPRJAAUR -tCFKb2huIEQuIFBvbHN0cmEgPGpkcEBwb2xzdHJhLmNvbT6JAJUDBRAzBNBE9RVb -+45ULV0BAWgiA/0WWO3+c3qlptPCHJ3DFm6gG/qNKsY94agL/mHOr0fxMP5l2qKX -O6a1bWkvGoYq0EwoKGFfn0QeHiCl6jVi3CdBX+W7bObMcoi+foqZ6zluOWBC1Jdk -WQ5/DeqQGYXqbYjqO8voCScTAPge3XlMwVpMZTv24u+nYxtLkE0ZcwtY9IkAlQMF -EDMEt/DHZvEPv7z0SQEBXh8D/2egM5ckIRpGz9kcFTDClgdWWtlgwC1iI2p9gEhq -aufy+FUJlZS4GSQLWB0BlrTmDC9HuyQ+KZqKFRbVZLyzkH7WFs4zDmwQryLV5wkN -C4BRRBXZfWy8s4+zT2WQD1aPO+ZsgRauYLkJgTvXTPU2JCN62Nsd8R7bJS5tuHEm -7HGmiQCVAwUQMwSvHB9/qQgDWPy9AQFAhAQAgJ1AlbKITrEoJ0+pLIsov3eQ348m -SVHEBGIkU3Xznjr8NzT9aYtq4TIzt8jplqP3QoV1ka1yYpZf0NjvfZ+ffYp/sIaU -wPbEpgtmHnVWJAebMbNs/Ad1w8GDvxEt9IaCbMJGZnHmfnEqOBIxF7VBDPHHoJxM -V31K/PIoYsHAy5w= -=cHFa ------END PGP PUBLIC KEY BLOCK-----</programlisting> - </sect2> - - <sect2> - <title>&a.guido;</title> - - <programlisting> -Guido van Rooij <guido@gvr.win.tue.nl> -Fingerprint = 16 79 09 F3 C0 E4 28 A7 32 62 FA F6 60 31 C0 ED - ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: 2.6.2 - -mQCNAzGeO84AAAEEAKKAY91Na//DXwlUusr9GVESSlVwVP6DyH1wcZXhfN1fyZHq -SwhMCEdHYoojQds+VqD1iiZQvv1RLByBgj622PDAPN4+Z49HjGs7YbZsUNuQqPPU -wRPpP6ty69x1hPKq1sQIB5MS4radpCM+4wbZbhxv7l4rP3RWUbNaYutZnzI9AAUR -tCZHdWlkbyB2YW4gUm9vaWogPGd1aWRvQGd2ci53aW4udHVlLm5sPokAlQMFEDMG -Hcgff6kIA1j8vQEBbYgD/jm9xHuUuY+iXDkOzpCXBYACYEZDV913MjtyBAmaVqYo -Rh5HFimkGXe+rCo78Aau0hc57fFMTsJqnuWEqVt3GRq28hSK1FOZ7ni9/XibHcmN -rt2yugl3hYpClijo4nrDL1NxibbamkGW/vFGcljS0jqXz6NDVbGx5Oo7HBByxByz -iQCVAwUQMhmtVjt/x7zOdmsfAQFuVQQApsVUTigT5YWjQA9Nd5Z0+a/oVtZpyw5Z -OljLJP3vqJdMa6TidhfcatjHbFTve5x1dmjFgMX/MQTd8zf/+Xccy/PX4+lnKNpP -eSf1Y4aK+E8KHmBGd6GzX6CIboyGYLS9e3kGnN06F2AQtaLyJFgQ71wRaGuyKmQG -FwTn7jiKb1aJAJUDBRAyEOLXPt3iN6QQUSEBATwQA/9jqu0Nbk154+Pn+9mJX/YT -fYR2UqK/5FKCqgL5Nt/Deg2re0zMD1f8F9Dj6vuAAxq8hnOkIHKlWolMjkRKkzJi -mSPEWl3AuHJ31k948J8it4f8kq/o44usIA2KKVMlI63Q/rmNdfWCyiYQEVGcRbTm -GTdZIHYCOgV5dOo4ebFqgYkAlQMFEDIE1nMEJn15jgpJ0QEBW6kEAKqN8XSgzTqf -CrxFXT07MlHhfdbKUTNUoboxCGCLNW05vf1A8F5fdE5i14LiwkldWIzPxWD+Sa3L -fNPCfCZTaCiyGcLyTzVfBHA18MBAOOX6JiTpdcm22jLGUWBf/aJK3yz/nfbWntd/ -LRHysIdVp29lP5BF+J9/Lzbb/9LxP1taiQCVAwUQMgRXZ44CzbsJWQz9AQFf7gP/ -Qa2FS5S6RYKG3rYanWADVe/ikFV2lxuM1azlWbsmljXvKVWGe6cV693nS5lGGAjx -lbd2ADwXjlkNhv45HLWFm9PEveO9Jjr6tMuXVt8N2pxiX+1PLUN9CtphTIU7Yfjn -s6ryZZfwGHSfIxNGi5ua2SoXhg0svaYnxHxXmOtH24iJAJUDBRAyAkpV8qaAEa3W -TBkBARfQBAC+S3kbulEAN3SI7/A+A/dtl9DfZezT9C4SRBGsl2clQFMGIXmMQ/7v -7lLXrKQ7U2zVbgNfU8smw5h2vBIL6f1PyexSmc3mz9JY4er8KeZpcf6H0rSkHl+i -d7TF0GvuTdNPFO8hc9En+GG6QHOqbkB4NRZ6cwtfwUMhk2FHXBnjF4kAlQMFEDH5 -FFukUJAsCdPmTQEBe74EAMBsxDnbD9cuI5MfF/QeTNEG4BIVUZtAkDme4Eg7zvsP -d3DeJKCGeNjiCWYrRTCGwaCWzMQk+/+MOmdkI6Oml+AIurJLoHceHS9jP1izdP7f -N2jkdeJSBsixunbQWtUElSgOQQ4iF5kqwBhxtOfEP/L9QsoydRMR1yB6WPD75H7V -iQCVAwUQMZ9YNGtaZ42Bsqd5AQH0PAQAhpVlAc3ZM/KOTywBSh8zWKVlSk3q/zGn -k7hJmFThnlhH1723+WmXE8aAPJi+VXOWJUFQgwELJ6R8jSU2qvk2m1VWyYSqRKvc -VRQMqT2wjss0GE1Ngg7tMrkRHT0il7E2xxIb8vMrIwmdkbTfYqBUhhGnsWPHZHq7 -MoA1/b+rK7CJAJUDBRAxnvXh3IDyptUyfLkBAYTDA/4mEKlIP/EUX2Zmxgrd/JQB -hqcQlkTrBAaDOnOqe/4oewMKR7yaMpztYhJs97i03Vu3fgoLhDspE55ooEeHj0r4 -cOdiWfYDsjSFUYSPNVhW4OSruMA3c29ynMqNHD7hpr3rcCPUi7J2RncocOcCjjK2 -BQb/9IAUNeK4C9gPxMEZLokAlQMFEDGeO86zWmLrWZ8yPQEBEEID/2fPEUrSX3Yk -j5TJPFZ9MNX0lEo7AHYjnJgEbNI4pYm6C3PnMlsYfCSQDHuXmRQHAOWSdwOLvCkN -F8eDaF3M6u0urgeVJ+KVUnTz2+LZoZs12XSZKCte0HxjbvPpWMTTrYyimGezH79C -mgDVjsHaYOx3EXF0nnDmtXurGioEmW1J -=mSvM ------END PGP PUBLIC KEY BLOCK-----</programlisting> - </sect2> - - <sect2> - <title>&a.peter;</title> - - <programlisting> -Peter Wemm <peter@FreeBSD.org> - aka <peter@spinner.dialix.com> - aka <peter@haywire.dialix.com> - aka <peter@perth.dialix.oz.au> -Key fingerprint = 47 05 04 CA 4C EE F8 93 F6 DB 02 92 6D F5 58 8A - ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: 2.6.3ia - -mQCNAy9/FJwAAAEEALxs9dE9tFd0Ru1TXdq301KfEoe5uYKKuldHRBOacG2Wny6/ -W3Ill57hOi2+xmq5X/mHkapywxvy4cyLdt31i4GEKDvxpDvEzAYcy2n9dIup/eg2 -kEhRBX9G5k/LKM4NQsRIieaIEGGgCZRm0lINqw495aZYrPpO4EqGN2HYnOMZAAUT -tCVQZXRlciBXZW1tIDxwZXRlckBoYXl3aXJlLmRpYWxpeC5jb20+iQCVAwUQMwWT -cXW7bjh2o/exAQEFkQP+LIx5zKlYp1uR24xGApMFNrNtjh+iDIWnxxb2M2Kb6x4G -9z6OmbUCoDTGrX9SSL2Usm2RD0BZfyv9D9QRWC2TSOPkPRqQgIycc11vgbLolJJN -eixqsxlFeKLGEx9eRQCCbo3dQIUjc2yaOe484QamhsK1nL5xpoNWI1P9zIOpDiGJ -AJUDBRAxsRPqSoY3Ydic4xkBAbWLA/9q1Fdnnk4unpGQsG31Qbtr4AzaQD5m/JHI -4gRmSmbj6luJMgNG3fpO06Gd/Z7uxyCJB8pTst2a8C/ljOYZxWT+5uSzkQXeMi5c -YcI1sZbUpkHtmqPW623hr1PB3ZLA1TIcTbQW+NzJsxQ1Pc6XG9fGkT9WXQW3Xhet -AP+juVTAhLQlUGV0ZXIgV2VtbSA8cGV0ZXJAcGVydGguZGlhbGl4Lm96LmF1PokA -lQMFEDGxFCFKhjdh2JzjGQEB6XkD/2HOwfuFrnQUtdwFPUkgtEqNeSr64jQ3Maz8 -xgEtbaw/ym1PbhbCk311UWQq4+izZE2xktHTFClJfaMnxVIfboPyuiSF99KHiWnf -/Gspet0S7m/+RXIwZi1qSqvAanxMiA7kKgFSCmchzas8TQcyyXHtn/gl9v0khJkb -/fv3R20btB5QZXRlciBXZW1tIDxwZXRlckBGcmVlQlNELm9yZz6JAJUDBRAxsRJd -SoY3Ydic4xkBAZJUA/4i/NWHz5LIH/R4IF/3V3LleFyMFr5EPFY0/4mcv2v+ju9g -brOEM/xd4LlPrx1XqPeZ74JQ6K9mHR64RhKR7ZJJ9A+12yr5dVqihe911KyLKab9 -4qZUHYi36WQu2VtLGnw/t8Jg44fQSzbBF5q9iTzcfNOYhRkSD3BdDrC3llywO7Ql -UGV0ZXIgV2VtbSA8cGV0ZXJAc3Bpbm5lci5kaWFsaXguY29tPokAlQMFEDGxEi1K -hjdh2JzjGQEBdA4EAKmNFlj8RF9HQsoI3UabnvYqAWN5wCwEB4u+Zf8zq6OHic23 -TzoK1SPlmSdBE1dXXQGS6aiDkLT+xOdeewNs7nfUIcH/DBjSuklAOJzKliXPQW7E -kuKNwy4eq5bl+j3HB27i+WBXhn6OaNNQY674LGaR41EGq44Wo5ATcIicig/z -=gv+h ------END PGP PUBLIC KEY BLOCK-----</programlisting> - </sect2> - - <sect2> - <title>&a.joerg;</title> - - <programlisting> -Type Bits/KeyID Date User ID -pub 1024/76A3F7B1 1996/04/27 Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de> - Key fingerprint = DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E - Joerg Wunsch <joerg_wunsch@interface-business.de> - Joerg Wunsch <j@uriah.heep.sax.de> - Joerg Wunsch <j@interface-business.de> - ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: 2.6.3ia - -mQCNAzGCFeAAAAEEAKmRBU2Nvc7nZy1Ouid61HunA/5hF4O91cXm71/KPaT7dskz -q5sFXvPJPpawwvqHPHfEbAK42ZaywyFp59L1GaYj87Pda+PlAYRJyY2DJl5/7JPe -ziq+7B8MdvbX6D526sdmcR+jPXPbHznASjkx9DPmK+7TgFujyXW7bjh2o/exAAUR -tC1Kb2VyZyBXdW5zY2ggPGpvZXJnX3d1bnNjaEB1cmlhaC5oZWVwLnNheC5kZT6J -AJUDBRA0FFkBs1pi61mfMj0BAfDCA/oCfkjrhvRwRCpSL8klJ1YDoUJdmw+v4nJc -pw3OpYXbwKOPLClsE7K3KCQscHel7auf91nrekAwbrXv9Clp0TegYeAQNjw5vZ9f -L6UZ5l3fH8E2GGA7+kqgNWs1KxAnG5GdUvJ9viyrWm8dqWRGo+loDWlZ12L2OgAD -fp7jVZTI1okAlQMFEDQPrLoff6kIA1j8vQEB2XQEAK/+SsQPCT/X4RB/PBbxUr28 -GpGJMn3AafAaA3plYw3nb4ONbqEw9tJtofAn4UeGraiWw8nHYR2DAzoAjR6OzuX3 -TtUV+57BIzrTPHcNkb6h8fPuHU+dFzR+LNoPaGJsFeov6w+Ug6qS9wa5FGDAgaRo -LHSyBxcRVoCbOEaS5S5EiQCVAwUQM5BktWVgqaw0+fnVAQGKPwP+OiWho3Zm2GKp -lEjiZ5zx3y8upzb+r1Qutb08jr2Ewja04hLg0fCrt6Ad3DoVqxe4POghIpmHM4O4 -tcW92THQil70CLzfCxtfUc6eDzoP3krD1/Gwpm2hGrmYA9b/ez9+r2vKBbnUhPmC -glx5pf1IzHU9R2XyQz9Xu7FI2baOSZqJAJUDBRAyCIWZdbtuOHaj97EBAVMzA/41 -VIph36l+yO9WGKkEB+NYbYOz2W/kyi74kXLvLdTXcRYFaCSZORSsQKPGNMrPZUoL -oAKxE25AoCgl5towqr/sCcu0A0MMvJddUvlQ2T+ylSpGmWchqoXCN7FdGyxrZ5zz -xzLIvtcio6kaHd76XxyJpltCASupdD53nEtxnu8sRrQxSm9lcmcgV3Vuc2NoIDxq -b2VyZ193dW5zY2hAaW50ZXJmYWNlLWJ1c2luZXNzLmRlPokAlQMFEDIIhfR1u244 -dqP3sQEBWoID/RhBm+qtW+hu2fqAj9d8CVgEKJugrxZIpXuCKFvO+bCgQtogt9EX -+TJh4s8UUdcFkyEIu8CT2C3Rrr1grvckfxvrTgzSzvtYyv1072X3GkVY+SlUMBMA -rdl1qNW23oT7Q558ajnsaL065XJ5m7HacgTTikiofYG8i1s7TrsEeq6PtCJKb2Vy -ZyBXdW5zY2ggPGpAdXJpYWguaGVlcC5zYXguZGU+iQCVAwUQMaS91D4gHQUlG9CZ -AQGYOwQAhPpiobK3d/fz+jWrbQgjkoO+j39glYGXb22+6iuEprFRs/ufKYtjljNT -NK3B4DWSkyIPawcuO4Lotijp6jke2bsjFSSashGWcsJlpnwsv7EeFItT3oWTTTQQ -ItPbtNyLW6M6xB+jLGtaAvJqfOlzgO9BLfHuA2LY+WvbVW447SWJAJUDBRAxqWRs -dbtuOHaj97EBAXDBA/49rzZB5akkTSbt/gNd38OJgC+H8N5da25vV9dD3KoAvXfW -fw7OxIsxvQ/Ab+rJmukrrWxPdsC+1WU1+1rGa4PvJp/VJRDes2awGrn+iO7/cQoS -IVziC27JpcbvjLvLVcBIiy1yT/RvJ+87a3jPRHt3VFGcpFh4KykxxSNiyGygl4kA -lQMFEDGCUB31FVv7jlQtXQEB5KgD/iIJZe5lFkPr2B/Cr7BKMVBot1/JSu05NsHg -JZ3uK15w4mVtNPZcFi/dKbn+qRM6LKDFe/GF0HZD/ZD1FJt8yQjzF2w340B+F2GG -EOwnClqZDtEAqnIBzM/ECQQqH+6Bi8gpkFZrFgg5eON7ikqmusDnOlYStM/CBfgp -SbR8kDmFtCZKb2VyZyBXdW5zY2ggPGpAaW50ZXJmYWNlLWJ1c2luZXNzLmRlPokA -lQMFEDHioSdlYKmsNPn51QEByz8D/10uMrwP7MdaXnptd1XNFhpaAPYTVAOcaKlY -OGI/LLR9PiU3FbqXO+7INhaxFjBxa0Tw/p4au5Lq1+Mx81edHniJZNS8tz3I3goi -jIC3+jn2gnVAWnK5UZUTUVUn/JLVk/oSaIJNIMMDaw4J9xPVVkb+Fh1A+XqtPsVa -YESrNp0+iQCVAwUQMwXkzcdm8Q+/vPRJAQEA4QQAgNNX1HFgXrMetDb+w6yEGQDk -JCDAY9b6mA2HNeKLQAhsoZl4HwA1+iuQaCgo3lyFC+1Sf097OUTs74z5X1vCedqV -oFw9CxI3xuctt3pJCbbN68flOlnq0WdYouWWGlFwLlh5PEy//VtwX9lqgsizlhzi -t+fX6BT4BgKi5baDhrWJAJUDBRAyCKveD9eCJxX4hUkBAebMA/9mRPy6K6i7TX2R -jUKSl2p5oYrXPk12Zsw4ijuktslxzQhOCyMSCGK2UEC4UM9MXp1H1JZQxN/DcfnM -7VaUt+Ve0wZ6DC9gBSHJ1hKVxHe5XTj26mIr4rcXNy2XEDMK9QsnBxIAZnBVTjSO -LdhqqSMp3ULLOpBlRL2RYrqi27IXr4kAlQMFEDGpbnd1u244dqP3sQEBJnQD/RVS -Azgf4uorv3fpbosI0LE3LUufAYGBSJNJnskeKyudZkNkI5zGGDwVneH/cSkKT4OR -ooeqcTBxKeMaMuXPVl30QahgNwWjfuTvl5OZ8orsQGGWIn5FhqYXsKkjEGxIOBOf -vvlVQ0UbcR0N2+5F6Mb5GqrXZpIesn7jFJpkQKPU -=97h7 ------END PGP PUBLIC KEY BLOCK-----</programlisting> - </sect2> - </sect1> - - <sect1> - <title>Développeurs</title> - - <sect2> - <title>&a.wosch;</title> - - <programlisting> -Type Bits/KeyID Date User ID -pub 1024/2B7181AD 1997/08/09 Wolfram Schneider <wosch@FreeBSD.org> - Key fingerprint = CA 16 91 D9 75 33 F1 07 1B F0 B4 9F 3E 95 B6 09 - ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: 2.6.3ia - -mQCNAzPs+aEAAAEEAJqqMm2I9CxWMuHDvuVO/uh0QT0az5ByOktwYLxGXQmqPG1G -Q3hVuHWYs5Vfm/ARU9CRcVHFyqGQ3LepoRhDHk+JcASHan7ptdFsz7xk1iNNEoe0 -vE2rns38HIbiyQ/2OZd4XsyhFOFtExNoBuyDyNoe3HbHVBQT7TmN/mkrcYGtAAUR -tCVXb2xmcmFtIFNjaG5laWRlciA8d29zY2hARnJlZUJTRC5vcmc+iQCVAwUQNxnH -AzmN/mkrcYGtAQF5vgP/SLOiI4AwuPHGwUFkwWPRtRzYSySXqwaPCop5mVak27wk -pCxGdzoJO2UgcE812Jt92Qas91yTT0gsSvOVNATaf0TM3KnKg5ZXT1QIzYevWtuv -2ovAG4au3lwiFPDJstnNAPcgLF3OPni5RCUqBjpZFhb/8YDfWYsMcyn4IEaJKre0 -JFdvbGZyYW0gU2NobmVpZGVyIDxzY2huZWlkZXJAemliLmRlPokAlQMFEDcZxu85 -jf5pK3GBrQEBCRgD/jPj1Ogx4O769soiguL1XEHcxhqtrpKZkKwxmDLRa0kJFwLp -bBJ3Qz3vwaB7n5gQU0JiL1B2M7IxVeHbiIV5pKp7FD248sm+HZvBg6aSnCg2JPUh -sHd1tK5X4SB5cjFt3Cj0LIN9/c9EUxm3SoML9bovmze60DckErrRNOuTk1IntCJX -b2xmcmFtIFNjaG5laWRlciA8d29zY2hAYXBmZWwuZGU+iQEVAwUQNmfWXAjJLLJO -sC7dAQEASAgAnE4g2fwMmFkQy17ATivljEaDZN/m0GdXHctdZ8CaPrWk/9/PTNK+ -U6xCewqIKVwtqxVBMU1VpXUhWXfANWCB7a07D+2GrlB9JwO5NMFJ6g0WI/GCUXjC -xb3NTkNsvppL8Rdgc8wc4f23GG4CXVggdTD2oUjUH5Bl7afgOT4xLPAqePhS7hFB -UnMsbA94OfxPtHe5oqyaXt6cXH/SgphRhzPPZq0yjg0Ef+zfHVamvZ6Xl2aLZmSv -Cc/rb0ShYDYi39ly9OPPiBPGbSVw2Gg804qx3XAKiTFkLsbYQnRt7WuCPsOVjFkf -CbQS31TaclOyzenZdCAezubGIcrJAKZjMIkAlQMFEDPs+aE5jf5pK3GBrQEBlIAD -/3CRq6P0m1fi9fbPxnptuipnoFB/m3yF6IdhM8kSe4XlXcm7tS60gxQKZgBO3bDA -5QANcHdl41Vg95yBAZepPie6iQeAAoylRrONeIy6XShjx3S0WKmA4+C8kBTL+vwa -UqF9YJ1qesZQtsXlkWp/Z7N12RkueVAVQ7wRPwfnz6E3tC5Xb2xmcmFtIFNjaG5l -aWRlciA8d29zY2hAcGFua2UuZGUuZnJlZWJzZC5vcmc+iQCVAwUQNxnEqTmN/mkr -cYGtAQFnpQP9EpRZdG6oYN7d5abvIMN82Z9x71a4QBER+R62mU47wqdRG2b6jMMh -3k07b2oiprVuPhRw/GEPPQevb6RRT6SD9CPYAGfK3MDE8ZkMj4d+7cZDRJQ35sxv -gAzQwuA9l7kS0mt5jFRPcEg5/KpuyehRLckjx8jpEM7cEJDHXhBIuVg= -=3V1R ------END PGP PUBLIC KEY BLOCK-----</programlisting> - </sect2> - - <sect2> - <title>&a.brian;</title> - - <programlisting> -Type Bits/KeyID Date User ID -pub 1024/666A7421 1997/04/30 Brian Somers <brian@awfulhak.org> - Key fingerprint = 2D 91 BD C2 94 2C 46 8F 8F 09 C4 FC AD 12 3B 21 - Brian Somers <brian@uk.FreeBSD.org> - Brian Somers <brian@OpenBSD.org> - Brian Somers <brian@FreeBSD.org> ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: 2.6.3ia - -mQCNAzNmogUAAAEEALdsjVsV2dzO8UU4EEo7z3nYuvB2Q6YJ8sBUYjB8/vfR5oZ9 -7aEQjgY5//pXvS30rHUB9ghk4kIFSljzeMudE0K2zH5n2sxpLbBKWZRDLS7xnrDC -I3j9CNKwQBzMPs0fUT46gp96nf1X8wPiJXkDUEia/c0bRbXlLw7tvOdmanQhAAUR -tCFCcmlhbiBTb21lcnMgPGJyaWFuQGF3ZnVsaGFrLm9yZz6JAJUDBRA3Fjs4H3+p -CANY/L0BAZOxBACTZ1zPdaJzEdT4AfrebQbaU4ytEeodnVXZIkc8Il+LDlDOUAIe -k5PgnHTRM4yiwcZuYQrCDRFgdOofcFfRo0PD7mGFzd22qPGmbvHiDBCYCyhlkPXW -IDeoA1cX77JlU1NFdy0dZwuX7csaMlpjCkOPc7+856mr6pQi48zj7yZtrYkAlQMF -EDcUqZ2dZ0EADG4SFQEBEm0EAL2bBNc4vpxPrg3ATdZ/PekpL6lYj3s9pBf8f7eY -LXq438A/ywiWkrL74gXxcZ2Ey9AHZW+rbJPzUbrfMAgP3uWobeSvDyKRo1wtKnTY -Hy+OEIbBIHDmIUuK3L7KupBf7WAI46Q7fnyz0txvtRruDjvfoyl9/TSRfIKcaw2a -INh7iQCVAwUQNwyWpmdKPfFUsXG5AQEIrAQAmukv2u9ihcnO2Zaak265I+gYozu+ -biAngdXNfhTGMeExFzdzQ8Qe7EJugMpIDEkJq2goY35sGitD+ogSVWECjcVbHIAP -M2u9axFGlK7fDOmmkH2ZWDMtwx2I5dZps3q2g9mY2O9Az5Yokp7GW7viSpWXHTRH -xOsuY6aze71U7RWJAHUDBRA3DAEvDuwDH3697LEBAWRHAv9XXkub6mir/DCxzKI2 -AE3tek40lRfU6Iukjl/uzT9GXcL3uEjIewiPTwN+k4IL+qcCEdv8WZgv/tO45r59 -IZQsicNaSAsKX/6Cxha6Hosg1jw4rjdyz13rgYRi/nreq5mJAJUDBRA2r0CM9p+f -Pnxlu7UBAYObA/40s5SwEpXTrePO78AoUFEa5Z4bgyxkpT7BVbq6m/oQtK509Xe2 -M2y0XTLkd86oXpjyKzGzWq8T6ZTKNdF9+5LhS2ylJytdPq1AjDk2BocffWX4+pXn -RPiC6XcNdYGiQL8OTHvZESYQDiHeMfwA8WdMzFK1R80nJMwANYXjJJrLzYkAlQMF -EDNt51zvs7EFZlNtbQEBW0UD/jZB6UDdEFdhS0hxgahv5CxaQDWQbIEpAY9JL1yg -d1RWMKUFGXdRkWZmHEA4NvtwFFeam/HZm4yuGf8yldMyo84loTcVib7lKh4CumGx -FT5Pxeh/F8u9EeQzclRFSMhVl0BA2/HEGyjw0kbkprI/RD3pXD7ewTAUrj2O3XhE -InLgiQCVAwUQM3O9vWyr6JZzEUkFAQF9nAP9Hco0V/3Kl70N5ryPVgh41nUTd7Td -6fUjx8yPoSZLX8vVZ8XMyd8ULFmzsmA+2QG4HcKo/x/4s50O3o8c+o1qSYj0Tp+K -4Z8lneMVlgBNdrRcq4ijEgk0qGqSlsXyLElkVPEXAADBVgzf6yqvipDwXNVzl6e3 -GPLE8U2TAnBFZX6JAJUDBRAzZqIFDu2852ZqdCEBATsuBACI3ofP7N3xuHSc7pWL -NsnFYVEc9utBaclcagxjLLzwPKzMBcLjNGyGXIZQNB0d4//UMUJcMS7vwZ8MIton -VubbnJVHuQvENloRRARtarF+LC7OLMCORrGtbt0FtYgvBaqtgXlNcKXD6hRT+ghR -bi3q34akA7Xw8tiFIxdVgSusALQjQnJpYW4gU29tZXJzIDxicmlhbkB1ay5GcmVl -QlNELm9yZz6JAJUDBRA3FLWcnWdBAAxuEhUBAcYYBACos9nKETuaH+z2h0Ws+IIY -mN9FEm8wpPUcQmX5GFhfBUQ+rJbflzv0jJ/f2ac9qJHgIIAlJ3pMkfMpU8UYHEuo -VCe4ZTU5sr4ZdBaF9kpm2OriFgZwIv4QAi7dCMu9ZwGRtZ3+z3DQsVSagucjZTIe -yTUR6K+7E3YXANQjOdqFZYkAlQMFEDcUpeQO7bznZmp0IQEB4HED/Ru3NjwWO1gl -xEiLTzRpU31Rh1Izw1lhVMVJkLAGBw9ieSkjvdIkuhqV1i+W4wKBClT0UOE28Kjp -WbBKPFIASRYzN4ySwpprsG5H45EFQosovYG/HPcMzXU2GMj0iwVTxnMq7I8oH588 -ExHqfEN2ARD3ngmB2499ruyGl26pW/BftCBCcmlhbiBTb21lcnMgPGJyaWFuQE9w -ZW5CU0Qub3JnPokAlQMFEDcUtW6dZ0EADG4SFQEBQwsD/j9B/lkltIdnQdjOqR/b -dOBgJCtUf905y6kD+k4kbxeT1YAaA65KJ2o/Zj+i+69F2+BUJ/3kYB7prKwut2h0 -ek1ZtncGxoAsQdFJ5JSeMkwUZ5qtGeCmVPb59+KPq3nU6p3RI8Bn77FzK//Qy+IW -/WFVJbf/6NCNCbyRiRjPbGl/iQCVAwUQNxSlyA7tvOdmanQhAQFzMAP/dvtsj3yB -C+seiy6fB/nS+NnKBoff3Ekv57FsZraGt4z9n4sW61eywaiRzuKlhHqrDE17STKa -fBOaV1Ntl7js7og5IFPWNlVh1cK+spDmd655D8pyshziDF6fSAsqGfTn35xl23Xj -O20MMK44j4I5V6rEyUDBDrmX49J56OFkfwa0IEJyaWFuIFNvbWVycyA8YnJpYW5A -RnJlZUJTRC5vcmc+iQCVAwUQNxS1Y51nQQAMbhIVAQHPBQP+IMUlE4DtEvSZFtG4 -YK9usfHSkStIafh/F/JzSsqdceLZgwcuifbemw79Rhvqhp0Cyp7kuI2kHO3a19kZ -3ZXlDl3VDg41SV/Z5LzNw9vaZKuF/vtGaktOjac5E5aznWGIA5czwsRgydEOcd8O -VPMUMrdNWRI6XROtnbZaRSwmD8aJAJUDBRA3FKWuDu2852ZqdCEBAWVJA/4x3Mje -QKV+KQoO6mOyoIcD4GK1DjWDvNHGujJbFGBmARjr/PCm2cq42cPzBxnfRhCfyEvN -aesNB0NjLjRU/m7ziyVn92flAzHqqmU36aEdqooXUY2T3vOYzo+bM7VtInarG1iU -qw1G19GgXUwUkPvy9+dNIM/aYoI/e0Iv3P9uug== -=R3k0 ------END PGP PUBLIC KEY BLOCK-----</programlisting> - </sect2> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> - diff --git a/fr_FR.ISO8859-1/books/handbook/policies/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/policies/chapter.sgml deleted file mode 100644 index 17781d440a..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/policies/chapter.sgml +++ /dev/null @@ -1,404 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: 1.7 ---> - -<chapter id="policies"> - <title>Gestion de l'arborescence des sources</title> - - <para><emphasis>Contribution de &a.phk;.</emphasis></para> - &trans.a.haby; - - <para>Ce document décrit différents principes et recommandations - en vigueur pour la gestion de l'arborescence des sources de FreeBSD.</para> - - <sect1 id="policies-maintainer"> - <title><makevar>MAINTAINER</makevar> dans les - <filename>Makefile</filename>s</title> - - <para>Juin 1996.</para> - - <para>Si un sous-ensemble particulier de la distribution de FreeBSD est - maintenu par une personne ou un groupe de personne, ils peuvent le - faire savoir à l'extérieur en ajoutant une - ligne :</para> - - <programlisting> -MAINTAINER= email-addresses - </programlisting> - - <para>aux <filename>Makefile</filename>s correspondant à cette partie - de l'arborescence.</para> - - <para>Cela signifie que :</para> - - <para>La personne détient et assume la responsabilité de ce - code. Ce qui veut dire qu'il est responsable de la corrections des bogues - et des réponses aux rapports d'anomalie se rapportant à ce - code, et, dans le cas de logiciels d'origine extérieure, du suivi - des nouvelles versions, selon les besoins.</para> - - <para>Les modifications dans les répertoires pour lesquels il existe - un responsable de la maintenance devront être transmises à ce - responsable pour qu'il les passe en revue. Il n'est admis - d'intégrer de modifications sans passer par cette étape - qu'aux seuls cas où le responsable ne répond pas dans un - délai acceptable, et après plusieurs courriers - électroniques. Il est cependant suggeré d'insister et de - faire en sorte que les modifications soient revues par quelqu'un d'autre, - si c'est possible.</para> - - <para>Il n'est bien sûr pas acceptable d'ajouter une personne ou un - groupe de personnes comme responsable de la maintenance, s'ils ne sont pas - d'accord pour assumer cette obligation. D'un autre côté, il - n'est pas nécessaire que ce soit une personne ayant les droits - d'écriture dans - l'arborescence - “<foreignphrase>committer</foreignphrase>” - et - ce peut sans problème être un groupe de personnes.</para> - </sect1> - - <sect1> - <title>Logiciels de provenance - extérieure - “contribués”</title> - - <para><emphasis>Contribution de &a.phk; et &a.obrien;.</emphasis></para> - - <para>Juin 1996.</para> - - <para>Certaines parties de la distribution de FreeBSD consistent en - logiciels qui sont activement maintenus extérieurement au projet - FreeBSD. Pour des raisons historiques, on appelle cela des logiciels - <emphasis>contribués</emphasis>. Perl, gcc et patch en sont des - exemples.</para> - - <para>Ces deux dernières années, nous avons employé - différentes méthodes pour gérer ce type de logiciels, elles ont toutes leurs avantages et leurs inconvénients. Aucune ne - s'est avérée incontestablement meilleure.</para> - - <para>De ce fait, après discussion, une de ces méthode a - été retenue comme méthode “officielle” et - devra être utilisée pour les prochaines adjonctions de - logiciels de ce type. De plus, il est fortement suggéré que - les logiciels déjà intégrés convergent avec le - temps vers cette méthode, parce qu'elle présente des - avantages significatifs sur l'ancienne méthode, dont la - possibilité pour chacun d'obtenir facilement des - <filename>diff</filename>s avec les versions “officielles” du - source (même sans accès cvs). Cela rendra beaucoup plus - facile la communication en retour des modifications aux - développeurs d'origine des logiciels.</para> - - <para>Au final, néanmoins, tout dépend des personnes qui ont - en charge la maintenance. Si ce modèle est particulièrement - mal adapté au paquetage concerné, il peut y avoir des - exceptions à ces règles, à condition expresse - d'approbation par l'équipe de base et de consensus - général des autres développeurs, la - maintenabilité ultérieure du paquetage étant le - principal critère de décision.</para> - - <note> - <para>Du fait de limitations malheureuses de conception du format des - fichiers RCS et de l'utilisation par CVS des branches d'origine, les - modifications mineures, triviales et/ou cosmétiques sont - <emphasis>fortement découragées</emphasis> sur les - fichiers qui sont toujours gérés sur la branche - d'origine. Les fichiers de “localisation” sont explicitement - inclus ici dans la catégorie “cosmétique” et - ne doivent pas avoir de numéros de révision - <literal>1.1.x.x</literal>. La modification d'un seul caractère - peut congestionner de façon relativement dramatique l'ensemble - des archives.</para> - </note> - - <para>Nous utiliserons le langage de programmation - <application>Tcl</application> pour illustrer la façon dont ce - modèle s'applique :</para> - - <para><filename>src/contrib/tcl</filename> contient le source tel qu'il est - distribué par les gens qui maintiennent ce paquetage. Les parties - qui ne s'appliquent pas du tout à FreeBSD peuvent être - supprimées. Dans le cas de Tcl, les sous-répertoires - <filename>mac</filename>, <filename>win</filename> et - <filename>compat</filename> ont été éliminés - avant l'importation.</para> - - <para><filename>src/lib/libtcl</filename> ne contient qu'un - <filename>Makefile</filename> de “style bmake” qui utilise les - règles standard de <filename>bsd.lib.mk</filename> pour - générer la bibliothèque et installer la - documentation.</para> - - <para><filename>src/usr.bin/tclsh</filename> ne contient qu'un - <filename>Makefile</filename> de “style bmake” qui - génère et installe le programme - <command>tclsh</command> et les pages de manuel correspondantes en - utilisant les règles standard de - <filename>bsd.prog.mk</filename>.</para> - - <para><filename>src/tools/tools/tcl_bmake</filename> contient une paire de - procédures qui peuvent être utiles quand il faut mettre - à jour le logiciel Tcl. Elles ne font pas partie du logiciel - compilé et installé.</para> - - <para>L'important ici est que le répertoire - <filename>src/contrib/tcl</filename> est créé en respectant - les règles suivantes : il est supposé contenir les - sources tels que distribués (sur une branche CVS d'origine ad hoc - et sans extensions RCS des mots-clés) avec aussi peu de - modifications spécifiques à FreeBSD que possible. L'outil - d'“importation facile” sur <hostid>freefall</hostid> - aidera à importer le logiciel, mais, au moindre doute, il est - impératif de se renseigner auparavant et de ne pas aller à - l'aveuglette en espérant que “cela marchera”. CVS ne - pardonne pas les erreurs d'importation et il n'est pas trivial de - récupérer d'erreurs majeures.</para> - - <para>Du fait des limitations conceptuelles déjà - mentionnées des branches d'origine de CVS, les correctifs - “officiels” du distributeur doivent être - appliqués aux sources d'origine et le résultat - réimporté dans la branche principale. Ces correctifs - officiels ne doivent jamais être appliqués aux versions - extraites pour FreeBSD et “soumis” ensuite, parce que cela - détruit la cohérence de la branche d'origine et rend - l'importation des versions ultérieures assez difficile, parce qu'il - y aura des conflits.</para> - - <para>Comme de nombreux paquetages contiennent des fichiers - dédiés à la compatibilité avec d'autres - architectures et environnements que FreeBSD, il est admissible de - supprimer les parties de la distribution qui ne concernent pas FreeBSD - pour gagner de la place. Les fichiers qui contiennent les notices de - <foreignphrase>copyright</foreignphrase> et des informations du type - “notes de version” qui s'appliquent aux autres fichiers ne - doivent <emphasis>pas</emphasis> être supprimés.</para> - - <para>Si cela s'avère plus facile, les <filename>Makefile</filename>s - <command>bmake</command> de l'arborescence de la distribution peuvent - être générés avec un utilitaire, ce qui peut - le cas échéant faciliter les montées de version. Si - tel est le cas, veillez à administrer ces utilitaires (si besoin - est) dans le répertoire <filename>src/tools</filename> en - même temps que le logiciel lui-même, de sorte qu'ils soient - disponibles pour les personnes qui assureront par la suite la - maintenance.</para> - - <para>Dans le répertoire <filename>src/contrib/tcl</filename>, il - faut ajouter un fichier appelé <filename>FREEBSD-upgrade</filename> qui mentionne des choses telles que :</para> - - <itemizedlist> - <listitem> - <para>Quels fichiers ont été laissés de - côté,</para> - </listitem> - - <listitem> - <para>Où a été obtenue la distribution originale - et/ou quel est le site principal officiel,</para> - </listitem> - - <listitem> - <para>Où réadresser les correctifs à l'auteur - original,</para> - </listitem> - - <listitem> - <para>Eventuellement un résumé des modifications - apportées propres à FreeBSD.</para> - </listitem> - </itemizedlist> - - <para>Cependant, n'importez pas <filename>FREEBSD-upgrade</filename> en - même temps que le source du logiciel. Vous devriez plutôt - effectuer un <command>cvs add FREEBSD-upgrade ; cvs ci</command> - après le premier <command>import</command>. Voici par exemple - ce que cela donne pour <filename>src/contrib/cpio</filename> - <footnote><para>Traduction :</para> - <programlisting> - -Ce répertoire contient les sources d'origine non modifiés sur la -branche “d'origine”. N'essayez en aucun cas de mettre à jour -les fichiers de ce répertoire via des correctifs et un “commit” -cvs. Les nouvelles versions ou les versions officiellement -rectifiées doivent être importées. N'oubliez pas d'importer -avec l'option “-ko” pour ne pas écraser les IDentifiants -RCS d'origine. - -A l'importation de GNU cpio 2.4.2, les fichiers suivants ont été -éliminés : - - INSTALL cpio.info mkdir.c - Makefile.in cpio.texi mkinstalldirs - -Pour passer à une nouvelle version de cpio, quand elle sera disponible : - 1. Décompactez la nouvelle version dans un sous-répertoire vide - [Ne modifiez en AUCUN cas les fichiers.] - - 2. Supprimez les fichiers listés ci-dessus et tous autres fichiers - qui ne s'appliquent pas à FreeBSD. - - 3. Utilisez la commande : - cvs import -ko -m 'Virgin import of GNU cpio v<version>' \ - src/contrib/cpio GNU cpio_<version> - - Voici par example comment j'ai importé la version 2.4.2 de cpio : - cvs import -ko -m 'Virgin import of GNU v2.4.2' \ - src/contrib/cpio GNU cpio_2_4_2 - - 4. Suivez les instructions affichées à l'étape 3 pour résoudre les - conflits entre les modifications locales pour FreeBSD et la - nouvelle version. - -Ne déviez en aucun cas de cette procédure. - -Pour appliquer les modifications locales à cpio, “patchez” -simplement et soumettez sur la branche principale (aka HEAD). -N'appliquez jamais les modifications locales à la branche GNU. - -Toutes les modifications locales doivent être soumises à -“cpio@gnu.ai.mit.edu” pour inclusion dans la prochaine -version originale. - -obrien@freebsd.org - 30 Mars 1997 - </programlisting></footnote> :</para> - - <programlisting> -This directory contains virgin sources of the original distribution files -on a "vendor" branch. Do not, under any circumstances, attempt to upgrade -the files in this directory via patches and a cvs commit. New versions or -official-patch versions must be imported. Please remember to import with -"-ko" to prevent CVS from corrupting any vendor RCS Ids. - -For the import of GNU cpio 2.4.2, the following files were removed: - -INSTALL cpio.info mkdir.c -Makefile.in cpio.texi mkinstalldirs - -To upgrade to a newer version of cpio, when it is available: - 1. Unpack the new version into an empty directory. - [Do not make ANY changes to the files.] - - 2. Remove the files listed above and any others that don't apply to - FreeBSD. - - 3. Use the command: - cvs import -ko -m 'Virgin import of GNU cpio v<version>' \ - src/contrib/cpio GNU cpio_<version> - - For example, to do the import of version 2.4.2, I typed: - cvs import -ko -m 'Virgin import of GNU v2.4.2' \ - src/contrib/cpio GNU cpio_2_4_2 - - 4. Follow the instructions printed out in step 3 to resolve any - conflicts between local FreeBSD changes and the newer version. - -Do not, under any circumstances, deviate from this procedure. - -To make local changes to cpio, simply patch and commit to the main -branch (aka HEAD). Never make local changes on the GNU branch. - -All local changes should be submitted to "cpio@gnu.ai.mit.edu" for -inclusion in the next vendor release. - -obrien@freebsd.org - 30 March 1997 - </programlisting> - </sect1> - - <sect1 id="policies-shlib"> - <title>Bibliothèques partagées</title> - - <para><emphasis>Contribution de &a.asami;, &a.peter;, and &a.obrien; 9 - Décembre 1996.</emphasis></para> - - <para>Si vous ajoutez à des logiciels portés ou d'autres - logiciels, le support des bibliothèques partagées qu'ils - n'ont pas encore, les numéros de version des bibliothèques - doivent suivre les règles ci-dessous. De façon - générale, ces numéros n'ont pas de rapport avec les - numéros de version du logiciel.</para> - - <para>Les trois principes de génération des - bibliothèques partagées sont :</para> - - <itemizedlist> - <listitem> - <para>Commencez à <literal>1.0</literal>,</para> - </listitem> - - <listitem> - <para>Si la modification est rétro-compatible, augmentez le - numéro de version mineure,</para> - </listitem> - - <listitem> - <para>Si la modification est incompatible avec les versions - antérieures, augmentez le numéro de version - majeure.</para> - </listitem> - </itemizedlist> - - <para>Par exemple, l'ajout de fonctions et les corrections de bogues - résultent en une incrémentation du numéro de version - mineure, alors que la suppression de fonctions ou la modification de - syntaxes d'appel de fonctions imposent un changement de numéro de - version majeure.</para> - - <para>Tenez-vous en à des numéros de version de la forme - majeure.mineure - (<replaceable>x</replaceable>.<replaceable>y</replaceable>). Notre - éditeur de liens dynamiques ne gère pas très bien - les numéros de version de la forme - <replaceable>x</replaceable>.<replaceable>y</replaceable>.<replaceable>z</replaceable>. - Tout numéro de version après le - <replaceable>y</replaceable> (i.e., le troisième chiffre) est - totalement ignoré lors de la comparaison des numéros de - version des bibliothèques partagées pour décider - avec quelle bibliothèque effectuer le lien. Si deux - bibliothèques partagées diffèrent d'une - “micro” révision, <command>ld.so</command> fera le lien - avec la plus élevée. I.e. : si vous éditez les liens - avec <filename>libfoo.so.3.3.3</filename>, l'éditeur de liens - n'enregistre que <literal>3.3</literal> dans les en-têtes, et fera - le lien avec n'importe quoi qui commence par - <replaceable>libfoo.so.3</replaceable>.<replaceable>(quelque chose >= - 3)</replaceable>.<replaceable>(le numéro le plus - élevé disponible)</replaceable>.</para> - - <note> - <para><command>ld.so</command> utilisera toujours la révision - “mineure” la plus élevée. I.e. : il - choisira <filename>libc.so.2.2</filename> plutôt que - <filename>libc.so.2.0</filename>, même si le programme a - été initialement lié avec - <filename>libc.so.2.0</filename>.</para> - </note> - - <para>Pour les bibliothèques autres que celles des logiciels - portés, c'est aussi notre politique de ne changer de numéro - de version de bibliothèque partagée qu'une seule fois par - version de FreeBSD. Si vous modifiez une bibliothèque - système de telle sorte que cela réclame une - incrémentation du numéro de version, consultez l'historique - des soumissions du <filename>Makefile</filename>. C'est la personne qui - soumet qui doit s'assurer que le numéro de version de la - bibliothèque partagée est bien incrémenté - à la première modification et que les modifications - suivantes n'y touchent plus.</para> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> - diff --git a/fr_FR.ISO8859-1/books/handbook/ports/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/ports/chapter.sgml deleted file mode 100644 index 461ba197cb..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/ports/chapter.sgml +++ /dev/null @@ -1,5197 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: n.nn ---> - - <chapter id="ports"> - <title>Installer des applications du “Catalogue des logiciels - portés”</title> - - <para><emphasis>Contribution de &a.jraynard;.</emphasis></para> - &trans.a.haby; - - <para>Le catalogue des logiciels portés de FreeBSD vous permet de - compiler et d'installer une grande variété d'applications avec - un minimum d'efforts.</para> - - <para>Malgré toutes les déclarations exagérées sur les standards ouverts, - faire fonctionner un programme sur différentes versions d'Unix - peut en réalité être fastidieux et délicat, comme tous ceux qui - ont essayé le savent. Vous aurez peut-être la chance d'arriver - à compiler, installer où il faut et exécuter sans incident le - programme que vous voulez “tel quel”, mais c'est - malheureusement assez rare. Dans la plupart des cas, vous devrez - vous creuser un peu la tête, et il y a un certain nombre de programmes - qui vous donneront prématurement des cheveux blancs, ou même une - calvitie chronique...</para> - - <para>Certaines distributions de logiciels ont résolu ce problème - en fournissant des procédures de configuration. Certaines sont très - sophistiquées, mais ont une fâcheuse tendance à vous annoncer - triomphalement que votre système est d'une espèce dont vous n'avez - jamais entendu parler et à vous poser un tas de questions qui - ressemblent plus à un examen de programmation système Unix. - <literal>(La fonction gethitlist de votre système vous rend-elle un - pointeur const sur un schmilblick ou un pointeur sur un schmilblick - const? Avez-vous la gestion des exceptions inconnues de style - Foonix? Et sinon, pourquoi?)</literal></para> - - <para>Heureusement, grâce au catalogue des logiciels portés, tout le - travail pénible a déjà été fait, et il vous suffit de taper - <command>make install</command> pour avoir un logiciel qui - fonctionne.</para> - - <sect1> - <title>Pourquoi un catalogue des logiciels portés?</title> - - <para>Le système FreeBSD de base comporte une grande variété d'outils - et d'utilitaires système, mais de nombreux logiciels d'usage - courant n'en font pas partie, et il y a de bonnes raisons à - cela:</para> - - <orderedlist> - - <listitem> - <para>Il y a des programmes dont certains ne peuvent se passer - et que d'autres ne peuvent pas voir en peinture, un certain - éditeur basé sur Lisp, par exemple.</para> - </listitem> - - <listitem> - <para>Certains programmes sont trop spécialisés pour faire partie - du système de base (Conception Assistée par Ordinateur, bases de données).</para> - </listitem> - - <listitem> - <para>Les programmes de la catégorie “Je devrais y jeter - un coup d'oeil quand j'aurais cinq minutes”, et qui n'ont - rien d'indispensable (certains langages, peut-être).</para> - </listitem> - - <listitem> - <para>Les programmes qui sont bien trop amusants pour être fournis - avec un système d'exploitation sérieux comme FreeBSD ;-)</para> - </listitem> - - <listitem> - <para>Peut importe la quantité de programmes fournis de base, - les gens en veulent toujours plus, et il faut définir une - séparation quelque part (sans quoi les distributions de FreeBSD - deviendraient absolument énormes).</para> - </listitem> - - </orderedlist> - - <para>Il serait évidemment irréaliste d'attendre que chacun porte - ses programmes favoris à la main (sans mentionner la quantité - invraisemblable de travail refait à chaque fois), le Projet - FreeBSD a donc mis en place une méthode ingénieuse d'utilisation - d'outils standard pour automatiser le processus.</para> - - <para>C'est, au passage, une excellente illustration de la - “manière Unix” de faire en combinant un jeu - d'outils simples mais souples pour arriver à un mécanisme - très puissant.</para> - - </sect1> - - <sect1> - <title>Comment fonctionne le catalogue des logiciels portés?</title> - - <para>Les logiciels sont typiquement distribués sur l'Internet sous - forme d'<link linkend="ports-tarball">archives</link> incluant un - fichier <filename>Makefile</filename>, le code source du programme - et habituellement quelques instructions (qui ne sont pas toujours - aussi instructives qu'elles pourraient l'être), avec peut-être aussi - une procédure de configuration.</para> - - <para>Le scénario standard consiste à télécharger l'archive par FTP, - l'extraire quelque part, parcourir les instructions, faire les - modifications qui vous paraissent nécessaires, lancer la procédure - de configuration pour mettre tout au point et utiliser la commande - <command>make</command> habituelle pour compiler et installer le - programme à partir du source.</para> - - <para>Les logiciels portés de FreeBSD utilisent toujours le mécanisme - des archives, mais se servent d'un - <link linkend="ports-skeleton">squelette</link> qui renferme - la “connaissance” nécessaire pour pouvoir obtenir un - logiciel utilisable sous FreeBSD, plutôt que d'attendre de - l'utilisateur qu'il se débrouille. Ils comportent aussi leurs - propres - <link linkend="ports-makefile"><filename>Makefile</filename>s</link>, - de sorte que presque tous les logiciels portés se compilent et - s'installent de la même façon.</para> - - <para>Si vous regardez le squelette pour un logiciel porté (soit sur - <ulink url="file://localhost/usr/ports/devel/ElectricFence">votre - machine FreeBSD</ulink>, soit sur <ulink - url="ftp://ftp.freebsd.org/pub/FreeBSD/ports/devel/ElectricFence">le - site FTP</ulink>), et espérez y trouver toutes sortes de techniques - d'avant-garde, vous serez déçu par les quelques fichiers et - répertoires sans éclat que vous y verrez. (Nous parlerons bientôt de - la façon de <link linkend="ports-getting">Se procurer un logiciel - porté</link>).</para> - - <para>Je vous entends d'ici: “Comment diable cela peut-il arriver - à faire quoi que ce soit? Le code source n'y est même - pas!”</para> - - <para>Ne craignez rien, aimable lecteur, tout va s'éclairer - (espérons-le). Examinons ce qui se passe lorsque nous essayons - d'installer un logiciel porté. J'ai choisi - <application>ElectricFence</application>, un bon outil pour les - développeurs, car son squelette est plus explicite que la - plupart.</para> - - <note> - <para>Si vous essayez de le faire chez vous, vous devez être - super-utilisateur.</para> - </note> - - <informalexample> - <screen>&prompt.root; <userinput>cd /usr/ports/devel/ElectricFence</userinput> -&prompt.root; <userinput>make install</userinput> ->> Checksum OK for ElectricFence-2.0.5.tar.gz. -===> Extracting for ElectricFence-2.0.5 -===> Patching for ElectricFence-2.0.5 -===> Applying FreeBSD patches for ElectricFence-2.0.5 -===> Configuring for ElectricFence-2.0.5 -===> Building for ElectricFence-2.0.5 -[une tonne de résultats de compilation...] -===> Installing for ElectricFence-2.0.5 -===> Warning: your umask is "0002". If this is not desired, set it to - an appropriate value and install this port again by ``make reinstall''. -install -c -o bin -g bin -m 444 /usr/ports/devel/ElectricFence/work/ElectricFence-2.0.5/libefence.a /usr/local/lib -install -c -o bin -g bin -m 444 /usr/ports/devel/ElectricFence/work/ElectricFence-2.0.5/libefence.3 /usr/local/man/man3 -===> Compressing manual pages for ElectricFence-2.0.5 -===> Registering installation for ElectricFence-2.0.5</screen> - </informalexample> - - <para>Pour éviter la confusion, je n'ai pas donné les résultats de la - compilation.</para> - - <para>Si vous avez essayé de votre côté, vous avez peut-être obtenu au - début quelque chose du genre:</para> - - <informalexample id="ports-fetch"> - <screen>&prompt.root; <userinput>make install</userinput> ->> ElectricFence-2.0.5.tar.gz doesn't seem to exist on this system. ->> Attempting to fetch from - ftp://ftp.doc.ic.ac.uk/Mirrors/sunsite.unc.edu/pub/Linux/devel/lang/c/.</screen> - </informalexample> - - <para>Le programme <command>make</command> s'est rendu compte que vous - n'aviez pas de copie locale du source et a essayé de le télécharger - pour pouvoir continuer son travail. J'avais déjà le source, il n'a - donc pas eu besoin d'aller le chercher.</para> - - <para>Continuons et voyons ce que le programme <command>make</command> - a fait:</para> - - <procedure> - - <step> - <para>Localiser l'<link linkend="ports-tarball">archive</link> - du code source. Si elle n'est pas localement disponible, aller - la chercher sur un site FTP.</para> - </step> - - <step> - <para>Lancer un test de la <link linkend="ports-checksum">somme de - contrôle</link> sur le fichier d'archive pour s'assurer qu'il - a bien été récupéré, et non accidentellement tronqué, - téléchargé en mode ASCII, ou bombardé de neutrinos pendant le - transfert.</para> - </step> - - <step> - <para>Extraire l'archive dans un répertoire temporaire.</para> - </step> - - <step> - <para>Appliquer les - <link linkend="ports-patch">“patches”</link> - mises - à jour - nécessaires à la compilation et à l'exécution - sous FreeBSD.</para> - </step> - - <step> - <para>Lancer les procédures de configuration nécessaires à la - compilation et répondre correctement aux questions - posées.</para> - </step> - - <step> - <para>(Finalement!) Compiler le code.</para> - </step> - - <step> - <para>Installer le programme exécutable et les autres fichiers - qui vont avec, pages de manuel, etc. dans un sous-répertoire de - <filename>/usr/local</filename>, où ils ne se mélangeront pas - avec vos programmes système. Cela garantit aussi que tous les - logiciels portés soient au même endroit, au lieu d'être - éparpillés à droite et à gauche sur votre système.</para> - </step> - - <step> - <para>Enregistrez l'installation dans une base de données. Si vous - ne voulez pas conserver le programme par la suite, vous pourrez - le <link linkend="ports-remove">désinstaller</link> proprement - de votre système.</para> - </step> - - </procedure> - - <para>Parcourez les résultats de <command>make</command> et voyez si - vous retrouvez ces différentes étapes. Si vous n'étiez pas encore - impressionné, vous devriez l'être maintenant!</para> - - </sect1> - - <sect1 id="ports-getting"> - <title>Se procurer un logiciel porté pour FreeBSD</title> - - <para>Il y a deux façons d'obtenir la version portée pour FreeBSD d'un - logiciel. Il vous faut soit le <link linkend="ports-cd">CD-ROM - FreeBSD</link>, soit une <link linkend="ports-inet">connexion - Internet</link>.</para> - - <sect2 id="ports-cd"> - <title>Compiler les logiciels portés depuis le CD-ROM</title> - - <para>Si vous avez répondu oui à la question “Do you want to - link the ports collection to your - CD-ROM?” - “Voulez-vous créer un lien - symbolique sur le catalogue des logiciels portés du - CD-ROM?” - pendant la configuration de - l'installation de FreeBSD, le programme aura déjà effectué à votre - place les étapes préliminaires.</para> - - <para>Sinon, vérifiez que le CD-ROM <emphasis>FreeBSD</emphasis> est - bien dans le lecteur et monté sur, par exemple, - <filename>/cdrom</filename>. puis tapez:</para> - - <informalexample> - <screen>&prompt.root; <userinput>mkdir /usr/ports</userinput> -&prompt.root; <userinput>cd /usr/ports</userinput> -&prompt.root; <userinput>ln -s /cdrom/ports/distfiles distfiles</userinput></screen> - </informalexample> - - <para>pour que le mécanisme d'installation puisse trouver - les archives (il s'attend à ce qu'elles soient dans le répertoire - <filename>/usr/ports/distfiles</filename>, c'est la raison pour - laquelle nous avons créé un lien symbolique du répertoire - d'archive du CD-ROM sur ce répertoire).</para> - - <para>Supposons maintenant que nous voulions installer le programme - <application>gnats</application> qui se trouve dans le répertoire - des bases de données. Voici comment nous procéderions:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cd /usr/ports</userinput> -&prompt.root; <userinput>mkdir databases</userinput> -&prompt.root; <userinput>cp -R /cdrom/ports/databases/gnats databases</userinput> -&prompt.root; <userinput>cd databases/gnats</userinput> -&prompt.root; <userinput>make install</userinput></screen> - </informalexample> - - <para>Si vous utilisez sérieusement les bases de données et que vous - voulez comparer toutes celles qui sont disponibles au catalogue, - tapez:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cd /usr/ports</userinput> -&prompt.root; <userinput>cp -R /cdrom/ports/databases .</userinput> -&prompt.root; <userinput>cd databases</userinput> -&prompt.root; <userinput>make install</userinput></screen> - </informalexample> - - <para>(oui, il y a vraiment un “.” à la fin de la - commande <command>cp</command>, ce n'est pas une erreur. C'est une - “Unixerie” qui veut dire: “le répertoire - courant”) et le système d'installation des logiciels portés - compilera et installera automatiquement tous les logiciels de - base de données disponibles!</para> - - <para>Si cette méthode ne vous convient pas, voici une façon - entièrement différente de faire:</para> - - <para>Créez une “arborescence de liens” vers le catalogue - en vous servant de la commande <citerefentry><refentrytitle>lndir</refentrytitle><manvolnum>1</manvolnum></citerefentry> - de la distribution de <emphasis>XFree86</emphasis>. Trouvez un - endroit où vous avez de la place, créez-y un répertoire et - placez-vous dans ce répertoire avec <command>cd</command>. Utilisez - maintenant la commande - <citerefentry><refentrytitle>lndir</refentrytitle><manvolnum>1</manvolnum></citerefentry> - avec comme premier argument le chemin d'accès complet au répertoire - <filename>ports</filename> du CD-ROM et un “.” (le - répertoire courant) comme second argument. Quelque chose du - genre:</para> - - <informalexample> - <screen>&prompt.root; <userinput>lndir /cdrom/ports .</userinput></screen> - </informalexample> - - <para>Vous pouvez alors installer les logiciels portés directement - à partir du CD-ROM en le faisant depuis l'arborescence de liens que - vous venez de créer.</para> - - <para>Remarquez que les sources d'origine de certains logiciels ne - peuvent être fournis sur le CD-ROM, pour des questions de licence. - Dans ce cas, vous devrez vous reporter à la section - <link linkend="ports-inet">Installer de logiciels portés via - une connexion Internet</link>.</para> - - </sect2> - - <sect2 id="ports-inet"> - <title>Installer des logiciels portés via une connexion - Internet</title> - - <para>Si vous n'avez pas de CD-ROM, ou voulez être sûr d'avoir - la toute dernière version d'un logiciel, vous devrez - télécharger le <link linkend="ports-skeleton">squelette</link> - associé au logiciel porté. Cela peut paraître une combine - pleine d'embûches, mais c'est en réalité très - simple.</para> - - <para>Le secret est que le serveur FTP FreeBSD peut vous générer - des <link linkend="ports-tarball">archives</link> à la volée. Voici - comment cela fonctionne, avec toujours comme exemple le programme - <application>gnats</application> du répertoire des bases de données - (les textes entre crochets sont des commentaires. Ne le tapez pas - si vous essayez cela de votre côté!):</para> - - <informalexample> - <screen>&prompt.root; <userinput>cd /usr/ports</userinput> -&prompt.root; <userinput>mkdir databases</userinput> -&prompt.root; <userinput>cd databases</userinput> -&prompt.root; <userinput>ftp ftp.freebsd.org</userinput> -[ouvrez une session en tant qu'utilisateur `ftp' et donnez votre adresse -de courrier électronique quand on vous demande un mot de passe. N'oubliez -pas d'utiliser le mode binaire (appelé aussi 'image')!] -<prompt>></prompt> <userinput>cd /pub/FreeBSD/ports/databases</userinput> -<prompt>></prompt> <userinput>get gnats.tar</userinput> -[archive et récupère le squelette de gnats] -<prompt>></prompt> <userinput>quit</userinput> -&prompt.root; <userinput>tar xf gnats.tar</userinput> -[extrait le squelette de gnats] -&prompt.root; <userinput>cd gnats</userinput> -&prompt.root; <userinput>make install</userinput> -[compile et installe gnats]</screen> - </informalexample> - - <para>Que se passe-t-il? Nous nous sommes connectés comme à - l'ordinaire au serveur FTP et sommes allés dans son sous-répertoire - des bases de données. Quand nous lui - avons donné la commande <command>get gnats.tar</command>, le serveur - FTP a créé une <link linkend="ports-tarball">archive</link> du - répertoire gnats à notre usage.</para> - - <para>Nous avons alors extrait de cette archive le squelette pour - gnats qu'elle contenait et sommes allés dans le répertoire gnats - pour compiler et installer le logiciel. Comme nous l'avons expliqué - <link linkend="ports-fetch">plus haut</link>, le processus - d'installation s'est rendu compte que nous n'avions pas de copie - locale des sources, en a téléchargé une avant de l'extraire, de la - mettre à jour et de la compiler.</para> - - <para>Essayons maintenant quelque chose de plus ambitieux. Au lieu - de récupérer un seul squelette, récupérons un sous-répertoire - complet, par exemple, tous les squelettes pour les bases de données - du catalogue des logiciels portés. La façon de procéder est - quasi identique:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cd /usr/ports</userinput> -&prompt.root; <userinput>ftp ftp.freebsd.org</userinput> -[ouvrez une session en tant qu'utilisateur `ftp' et donnez votre adresse -de courrier électronique quand on vous demande un mot de passe. N'oubliez -pas d'utiliser le mode binaire (appelé aussi 'image')!] -<prompt>></prompt> <userinput>cd /pub/FreeBSD/ports</userinput> -<prompt>></prompt> <userinput>get databases.tar</userinput> -[archive et récupère les squelettes pour les bases de données] -<prompt>></prompt> <userinput>quit</userinput> -&prompt.root; <userinput>tar xf databases.tar</userinput> -[extrait les squelettes de toutes les bases de données] -&prompt.root; <userinput>cd databases</userinput> -&prompt.root; <userinput>make install</userinput> -[compile et installe les logiciels de base de données portés]</screen> - </informalexample> - - <para>Avec une demi-douzaine de commandes élémentaires, nous - disposons maintenant d'un éventail de logiciels de base de - données sur notre machine FreeBSD. La seule différence avec - l'installation d'un seul logiciel est que nous avons récupéré - et compilé d'un seul coup tout un répertoire de programmes. - Impressionnant, non?</para> - - <para>Si vous envisagez d'installer de nombreux logiciels portés, cela - vaut probablement la peine de télécharger tous les répertoires du - catalogue.</para> - - </sect2> - </sect1> - - <sect1 id="ports-skeleton"> - <title>Les squelettes</title> - - <para>Une bande de programmeurs compulsifs qui ont oublié de manger - lors d'une tentative désespérée de respecter une échéance? Des choses - désagréables hantant les sous-sols de FreeBSD? Non, un squelette est - un environnement minimal qui contient tout ce qu'il faut pour que la - magie des logiciels portés fonctionne.</para> - - <sect2 id="ports-makefile"> - <title><filename>Makefile</filename></title> - - <para>Le composant le plus important d'un squelette est le fichier - <filename>Makefile</filename>. Il contient les divers ordres qui - précisent comment le logiciel doit être compilé et installé. Voici - le <filename>Makefile</filename> pour - <application>ElectricFence</application>:</para> - - <programlisting> -# New ports collection makefile for: Electric Fence -# Version required: 2.0.5 -# Date created: 13 November 1997 -# Whom: jraynard -# -# $Id$ -# - -DISTNAME= ElectricFence-2.0.5 -CATEGORIES= devel -MASTER_SITES= ${MASTER_SITE_SUNSITE} -MASTER_SITE_SUBDIR= devel/lang/c - -MAINTAINER= jraynard@freebsd.org - -MAN3= libefence.3 - -do-install: - ${INSTALL_DATA} ${WRKSRC}/libefence.a ${PREFIX}/lib - ${INSTALL_MAN} ${WRKSRC}/libefence.3 ${PREFIX}/man/man3 - -.include <bsd.port.mk></programlisting> - - <para>Les lignes qui commencent par un “#” sont des - commentaires à l'intention des lecteurs humains (comme dans la - plupart des procédures Unix).</para> - - <para><literal>DISTNAME</literal> donne le nom, sans extension, de - l'<link linkend="ports-tarball">archive</link>.</para> - - <para><literal>CATEGORIES</literal> indique de quel type de logiciel - il s'agit. Dans le cas présent, c'est un outil pour les - développeurs.</para> - - <para><literal>MASTER_SITES</literal> est l'URL(s) du site FTP - principal, d'où sera téléchargé - l'<link linkend="ports-tarball">archive</link>, si elle n'est - pas disponible sur la machine locale. C'est un site considéré - comme fiable, normalement celui de la distribution officielle - (dans la mesure où un logiciel peut être - “officiellement” distribué sur l'Internet).</para> - - <para><literal>MAINTAINER</literal> est l'adresse électronique de - la personne responsable de la maintenance du squelette, qui - intervient lorsque, par exemple, il sort une nouvelle version du - programme.</para> - - <para>Sautons pour l'instant quelques lignes, la ligne - <literal>.include <bsd.port.mk></literal> indique que les - autres directives et commandes nécessaires se trouvent dans le - fichier générique <filename>bsd.port.mk</filename>. Comme ce sont - les mêmes pour tous les logiciels portés, il n'y a pas de raison - de les dupliquer à chaque fois, elles sont donc enregistrées dans un - fichier standard.</para> - - <para>Ce n'est probablement pas l'endroit où expliquer en détail - comment le <filename>Makefile</filename> fonctionne; il suffit de - préciser que la ligne qui commence par <literal>MAN3</literal> - garantit que les pages de manuel d'ElectricFence seront compressées - après installation, pour économiser votre précieux espace disque. Le - logiciel d'origine ne définissait pas de cible - <maketarget>install</maketarget>, les trois lignes qui commencent à - <maketarget>do-install</maketarget> veillent à ce que les fichiers - générés soient bien placés là où il faut.</para> - - </sect2> - - <sect2> - <title>Le répertoire <filename>files</filename></title> - - <para>Le fichier qui contient la <link linkend="ports-checksum">somme - de contrôle</link> pour ce logiciel s'appelle - <filename>md5</filename>, du nom de l'algorithme MD5 utilisé pour - la calculer. Il se trouve dans un répertoire au nom quelque peu - trompeur de <filename>files</filename>.</para> - - <para>Ce répertoire peut aussi contenir divers fichiers nécessaires - au portage et qui n'ont pas de raison particulière - d'être ailleurs.</para> - - </sect2> - - <sect2> - <title>Le répertoire <filename>patches</filename></title> - - <para>Ce répertoire contient les <link linkend="ports-patch">mises à - niveau</link> qu'il faut appliquer pour que tout fonctionne - correctement sous FreeBSD.</para> - - </sect2> - - <sect2> - <title>Le répertoire <filename>pkg</filename></title> - - <para>Ce répertoire contient trois fichiers assez utiles:</para> - - <itemizedlist> - - <listitem> - <para><filename>COMMENT</filename> - une description - en une seule ligne du logiciel.</para> - </listitem> - - <listitem> - <para><filename>DESCR</filename> - une description - plus détaillée.</para> - </listitem> - - <listitem> - <para><filename>PLIST</filename> - la liste de tous - les fichiers qui seront créés quand le logiciel sera - installé.</para> - </listitem> - - </itemizedlist> - - </sect2> - </sect1> - - <sect1 id="ports-troubleshooting"> - <title>Que faire quand un portage échoue?</title> - - <para>Oh. Il y a quatre (4) choses que vous pouvez faire :</para> - - <orderedlist> - - <listitem> - <para>Corriger le problème vous-même. Vous trouverez des détails - techniques sur le mécanisme des portages à la section - <link linkend="porting">Faire vous-même un portage</link>.</para> - </listitem> - - <listitem> - <para>Rouspéter. Cela ne se fait <emphasis>que</emphasis> par - courrrier électronique! adressez-vous à la &a.ports; et précisez - s'il vous plaît le nom et la version du logiciel, sur quel site - vous avez récupéré le squelette et l'(les) archive(s) et quel - message d'erreur vous obtenez.</para> - </listitem> - - <listitem> - <para>Faire une croix dessus. C'est la méthode la plus facile pour - la plupart des gens - il y a bien peu de programmes - du catalogue qui soient vraiment essentiels!</para> - </listitem> - - <listitem> - <para>Récupérer la version précompilée sur un serveur ftp. Le - catalogue de référence des logiciels précompilés se trouve - sur le serveur FTP de FreeBSD dans le répertoire des - <ulink - url="ftp://ftp.FreeBSD.org/pub/FreeBSD/packages/">logiciels - précompilés</ulink>, bien que nous souhaiterions - s'il vous plaît que - vous consultiez d'abord vos sites miroirs locaux! Il y a - globalement plus de chances que cela marche, que lorsque vous - essayez de les compiler d'après les sources, et cela va - de plus beaucoup plus vite. Servez-vous du programme - <citerefentry><refentrytitle>pkg_add</refentrytitle><manvolnum>1</manvolnum></citerefentry> - pour installer le fichier contenant un logiciel précompilé sur - votre système.</para> - </listitem> - - </orderedlist> - - </sect1> - - <sect1> - <title>Quelques questions et leurs réponses</title> - - <itemizedlist> - - <listitem> - <para>Q. Je pensais que cela allait être une discussion sur les - modems??!</para> - - <para>R. Ah. Vous pensiez peut-être aux “ports” - série sur la face arrière de votre ordinateur. Nous utilisons - ici le terme - “port” - logiciels portés - pour - parler du résultat du “portage” d'un logiciel d'une - version d'Unix à une autre. (Les informaticiens ont la fâcheuse - habitude d'employer le même mot pour parler de choses - différentes.)</para> - </listitem> - - <listitem> - <para>Q. Je pensais qu'il fallait utiliser des - “paquetages” pour installer des logiciels - supplémentaires.</para> - - <para>R. Oui, c'est habituellement la façon la plus rapide et la - plus facile de le faire.</para> - </listitem> - - <listitem> - <para>Q. Pourquoi alors se préoccuper de logiciels portés?</para> - - <para>R. Il y a plusieurs raisons:</para> - - <orderedlist> - - <listitem> - <para>Les licences de certains logiciels stipulent qu'ils - doivent être distribués sous forme de sources et non de - binaires.</para> - </listitem> - - <listitem> - <para>Certains ne font pas confiance aux distributions sous - forme binaire. Avec le code source, vous pouvez au moins - (en théorie) le lire pour y repérer d'éventuels - problèmes.</para> - </listitem> - - <listitem> - <para>Si vous avez des corrections/évolutions qui vous sont - propres, vous avez besoin des sources pour les - appliquer.</para> - </listitem> - - <listitem> - <para>Vous pouvez vouloir compiler le programme avec des - options différentes de celles qu'a utilisées la personne - qui a construit le - “paquetage” - certains ont des - opinions bien arrêtées sur la manière dont il faut - optimiser, sur le fait qu'il faut ou non disposer de - versions débogables et y inclure ou non les symboles, - etc.</para> - </listitem> - - <listitem> - <para>Certains aiment disposer du code source, pour pouvoir - le lire en cas de problème, le modifier, en emprunter des - morceaux (si la licence le permet, bien sûr!), et ainsi de - suite.</para> - </listitem> - - <listitem> - <para>Si vous n'avez pas le source, ce n'est pas du - logiciel! <!-- smiley -->;-)</para> - </listitem> - - </orderedlist> - - </listitem> - - <listitem> - <para><anchor id="ports-patch"> Q. Qu'est-ce qu'un - “patch” - mise à jour?</para> - - <para>R. Un “patch” est (habituellement) un petit - fichier qui précise comment passer d'une version à une autre. Il - contient du texte qui dit, par exemple, des choses comme - “effacez la ligne 23”, “ajoutez ces deux - lignes après la ligne 468” ou “modifiez comme suit - la ligne 197”. On appelle aussi cela un - “diff” parce qu'il est généré avec un programme - du même nom.</para> - </listitem> - - <listitem> - <para><anchor id="ports-tarball"> Q. Que sont les archives?</para> - - <para>R. C'est un fichier d'extension <filename>.tar</filename> ou - <filename>.tar.gz</filename> (avec des variantes du style - <filename>.tar.Z</filename>, ou même <filename>.tgz</filename> - si vous voulez utiliser ces noms de fichiers avec un systèmes - de fichiers DOS).</para> - - <para>C'est essentiellement une arborescence de répertoires qui a - été archivée en un seul fichier (<filename>.tar</filename>) et - éventuellement compressé (<filename>.gz</filename>). Cette - technique était à l'origine utilisée pour les - “<emphasis>T</emphasis>ape” - bande - “<emphasis>AR</emphasis>chives” - (d'où le nom <command>tar</command>), mais c'est une méthode - très utilisée pour distribuer du code source sur - l'Internet.</para> - - <para>Vous pouvez avoir la liste des fichiers qu'elles - contiennent, ou même les extraire vous-même, avec le programme - Unix standard <command>tar</command>, qui fait partie du système - FreeBSD de base, comme ceci:</para> - - <informalexample> - <screen>&prompt.user; <userinput>tar tvzf foobar.tar.gz</userinput> # connaître le contenu de foobar.tar.gz -&prompt.user; <userinput>tar xzvf foobar.tar.gz</userinput> # extraire le contenu de foobar.tgz dans le répertoire courant -&prompt.user; <userinput>tar tvf foobar.tar</userinput> # connaître le contenu de foobar.tar -&prompt.user; <userinput>tar xvf foobar.tar</userinput> # extraire le contenu de foobar.tar dans le répertoire courant - </screen> - </informalexample> - </listitem> - - <listitem> - <para><anchor id="ports-checksum"> Q. Et une somme de - contrôle?</para> - - <para>R. C'est un nombre calculé en additionnant tout ce que - contient le fichier. Si un caractère change, la somme de - contrôle n'est plus la même, et une simple comparaison vous - permettra de repérer la différence. (En pratique, le calcul - est un peu plus compliqué pour pouvoir repérer des problèmes - comme les permutations de caractères, ce que ne permettrait - pas une simple addition.)</para> - </listitem> - - <listitem> - <para>Q. J'ai suivi vos indications au paragraphe - <link linkend="ports-cd">Compiler les logiciels portés depuis - le CD-ROM</link> et ça a marché sans problème jusqu'à ce que - j'essaie d'installer <command>kermit</command></para> - - <informalexample> - <screen>&prompt.root; <userinput>make install</userinput> ->> cku190.tar.gz doesn't seem to exist on this system. ->> Attempting to fetch from ftp://kermit.columbia.edu/kermit/archives/.</screen> - </informalexample> - <para>Pourquoi ne le trouve-t-il pas? Ai-je un CD-ROM - endommagé?</para> - - <para>R. La licence de <command>kermit</command> ne nous permet - pas d'inclure l'archive sur le CD-ROM, vous devrez donc la - récupérez vous-même - désolé! Vous avez tous ces - messages d'erreur parce que vous n'étiez pas alors connecté à - l'Internet. Une fois que vous l'avez téléchargé à partir de l'un - des sites mentionnés, vous pouvez recommencer l'installation - (essayez et choisissez le site le plus proche, pour économiser - votre temps et de la bande passante);</para> - </listitem> - - <listitem> - <para>Q. Je l'ai fait, mais quand j'ai essayé de la mettre - dans <filename>/usr/ports/distfiles</filename>, j'ai eu des - erreurs à propos de permissions que je n'avais pas.</para> - - <para>R. Le mécanisme des logiciels portés cherche les archives - dans <filename>/usr/ports/distfiles</filename>, mais il ne peut - rien y copier parce que c'est un lien symbolique sur le CD-ROM, - sur lequel on ne peut que lire. Vous pouvez lui dire de chercher - ailleurs avec:</para> - - <informalexample> - <screen>&prompt.root; <userinput>make DISTDIR=/where/you/put/it install</userinput></screen> - </informalexample> - </listitem> - - <listitem> - <para>Q. Le système des logiciels portés ne fonctionne-t-il - qu'avec <filename>/usr/ports</filename>? Mon administrateur - système veut que je mette tout dans - <filename>/u/people/guests/wurzburger</filename>, mais cela ne - marche apparemment pas.</para> - - <para>R. Vous pouvez utiliser les variables - <makevar>PORTSDIR</makevar> et <makevar>PREFIX</makevar> - pour dire au mécanisme des logiciels portés de travailler dans - d'autres répertoires. Par exemple:</para> - - <informalexample> - <screen>&prompt.root; <userinput>make PORTSDIR=/u/people/guests/wurzburger/ports install</userinput></screen> - </informalexample> - - <para>compilera le logiciel dans - <filename>/u/people/guests/wurzburger/ports</filename> et - l'installera dans <filename>/usr/local</filename>.</para> - - <informalexample> - <screen>&prompt.root; <userinput>make PREFIX=/u/people/guests/wurzburger/local install</userinput></screen> - </informalexample> - - <para>le compilera dans <filename>/usr/ports</filename> et - l'installera dans - <filename>/u/people/guests/wurzburger/local</filename>.</para> - - <para>Et bien sûr:</para> - - <informalexample> - <screen>&prompt.root; <userinput>make PORTSDIR=.../ports PREFIX=.../local install</userinput></screen> - </informalexample> - - <para>combinera les deux (c'est trop long pour tenir entièrement - sur la page, mais je suis sûr que vous avez compris le - principe).</para> - - <para>Si vous ne voulez pas avoir à retaper tout cela à chaque - fois que vous installez un logiciel (et pour être honnête, - pourquoi le feriez-vous?), c'est une bonne idée de définir - ces deux variables dans votre environnement par défaut.</para> - </listitem> - - <listitem> - <para>Q. Je n'ai pas le CD-ROM FreeBSD, mais je voudrais avoir les - archives sous la main sur mon système pour ne pas avoir à - attendre la fin du téléchargement chaque fois que j'installe un - logiciel. y-a-t-il une façon simple de tout récupérer d'un - coup?</para> - - <para>R. Pour récupérer toutes les archives du catalogue des - logiciels portés, tapez:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cd /usr/ports</userinput> -&prompt.root; <userinput>make fetch</userinput></screen> - </informalexample> - - <para>Pour avoir toutes les archives d'un seul sous-répertoire, - utilisez:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput> -&prompt.root; <userinput>make fetch</userinput></screen> - </informalexample> - - <para>et pour un seul port - bon, je suppose que vous - avez déjà deviné.</para> - </listitem> - - <listitem> - <para>Q. Je sais qu'il est probablement plus rapide de récupérer - les archives de sites miroir FreeBSD proches. Y'a-t-il un moyen - de dire au mécanisme de s'adresser à d'autres serveurs que ceux - listés dans les MASTER_SITES?</para> - - <para>R. Oui. Si vous savez que, par exemple, - <hostid role="fqdn">ftp.FreeBSD.ORG</hostid> est plus près que - les sites listés dans <makevar>MASTER_SITES</makevar>, faites - comme dans l'exemple suivant:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cd /usr/ports/directory</userinput> -&prompt.root; <userinput>make MASTER_SITE_OVERRIDE=ftp://ftp.FreeBSD.ORG/pub/FreeBSD/distfiles/ fetch</userinput></screen> - </informalexample> - </listitem> - - <listitem> - <para>Q. Je veux savoir de quels fichiers j'aurai besoin, avant - d'essayer de les télécharger.</para> - - <para>R. <command>make fetch-list</command> affichera la liste des - fichiers nécessaires pour installer un logiciel porté.</para> - </listitem> - - <listitem> - <para>Q. Y-a-t il un moyen de faire en sorte que le logiciel ne - soit pas compilé. Je veux modifier les sources avant de le - compiler et c'est fastidieux de surveiller ce qui ce passe à - chaque fois et de toujours taper Ctrl-C.</para> - - <para>R. <command>make extract</command> ne fait que récupérer et - extraire le code source.</para> - </listitem> - - <listitem> - <para>Q. J'essaie de faire mon propre portage, et voudrais qu'il - ne soit pas compilé avant que j'ai pu vérifier que les mises à - jour aient été correctement appliquées. Y-a-t-il un équivalent - de <command>make extract</command>, pour les mises à - jour?</para> - - <para>A. Oui, <command>make patch</command> est ce qu'il vous - faut. Vous trouverez peut-être aussi utile l'option - <option>PATCH_DEBUG</option>. Et, au - passage, merci de vos efforts!</para> - </listitem> - - <listitem> - <para>Q. J'ai entendu dire que certaines options du compilateur - posait des problèmes. Est-ce exact? Comment puis-je être sûr - que je compile les logiciels avec les bonnes options?</para> - - <para>R. Oui, avec la version 2.6.3 de <command>gcc</command> (la - version livrée avec FreeBSD 2.1.0 et 2.1.5), l'option - <option>-O2</option> pouvait générer du code bogué, à moins que - vous n'utilisiez en même temps l'option - <option>-fno-strength-reduce</option>. (La plupart des logiciels - portés n'utilisent pas l'option <option>-O2</option>). Vous - <emphasis>devriez</emphasis> pouvoir préciser au compilateur les - options à utiliser avec quelque chose comme:</para> - - <informalexample> - <screen>&prompt.root; <userinput>make CFLAGS='-O2 -fno-strength-reduce' install</userinput></screen> - </informalexample> - - <para>ou en éditant <filename>/etc/make.conf</filename>, mais tous - les logiciels portés n'en tiennent malheureusement pas compte. - Le plus sûr est d'utiliser <command>make configure</command>, - puis d'aller dans le répertoire des sources et de regarder ce - que font les <filename>Makefile</filename>s, mais cela peut - devenir fastidieux s'il y a de nombreux sous-répertoires avec - chacun leurs <filename>Makefile</filename>s.</para> - </listitem> - - <listitem> - <para>Q. Il y a tellement de logiciels portés qu'il est difficile - de trouver celui que je veux. Y-a-t-il quelque part une liste - des logiciels portés?</para> - - <para>R. Regardez dans le fichier <filename>INDEX</filename> - du répertoire <filename>/usr/ports</filename>.</para> - </listitem> - - <listitem> - <para>Q. J'ai installé le logiciel <literal>foo</literal> mais le - mécanisme s'est soudainement interrompu et a commencé à compiler - le logiciel <literal>bar</literal>. Que se passe-t-il?</para> - - <para>R. Le logiciel <literal>foo</literal> a besoin de quelque - chose qui fait partie de <literal>bar</literal> - par - exemple, si <literal>foo</literal> utilise des graphiques, - <literal>bar</literal> peut comporter une bibliothèque avec des - sous-programmes graphiques utiles. Ou bien - <literal>bar</literal> est un outil nécessaire à la compilation - du logiciel <literal>foo</literal>.</para> - </listitem> - - <listitem> - <para><anchor id="ports-remove">Q. J'ai installé le logiciel - <literal>grizzle</literal> du catalogue et c'est franchement - du gaspillage d'espace disque. Je veux le supprimer mais je - ne sais pas où il a mis tous les fichiers. Des - indications?</para> - - <para>R. Pas de problème, tapez simplement:</para> - - <informalexample> - <screen>&prompt.root; <userinput>pkg_delete grizzle-6.5</userinput></screen> - </informalexample> - </listitem> - - <listitem> - <para> - Q. Une minute, il faut connaître le numéro de version pour - utiliser cette commande. Vous ne vous attendez sérieusement pas - à ce que je l'ai retenu, n'est-ce pas?</para> - - <para>R. Absolument pas, vous pouvez le trouver en tapant:</para> - - <informalexample> - <screen>&prompt.root; <userinput>pkg_info -a | grep grizzle</userinput> -Information for grizzle-6.5: -grizzle-6.5 - La méthode de piano, l'interpréteur LOGO et le casse-briques tout -en un.</screen> - </informalexample> - </listitem> - - <listitem> - <para>Q. A propos d'espace disque, le catalogue des logiciels - portés occupe apparemment énormément de place. Est-il possible - d'y faire du ménage?</para> - - <para>R. Oui, si vous avez installé un programme et êtes à peu - près certain que vous n'aurez plus besoin des sources, il est - inutile de les garder. La meilleure façon de faire est:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cd /usr/ports</userinput> -&prompt.root; <userinput>make clean</userinput></screen> - </informalexample> - - <para>qui parcourera tous les sous-répertoires et supprimera tout - ce qui se rapporte aux logiciels sauf les squelettes.</para> - </listitem> - - <listitem> - <para>Q. J'ai essayé, mais il reste toujours toutes ces archives, - quelque soit le nom que vous leur donniez, dans le répertoire - <filename>distfiles</filename>. Puis-je aussi les - effacer?</para> - - <para>R. Oui, si vous êtes sûr d'en avez terminé avec elles, vous - pouvez aussi les supprimer.</para> - </listitem> - - <listitem> - <para>Q. J'aime avoir quantité de logiciels pour les tester? - Y-a-t-il un moyen de tous les installer d'un seul coup?</para> - - <para>R. Tapez simplement:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cd /usr/ports</userinput> -&prompt.root; <userinput>make install</userinput></screen> - </informalexample> - </listitem> - - <listitem> - <para>Q. OK, j'ai essayé, mais comme je pensais que cela allait - prendre beaucoup de temps, j'ai laissé la machine telle quelle - et je suis allé me coucher. Ce matin, quand j'ai jeté une coup - d'oeil à l'ordinateur, je n'avais que trois logiciels et demi - installés. Quelque chose s'est-il mal passé?</para> - - <para>R. Non, le problème est que certains logiciels ont des - questions à vous poser auxquelles ils ne peuvent répondre à - votre place (par exemple, “Voulez-vous imprimer au format - A4 ou au format légal US?”) et il faut donc que quelqu'un - y réponde sur le moment.</para> - </listitem> - - <listitem> - <para>Q. Je ne veux pas passer toute la journée planté devant - l'écran. Une meilleure idée?</para> - - <para>A. OK, avant d'aller au lit/travail/jardin public, - tapez:</para> - - <informalexample> - <screen>&prompt.root <userinput>cd /usr/ports</userinput> -&prompt.root; <userinput>make -DBATCH install</userinput></screen> - </informalexample> - - <para>Cela installera tous les logiciels sans interaction avec - l'utilisateur. A votre retour, tapez:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cd /usr/ports</userinput> -&prompt.root; <userinput>make -DIS_INTERACTIVE install</userinput></screen> - </informalexample> - - <para>Pour terminer les installations.</para> - </listitem> - - <listitem> - <para>Q. Au bureau, nous utilisons <literal>frobble</literal>, qui - fait partie de votre catalogue des logiciels portés, mais nous - l'avons un peu modifié pour nos besoins propres. Y-a-t-il un - moyen de faire notre propre “paquetage” pour le - distribuer plus facilement sur nos sites?</para> - - <para>R. Pas de problème, si vous savez comment générer les - “patches” pour vos modifications:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cd /usr/ports/somewhere/frobble</userinput> -&prompt.root; <userinput>make extract</userinput> -&prompt.root; <userinput>cd work/frobble-2.8</userinput> -[Appliquer vos mises à jour] -&prompt.root; <userinput>cd ../..</userinput> -&prompt.root; <userinput>make package</userinput></screen> - </informalexample> - </listitem> - - <listitem> - <para>Q. Ce système des logiciels portés est vraiment génial. Je - désespère de comprendre comment vous avez fait. Quel est votre - secret?</para> - - <para>R. Il n'y a absolument pas de secret, jetez juste un coup - d'oeil aux fichiers <filename>bsd.ports.mk</filename> et - <filename>bsd.ports.subdir.mk</filename> du répertoire des - <ulink url="file://localhost/usr/share/mk/"><filename>makefile</filename>s.</ulink></para> - - <note> - <para>Cette lecture est déconseillée à ceux que les procédures - de commandes compliquées rebutent...)</para> - </note> - </listitem> - - </itemizedlist> - - </sect1> - - <sect1 id="porting"> - <title>** Faire vous-même un portage</title> - - <para><emphasis>Contribution de &a.jkh;, &a.gpalmer;, &a.asami; - &a.obrien; et &a.hoek;. 28 Août 1996.</emphasis></para> - - <para>Donc, vous voulez faire vous-même votre propre portage? - Génial!</para> - - <para>Voici quelques indications sur la façon de créer un nouveau - portage d'un logiciel pour FreeBSD. L'essentiel du travail - est fait par <filename>/usr/share/mk/bsd.port.mk</filename>, qui - est inclus dans le <filename>Makefile</filename> de chaque logiciel - porté. Reportez-vous s'il vous plaît à ce fichier pour avoir plus - de détails sur le fonctionnement interne du catalogue des logiciels - portés. Même si vous n'écrivez pas tous les jours des - <filename>Makefile</filename>s, il est pas mal commenté, et vous - en apprendrez malgré tout beaucoup de choses.</para> - - <note> - <para>Seule une partie des variables surchargeables - (<makevar><replaceable>VAR</replaceable></makevar>) est décrite - dans ce document. La plupart (sinon toutes) sont explicitées au - début de <filename>bsd.port.mk</filename>. Ce fichier utilise des - tabulations non standard. <application>Emacs</application> et - <application>Vim</application> devraient reconnaître cette - configuration au chargement du fichier. <command>vi</command> ou - <command>ex</command> peuvent être configurés avec la valeur - adéquate après avoir chargé le fichier en tapant <command>:set - tabstop=4</command>.</para> - </note> - - <sect2> - <title>Portage rapide</title> - - <para>Cette section vous explique comment faire un portage rapide. - La plupart du temps, ce n'est pas suffisant, mais nous verrons - cela par la suite.</para> - - <para>Commencez par récupérer le fichier d'archive d'origine et - mettez-le dans <makevar>DISTDIR</makevar>, par défaut c'est le - répertoire <filename>/usr/ports/distfiles</filename>.</para> - - <note> - <para>Nous supposerons dans ce qui suit que le source a compilé - “tel quel”, i.e., il n'y a absolument pas eu de - modification à y apporter pour qu'il tourne sur votre machine - FreeBSD. Si vous avez dû changer quelque chose, vous devrez - aussi vous reporter à la section suivante.</para> - </note> - - <sect3> - <title>Ecrire le <filename>Makefile</filename></title> - - <para>Le <filename>Makefile</filename> minimal ressemblera à - ceci :</para> - - <programlisting> -# Nouveau makefile du catalogue pour: oneko -# Version correspondante: 1.1b -# Date de création: 5 Décembre 1994 -# Par: asami -# -# $Id$ -# - -DISTNAME= oneko-1.1b -CATEGORIES= games -MASTER_SITES= ftp://ftp.cs.columbia.edu/archives/X11R5/contrib/ - -MAINTAINER= asami@FreeBSD.ORG - -MAN1= oneko.1 -MANCOMPRESSED= yes -USE_IMAKE= yes - -.include <bsd.port.mk></programlisting> - - <para>Voyez si vous y comprenez quelque chose. Ne vous occupez - pas de la ligne <literal>$Id$</literal>, elle sera - automatiquement renseignée par CVS quand le logiciel sera - importé dans notre arborescence principale des logiciels - portés. Vous trouverez un exemple plus détaillé à la section - <link linkend="porting-samplem">Exemple de - Makefile</link>.</para> - - </sect3> - - <sect3> - <title>Créer les fichiers de description</title> - - <para>Il y a trois fichiers de description indispensables à - chaque logiciel porté, qu'il soit ou non précompilé. Ce sont - les fichiers <filename>COMMENT</filename>, - <filename>DESCR</filename> et <filename>PLIST</filename>, - du sous-répertoire <filename>pkg</filename>.</para> - - <sect4> - <title><filename>COMMENT</filename></title> - - <para>C'est une description en une seule ligne du logiciel. - <emphasis>S'il vous plaît</emphasis>, n'incluez pas le nom - du logiciel (ni son numéro de version) dans le commentaire. - Voici un exemple :</para> - - <programlisting> -Un chat poursuit une souris à travers l'écran.</programlisting> - - </sect4> - - <sect4> - <title><filename>DESCR</filename></title> - - <para>C'est une description plus longue du logiciel. Un à - quelques paragraphes, expliquant succintement ce qu'il - fait, suffisent.</para> - - <note> - <para>Ce <emphasis>n'est pas</emphasis> un manuel, ni - une description détaillée de la manière de compiler et - d'utiliser le logiciel. Faites - <emphasis>s'il vous plaît attention si vous la recopiez - du <filename>README</filename> ou des pages de - manuel</emphasis>; trop souvent, ce ne sont pas des - descriptions concises et elles sont mal formatées (e.g., les - pages de manuel sont justifiées avec des espaces). S'il y a - une page Web officielle pour le logiciel, vous devriez la - mentionner ici.</para> - </note> - - <para>Il vous est recommandé de signer en fin de fichier, comme - suit:</para> - - <programlisting> -C'est le portage de “oneko”, le chat qui poursuit la pauvre souris -sur tout l'écran. - : -(etc.) - -http://www.oneko.org/ - -- Satoshi -asami@cs.berkeley.edu</programlisting> - - </sect4> - - <sect4> - <title><filename>PLIST</filename></title> - - <para>C'est la liste de tous les fichiers installés pour ce - logiciel. On l'appelle aussi “liste de paquetage” - parce que le “paquetage” sera généré en archivant - tous les fichiers de cette liste. Les chemins d'accès sont - relatifs à <filename>/usr/local</filename> ou - <filename>/usr/X11R6</filename>). Si vous utilisez des - variables <makevar>MAN<replaceable>n</replaceable></makevar> - (comme vous devriez le faire), n'y listez pas les pages de - manuel.</para> - - <para>Voici un court exemple:</para> - - <programlisting> -bin/oneko -lib/X11/app-defaults/Oneko -lib/X11/oneko/cat1.xpm -lib/X11/oneko/cat2.xpm -lib/X11/oneko/mouse.xpm -@dirrm lib/X11/oneko</programlisting> - - <para>Reportez-vous aux pages de manuel de - <citerefentry><refentrytitle>pkg_create</refentrytitle><manvolnum>1</manvolnum></citerefentry> - pour plus de détails sur la “liste de - paquetage”.</para> - - <note> - <para>Vous devez lister tous les fichiers, mais pas les noms - des répertoires. Par contre, s'il y a des répertoires créés - à l'installation, veillez à ajouter les lignes - <literal>@dirrm</literal> nécessaires pour qu'ils soient - détruits si le logiciel est désinstallé.</para> - - <para>Il est recommandé de lister les fichiers dans l'ordre - alphabétique. Cela facilite beaucoup les contrôles lors des - mises à jour.</para> - </note> - </sect4> - </sect3> - - <sect3> - <title>Créer le fichier pour la somme de contrôle</title> - - <para>Tapez simplement <command>make makesum</command>. - Les règles de construction des logiciels portés génèreront - automatiquement le fichier - <filename>files/md5</filename>.</para> - - </sect3> - - <sect3 id="porting-testing"> - <title>Tester le portage</title> - - <para>Vous devez vérifiez que les règles de construction du - logiciel porté font exactement ce que vous voulez. Voici - les points importants à contrôler:</para> - - <itemizedlist> - <listitem> - <para><filename>PLIST</filename> ne contient rien d'autre que - ce qu'installe votre logiciel.</para> - </listitem> - - <listitem> - <para><filename>PLIST</filename> contient tout ce qu'installe - votre logiciel.</para> - </listitem> - - <listitem> - <para>Le logiciel peut être installé plusieurs fois de suite - en utilisant la cible - <maketarget>reinstall</maketarget>.</para> - </listitem> - - <listitem> - <para>Le mécanisme de portage du logiciel - <link linkend="porting-cleaning">fait le ménage</link> - lors de la désinstallation.</para> - </listitem> - </itemizedlist> - - <procedure> - <title>Ordre de test recommandé</title> - - <step> - <para><command>make install</command></para> - </step> - - <step> - <para><command>make package</command></para> - </step> - - <step> - <para><command>make deinstall</command></para> - </step> - - <step> - <para><command>pkg_add `make nom_du_paquetage`</command></para> - </step> - - <step> - <para><command>make deinstall</command></para> - </step> - - <step> - <para><command>make reinstall</command></para> - </step> - - <step> - <para><command>make package</command></para> - </step> - </procedure> - - <para>Vérifiez qu'il n'y a aucun message d'avertissement - aux étapes <maketarget>package</maketarget> et - <maketarget>deinstall</maketarget>. Après l'étape 3, vérifiez - que tous les répertoires créés ont bien été détruits. Essayez - aussi d'utilisez le logiciel après l'étape 4, pour vous assurer - qu'il fonctionne correctement après installation sous forme - de “paquetage”.</para> - </sect3> - - <sect3 id="porting-portlint"> - <title>Vérifier votre portage avec - <command>portlint</command></title> - - <para>Utilisez s'il vous plaît la commande - <command>portlint</command> pour contrôler que votre portage - se conforme à nos recommandations. - Le programme <command>portlint</command> fait partie du catalogue - des logiciels portés. En particulier, vous devriez vérifier - que votre <link linkend="porting-samplem">Makefile</link> est - bien construit et que le nom du - <link linkend="porting-pkgname">paquetage</link> est - correct.</para> - </sect3> - - <sect3 id="porting-submitting"> - <title>Soumettre le portage</title> - - <para>Veillez d'abord à lire la section <link - linkend="porting-dads">A faire et à ne pas - faire</link>.</para> - - <para>Maintenant que vous êtes satisfait de votre portage, la - seule chose qui reste à faire est de le mettre dans - l'arborescence principale des logiciels portés de FreeBSD - de façon à ce que tout le monde en profite. Nous n'avons - pas besoin de votre répertoire - <filename>work</filename> ni de votre fichier - <filename><replaceable>nom_du_paquetage</replaceable>.tgz</filename>, - effacez-les donc maintenant. Incluez simplement ensuite le - résultat de la commande <command>shar `find répertoire_portage`</command> - dans un rapport de bogue et envoyez-le nous avec le programme - <citerefentry> - <refentrytitle>send-pr</refentrytitle> - <manvolnum>1</manvolnum> - </citerefentry>. (Voyez <link linkend="contrib-general">Rapports - de bogues et commentaires généraux</link> pour plus - d'informations sur <citerefentry> - <refentrytitle>send-pr</refentrytitle> - <manvolnum>1</manvolnum> - </citerefentry>.) Si le logiciel porté non compressé fait plus de - 20KB, vous devrez en faire une archive compressée et utiliser - <citerefentry><refentrytitle>uuencode</refentrytitle> - <manvolnum>1</manvolnum> - </citerefentry> avant de l'inclure dans le rapport (les archives - “tar” “uuencodées” sont admises même - si le rapport de bogue fait moins de 20KB, quoique non - souhaitées dans ce cas). Veillez à classer le rapport dans la - catégorie - <literal>ports</literal> - “portages” et - la classe - <literal>change-request</literal> - “demande - de modification”. (Ne classez pas le rapport - <literal>confidential</literal> - “confidentiel” !)</para> - - <para>Encore une fois, <emphasis>n'incluez pas la distribution - originale du source, le répertoire <filename>work</filename> ni le - “paquetage” construit avec <command>make - package</command></emphasis>.</para> - - <note> - <para>Dans le passé, nous demandions que les soumissions de - logiciels portés passent par notre site ftp - (<hostid role="fqdn">ftp.freebsd.org</hostid>). Ce n'est plus - souhaitable parce que l'accès en lecture est interdit sur le - répertoire <filename>incoming/</filename> de ce site du fait - de la trop grande quantité de logiciels piratés qui y - atterrissaient.</para> - </note> - - <para>Nous regarderons votre portage, vous contacterons si nécessaire, - et le mettrons dans l'arborescence. Votre nom apparaîtra aussi dans - la liste des “Autres collaborateurs de FreeBSD” du - manuel FreeBSD et dans d'autres fichiers. Génial, - non?!? <!-- smiley -->:)</para> - - </sect3> - </sect2> - - <sect2> - <title>Portage évolué</title> - - <para>Bon, ce n'était en fait pas si simple, et il a fallu - modifier le code pour que le portage fonctionne. Dans cette - section, nous allons expliquer, étape par étape, comment faire - dans ce cas pour appliquer le paradigme des logiciels - portés.</para> - - <sect3> - <title>Comment les choses fonctionnent</title> - - <para>Pour commencer, voici ce qui se passe lorsque - l'utilisateur tape <command>make</command> dans le - répertoire de votre logiciel porté. Ouvrir le fichier - <filename>bsd.port.mk</filename> dans une autre fenêtre - pendant que vous lisez ceci vous en facilitera la - compréhension.</para> - - <para>Ne vous inquiétez pas si vous ne comprenez pas complètement - ce que fait <filename>bsd.port.mk</filename>, peu de gens y - arrivent... <!-- smiley --><emphasis>:></emphasis></para> - - <procedure> - - <step> - <para>La cible <maketarget>fetch</maketarget> est exécutée. - La cible <maketarget>fetch</maketarget> est chargée de - faire en sorte que l'archive soit localement - disponible dans <makevar>DISTDIR</makevar>. Si - <maketarget>fetch</maketarget> ne trouve pas les - fichiers dans - <makevar>DISTDIR</makevar>, elle regardera à l'URL - <makevar>MASTER_SITES</makevar>, définie dans le - <filename>Makefile</filename>, et sur notre site ftp - principal dans <ulink - URL="ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/">ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/</ulink> où nous avons mis les archives - validées, à titre de copie de secours. Elle essayera alors - de rapatrier le fichier de la distribution avec - <makevar>FETCH</makevar>, en présumant que la machine - qui fait la demande a un accès direct à l'Internet. En - cas de succès, le fichier est sauvegardé dans - <makevar>DISTDIR</makevar> pour la suite, et le traitement - peut continuer.</para> - </step> - - <step> - <para>La cible <maketarget>extract</maketarget> est ensuite - exécutée. Elle cherche le fichier de distribution de votre - portage (typiquement une archive créée par - <command>tar</command> et compressée avec - <command>gzip</command>) dans - <makevar>DISTDIR</makevar> et en extrait le contenu dans - un sous-répertoire temporaire défini par - <makevar>WRKDIR</makevar> - (par défaut <filename>work</filename>).</para> - </step> - - <step> - <para>La cible suivante est <maketarget>patch</maketarget>. - Dans un premier temps, tous les fichiers de mise à jour - définis dans <makevar>PATCHFILES</makevar> sont appliqués. - Ensuite, s'il y a des fichiers de mise à jour dans - <makevar>PATCHDIR</makevar> (le sous-répertoire - <filename>patches</filename> par défaut), ils sont - appliqués, dans l'ordre alphabétique cette fois-ci.</para> - </step> - - <step> - <para>Vient ensuite <maketarget>configure</maketarget> qui - peut faire l'une des opérations suivantes:</para> - - <orderedlist> - - <listitem> - <para>Si elle existe, exécuter la procédure - <filename>scripts/configure</filename>.</para> - </listitem> - - <listitem> - <para>Si <makevar>HAS_CONFIGURE</makevar> ou - <makevar>GNU_CONFIGURE</makevar> - est définie, exécuter - <filename><makevar>WRKSRC</makevar>/configure</filename>.</para> - </listitem> - - <listitem> - <para>Si <makevar>USE_IMAKE</makevar> est définie, - exécuter <makevar>XMKMF</makevar> - (par défaut: <command>xmkmf - -a</command>).</para> - </listitem> - - </orderedlist> - - </step> - - <step> - <para>La dernière cible est - <maketarget>build</maketarget>. Elle passe dans le - sous-répertoire de travail du portage - (<makevar>WRKSRC</makevar>) et se charge de la - compilation. Si la variable <makevar>USE_GMAKE</makevar> - est définie, la commande <command>make</command> GNU est - utilisée, sinon c'est la commande <command>make</command> - du système qui est employée.</para> - </step> - - </procedure> - - <para>Ce sont les opérations par défaut. Vous pouvez en plus - définir des cibles - <maketarget>pre-<replaceable>quelque_chose</replaceable></maketarget> - ou <maketarget>post-<replaceable>quelque_chose</replaceable></maketarget>, - ou mettre des procédures du même nom dans le sous-répertoire - <filename>scripts</filename>, et elles précéderont ou suivront - les opérations par défaut.</para> - - <para>Par exemple, si vous avez défini une cible - <maketarget>post-extract</maketarget> dans votre - <filename>Makefile</filename>, et créé un fichier - <filename>pre-build</filename> dans le sous-répertoire - <filename>scripts</filename>, la cible - <maketarget>post-extract</maketarget> sera invoquée après - l'opération habituelle d'extraction et la procédure - <filename>pre-build</filename> exécutée avant d'appliquer les - règles de compilation par défaut. Il est recommandé d'utiliser - des cibles dans le <filename>Makefile</filename> si les actions - sont suffisamment élémentaires, car il est alors plus facile à - quelqu'un d'autre de voir quelles sont les opérations - supplémentaires effectuées lors du portage.</para> - - <para>Les opérations par défaut sont prises en charge par les - cibles - <maketarget>do-<replaceable>quelque_chose</replaceable></maketarget> - du fichier <filename>bsd.port.mk</filename>. Par exemple, les - commandes d'extraction sont définies par la cible - <maketarget>do-extract</maketarget>. Si la cible par défaut ne - vous convient pas, vous pouvez rédefinir - <maketarget>do-<replaceable>quelque_chose</replaceable></maketarget> - dans votre <filename>Makefile</filename>.</para> - - <note> - <para>Les cibles “principales” (e.g., <maketarget>extract</maketarget>, <maketarget>configure</maketarget>, etc.) ne font rien - d'autre que de s'assurer que les étapes qui les précèdent se - sont bien déroulées et appellent les vrais cibles ou - procédures. Elles ne doivent donc pas être modifiées. Si vous - voulez changer la méthode d'extraction, redéfinissez - <maketarget>do-extract</maketarget>, mais ne modifiez pas - <maketarget>extract</maketarget> !</para> - </note> - - <para>Maintenant que vous avez compris ce qui se passe quand - l'utilisateur tape <command>make</command>, passons en revue - les étapes conseillées pour créer le portage parfait.</para> - - </sect3> - - <sect3> - <title>Obtenez les sources d'origine</title> - - <para>Récupérez les sources d'origine (normalement) sous forme - d'archive compressée - (<filename><replaceable>foo</replaceable>.tar.gz</filename> ou - <filename><replaceable>foo</replaceable>.tar.Z</filename>) et - copiez-les dans <makevar>DISTDIR</makevar>. Utilisez toujours - des sources <emphasis>de première main</emphasis> si vous le - pouvez.</para> - - <para>Si vous ne trouvez pas de site ftp/http correctement - accessible sur le réseau, ou ne trouvez que des sites qui - utilisent des formats non standard, vous voudrez peut-être - mettre une copie sur un serveur ftp ou http fiable que vous - contrôlez (e.g., votre page personnelle). Veillez à définir - <makevar>MASTER_SITES</makevar> pour refléter ce choix.</para> - - <para>Si vous ne trouvez aucun endroit adéquat et fiable où mettre - la distribution (si vous y êtes autorisé, vous pouvez la mettre - dans votre sous-répertoire <filename>public_html/</filename> sur - <hostid>freefall</hostid>), nous pouvons en dernier ressort - “l'accueillir” nous-même en la mettant dans - <filename>ftp://ftp.freebsd.org/pub/FreeBSD/distfiles/LOCAL_PORTS/</filename>. - Définissez cette adresse dans - <makevar>MASTER_SITE_LOCAL</makevar>. Adressez un courrier - électronique à la &a.ports;, si vous n'êtes pas sûr de ce qu'il - faut faire.</para> - - <para>Si la distribution est fréquemment modifiée sans raison - valable, envisagez de la recopier sur votre page personnelle et - listez-la en premier dans <makevar>MASTER_SITES</makevar>. Cela - évitera que les utilisateurs aient des erreurs - “<errorname>checksum mismatch</errorname>” - sur les sommes de contrôle, et réduira aussi - le travail des personnes chargées de maintenir notre site ftp. - D'autre part, s'il n'y a qu'un seul site pour le logiciel - d'origine, il est recommandé que vous ayez une sauvegarde sur - votre site et qu'elle soit mentionnée en second lieu dans - <makevar>MASTER_SITES</makevar>.</para> - - <para>S'il faut d'autres “patches” disponibles sur - l'Internet pour ce portage, récupérez-les aussi et mettez-les - dans <makevar>DISTDIR</makevar>. Ce n'est pas un problème s'ils - proviennent d'autres sites que la distribution de base, nous - pouvons gérer cette situation (voyez plus bas la description - de <link - linkend="porting-patchfiles">PATCHFILES</link>).</para> - - </sect3> - - <sect3> - <title>Modifier les sources</title> - - <para>Extrayez le contenu de l'archive dans un sous-répertoire - privé et faites-y les modifications nécessaires pour que le - logiciel compile correctement avec la version courante de - FreeBSD. Gardez <emphasis>avec soin trace</emphasis> de tout - ce que vous faites, car vous allez bientôt automatiser ces - opérations. Tout, y compris suppressions, ajouts et - modifications de fichiers doit pouvoir être fait par des - procédures ou fichiers de mise à jour une fois que vous aurez - terminé le portage.</para> - - <para>Si le portage demande l'intervention ou des choix de - l'utilisateur à la compilation ou à l'installation, vous - devriez jeter un oeil aux procédures classiques - <application>Configure</application> de Larry Wall, et peut-être - faire quelque chose du même genre. L'objectif du nouveau - catalogue des logiciels portés est que chaque logiciel soit - aussi “prêt-a-l'emploi” que possible pour - l'utilisateur final, tout en utilisant le minimum d'espace - disque.</para> - - <note> - <para>Sauf si vous le précisez explicitement, tous les fichiers - de mise à jour, procédures et fichiers que vous aurez créés - et introduits comme contribution au catalogue des logiciels - portés sont supposés couverts par les conditions standard - de copyright BSD.</para> - </note> - </sect3> - - <sect3> - <title>Modifications</title> - - <para>Les fichiers ajoutés ou modifiés pendant la mise au point - du portage peuvent être identifiés avec un - <command>diff</command> récursif pour générer ensuite les - fichiers de mise à - jour - <foreignphrase>patches</foreignphrase>. Chaque - ensemble de mise à jour que vous souhaitez appliquer doit - être rassemblé dans un fichier - <filename>patch-<replaceable>xx</replaceable></filename>, où - <replaceable>xx</replaceable> correspond au rang de cette - mise à jour dans la séquence d'application de ces - modifications - elles sont traitées en - <emphasis>ordre alphabétique</emphasis>, donc - <literal>aa</literal> d'abord, <literal>ab</literal> en second - et ainsi de suite. Ces fichiers doivent être placés dans - <makevar>PATCHDIR</makevar>, d'où ils seront automatiquement - appliqués. Toutes les modifications doivent être relatives à - <makevar>WRKSRC</makevar> (c'est habituellement le répertoire - où l'archive s'extrait elle-même, et où se fera la - compilation). Pour simplifier les corrections et les mises à - niveau, vous devriez éviter d'avoir plus d'un fichier de mise - à jour s'appliquant au même fichier source - (e.g., <filename>patch-aa</filename> et <filename>patch-ab</filename> modifiant tous deux <filename><makevar>WRKSRC</makevar>/foobar.c</filename>).</para> - - </sect3> - - <sect3> - <title>Configuration</title> - - <para>Ajoutez toutes les autres commandes de mise au point à votre - procédure <filename>configure</filename> et enregistrez-la dans - le sous-répertoire <filename>scripts</filename>. Comme on l'a - dit plus haut, vous pouvez aussi utiliser les cibles du - <filename>Makefile</filename> et/ou les procédures - <filename>pre-configure</filename> ou - <filename>post-configure</filename>.</para> - - </sect3> - - <sect3> - <title>Interactions avec l'utilisateur</title> - - <para>Si vos procédures de compilation, configuration ou - installation ont besoin d'interagir avec l'utilisateur, - définissez la variable <makevar>IS_INTERACTIVE</makevar> dans - votre <filename>Makefile</filename>. Cela permettra aux - “compilations de nuits” d'ignorer le logiciel - que vous avez porté, si l'utilisateur définit dans son - environnement la variable <envar>BATCH</envar> (s'il définit - la variable <envar>INTERACTIVE</envar>, - <emphasis>seuls</emphasis> les logiciels portés pour lesquels - il faut des réponses de l'utilisateur sont compilés).</para> - - <para>Il est aussi recommandé, s'il y a des réponses par défaut - raisonnables à vos questions, de tester la variable - <makevar>PACKAGE_BUILDING</makevar> et de désactiver la partie - interactive de la procédure si cette variable est définie. Cela - permet de compiler les “paquetages” pour les CD-ROMs - et les sites ftp.</para> - </sect3> - </sect2> - - <sect2> - <title>Configurer le Makefile</title> - - <para>Il est assez facile de configurer le Makefile, et nous vous - suggérons à nouveau de jeter un coup d'oeil aux exemples - existants avant de commencer. Il y a aussi un - <link linkend="porting-samplem">exemple de Makefile</link> dans ce - manuel, consultez-le donc et respectez s'il vous plaît l'ordre - des variables et des sections de ce modèle pour que votre - portage soit plus facile à lire pour les autres.</para> - - <para>Envisageons maintenant les problèmes suivants en - séquence au fur et à mesure que vous mettez au point - votre nouveau Makefile :</para> - - <sect3> - <title>Le source original</title> - - <para>Se trouve-t-il dans <makevar>DISTDIR</makevar> sous forme standard - d'archive compressée avec - <citerefentry><refentrytitle>gzip</refentrytitle> <manvolnum>1</manvolnum></citerefentry>. - Si ce n'est pas le cas, vous devriez envisager de surcharger une des - variables <makevar>EXTRACT_CMD</makevar>, - <makevar>EXTRACT_BEFORE_ARGS</makevar>, - <makevar>EXTRACT_AFTER_ARGS</makevar>, - <makevar>EXTRACT_SUFX</makevar> ou <makevar>DISTFILES</makevar> selon - le degré de non-conformité du fichier de distribution - de votre logiciel à porter. (Le cas le plus fréquent est - <literal>EXTRACT_SUFX=.tar.Z</literal>, quand l'archive est - compressée avec - <citerefentry><refentrytitle>compress</refentrytitle> <manvolnum>1</manvolnum></citerefentry> - et non - <citerefentry><refentrytitle>gzip</refentrytitle> <manvolnum>1</manvolnum></citerefentry>.)</para> - - <para>Dans le pire des cas, vous pouvez simplement créer votre - propre cible <maketarget>do-extract</maketarget> pour surcharger la - cible par défaut, bien que ce ne soit que rarement, sinon - jamais, nécessaire.</para> - </sect3> - - <sect3> - <title><makevar>DISTNAME</makevar></title> - - <para>Vous devez affecter à <makevar>DISTNAME</makevar> le nom de - fichier de votre logiciel à porter. Les règles par - défaut veulent que le fichier de distribution - (<makevar>DISTFILES</makevar>) s'appelle - <makevar>DISTNAME</makevar><makevar>EXTRACT_SUFX</makevar> qui, si - c'est un fichier d'archive habituel, sera quelque chose du style - <literal>foozolix-1.0.tar.gz</literal> si - <literal>DISTNAME=foozolix-1.0</literal>.</para> - - <para>Les règles par défaut veulent aussi que l(es) - archive(s) soi(en)t extraite(s) dans un sous-répertoire - appelé <filename>work/<makevar>DISTNAME</makevar></filename>, - e.g., <filename>work/foozolix-1.0/</filename>.</para> - - <para>Toutes ces conventions peuvent bien sûr être - surchargées; ce sont simplement les valeurs par défaut - qui font gagner le plus de temps. Pour un logiciel à porter - pour lequel il y a plusieurs fichiers de distribution, - définissez simplement explicitement - <makevar>DISTFILES</makevar>. S'il n'y a qu'un sous-ensemble de - <makevar>DISTFILES</makevar> qui est effectivement constitué - d'archives extractibles, définissez-les dans - <makevar>EXTRACT_ONLY</makevar>, qui surchargera la liste de - <makevar>DISTFILES</makevar> au moment de l'extraction, les autres - restant dans <makevar>DISTDIR</makevar> pour usage - ultérieur.</para> - </sect3> - - <sect3> - <title><makevar>PKGNAME</makevar></title> - - <para>Si <makevar>DISTNAME</makevar> n'est pas conforme à nos - <link linkend="porting-pkgname">recommandations pour un bon nom de - paquetage</link>, vous devriez affecter à la variable - <makevar>PKGNAME</makevar> une meilleure valeur. Reportez-vous aux - recommandations mentionnées ci-dessus pour plus de - détails.</para> - </sect3> - - <sect3> - <title><makevar>CATEGORIES</makevar></title> - - <para>Quand un paquetage est crée, il est mis dans - <filename>/usr/ports/packages/All</filename> et des liens sont - définis dans un ou plusieurs sous-répertoires de - <filename>/usr/ports/packages</filename>. Les noms de ces - sous-répertoires sont spécifiés par la - variable <makevar>CATEGORIES</makevar>. L'objectif est de faciliter - la vie de l'utilisateur qui erre dans la quantité de - paquetages sur le site ftp ou le CD-ROM. Jettez un oeil s'il vous - plaît aux - <link linkend="porting-categories">catégories</link> - existantes et choisissez celles qui conviennent à votre - logiciel à porter.</para> - - <para>Cette liste détermina aussi où le logiciel sera - importé dans l'arborescence du catalogue des logiciels - portés Si vous y mentionnez plus d'une catégorie, les - fichiers iront dans le sous-répertoire de même nom que la - première de ces catégories. Reportez-vous à la - section <link linkend="porting-categories">Catégories</link> - pour plus d'informations sur la manière de sélectionner - les bonnes catégories.</para> - - <para>Si votre logiciel à porter appartient vraiment à une - autre catégorie que celles qui sont déjà - définies, vous pouvez même créer une nouvelle - catégorie. Dans ce cas, envoyez s'il vous plaît un - courrier électronique à la &a.ports; pour proposer la - création d'une nouvelle catégorie.</para> - - <note> - <para>Il n'y a pas de contrôle des noms de catégorie. - <command>make paquetage</command> créera sans sourcillier un - nouveau sous-répertoire si vous orthographiez mal le nom de - la catégorie, soyez donc prudent !</para> - </note> - </sect3> - - <sect3> - <title><makevar>MASTER_SITES</makevar></title> - - <para>Indiquez le répertoire de l'“URL” ftp/http - où se trouve l'archive originale dans - <makevar>MASTER_SITES</makevar>. N'oubliez pas le “slash” - final (<filename>/</filename>) !</para> - - <para>Les macros-instructions <command>make</command> essayerons - d'utiliser cette valeur pour récupérer le fichier de - distribution avec <makevar>FETCH</makevar>, si elles ne le trouvent - pas sur votre système.</para> - - <para>Il est conseillé de mentionner plusieurs sites dans cette - liste, si possible sur des continents différents. Cela - constituera un garde-fou contre les problèmes du réseau - mondial, et nous envisageons même d'ajouter la - détermination automatique du site de référence - le plus proche, pour aller y chercher la distribution !</para> - - <para>Si l'archive d'origine se trouve sur l'une des archives classiques suivantes : X-contrib, GNU, Perl CPAN, TeX CTAN ou Linux Sunsite, - vous pouvez y faire référence sous forme plus compacte - en vous servant de <makevar>MASTER_SITE_XCONTRIB</makevar>, - <makevar>MASTER_SITE_GNU</makevar>, - <makevar>MASTER_SITE_PERL_CPAN</makevar>, - <makevar>MASTER_SITE_TEX_CTAN</makevar> et - <makevar>MASTER_SITE_SUNSITE</makevar>. Affectez simplement à - <makevar>MASTER_SITE_SUBDIR</makevar> le chemin d'accès au - fichier dans l'archive. En voici un exemple :</para> - - <programlisting> -MASTER_SITES= ${MASTER_SITE_XCONTRIB} -MASTER_SITE_SUBDIR= applications - </programlisting> - - <para>L'utilisateur peut aussi configurer les variables - <makevar>MASTER_SITE_*</makevar> dans - <filename>/etc/make.conf</filename> pour surcharger vos choix, et - utiliser à la place ses sites miroir favoris pour ces - archives.</para> - </sect3> - - <sect3 id="porting-patchfiles"> - <title><makevar>PATCHFILES</makevar></title> - - <para>Si votre logiciel à porter a besoin de - correctifs - <foreignphrase>patches</foreignphrase> - disponibles - via ftp ou http, affectez à <makevar>PATCHFILES</makevar> les - noms des fichiers et à <makevar>PATCH_SITES</makevar> - l'“URL” du répertoire où ils se trouvent (le - format est le même que pour - <makevar>MASTER_SITES</makevar>).</para> - - <para>Si le correctif ne s'applique pas à la racine de - l'arborescence des sources (i.e., <makevar>WKRSRC</makevar>) parce - qu'il contient des chemins d'accès supplémentaires, - définissez <makevar>PATCH_DIST_STRIP</makevar> en - conséquence. Par exemple, si tous les noms de fichiers dans le - correctif sont précédés de - <literal>foozolix-1.0/</literal>, configurez alors - <literal>PATCH_DIST_STRIP=-p1</literal>.</para> - - <para>Ne vous inquiétez pas si les correctifs sont - compressés, ils seront automatiquement - décompressés si les noms des fichiers se terminent par - <filename>.gz</filename> ou <filename>.Z</filename>.</para> - - <para>Si le correctif est distribué avec d'autres fichiers, de la - documentation par exemple, sous forme d'archive compressée avec - <citerefentry><refentrytitle>gzip</refentrytitle> <manvolnum>1</manvolnum></citerefentry>, - vous ne pouvez pas utiliser <makevar>PATCHFILES</makevar>. Dans ce - cas, ajoutez le nom et la localisation du correctif à - <makevar>DISTFILES</makevar> et <makevar>MASTER_SITES</makevar>. Puis, - appliquez le correctif depuis la cible - <maketarget>pre-patch</maketarget>, soit en y exécutant la - commande <command>patch</command>, soit en copiant le correctif dans - le répertoire <makevar>PATCHDIR</makevar> et en l'appelant - <filename>patch-<replaceable>xx</replaceable></filename>.</para> - - <note> - <para>Remarquez que cette archive sera extraite en même temps - que le source de base, il n'est donc pas nécessaire de - l'extraire explicitement si elle est normalement compressée - avec - <citerefentry><refentrytitle>gzip</refentrytitle> <manvolnum>1</manvolnum></citerefentry> - ou - <citerefentry><refentrytitle>compress</refentrytitle> <manvolnum>1</manvolnum></citerefentry>. - Si vous le faites néanmoins, faites attention à - ne rien écraser de ce qui existe dans le répertoire. - Et n'oubliez pas non plus d'ajouter une commande pour supprimer le - correctif recopié à la cible - <maketarget>pre-clean</maketarget>.</para> - </note> - </sect3> - - <sect3> - <title><makevar>MAINTAINER</makevar></title> - - <para>Indiquez ici votre adresse électronique. S'il vous - plaît. <!-- smiley --><emphasis>:)</emphasis></para> - - <para>Pour une description détaillé de la - responsabilité du chargé de la maintenance, - reportez-vous à la section - <link linkend="policies-maintainer">MAINTAINER des - <filename>Makefile</filename>s</link>.</para> - </sect3> - - <sect3> - <title>Dépendances</title> - - <para>De nombreux logiciels portés dépendent d'autres - logiciels. Il y a cinq variables que vous pouvez utiliser pour vous - assurer qu'il y a tout ce qu'il faut sur la machine de l'utilisateur. - Il y a aussi des variables prédéfinies pour les cas les - plus courants, et quelques autres pour contrôler le comportement - vis-à-vis des dépendances.</para> - - <sect4> - <title><makevar>LIB_DEPENDS</makevar></title> - - <para>Cette variable définit les bibliothèques - partagées dont dépend le logiciel à porter. - C'est une liste de tuples - <replaceable>biblothèque</replaceable>:<replaceable>répertoire</replaceable><optional><replaceable>:cible</replaceable></optional> - où <replaceable>bibliothèque</replaceable> est - le nom de la bibliothèque partagée, - <replaceable>répertoire</replaceable> est le nom du - répertoire où la trouver si elle n'est pas - encore installée et <replaceable>cible</replaceable> celui de - la cible à exécuter dans ce répertoire. Par - exemple :</para> - <programlisting> -LIB_DEPENDS= jpeg\\.9\\.:${PORTSDIR}/graphics/jpeg:install - </programlisting> - <para>cherchera une bibliothèque partagée - <literal>jpeg</literal> avec le numéro de version majeure 9 - et descendra dans le sous-répertoire - <filename>graphics/jpeg</filename> de l'arborescence du catalogue - des logiciels portés pour la compiler et l'installer, s'il ne - la trouve pas. La <replaceable>cible</replaceable> peut être - omise si elle est égale à - <makevar>DEPENDS_TARGET</makevar> (dont la valeur par défaut - est <literal>install</literal>).</para> - - <note> - <para><replaceable>bibliothèque</replaceable> est - passé en argument à - <command>ldconfig -r | grep -wF</command>. Cette variable ne doit - pas comporter d'expression régulière.</para> - </note> - - <para>La dépendance est vérifiée deux fois, une - première fois depuis la cible - <maketarget>extract</maketarget> et ensuite par la cible - <maketarget>install</maketarget>. Le nom de la dépendance est - aussi enregistré dans le paquetage de sorte que - <command>pkg_add</command> l'installe automatiquement si elle n'est - pas disponible sur le système de l'utilisateur.</para> - </sect4> - - <sect4> - <title><makevar>RUN_DEPENDS</makevar></title> - - <para>Cette variable définit quels exécutables et - fichiers doivent être présents pour pouvoir utiliser le - logiciel porté. C'est une liste de tuples - <replaceable>chemin d'accès</replaceable>:<replaceable>répertoire</replaceable><optional><replaceable>:cible</replaceable></optional> - où <replaceable>chemin d'accès</replaceable> est le - nom de l'exécutable ou du fichier, - <replaceable>répertoire</replaceable> est le - répertoire où le trouver s'il n'est pas encore - installé et <replaceable>cible</replaceable> est la cible - à exécuter dans ce répertoire. Si - <replaceable>chemin d'accès</replaceable> commence par un - “<foreignphrase>slash</foreignphrase> - (<literal>/</literal>), il est traité comme un fichier et son - existence est testée avec <command>test -e</command> ; - sinon, on suppose que c'est un exécutable, et c'est la - commande <command>which -s</command> qui est utilisée pour - voir si le programme existe dans les chemins d'accès par - défaut de l'utilisateur.</para> - - <para>Par exemple :</para> - - <programlisting> -RUN_DEPENDS= ${PREFIX}/etc/innd:${PORTSDIR}/news/inn \ - wish8.0:${PORTSDIR}/x11-toolkits/tk80</programlisting> - - <para>regardera si le fichier ou le répertoire - <filename>/usr/local/etc/innd</filename> existe, et le compilera et - l'installera dans le sous-répertoiree - <filename>news/inn</filename> de l'arborescence du catalogue des - logiciels portés s'il ne le trouve pas. Il s'assurera aussi - de la présence d'un exécutable appelé - <command>wish8.0</command> dans vos chemins d'accès par - défaut, et ira dans le sous-répertoire - <filename>x11-toolkits/tk80</filename> de l'arborescence du - catalogue des logiciels portés pour le compiler et - l'installer s'il ne le trouve pas.</para> - - <note> - <para>Dans ce cas, <command>innd</command> est en fait un - exécutable ; si un programme n'est pas à la - place normale où on s'attend à le trouver dans les - chemins d'accès par défaut de l'utilisateur, il faut - utiliser son nom complet depuis la racine.</para> - </note> - - <para>La dépendance est vérifiée par la cible - <maketarget>install</maketarget>. Le nom de la dépendance est - aussi enregistré dans le paquetage de sorte que - <command>pkg_add</command> l'installe automatiquement si elle n'est - pas disponible sur le système de l'utilisateur. La - <replaceable>cible</replaceable> peut être omise si elle est - égale à <makevar>DEPENDS_TARGET</makevar>.</para> - </sect4> - - <sect4> - <title><makevar>BUILD_DEPENDS</makevar></title> - - <para>Cette variable définit quels exécutables et - fichiers sont nécessaires pour installer le logiciel. Comme - <makevar>RUN_DEPENDS</makevar>, c'est une liste de tuples - <replaceable>chemin d'accès</replaceable>:<replaceable>répertoire</replaceable><optional><replaceable>:cible</replaceable></optional>. - Par exemple :</para> - <programlisting> -BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip - </programlisting> - <para>recherchera un exécutable appelé - <command>unzip</command> et ira dans le sous-répertoire - <filename>archivers/unzip</filename> de l'arborescence du - catalogue des logiciels portés pour le compiler et - l'installer s'il ne le trouve pas.</para> - - <note> - <para>“installer” recouvre ici tout le processus, de - l'extraction à la compilation. La dépendance est - vérifiée par la cible - <maketarget>extract</maketarget>. La - <replaceable>cible</replaceable> peut être omise si elle - est égale à - <makevar>DEPENDS_TARGET</makevar>.</para> - </note> - </sect4> - - <sect4> - <title><makevar>FETCH_DEPENDS</makevar></title> - - <para>Cette variable définit quels exécutables le - logiciel a besoin de récupérer. Comme les deux - précédentes, c'est une liste de tuples - <replaceable>chemin d'accès</replaceable>:<replaceable>répertoire</replaceable><optional><replaceable>:cible</replaceable></optional>. - Par exemple :</para> - <programlisting> -FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2 - </programlisting> - <para>recherchera un exécutable appelé - <command>ncftp2</command> et descendera dans le - sous-répertoire <filename>net/ncftp2</filename> de - l'arborescence du catalogue des logiciels portés pour le - compiler et l'installer s'il ne le trouve pas.</para> - - <para>La dépendance est vérifiée par la cible - <maketarget>fetch</maketarget>. La <replaceable>cible</replaceable> - peut être omise si elle est égale à - <makevar>DEPENDS_TARGET</makevar>.</para> - </sect4> - - <sect4> - <title><makevar>DEPENDS</makevar></title> - - <para>S'il y a une dépendance qui ne rentre pas dans les quatre - catégories précédentes ou si votre logiciel - à porter a besoin que les sources d'un autre logiciel soient - installés en plus de ce logiciel lui-même, - utilisez cette variable. C'est une liste de - <replaceable>répertoire</replaceable><optional><replaceable>:cible</replaceable></optional>, - puisqu'il n'y a rien à vérifier, à l'inverse - des quatre précédentes. La - <replaceable>cible</replaceable> peut être omise si elle est - égale à <makevar>DEPENDS_TARGET</makevar>.</para> - </sect4> - - <sect4> - <title>Variables prédéfinies</title> - - <para>Utilisez <literal>USE_XLIB=yes</literal> si votre logiciel - à porter a besoin que le système <application>X - Window</application> soit installé (c'est implicite avec - <makevar>USE_IMAKE</makevar>). Utilisez - <literal>USE_GMAKE=yes</literal> si votre logiciel à porter a - besoin de GNU <command>make</command> au lieu de BSD - <command>make</command>. Utilisez - <literal>USE_AUTOCONF=yes</literal> si votre logiciel à - porter a besoin que GNU <command>autoconf</command> soit - exécuté. Utilisez <literal>USE_QT=yes</literal> si - votre logiciel utilise la boîte à outils - <application>Qt</application>. Utilisez - <literal>USE_PERL5=yes</literal> si votre logiciel à porter a - besoin de la version 5 du langage perl. (Cette dernière - variable est particulièrement importante parce que certaines - versions de FreeBSD comportent perl 5 installé de base, mais - d'autres non.)</para> - </sect4> - - <sect4> - <title>Notes à propos des dépendances</title> - - <para>Comme indiqué plus haut, la cible à appeler par - défaut quand il y a un dépendance requise est - <maketarget>DEPENDS_TARGET</maketarget>. Sa valeur par défaut - est <literal>install</literal>. C'est une variable utilisateur. Elle - n'est jamais définie dans le <filename>Makefile</filename> - d'un logiciel à porter. Si votre logiciel à porter a - besoin qu'une dépendance soit gérée d'une - façon particulière, utilisez la partie - <literal>:cible</literal> des variables <makevar>*_DEPENDS</makevar> - au lieu de redéfinir - <makevar>DEPENDS_TARGET</makevar>.</para> - - <para>Quand vous tapez <command>make clean</command>, les - dépendances sont aussi purgées. Si vous ne voulez pas - qu'il en soit ainsi, définissez la variable - <makevar>NOCLEANDEPENDS</makevar> dans votre environnement.</para> - - <para>Pour dépendre sans condition d'un autre logiciel - porté, il est habituel d'utiliser l'indication - <literal>nonexistent</literal> comme premier champ de - <makevar>BUILD_DEPENDS</makevar> ou - <makevar>RUN_DEPENDS</makevar>. N'utilisez cela que si vous avez - besoin du source d'un autre logiciel porté. Vous pouvez aussi - avec cette cible économiser du temps de compilation. Par - exemple :</para> - - <programlisting> -BUILD_DEPENDS= /nonexistent:${PORTSDIR}/graphics/jpeg:extract - </programlisting> - - <para>ira toujours dans le répertoire du logiciel porté - JPEG pour l'extraire.</para> - - <para>N'utilisez <makevar>DEPENDS</makevar> que s'il n'y a pas d'autre - moyen d'obtenir ce que vous voulez. Cela provoquera toujours - la compilation (et par défaut l'installation) d'autres - logiciels portés et la dépendance sera aussi - inclue aux paquetages. Si c'est vraiment ce dont vous avez besoin, - je vous recommande d'utiliser <literal>BUILD_DEPENDS</literal> et - <literal>RUN_DEPENDS</literal> à la place—au moins - votre intention sera claire.</para> - </sect4> - </sect3> - - <sect3> - <title>Mécanismes de compilation</title> - - <para>Si votre paquetage utilise GNU <command>make</command>, - positionnez <literal>USE_GMAKE=yes</literal>. Si votre paquetage - utilise <command>configure</command>, positionnez - <literal>HAS_CONFIGURE=yes</literal>. Si votre paquetage utilise GNU - <command>configure</command>, positionnez - <literal>GNU_CONFIGURE=yes</literal> (ce qui implique - <literal>HAS_CONFIGURE</literal>). Si vous voulez passer des arguments - supplémentaires à <command>configure</command> (la liste - d'arguments par défaut est - <literal>--prefix=${PREFIX}</literal> pour GNU - <command>configure</command> et elle est vide pour les autres versions - de <command>configure</command>), définissez ces arguments - complémentaires avec la variable - <makevar>CONFIGURE_ARGS</makevar>. Si votre paquetage utilise GNU - <command>autoconf</command>, positionnez - <literal>USE_AUTOCONF=yes</literal>. Cela implique - <makevar>GNU_CONFIGURE</makevar>, et provoquera l'exécution - d'<command>autoconf</command> avant celle de - <command>configure</command>.</para> - - <para>Si votre paquetage est une application X qui génère - des <filename>Makefile</filename>s à partir - d'<filename>Imakefile</filename>s avec <command>imake</command>, - positionnez alors <literal>USE_IMAKE=yes</literal>. A l'étape - de configuration, la commande <command>xmkmf -a</command> sera - automatiquement exécutée. Si l'option - <option>-a</option> pose une problème pour votre portage, - positionnez <literal>XMKMF=xmkmf</literal>. Si le portage utilise - <command>imake</command> mais ne comprend pas la cible - <maketarget>install.man</maketarget>, il faut alors définir - <literal>NO_INSTALL_MANPAGES=yes</literal>. De plus, l'auteur - d'origine du logiciel devrait être “fusillé”. - <!-- smiley --><emphasis>:></emphasis></para> - - <para>Si le <filename>Makefile</filename> d'origine du logiciel que vous - portez utilise une autre cible principale que - <maketarget>all</maketarget>, définissez en conséquence - <makevar>ALL_TARGET</makevar>. Il en va de mê:me pour - <maketarget>install</maketarget> et - <makevar>INSTALL_TARGET</makevar>.</para> - </sect3> - </sect2> - - <sect2> - <title>Considérations particulières</title> - - <para>Il y a quelques autres points à prendre en compte lorsque - vous portez un logiciel. Cette section détaille les plus - fréquemment rencontrés.</para> - - <sect3> - <title><command>ldconfig</command></title> - - <para>Si votre portage installe une bibliothèque partagée, - ajoutez une cible <maketarget>post-install</maketarget> à votre - <filename>Makefile</filename> qui exécute - <literal>${LDCONFIG} -m</literal> sur le répertoire - où la nouvelle bibliothèque est installée - (habituellement <filename><makevar>PREFIX</makevar>/lib</filename>) - pour l'enregistrer dans le cache de bibliothèque - partagée.</para> - - <para>Ajoutez aussi une ligne <literal>@exec /sbin/ldconfig -m</literal> - et la ligne <literal>@unexec /sbin/ldconfig -R</literal> - correspondante à votre fichier <filename>pkg/PLIST</filename> - de façon à ce que l'utilisateur qui installe le - paquetage puisse utiliser immédiatement la bibliothèque - partagée et qu'à la désinstallation, le - système sache que la bibliothèque n'est plus là. - Ces lignes doivent suivre immédiatement celle qui concerne la - bibliothèque partagée elle-même, comme - dans :</para> - - <programlisting> -lib/libtvl80.so.1 -@exec /sbin/ldconfig -m %D/lib -@unexec /sbin/ldconfig -R - </programlisting> - - <para>N'ajoutez jamais, mais vraiment <emphasis>jamais</emphasis> de - ligne qui ne contienne que <literal>ldconfig</literal> sans argument - à votre <filename>Makefile</filename> ou à votre - <filename>pkg/PLIST</filename>. Cela réinitialisera le cache de - bibliothèque partagée avec le contenu de - <filename>/usr/lib</filename> uniquement, et vérolera - royalement la machine de l'utilisateur (“A l'aide, xinit ne - fonctionne plus depuis que j'ai installé ce logiciel - porté !). Quiconque commet ce crime sera fusillé - et découpé en 65.536 morceaux avec un couteau - rouillé, son foie sera déchiqueté par une bande - de corbeaux et il rôtira éternellement au tréfonds - de l'enfer (pas nécessairement dans cet ordre…)</para> - </sect3> - </sect2> - - <sect2> - <title>Support ELF</title> - - <para>Comme FreeBSD passe à ELF peu de temps aprè - 3.0-release, il faut convertir de nombreux ports qui compilent des - biblothèques partagées pour qu'ils supportent ELF. Cette - tâche est compliquée par le fait qu'un système 3.0 - peut s'exécuter à la fois en ELF et en a.out et que nous - voulons supporter la version 2.2 aussi longtemps que possible. Voici - quelques indications pour la conversion de logiciels portés a.out - pour qu'ils supportent à la fois la compilation en a.out et - ELF.</para> - - <para>Certains points cités ne s'appliquent qu'à la - conversion elle-même. Ils resteront mentionnés - néanmoins quelque temps pour le cas où vous tomberiez sur - un ancien logiciel porté que vous voulez mettre à - niveau.</para> - - <sect3> - <title>Mettre de côté les bibliothèques - a.out</title> - - <para>Les bibliothèques a.out doivent être - déplacées de <filename>/usr/local/lib</filename> et - autres vers un sous-répertoire <filename>aout</filename>. (Si - vous ne les mettez pas de côté, les logiciels - portés ELF les écraseront sans sourciller.) - La cible <maketarget>move-aout-libs</maketarget> du - <filename>src/Makefile</filename> de 3.0-current (appelé par - <maketarget>aout-to-elf</maketarget>) le fera pour vous. Elle ne - déplacera que les bibliothèques a.out, il n'y a donc pas - de risque à l'appeler sur un système où il y a - à la fois des bibliothèques ELF et a.out dans les - répertoires standard.</para> - </sect3> - - <sect3> - <title>Format</title> - - <para>L'arborescence du catalogue des logiciels portés compilera - les paquetages au format utilisé par la machine, - c'est-à-dire a.out en 2.2 et a.out ou ELF en 3.0 selon ce que - retourne la commande <command>`objformat`</command>. D'autre part, - un fois que les utilisateurs déplacent les bibliothèques - a.out dans un sous-répertoire, la compilation des - bibliothèques a.out ne sera plus supporté. (i.e., cela - peut encore marcher si vous savez ce que vous faites, mais vous devrez - vous débrouiller par vous-même.)</para> - - <note> - <para>Si un logiciel porté ne fonctionne qu'en a.out, affectez - à <makevar>BROKEN_ELF</makevar> une chaîne de - caractères qui décrive pourquoi. Ces logiciels ne - seront pas générés à la compilation sur - un système ELF.</para> - </note> - </sect3> - - <sect3> - <title><makevar>PORTOBJFORMAT</makevar></title> - - <para><filename>bsd.port.mk</filename> affectera à - <makevar>PORTOBJFORMAT</makevar> la valeur <literal>aout</literal> ou - <literal>elf</literal> et l'exportera dans les environnements - <envar>CONFIGURE_ENV</envar>, <envar>SCRIPTS_ENV</envar> et - <envar>MAKE_ENV</envar>. (Ce sera toujours - <literal>aout</literal> sous 2.2-STABLE). Elle est aussi passée - à <maketarget>PLIST_SUB</maketarget> sous la forme - <literal>PORTOBJFORMAT=${PORTOBJFORMAT}</literal>. (Reportez-vous aux - explications concernant <literal>ldconfig</literal> plus bas.)</para> - - <para>Cette variable est définie par la ligne suivante de - <filename>bsd.port.mk</filename> :</para> - - <programlisting> -PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout</programlisting> - - <para>Le processus de compilation des logiciels portés devrait - toujours utiliser cette variable pour décider de ce qu'il faut - faire. Cependant, si la procédure - <filename>configure</filename> associée - détecte déjà automatiquement un système - ELF, il n'est pas nécessaire de se référer - à <makevar>PORTOBJFORMAT</makevar>.</para> - </sect3> - - <sect3> - <title>Compilation des bibliothèques partagées</title> - - <para>Ce qui suit décrit les différences de gestion des - bibliothèques partagées entre les formats ELF et - a.out.</para> - - <itemizedlist> - <listitem> - <para>Versions de bibliothèques partagées</para> - - <para>Une bibliothèque partagée ELF doit s'appeler - <filename>libfoo.so.<replaceable>M</replaceable></filename>, - où <replaceable>M</replaceable> est un unique numéro - de version et une bibliothèque partagée a.out doit - s'appeler - <filename>libfoo.so.<replaceable>M</replaceable>.<replaceable>N</replaceable></filename>, - où <replaceable>M</replaceable> est le numéro de - version majeure et - <replaceable>N</replaceable> celui de version mineure. - Ne confondez pas ; n'installez <emphasis>jamais</emphasis> de - bibliothèque partagée ELF appelée - <filename>libfoo.so.<replaceable>N</replaceable>.<replaceable>M</replaceable></filename> - ou de bibliothèque partagée A.out (ou de lien - symbolique dessus) appelée - <filename>libfoo.so.<replaceable>N</replaceable></filename>.</para> - </listitem> - - <listitem> - <para>Ligne de commande de l'éditeur de liens</para> - - <para>En supposant que <command>cc -shared</command> - soit utilisé plutôt que <command>ld</command> - directement, la seule différence est qu'il faut ajouter - <option>-Wl,-<replaceable>soname,libfoo.so.M</replaceable></option> - sur la ligne de commande pour ELF.</para> - </listitem> - </itemizedlist> - - <para>Il faut définir un lien symbolique de - <filename>libfoo.so</filename> vers - <filename>libfoo.so.<replaceable>N</replaceable></filename> pour que - les éditeurs de liens ELF s'y retrouvent. Comme il doit - être aussi mentionné dans - <filename>PLIST</filename>, cela ne posera pas de problème dans - le cas de a.out (pour certains logiciels portés, il faut - même que ce lien existe pour l'édition de liens - dynamiques), vous devriez définir ce lien quelle que soit la - valeur de la variable <makevar>PORTOBJFORMAT</makevar>.</para> - </sect3> - - <sect3> - <title><makevar>LIB_DEPENDS</makevar></title> - - <para>Tous les <filename>Makefile</filename>s des logiciels - portés sont à modifier pour supprimer les numéros - de versions mineures de <makevar>LIB_DEPENDS</makevar>, ainsi que le - support des expressions réqulières (e.g., - <literal>foo\\.1\\.\\(33|40\\)</literal> devient - <literal>foo.2</literal>.) La correspondance sera effectuée par - <command>grep -wF</command>.</para> - </sect3> - - <sect3> - <title><filename>PLIST</filename></title> - - <para><filename>PLIST</filename> doit contenir les noms courts (ELF) des - bibliothèques partagées si leur numéro de version - mineure a.out est zéro et les noms longs (a.out) dans le cas - contraire. <filename>bsd.port.mk</filename> ajoutera automatiquement - le <literal>.0</literal> à la fin des noms courts de - bibliothèques partagées si - <makevar>PORTOBJFORMAT</makevar> vaut <literal>aout</literal>, et - supprimera le numéro de version mineure des noms longs si - <makevar>PORTOBJFORMAT</makevar> vaut <literal>elf</literal>.</para> - - <para>Au cas où vous auriez vraiment besoin d'installer des - bibliothèques partagées avec deux numéros de - version sur un système ELF ou avec un seul numéro de - version sur un système a.out (par exemple, pour les logiciels - portés qui installent des bibliothèques pour la - compatibilité avec d'autres systèmes d'exploitation), - définissez la variable <makevar>NO_FILTER_SHLIBS</makevar>. - Cela inhibera le mécanisme de modification de - <filename>PLIST</filename> décrit au paragraphe - précédent.</para> - </sect3> - - <sect3> - <title><literal>ldconfig</literal></title> - - <para>La ligne <literal>ldconfig</literal> des - <filename>Makefile</filename>s doit contenir :</para> - - <programlisting> -${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m .... - </programlisting> - - <para>Dans <filename>PLIST</filename>, il doit y avoir :</para> - - <programlisting> -@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m ... -@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R - </programlisting> - - <para>Cela pour garantir que la bonne commande - <command>ldconfig</command> sera appelée en fonction du format - du paquetage et non du format par défaut sur le - système.</para> - </sect3> - </sect2> - - <sect2 id="porting-masterdir"> - <title><makevar>MASTERDIR</makevar></title> - - <para>Si votre logiciel porté a besoin de générer des - versions légèrement différentes des paquetages en - fonction de la valeur d'une variable (la résolution ou le format - de page par exemple), créez un sous-répertoire par - paquetage pour qu'il soit plus facile aux utilisateurs de savoir quoi - faire, mais essayez de partager autant de fichiers que possible entre - logiciels portés. Vous aurez normalement besoin d'un - <filename>Makefile</filename> très court dans tous les - sous-répertoires à l'exception d'un seul. Dans ces - <filename>Makefile</filename>s, vous pouvez utiliser la variable - <makevar>MASTERDIR</makevar> pour indiquer le répertoire - où se trouvent le reste des fichiers. Utilisez aussi une variable - pour une partie de - <link linkend="porting-pkgname"><makevar>PKGNAME</makevar></link> de - façon à ce que les paquetages aient des noms - différents.</para> - - <para>Cela sera plus clair avec un exemple. C'est un extrait de - <filename>japanese/xdvi300/Makefile</filename> :</para> - - <programlisting> -PKGNAME= ja-xdvi${RESOLUTION}-17 - : -# default -RESOLUTION?= 300 -.if ${RESOLUTION} != 118 && ${RESOLUTION} != 240 && \ - ${RESOLUTION} != 300 && ${RESOLUTION} != 400 - @${ECHO} "Erreur: valeur incorrecte pour RESOLUTION: \"${RESOLUTION}\"" - @${ECHO} "Les valeurs acceptables sont : 118, 240, 300 (par défaut) et 400." - @${FALSE} -.endif</programlisting> - - <para><filename>japanese/xdvi300</filename> contient aussi les fichiers - de “<foreignphrase>patches</foreignphrase>”, paquetages, - etc. Si vous y tapez <command>make</command>, la valeur de la - résolution sera prise par défaut (300) et le logiciel - porté compilera normalement.</para> - - <para>Poue les autres résolutions, voici le - <filename>xdvi118/Makefile</filename> - <emphasis>complet</emphasis> :</para> - - <programlisting> -RESOLUTION= 118 -MASTERDIR= ${.CURDIR}/../xdvi300 - -.include ${MASTERDIR}/Makefile - </programlisting> - - <para>(<filename>xdvi240/Makefile</filename> et - <filename>xdvi400/Makefile</filename> sont identiques). La - définition de <makevar>MASTERDIR</makevar> dit à - <filename>bsd.port.mk</filename> que le jeu de sous-répertoires - habituels tels que <makevar>PATCHDIR</makevar> et - <makevar>PKGDIR</makevar> se trouvent dans - <filename>xdvi300</filename>. La ligne <literal>RESOLUTION=118</literal> - surchargera la ligne <literal>RESOLUTION=300</literal> de - <filename>xdvi300/Makefile</filename> et le logiciel porté sera - compilé avec une résolution de 118.</para> - </sect2> - - <sect2> - <title>Versions des biblothèques partagées</title> - - <para>Lisez tout d'abord s'il vous plaît nos - <link linkend="policies-shlib">Instructions à propos des versions - de bibliothèques partagées</link> pour savoir comment - gérer de façon générale les versions de - bibliothèques. Ne supposez pas aveuglement que les auteurs des - logiciels savent ce qu'ils font; ce n'est, la plupart du temps, pas le - cas. Il est très important que ces détails soient - attentivement examinés, parce que nous nous trouvons dans une - situation assez particulière dans laquelle nous devons faire - cohabiter des douzaines de logiciels potentiellement incompatibles. - Les importations à la va-vite de logiciels ont posé dans - le passé de gros problèmes en ce qui concerne les - bibliothèques partagées (vous êtes vous jamais - demandé pourquoi le numéro de version de la - bibliothèque partagée <filename>jpeg-6b</filename> - était 0.9?). En cas de doute, envoyez un message à - &a.ports;. La plupart du temps, votre tâche se limitera à - déterminer la bonne version de bibliothèque - partagée et à appliquer les bonnes mises à - niveau - <foreignphrase>patches</foreignphrase> - pour - l'implémenter.</para> - - <para>Néanmoins, s'il y a une bibliothèque portée qui - n'est qu'une même version de la même bibliothèque - partagée déjà présente au catalogue, la - situation est beaucoup plus complexe. Brièvement, - l'implémentation sous FreeBSD ne permet pas à - l'utilisateur de préciser à l'éditeur de liens avec - quelle version de bibliothèque partagée effectuer - l'édition de liens (l'éditeur de liens choisira toujours - le numéro de version le plus élevé). Cela signifie - que, s'il y a sur le système une - <filename>libfoo.so.3.2</filename> et une - <filename>libfoo.so.4.0</filename>, il n'y a aucun moyen de dire - à l'éditeur de liens qu'une application donnée - doit être liée avec <filename>libfoo.so.3.2</filename>. - c'est totalement masqué au moment de l'édition de liens. - Dans ce cas, il n'y a qu'une seule solution, renommer la - <emphasis>base</emphasis> du nom de la bibliothèque - partagée. Par exemple, modifier - <filename>libfoo.so.4.0</filename> en - <filename>libfoo4.so.1.0</filename> pour que les versions 3.2 et 4.0 - puissent être liées avec d'autres logiciels - portées.</para> - </sect2> - - <sect2 id="porting-manpages"> - <title>Pages de manuel</title> - - <para>Les variables <makevar>MAN[1-9LN]</makevar> ajouteront - automatiquement toutes les pages de manuel à - <filename>pkg/PLIST</filename> (cela signifie que vous ne devez - <emphasis>pas</emphasis> lister les pages de manuel dans - <filename>PLIST</filename>—reportez-vous à la section - <link linkend="porting-plist">Modifier <filename>PLIST</filename> sur - la base des variables du <literal>make</literal></link> pour plus de - détails). Cela provoquera aussi la compression ou la - décompression de pages de manuel selon le contenu de la variable - <makevar>NOMANCOMPRESS</makevar> dans - <filename>/etc/make.conf</filename>.</para> - - <para>Pour indiquer si les pages de manuel doivent être - compressées à l'installation, utilisez la variable - <makevar>MANCOMPRESSED</makevar>. Cette variable peut prendre trois - valeurs, <literal>yes</literal>, <literal>no</literal> et - <literal>maybe</literal>. <literal>yes</literal> signifie que les pages - de manuel sont installées déjà compressées, - <literal>no</literal> signifie qu'elles ne le sont pas, et - <literal>maybe</literal> signifie que le logiciel s'aligne toujours sur - la valeur de <makevar>NOMANCOMPRESS</makevar> de sorte que - <filename>bsd.port.mk</filename> n'a rien à faire de - spécial.</para> - - <para><makevar>MANCOMPRESSED</makevar> est automatiquement définie - à <literal>yes</literal> si <makevar>USE_IMAKE</makevar> est - définie et que <makevar>NO_INSTALL_MANPAGES</makevar> ne l'est - pas, et à <literal>no</literal> sinon. Vous n'avez pas à - la définir explicitement, à moins que la valeur par - défaut ne convienne pas à votre logiciel à - porter.</para> - - <para>Si votre logiciel à porter installe ses pages de manuel - ailleurs que dans <makevar>PREFIX</makevar>, vous pouvez utiliser - <makevar>MANPREFIX</makevar> pour l'indiquer. Si ce sont seulement - certaines pages de manuel qui ne doivent pas être - installées dans le répertoire habituel, comme c'est le - cas pour certains modules portés Perl, vous pouvez définir - des répertoires individualisés pour les pages de manuel - avec <makevar>MAN<replaceable>section</replaceable>PREFIX</makevar> - (où <replaceable>sect</replaceable> est une valeur de - <literal>1-9</literal>, ou <literal>L</literal> ou - <literal>N</literal>).</para> - - <para>Si vos pages de manuel vont dans des sous-répertoires - dépendant de la langue, définissez les noms de ces langues - dans <makevar>MANLANG</makevar>. La valeur par défaut de cette - variable est <literal>""</literal> (i.e., Anglais seulement).</para> - - <para>Voici un exemple qui rassemble tout cela :</para> - - <programlisting> -MAN1= foo.1 -MAN3= bar.3 -MAN4= baz.4 -MANLANG= "" ja -MAN3PREFIX= ${PREFIX}/share/foobar -MANCOMPRESSED= yes</programlisting> - - <para>Ce qui veut dire que six fichiers sont installés par ce - logiciel porté :</para> - - <programlisting> -${PREFIX}/man/man1/foo.1.gz -${PREFIX}/man/ja/man1/foo.1.gz -${PREFIX}/share/foobar/man/man3/bar.3.gz -${PREFIX}/share/foobar/man/ja/man3/bar.3.gz -${PREFIX}/man/man4/baz.4.gz -${PREFIX}/man/ja/man4/baz.4.gz</programlisting> - </sect2> - - <sect2> - <title>Les logiciels portés qui ont besoin de Motif</title> - - <para>Il y a de nombreux programmes qui ont besoin d'une bibliothèque - Motif pour compiler (disponible auprès de plusieurs distributeurs - commerciaux, et dont il existe un clone libre, qui est capable de faire - fonctionner pas mal d'applications, dans - <filename>x11-toolkits/lesstif</filename>). Comme c'est un boîte - à outils très utilisée et que ses licences - autorisent habituellement la redistribution de binaires si la - bibliothèque est liée statiquement, nous avons - prévu un mécanisme pour gérer les logiciels - portés qui ont besoin de Motif de façon à pouvoir - facilement compiler des binaires soit liés dynamiquement (pour - ceux qui utilisent le catalogue des logiciels portés) ou - statiquement (pour ceux qui distribuent des paquetages).</para> - - <sect3> - <title><makevar>REQUIRES_MOTIF</makevar></title> - - <para>Si votre logiciel à porter a besoin de Motif, - définissez cette variable dans le - <filename>Makefile</filename>. cela empéchera que ceux qui - ne disposent pas de Motif puissent ne serait-ce qu'essayer de - compiler votre logiciel.</para> - </sect3> - - <sect3> - <title><makevar>MOTIFLIB</makevar></title> - - <para>Cette variable sera définie par - <filename>bsd.port.mk</filename> pour référencer la - version appropriée de la bibliothèque Motif. Ajoutez - s'il vous plaît un - correctif - <foreignphrase>patch</foreignphrase> - au - source pour qu'il utilise cette variable chaque fois que la - bibliothèque Motif est référencé dans le - <filename>Makefile</filename> ou le - <filename>Imakefile</filename>.</para> - - <para>Il y a deux cas de figure courants :</para> - - <itemizedlist> - <listitem> - <para>Si le logiciel à porter désigne la - bibliothèque Motif avec <literal>-lXm</literal> dans son - <filename>Makefile</filename> ou <filename>Imakefile</filename>, - remplacez-le simplement par - <literal>${MOTIFLIB}</literal>,</para> - </listitem> - - <listitem> - <para>Si le logiciel à porter utilise - <literal>XmClientLibs</literal> dans son - <filename>Imakefile</filename>, remplacez-le par - <literal>${MOTIFLIB} ${XTOOLLIB} - ${XLIB}</literal>.</para> - </listitem> - </itemizedlist> - - <para>Remarquez que la variable <makevar>MOTIFLIB</makevar> est - (habituellement) remplacée par - <literal>-L/usr/X11R6/lib -lXm</literal> ou - <literal>/usr/X11R6/lib/libXm.a</literal>, il n'y a donc pas besoin - d'y inclure le <literal>-L</literal> ou <literal>-l</literal>.</para> - </sect3> - </sect2> - - <sect2> - <title>Polices X11</title> - - <para>Si votre logiciel à porter installe des polices de - caractères pour le Système X Window, mettez-les dans - <filename><makevar>X11BASE</makevar>/lib/X11/fonts/local</filename>. - Ce répertoire est une nouveauté de XFree86 version 3.3.3. - S'il n'existe pas, créez-le s'il vous plaît et - émettez un message pour suggérer à l'utilisateur de passer à la version 3.3.3, ou ultérieure, de XFree86, ou - ajoutez au moins ce répertoire aux chemins d'accès aux - polices de caractères dans - <filename>/etc/XF86Config</filename>.</para> - </sect2> - - <sect2> - <title>Fichiers “Info”</title> - - <para>La nouvelle version de <application>texinfo</application> (depuis - 2.2.2-RELEASE) comporte un utilitaire appelé - <command>install-info</command> pour ajouter ou supprimer des - entrées dans le fichier <filename>dir</filename>. Si votre - logiciel à porter installe des documents “info”, - suivez s'il vous plaît les instructions ci-dessous pour que votre - logiciel porté/précompilé mette correctement - à jour le fichier - <filename><makevar>PREFIX</makevar>/info/dir</filename> de - l'utilisateur. (Excusez-moi de la longueur de cette section, mais il - est impératif d'assembler correctement ensemble tous les fichiers - “info;”. Si c'est proprement fait, il en résultera - une <emphasis>belle</emphasis> édition, accordez-moi donc s'il - vous plaît votre attention.)</para> - - <para>Voici ce que vous devez en premier lieu savoir (pour porter un - logiciel) :<footnote><para>Traduction :</para> - <screen>&prompt.user; <userinput>install-info --help</userinput> -install-info [OPTION]... [INFO-FILE [DIR-FILE]] - Installe INFO-FILE dans le répertoire “Info” DIR-FILE. - -Options: ---delete supprime les entrées existantes dans INFO-FILE; - n'insère aucune nouvelle entrée. - : ---entry=TEXT Insère un entrée pour le répertoire “Info;”. - : ---section=SEC Ajoute les entrées de ce fichier à la section SEC de ce répertoire. :</screen></footnote></para> - - <screen>&prompt.user; <userinput>install-info --help</userinput> -install-info [OPTION]... [INFO-FILE [DIR-FILE]] - Install INFO-FILE in the Info directory file DIR-FILE. - -Options: ---delete Delete existing entries in INFO-FILE; - don't insert any new entries. - : ---entry=TEXT Insert TEXT as an Info directory entry. - : ---section=SEC Put this file's entries in section SEC of the directory. :</screen> - - <note> - <para>Ce programme n'installe en fait <emphasis>pas</emphasis> de - fichiers “info”; il ne fait qu'insérer ou supprimer - des entrées au fichier <filename>dir</filename>.</para> - </note> - - <para>Voici une procédure en sept étapes pour adapter les - logiciels à porter pour qu'ils utilisent - <command>install-info</command>. Je prendrais comme exemple - <filename>editors/emacs</filename> :</para> - - <procedure> - <step> - <para>Consultez les sources <application>texinfo</application> et - construisez un fichier de mise à jour qui insère - des instructions <literal>@dircategory</literal> et - <literal>@direntry</literal> aux fichiers où il n'y en a pas. - Voici un extrait de mon - “<foreignphrase>patch</foreignphrase>” :</para> - - <programlisting> ---- ./man/vip.texi.org Fri Jun 16 15:31:11 1995 -+++ ./man/vip.texi Tue May 20 01:28:33 1997 -@@ -2,6 +2,10 @@ - - @setfilename ../info/vip - @settitle VIP -+@dircategory The Emacs editor and associated tools -+@direntry -+* VIP: (vip). A VI-emulation for Emacs. -+@end direntry - - @iftex - @finalout - : - </programlisting> - - <para>Cela doit pouvoir se passer d'explications. De nombreux auteurs - mettent dans leur arborescence des sources un fichier - <filename>dir</filename> qui contient toutes les entrées dont - vous avez besoin, regardez donc à droite et à gauche - avant de le créer vous-même. Veillez aussi à - consulter les entrées pour les logiciels en rapport avec le - voˆtre, pour que vos noms de sections et indentations soient en - cohérence (nous recommandons de mettre les libellés - après la quatrième position de tabulation).</para> - - <note> - <para>Remarquez que vous ne pouvez mettre qu'une entrée - “info” par fichier, à cause d'un bogue - dans <command>install-info --delete</command>, qui ne supprime - que la première entrée de la section - <literal>@direntry</literal> si vous en indiquez plusieurs.</para> - </note> - - <para>Vous pouvez donner les entrées <literal>dir</literal> - comme arguments à <command>install-info</command> - (<option>--section</option> et <option>--entry</option>) au lieu de - rectifier les sources de <application>texinfo</application>. Je ne - trouve pas que cela soit une bonne idée parce que vous devez - répéter la même information à trois - endroits différents (<filename>Makefile</filename> et - <literal>@exec</literal>/<literal>@unexec</literal> de - <filename>PLIST</filename>; voyez plus bas). Néanmoins, si - vous avez des fichiers “info” en Japonais (ou - codés sur plusieurs octets), vous devrez utiliser les - paramètres supplémentaires - d'<command>install-info</command> parce que - <command>makeinfo</command> ne sait pas gérer ces sources - <application>texinfo</application>. (Consultez le - <filename>Makefile</filename> et <filename>PLIST</filename> de - <filename>japanese/skk</filename> pour avoir un exemple de la - manière de procéder.)</para> - </step> - - <step> - <para>Retournez dans le répertoire de votre logiciel - porté, faites un <command>make clean; make</command> et - vérifiez que les fichiers “info” sont - régénérés à partir des sources - <application>texinfo</application>. Comme ces derniers sont plus - récents que les fichiers “info”, ils doivent - être reconstruits par le <command>make</command>; mais de - nombreux <filename>Makefile</filename>s ne comportent pas les - dépendances correctes pour les fichiers “info”. - Dans le cas d'<command>emacs</command>, j'ai dû rectifier le - <filename>Makefile.in</filename> principal pour qu'il aille dans le - sous-répertoire <filename>man</filename> pour reconstruire - les pages “info” :</para> - - <programlisting> ---- ./Makefile.in.org Mon Aug 19 21:12:19 1996 -+++ ./Makefile.in Tue Apr 15 00:15:28 1997 -@@ -184,7 +184,7 @@ - # Sous-répertoires à reconstruire récursivement. `lisp' n'est pas inclus - # parce que les fichiers lisp compilés font partie de la distribution - # et que vous ne pouvez pas les recompiler sans installer d'abord Emacs --SUBDIR = lib-src src -+SUBDIR = lib-src src man - - # makefile des sous-répertoires listés dans $SUBDIR. - SUBDIR_MAKEFILES = lib-src/Makefile man/Makefile src/Makefile oldXMenu/Makefile lwlib/Makefile ---- ./man/Makefile.in.org Thu Jun 27 15:27:19 1996 -+++ ./man/Makefile.in Tue Apr 15 00:29:52 1997 -@@ -66,6 +66,7 @@ - ${srcdir}/gnu1.texi \ - ${srcdir}/glossary.texi - -+all: info - info: $(INFO_TARGETS) - - dvi: $(DVI_TARGETS) - </programlisting> - - <para>La deuxième modification est nécessaire parce que - la cible par défaut dans le sous-répertoire - <filename>man</filename> s'appelle <maketarget>info</maketarget>, - alors que le <filename>Makefile</filename> veut exécuter la - cible <maketarget>all</maketarget>. J'ai aussi supprimé - l'installation du fichier “info” parce que nous en - avons déjà un de même nom dans - <filename>/usr/share/info</filename> (cette correction - n'apparaît pas dans l'exemple).</para> - </step> - - <step> - <para>Si le fichier <filename>dir</filename> est installé par - des instructions quelque part dans le <filename>Makefile</filename>, - supprimez-les. Votre logiciel à porter ne doit pas le faire. - Supprimez aussi toutes les autres commandes qui - “saliraient” le fichier <filename>dir</filename>.</para> - - <programlisting> ---- ./Makefile.in.org Mon Aug 19 21:12:19 1996 -+++ ./Makefile.in Mon Apr 14 23:38:07 1997 -@@ -368,14 +368,8 @@ - if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \ - then \ - (cd ${infodir}; \ -- if [ -f dir ]; then \ -- if [ ! -f dir.old ]; then mv -f dir dir.old; \ -- else mv -f dir dir.bak; fi; \ -- fi; \ - cd ${srcdir}/info ; \ -- (cd $${thisdir}; ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir); \ -- (cd $${thisdir}; chmod a+r ${infodir}/dir); \ - for f in ccmode* cl* dired-x* ediff* emacs* forms* gnus* info* message* mh-e* sc* vip*; do \ - (cd $${thisdir}; \ - ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f; \ - chmod a+r ${infodir}/$$f); \ - </programlisting> - </step> - - <step> - <para>(Cette étape n'est nécessaire que si vous modifiez - un logiciel porté déjà existant.) Consultez - <filename>pkg/PLIST</filename> et supprimez tout ce qui essaye - d'appliquer des rectificatifs à - <filename>info/dir</filename>. Cela peut se produire dans - <filename>pkg/INSTALL</filename> ou un autre fichier, faites donc - une recherche détaillée :</para> - - <programlisting> -Index: pkg/PLIST -=================================================================== -RCS file: /usr/cvs/ports/editors/emacs/pkg/PLIST,v -retrieving revision 1.15 -diff -u -r1.15 PLIST ---- PLIST 1997/03/04 08:04:00 1.15 -+++ PLIST 1997/04/15 06:32:12 -@@ -15,9 +15,6 @@ - man/man1/emacs.1.gz - man/man1/etags.1.gz - man/man1/ctags.1.gz --@unexec cp %D/info/dir %D/info/dir.bak --info/dir --@unexec cp %D/info/dir.bak %D/info/dir - info/cl - info/cl-1 - info/cl-2 - </programlisting> - </step> - - <step> - <para>Ajoutez une cible <maketarget>post-install</maketarget> au - <filename>Makefile</filename> pour créer un fichier - <filename>dir</filename> s'il n'y en a pas. Appelez aussi - <maketarget>install-info</maketarget> pour les fichiers - “info” installés :</para> - - <programlisting> -Index: Makefile -=================================================================== -RCS file: /usr/cvs/ports/editors/emacs/Makefile,v -retrieving revision 1.26 -diff -u -r1.26 Makefile ---- Makefile 1996/11/19 13:14:40 1.26 -+++ Makefile 1997/05/20 10:25:09 1.28 -@@ -20,5 +20,11 @@ - post-install: - .for file in emacs-19.34 emacsclient etags ctags b2m - strip ${PREFIX}/bin/${file} - .endfor -+ if [ ! -f ${PREFIX}/info/dir ]; then \ -+ ${SED} -ne '1,/Menu:/p' /usr/share/info/dir > ${PREFIX}/info/dir; \ -+ fi -+.for info in emacs vip viper forms gnus mh-e cl sc dired-x ediff ccmode -+ install-info ${PREFIX}/info/${info} ${PREFIX}/info/dir -+.endfor - - .include <bsd.port.mk> - </programlisting> - - <para>N'utilisez rien d'autre que - <filename>/usr/share/info/dir</filename> et la commande ci-dessus - pour créer un nouveau fichier “info”. J'ai en - fait ajouté les trois premières lignes du rectificatif - ci-dessus à <filename>bsd.port.mk</filename> pour le cas - o` vous ne l'auriez pas fait par vous-même dans - <filename>PLIST</filename>.</para> - </step> - - <step> - <para>Editez <filename>PLIST</filename> et ajoutez les instructions - <literal>@exec</literal> ainsi que <literal>@unexec</literal> - équivalentes pour <command>pkg_delete</command>. Vous n'avez - pas besoin de supprimer <filename>info/dir</filename> avec - <literal>@unexec</literal> :</para> - - <programlisting> -Index: pkg/PLIST -=================================================================== -RCS file: /usr/cvs/ports/editors/emacs/pkg/PLIST,v -retrieving revision 1.15 -diff -u -r1.15 PLIST ---- PLIST 1997/03/04 08:04:00 1.15 -+++ PLIST 1997/05/20 10:25:12 1.17 -@@ -16,7 +14,15 @@ - man/man1/etags.1.gz - man/man1/ctags.1.gz -+@unexec install-info --delete %D/info/emacs %D/info/dir - : -+@unexec install-info --delete %D/info/ccmode %D/info/dir - info/cl - info/cl-1 -@@ -87,6 +94,18 @@ - info/viper-3 - info/viper-4 -+@exec [ -f %D/info/dir ] || sed -ne '1,/Menu:/p' /usr/share/info/dir > %D/info/dir -+@exec install-info %D/info/emacs %D/info/dir - : -+@exec install-info %D/info/ccmode %D/info/dir - libexec/emacs/19.34/i386--freebsd/cvtmail - libexec/emacs/19.34/i386--freebsd/digest-doc - </programlisting> - - <note> - <para>Les commandes <literal>@unexec install-info --delete</literal> - doivent être placées avant les fichiers - “info” eux-mêmes pour qu'elles puissent lire - les fichiers. Il faut aussi placer les commandes - <literal>@exec install-info</literal> après les fichiers - “info” et la commande <literal>@exec</literal> qui - crée le fichier <filename>dir</filename> file.</para> - </note> - </step> - - <step> - <para><link linkend="porting-testing">Testez</link> et admirez votre - oeuvre. <!-- smiley --><emphasis>:)</emphasis>. Vérifiez le - fichier <filename>dir</filename> avant et après chaque - étape.</para> - </step> - </procedure> - </sect2> - - <sect2> - <title>Le sous répertoire <filename>pkg/</filename></title> - - <para>Il y a quelques astuces dont je n'ai pas encore parlé - à propos du sous-répertoire <filename>pkg/</filename> qui - sont parfois utiles.</para> - - <sect3 id="porting-message"> - <title><filename>MESSAGE</filename></title> - - <para>Si vous avez besoin d'afficher un message lors de l'installation, - vous pouvez le mettre dans <filename>pkg/MESSAGE</filename>. Cette - fonctionnalité sert souvent à informer des étapes - d'installation qui doivent être effectuées après - <command>pkg_add</command> ou pour afficher des informations à - propos de la licence.</para> - - <note> - <para>Il n'y a pas besoin d'ajouter le fichier - <filename>pkg/MESSAGE</filename> à - <filename>pkg/PLIST</filename>. D'autre part, il ne sera pas - affiché automatiquement si l'utilisateur installe le logiciel - porté au lieu du logiciel précompilé, vous - devriez donc probablement l'afficher vous-même depuis la cible - <maketarget>post-install</maketarget>.</para> - </note> - </sect3> - - <sect3> - <title><filename>INSTALL</filename></title> - - <para>S'il faut exécuter des commandes lors de l'installation du - logiciel précompilé avec <command>pkg_add</command>, - vous pouvez le faire avec la procédure - <filename>pkg/INSTALL</filename>. Cette procédure sera - automatiquement ajoutée au paquetage et exécutée - deux fois par <command>pkg_add</command>. La première fois sous - la forme <literal>INSTALL ${PKGNAME} PRE-INSTALL</literal> et - la seconde fois sous la forme - <literal>INSTALL ${PKGNAME} POST-INSTALL</literal>. Vous pouvez - tester <literal>$2</literal> pour savoir comment la - procédure a été appelée. La variable - d'environnement <envar>PKG_PREFIX</envar> contient le chemin - d'accès au répertoire d'installation du logiciel. - Reportez-vous aux pages de manuel de &man.pkg.add.1; pour plus - d'informations.</para> - - <note> - <para>Cette procédure n'est pas exécutée - automatiquement si le logiciel porté est installé avec - <command>make install</command>. Si vous avez besoin qu'elle le - soit, vous devrez l'appeler explicitement depuis le - <filename>Makefile</filename> du logiciel porté.</para> - </note> - </sect3> - - <sect3> - <title><filename>REQ</filename></title> - - <para>Si votre logiciel à porter doit déterminer s'il doit - être installé ou non, vous pouvez créer une - procédure - <filename>pkg/REQ</filename> - “requis”. Elle - sera appelée automatiquement lors de l'installation et de la - désinstallation pour décider s'il faut ou non effectuer - l'opération.</para> - </sect3> - - <sect3 id="porting-plist"> - <title>Modifier <filename>PLIST</filename> sur la base de variables - du <command>make</command></title> - - <para>Certains logiciels portés, en particulier les logiciels - <literal>p5-...</literal>, doivent modifier leur - <filename>PLIST</filename> selon les options avec lesquelles ils sont - configurés (ou la version de perl, dans le cas des logiciels - <literal>p5-...</literal>). Pour rendre les choses plus faciles, - toutes les occurrences de <literal>%%OSREL%%</literal>, - <literal>%%PERL_VER%%</literal> et <literal>%%PERL_VERSION%%</literal> - dans la <filename>PLIST</filename> seront remplacées par les - valeurs appropriées. La valeur de <literal>%%OSREL%%</literal> - est le numéro de version du système d'exploitation - (e.g., <literal>2.2.7</literal>). <literal>%%PERL_VERSION%%</literal> - est le numéro de version complet de perl (e.g., - <literal>5.00502</literal>) et <literal>%%PERL_VER%%</literal> est le - numéro de version de perl, sans le niveau de - “<foreignphrase>patch</foreignphrase>” (e.g., - <literal>5.005</literal>).</para> - - <para>Si vous avez besoin d'autres substitutions, vous pouvez renseigner - la variable <makevar>PLIST_SUB</makevar> avec une liste de doublets - <literal><replaceable>VAR</replaceable>=<replaceable>VALUE</replaceable></literal> - et toutes les occurrences de - <literal>%%<replaceable>VAR</replaceable>%%</literal> seront - remplacées par <replaceable>VALUE</replaceable> dans la - <filename>PLIST</filename>.</para> - - <para>Par exemple, si votre logiciel à porter installe de - nombreux fichiers dans un sous-répertoire différent - selon la version, vous pouvez mettre quelque chose comme :</para> - - <programlisting> -OCTAVE_VERSION= 2.0.13 -PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION} - </programlisting> - - <para>dans le <filename>Makefile</filename> et utiliser - <literal>%%OCTAVE_VERSION%%</literal> chaque fois que la version - apparaît dans la <filename>PLIST</filename>. De cette - façon, lorsque vous mettez à jour le logiciel, vous - n'aurez pas à modifier des douzaines (dans certains cas, des - centaines) de lignes dans la <filename>PLIST</filename>.</para> - - <para>Cette substitution (de même que l'ajout des - <link linkend="porting-manpages">pages de manuel</link>) est faite - entre les cibles <maketarget>do-install</maketarget> et - <maketarget>post-install</maketarget>, en lisant - <makevar>PLIST</makevar> et en écrivant dans - <makevar>TMPPLIST</makevar> (par défaut : - <filename><makevar>WRKDIR</makevar>/.PLIST.mktmp</filename>). Si votre - logiciel à porter construit <makevar>PLIST</makevar> à - la volée, faites-le alors dans ou avant - <maketarget>do-install</maketarget>. De plus, si votre logiciel a - besoin de modifier le fichier obtenu, faites-le dans - <maketarget>post-install</maketarget> et dans un fichier appelé - <makevar>TMPPLIST</makevar>.</para> - </sect3> - - <sect3> - <title id="porting-pkgsubdir">Changer les noms des fichiers du - sous-répertoire <filename>pkg</filename></title> - - <para>Tous les noms de fichier du sous-répertoire - <filename>pkg</filename> sont définis par des variables, vous - pouvez donc les changer dans votre <filename>Makefile</filename> si - besoin est. C'est particulièrement utile si vous partager le - même sous-répertoire <filename>pkg</filename> entre - plusieurs logiciels portés ou devez écrire dans l'un - de ces fichiers (voyez la section - <link linkend="porting-wrkdir">Ecrire ailleurs que dans - <makevar>WRKDIR</makevar></link> pour savoir pourquoi c'est une - mauvaise idée d'écrire directement dans le - sous-répertoire <filename>pkg</filename>.</para> - - <para>Voici la liste de ces variables et leurs valeurs par - défaut :</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Variable</entry> - <entry>Valeur par défaut</entry> - </row> - </thead> - - <tbody> - <row> - <entry><makevar>COMMENT</makevar></entry> - <entry><literal>${PKGDIR}/DESCR</literal></entry> - </row> - - <row> - <entry><makevar>DESCR</makevar></entry> - <entry><literal>${PKGDIR}/DESCR</literal></entry> - </row> - - <row> - <entry><makevar>PLIST</makevar></entry> - <entry><literal>${PKGDIR}/PLIST</literal></entry> - </row> - - <row> - <entry><makevar>PKGINSTALL</makevar></entry> - <entry><literal>${PKGDIR}/PKGINSTALL</literal></entry> - </row> - - <row> - <entry><makevar>PKGDEINSTALL</makevar></entry> - <entry><literal>${PKGDIR}/PKGDEINSTALL</literal></entry> - </row> - - <row> - <entry><makevar>PKGREQ</makevar></entry> - <entry><literal>${PKGDIR}/REQ</literal></entry> - </row> - - <row> - <entry><makevar>PKGMESSAGE</makevar></entry> - <entry><literal>${PKGDIR}/MESSAGE</literal></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Modifiez s'il vous plaît ces variables plutôt que de - surcharger <makevar>PKG_ARGS</makevar>. Si vous modifiez - <makevar>PKG_ARGS</makevar>, ces fichiers ne seront pas correctement - installés dans <filename>/var/db/pkg</filename> lors de - l'installation sous forme de logiciel porté.</para> - </sect3> - </sect2> - - <sect2> - <title>Problèmes de licence</title> - - <para>Certains logiciels ont des licences qui imposent des restrictions ou - peuvent violer la loi. (Le brevet de PKP sur la cryptographie ` - clé publique et ITAR - exportation de logiciel de - cryptographie - pour ne citer que deux exemples). Ce que nous - pouvons en faire varie beaucoup, selon les termes exacts de leurs - licences respectives.</para> - - <note> - <para>Il est de votre responsabilité, pour le logiciel que vous - porter, de lire les termes de la licence et de vous assurer que le - projet FreeBSD ne pourra pas être accusé de les violer en - redistribuant le source ou les binaires compilés que ce soit - par ftp ou sur CD-ROM. En cas de doute, contactez-la &a.ports;.</para> - </note> - - <para>Il y a deux variables que vous pouvez définir dans le - <filename>Makefile</filename> pour gérer les situations qui se - produisent souvent :</para> - - <orderedlist> - <listitem> - <para>Si le logiciel à porter a une licence de type “non - commercialisable” affectez à la variable - <makevar>NO_CDROM</makevar> une chaîne de caractères - expliquant pourquoi. Nous vérifierons que ces logiciels - ne soient pas sur le CD-ROM au moment de la parution. Les archives - du source et le paquetage seront cependant disponibles par - ftp.</para> - </listitem> - - <listitem> - <para>S'il faut recompiler le logiciel porté sur chaque site, - ou si le logiciel précompilé ne peut pas être - redistribué du fait de sa licence, affectez à la - variable <makevar>NO_PACKAGE</makevar> une chaîne de - caractères expliquant pourquoi. Nous vérifierons que - ces logiciels précompilés ne soient pas sur le site - ftp ni sur le CD-ROM au moment de la parution. Les archives du - source seront cependant disponibles sur les deux.</para> - </listitem> - - <listitem> - <para>S'il y a des restrictions légales à l'utilisation - du logiciel (e.g., cryptographie) ou que la licence est du type - “pas d'usage commercial”, affectez à la variable - <makevar>RESTRICTED</makevar> une chaîne de caractères - expliquant pourquoi. Pour ces logiciels, ni les archives du source - ni le logiciel précompilé ne seront même - disponibles sur nos sites ftp.</para> - </listitem> - </orderedlist> - - <note> - <para>La Licence Publique Générale - GNU - <foreignphrase>GNU General Public License - (GPL)</foreignphrase>, version 1 et 2, ne pose normalement pas de - problème pour les logiciels portés.</para> - </note> - - <note> - <para>Si vous êtes - “<foreignphrase>committer</foreignphrase>”, veillez - à mettre aussi à jour le fichier - <filename>ports/LEGAL</filename>.</para> - </note> - </sect2> - - <sect2> - <title>Mises à jour</title> - - <para>Si vous constatez qu'un logiciel porté n'est pas - synchronisé avec la plus récente version des auteurs - originaux, vérifiez d'abord que vous avez la dernière - version du logiciel porté. Vous la trouverez dans le - répertoire <filename>ports/ports-current</filename> des sites - miroir ftp.</para> - - <para>Envoyez ensuite un courrier électronique au responsable de - la maintenance, s'il est mentionné dans le - <filename>Makefile</filename> du logiciel. Il est peut-être - déjà en train de travailler sur la mise à jour, ou - a une bonne raison de ne pas la faire (par exemple à cause de - problèmes de stabilité de la nouvelle version).</para> - - <para>Si le responsable de la maintenance vous demande de mettre le - logiciel à jour ou s'il n'y a tout simplement pas de responsable, - faites cette mise à jour et envoyez un delta récursif - (soit contextuel soit unifié, mais les responsables de - l'arborescence des logiciels portés préfèrent le - format unifié) entre les anciens et les nouveaux - répertoires du logiciel (e.g., si votre répertoire - modifié s'appelle <filename>superedit</filename> et l'original - tel que dans notre arborescence <filename>superedit.bak</filename>, - envoyez nous alors le résultat de - <command>diff -ruN superedit.bak superedit</command>). - Contrôlez-le s'il vous plaît pour vérifier que toutes - les modifications sont cohérentes. La meilleure façon de - nous l'envoyer est de l'inclure dans un &man.send-pr.1; - (catégorie <literal>ports</literal>). Précisez s'il vous - plaît quels sont les fichiers ajoutés et supprimés, - parce qu'il faut explicitement les indiquez à CVS au moment de le - mise à jour. Si le delta fait plus de 20Ko, compressez-le et - codez-le avec <application>uuencode</application>; sinon, incluez-le - seulement tel quel dans le PR.</para> - - <para>Une fois encore, utilisez s'il vous plaît &man.diff.1; et non - &man.shar.1; pour nous envoyer les mises à jour des logiciels - portés.</para> - </sect2> - - <sect2> - <title><anchor id="porting-dads">A faire à ne pas faire</title> - - <para>Voici une liste de ce qu'il faut habituellement faire ou - éviter lors d'un portage. Vous devriez utiliser cette liste - pour valider votre propre portage et vous pouvez aussi contrôler - les logiciels que d'autres ont soumis dans la base des données - des rapports d'incidents. Transmettez tous vos commentaires au sujet des - logiciels portés dans la rubrique - <link linkend="contrib-general">Rapports d'incidents et commentaires - généraux - <foreignphrase>Bug Reports and - General Commentary</foreignphrase></link>. Validez les logiciels - portés mentionnés dans la base nous permettra de les - intégrer plus rapidement et prouvera en même temps que vous - savez ce que vous faites.</para> - - <sect3> - <title>Nettoyez les binaires</title> - - <para>Supprimez les informations - inutiles - <foreignphrase>strip</foreignphrase> - des - binaires. Si c'est déjà fait par le source d'origine, - tant mieux; sinon ajoutez une règle à la cible - <maketarget>post-install</maketarget> pour le faire vous-même. - Voici un example :</para> - - <programlisting> -post-install: - strip ${PREFIX}/bin/xdl - </programlisting> - - <para>Utilisez la commande &man.file.1; sur l'exécutable - installé pour voir s'il est déjà nettoyé. - Si elle ne vous répond pas <literal>not stripped</literal>, - c'est déjà fait.</para> - </sect3> - - <sect3> - <title>macros-instruction INSTALL_*</title> - - <para>Utilisez les macros-instructions fournies par - <filename>bsd.port.mk</filename> pour être sûr que les - droits sur les fichiers sont correctement gérés par vos - cibles <maketarget>*-install</maketarget>. Ce sont :</para> - - <itemizedlist> - <listitem> - <para><makevar>INSTALL_PROGRAM</makevar> pour installer les binaires - exécutables,</para> - </listitem> - - <listitem> - <para><makevar>INSTALL_SCRIPT</makevar> pour installer les - procédures exécutables,</para> - </listitem> - - <listitem> - <para><makevar>INSTALL_DATA</makevar> pour installer les - données partageables,</para> - </listitem> - - <listitem> - <para><makevar>INSTALL_MAN</makevar> pour installer les pages de - manuel et autres documentations (cela ne compresse rien).</para> - </listitem> - </itemizedlist> - - <para>Ces macros-instructions sont essentiellement composées - d'une commande <command>install</command> avec les options - appropriées. Vous trouverez plus bas un exemple de leur - utilisation.</para> - </sect3> - - <sect3 id="porting-wrkdir"> - <title><makevar>WRKDIR</makevar></title> - - <para>N'écrivez rien en dehors de <makevar>WRKDIR</makevar>. - <makevar>WRKDIR</makevar> est le seul endroit où vous - êtes sûr de pouvoir écrire pendant la - compilation d'un logiciel porté (reportez-vous à la - section <link linkend="ports-cd">compiler les logiciels portés - depuis un CD-ROM</link> pour avoir un example de compilation de - logiciels portés dans une arborescence en lecture seule). - example of building ports from a read-only tree). S'il vous faut - modifier un fichier dans <makevar>PKGDIR</makevar>, faites-le en - <link linkend="porting-pkgsubdir">redéfinissant une - variable</link>, non en l'écrasant.</para> - </sect3> - - <sect3> - <title><makevar>WRKDIRPREFIX</makevar></title> - - <para>Veillez à utiliser <makevar>WRKDIRPREFIX</makevar>. - Cela ne concerne pas la plupart des logiciels portés. Mais, - en particulier si vous faites référence au - <makevar>WRKDIR</makevar> d'un autre logiciel, notez que la - référence correcte est - <filename><makevar>WRKDIRPREFIX</makevar><makevar>PORTSDIR</makevar>/<replaceable>sous-répertoire</replaceable>/<replaceable>nom</replaceable>/work</filename> - et non <filename><makevar>PORTSDIR</makevar>/<replaceable>sous-répertoire</replaceable>/<replaceable>nom</replaceable>/work</filename> - ou <filename><makevar>.CURDIR</makevar>/../../<replaceable>sous-répertoire</replaceable>/<replaceable>nom</replaceable>/work</filename> - ou autre chose encore.</para> - - <para>Par ailleurs, si vous définissez vous-même - <makevar>WRKDIR</makevar>, veillez à bien le faire commencer - par <literal>${WKRDIRPREFIX}${.CURDIR}</literal>.</para> - </sect3> - - <sect3 id="porting-versions"> - <title>Distinguer les systèmes d'exploitation et leurs - versions</title> - - <para>Vous pouvez tomber sur du code qui doit être modifié - ou compilé conditionnellement selon la version d'Unix sur - laquelle il s'exécutera. Si vous avez besoin de faire ce type - de modifications du code ou de mettre en place une compilation - conditionelle, veillez à ce que vos modifications soient aussi - générales que possible, de sorte que nous puissions - rétroporter le code sur les systèmes FreeBSD 1.x et le - porter sur les autres systèmes BSD tels que 4.4BSD du CSRG, - BSD/386, 386BSD, NetBSD et OpenBSD.</para> - - <para>La solution appropriée pour distinguer 4.3BSD/Reno(1990) et - les versions ultérieures de BSD est d'utiliser la - macro-instruction <literal>BSD</literal> définie dans - <filename><sys/param.h></filename>. Avec de la chance, ce - fichier est déjà inclus; si ce n'est pas le cas, - ajoutez :</para> - - <programlisting> -#if (defined(__unix__) || defined(unix)) && !defined(USG) -#include <sys/param.h> -#endif - </programlisting> - - <para>à l'endroit voulu dans le fichier <filename>.c</filename>. - Nous estimons que tous les systèmes qui définissent ces - deux symboles disposent d'un <filename>sys/param.h</filename>. Si vous - tombez sur un système pour lequel ce n'est pas le cas, nous - aimerions le savoir. Envoyez un courrier électronique à - la &a.ports;.</para> - - <para>L'autre moyen est d'utiliser le style GNU - <application>autoconf</application> de faire ce genre de - choses :</para> - - <programlisting> -#ifdef HAVE_SYS_PARAM_H -#include <sys/param.h> -#endif - </programlisting> - - <para>N'oubliez pas d'ajouter <literal>-DHAVE_SYS_PARAM_H</literal> - à <makevar>CFLAGS</makevar> dans le - <filename>Makefile</filename> dans ce cas.</para> - - <para>Une fois que vous avez inclus - <filename>sys/param.h</filename> vous pouvez utiliser :</para> - - <programlisting> -#if (defined(BSD) && (BSD >= 199103)) - </programlisting> - - <para>pour savoir si le code est compilé sur un système - basé sur 4.3 Net2 ou sur une version ultérieure (e.g., - FreeBSD 1.x, 4.3/Reno, NetBSD 0.9, 386BSD, BSD/386 1.1 et - antérieurs).</para> - - <para>Utilisez :</para> - - <programlisting> -#if (defined(BSD) && (BSD >= 199306)) - </programlisting> - - <para>pour savoir si le code est compilé sur un système - basé sur 4.4 ou sur une version ultérieure (e.g., - FreeBSD 2.x, 4.4, NetBSD 1.0, 386BSD, BSD/386 2.0 et - ultérieurs).</para> - - <para>La macro-instruction <literal>BSD</literal> prend la valeur - <literal>199506</literal> lorsque le code est basé sur - 4.4BSD-Lite2. Ceci n'est donné qu'à titre d'information - et ne doit pas être utilisé pour distinguer les versions - de FreeBSD basées sur 4.4-Lite de celles qui ont - intégré les modifications introduites avec - 4.4-Lite2. Il faut utiliser pour cela la macro-instruction - <literal>__FreeBSD__</literal>.</para> - - <para>Utilisez avec modération :</para> - - <itemizedlist> - <listitem> - <para><literal>__FreeBSD__</literal> est définie dans toutes - les versions de FreeBSD. Utilisez-la si vos modifications - ne concernent <emphasis>que</emphasis> FreeBSD. Des trucs de - portage tel que remplacer <function>strerror()</function> - par <literal>sys_errlist[]</literal> sont propres aux - systèmes Berkeley, et non à FreeBSD.</para> - </listitem> - - <listitem> - <para>Sous FreeBSD 2.x, <literal>__FreeBSD__</literal> prend la - valeur <literal>2</literal>. Dans les versions antérieures, - elle vaut <literal>1</literal>. Les versions suivantes - l'augmenteront pour qu'elle soit égale à leur - numéro de version majeure.</para> - </listitem> - - <listitem> - <para>Si vous avez besoin de faire la différence entre un - système FreeBSD 2.x et un système 3.x, la bonne - manière de faire est normalement d'utiliser les - macros-instructions <literal>BSD</literal> décrites plus - haut. S'il y a effectivement des modifications spécifiques - à FreeBSD (une option particulière pour une - bibliothèque partiagée avec <command>ld</command>), - vous pouvez alors à juste titre utiliser - <literal>__FreeBSD__</literal> et - <literal>#if __FreeBSD__ > 1</literal> pour tester s'il s'agit - d'un système FreeBSD 2.x ou ultérieur. Si vous - avez besoin d'une particularisation plus fine des systèmes - FreeBSD à partir de 2.0-release, vous pouvez vous servir - de :</para> - - <programlisting> -#if __FreeBSD__ >= 2 -#include <osreldate.h> -# if __FreeBSD_version >= 199504 - /* code propre à la version 2.0.5 et ultérieures */ -# endif -#endifi - </programlisting> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Version de FreeBSD</entry> - <entry><literal>__FreeBSD_version</literal></entry> - </row> - </thead> - - <tbody> - <row> - <entry>2.0-RELEASE</entry> - <entry>119411</entry> - </row> - - <row> - <entry>2.1-CURRENTs</entry> - <entry>199501, 199503</entry> - </row> - - <row> - <entry>2.0.5-RELEASE</entry> - <entry>199504</entry> - </row> - - <row> - <entry>2.2-CURRENT avant 2.1</entry> - <entry>199508</entry> - </row> - - <row> - <entry>2.1.0-RELEASE</entry> - <entry>199511</entry> - </row> - - <row> - <entry>2.2-CURRENT aprè 2.1.5</entry> - <entry>199512</entry> - </row> - - <row> - <entry>2.1.5-RELEASE</entry> - <entry>199607</entry> - </row> - - <row> - <entry>2.2-CURRENT aprés 2.1.6</entry> - <entry>199608</entry> - </row> - - <row> - <entry>2.1.6-RELEASE</entry> - <entry>199612</entry> - </row> - - <row> - <entry>2.1.7-RELEASE</entry> - <entry>199612</entry> - </row> - - <row> - <entry>2.2-RELEASE</entry> - <entry>220000</entry> - </row> - - <row> - <entry>2.2.1-RELEASE</entry> - <entry>220000 (pas de changement)</entry> - </row> - - <row> - <entry>2.2-STABLE after 2.2.1-RELEASE</entry> - <entry>220000 (pas de changement)</entry> - </row> - - <row> - <entry>2.2-STABLE après introduction de - texinfo-3.9</entry> - <entry>221001</entry> - </row> - - <row> - <entry>2.2-STABLE après introduction de top</entry> - <entry>221002</entry> - </row> - - <row> - <entry>2.2.2-RELEASE</entry> - <entry>222000</entry> - </row> - - <row> - <entry>2.2-STABLE après 2.2.2-RELEASE</entry> - <entry>222001</entry> - </row> - - <row> - <entry>2.2.5-RELEASE</entry> - <entry>225000</entry> - </row> - - <row> - <entry>2.2-STABLE après 2.2.5-RELEASE</entry> - <entry>225001</entry> - </row> - - <row> - <entry>2.2-STABLE après fusion avec - ldconfig -R</entry> - <entry>225002</entry> - </row> - - <row> - <entry>2.2.6-RELEASE</entry> - <entry>226000</entry> - </row> - - <row> - <entry>2.2.7-RELEASE</entry> - <entry>227000</entry> - </row> - - <row> - <entry>2.2-STABLE après 2.2.7-RELEASE</entry> - <entry>227001</entry> - </row> - - <row> - <entry>2.2-STABLE après modification de - <citerefentry><refentrytitle>semctl</refentrytitle> - <manvolnum>2</manvolnum></citerefentry></entry> - <entry>227002</entry> - </row> - - <row> - <entry>2.2.8-RELEASE</entry> - <entry>228000</entry> - </row> - - <row> - <entry>2.2-STABLE après 2.2.8-RELEASE</entry> - <entry>228001</entry> - </row> - - <row> - <entry>3.0-CURRENT avant modification de - <citerefentry><refentrytitle>mount</refentrytitle> - <manvolnum>2</manvolnum></citerefentry></entry> - <entry>300000</entry> - </row> - - <row> - <entry>3.0-CURRENT après modification de - <citerefentry><refentrytitle>mount</refentrytitle> - <manvolnum>2</manvolnum></citerefentry> change</entry> - <entry>300002</entry> - </row> - - <row> - <entry>3.0-CURRENT après modification des - arguments de ioctl</entry> - <entry>300003</entry> - </row> - - <row> - <entry>3.0-CURRENT après conversions au format - ELF</entry> - <entry>300004</entry> - </row> - - <row> - <entry>3.0-RELEASE</entry> - <entry>300005</entry> - </row> - - <row> - <entry>3.0-CURRENT après 3.0-RELEASE</entry> - <entry>300006</entry> - </row> - - <row> - <entry>3.0-STABLE après introduction de la - branche 4.x</entry> - <entry>300007</entry> - </row> - - <row> - <entry>3.1-RELEASE</entry> - <entry>310000</entry> - </row> - - <row> - <entry>3.1-STABLE après 3.1-RELEASE</entry> - <entry>310001</entry> - </row> - - <row> - <entry>4.0-CURRENT après introduction de la - branche 4.x</entry> - <entry>400000</entry> - </row> - - </tbody> - </tgroup> - </informaltable> - </listitem> - </itemizedlist> - - <note> - <para>Remarquz que 2.2-stable s'identifie parfois elle-même - comme “2.2.5-stable” après la 2.2.5-release. La - clé était autrefois l'année suivie du mois, - mais nous avons décidé d'en changer pour un - système plus explicite constitué des numéros de - versions majeure et mineure à partir de la 2.2. Cela parce - que le développement parallèle sur plusieurs - branches rendait impossible le classement des versions simplement - par leur date effective de livraison. Si vous portez aujourd'hui - un logiciel, vous n'avez pas à vous soucier des anciennes - versions <literal>-current</literal>s; elles ne sont - mentionnées ici qu'à titre de - référence.</para> - </note> - - <para>Dans les centaines de logiciels qui ont été - portés, il n'y a qu'un ou deux cas où il fallait - effectivement utiliser <literal>__FreeBSD__</literal>. Ce n'est pas - parce qu'un portage antérieur n'a pas été bien - fait et s'en est servi à tort qu'il faut - perséverer.</para> - </sect3> - - <sect3> - <title>Mettre quelque chose après - <filename>bsd.port.mk</filename></title> - - <para>Ne mettez rien après la ligne <literal>.include - <bsd.port.mk></literal>. Cela peut être le plus souvent - évité en incluant - <filename>bsd.port.pre.mk</filename> quelque part au milieu de votre - <filename>Makefile</filename> et - <filename>bsd.port.post.mk</filename> à la fin.</para> - - <note> - <para>Vous devez inclure soit le couple - <filename>pre.mk</filename>/<filename>post.mk</filename> soit - <filename>bsd.port.mk</filename> uniquement; ne mélangez - pas les deux.</para> - </note> - - <para><filename>bsd.port.pre.mk</filename> ne définit que - quelques variables, qui peuvent être testées dans le - <filename>Makefile</filename>, <filename>bsd.port.post.mk</filename> - prend en charge tout le reste.</para> - - <para>Voici quelques unes des variables importantes qui sont - définies dans <filename>bsd.port.pre.mk</filename> (ce n'est - pas une liste exhaustive, reportez-vous s'il vous plaît à - <filename>bsd.port.mk</filename> pour avoir une liste - complète).</para> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Variable</entry> - <entry>Description</entry> - </row> - </thead> - - <tbody> - <row> - <entry><makevar>ARCH</makevar></entry> - <entry>L'architecture sous le même forme que le - résultat de <command>uname -m</command> (e.g., - <literal>i386</literal>)</entry> - </row> - - <row> - <entry><makevar>OPSYS</makevar></entry> - <entry>Le système d'exploitation, sous le même - forme que le résultat de la commande - <command>uname -s</command> (e.g., - <literal>FreeBSD</literal>)</entry> - </row> - - <row> - <entry><makevar>OSREL</makevar></entry> - <entry>La version du système d'exploitation (e.g., - <literal>2.1.5</literal> ou - <literal>2.2.7</literal>)</entry> - </row> - - <row> - <entry><makevar>OSVERSION</makevar></entry> - <entry>La version sous forme numérique du système - d'exploitation, identique à - <link linkend="porting-versions"><literal>__FreeBSD_version</literal></link>.</entry> - </row> - - <row> - <entry><makevar>PORTOBJFORMAT</makevar></entry> - <entry>Le format “objet” du système - (<literal>aout</literal> or <literal>elf</literal>)</entry> - </row> - - <row> - <entry><makevar>LOCALBASE</makevar></entry> - <entry>La racine de l'arborescence “locale” (e.g., - <literal>/usr/local/</literal>)</entry> - </row> - - <row> - <entry><makevar>X11BASE</makevar></entry> - <entry>La racine de l'arborescence “X11” (e.g., - <literal>/usr/X11R6</literal>)</entry> - </row> - - <row> - <entry><makevar>PREFIX</makevar></entry> - <entry>Où le logiciel s'installe lui-même - (Reportez-vous à la section - <link linkend="porting-prefix"><makevar>PREFIX</makevar></link> - pour plus d'informations).</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <note> - <para>Si vous avez besoin de définir les variables - <makevar>USE_IMAKE</makevar>, <makevar>USE_X_PREFIX</makevar> ou - <makevar>MASTERDIR</makevar>, faites-le avant d'inclure - <filename>bsd.port.pre.mk</filename>.</para> - </note> - - <para>Voici quelques exemples de ce que vous pouvez mettre après - <filename>bsd.port.pre.mk</filename> :</para> - - <programlisting> -# il est inutile de compiler lang/perl5 si perl5 fait déjà partie du système -.if ${OSVERSION} > 300003 -BROKEN= perl fait partie du système -.endif - -# un seule numéro de version de bibliothèque partagée en ELF -.if ${PORTOBJFORMAT} == "elf" -TCL_LIB_FILE= ${TCL_LIB}.${SHLIB_MAJOR} -.else -TCL_LIB_FILE= ${TCL_LIB}.${SHLIB_MAJOR}.${SHLIB_MINOR} -.endif - -# le logiciel fait déjà les liens pour ELF, mais pas pour a.out -post-install: -.if ${PORTOBJFORMAT} == "aout" - ${LN} -sf liblinpack.so.1.0 ${PREFIX}/lib/liblinpack.so -.endif - </programlisting> - </sect3> - - <sect3> - <title>Installer des documentations supplémentaires</title> - - <para>Si votre logiciel à porter est accompagné d'autres - documentations que les habituelles pages de manuel ou - “info”, que vous trouvez utiles, installez-les dans - <filename><makevar>PREFIX</makevar>/share/doc</filename>. - Vous pouvez le faire de même, comme expliqué plus haut - avec la cible <maketarget>post-install</maketarget>.</para> - - <para>Créez un nouveau sous-répertoire pour votre logiciel - à porter. Le nom de ce sous-répertoire devrait faire - référence à son contenu. Cela signifie la plupart - du temps que ce sera le <makevar>PKGNAME</makevar> sans le - numéro de version. Si vous pensez toutefois que l'utilisateur - voudra peut-être installer différentes versions du - logiciel, utilisez alors le <makevar>PKGNAME</makevar> complet.</para> - - <para>Paramétrez l'installation en utilisant la variable - <makevar>NOPORTDOCS</makevar> pour que les utilisateurs puissent ne - pas installer ces documentations, en se servant de - <filename>/etc/make.conf</filename>, s'ils le souhaitent, comme - suit :</para> - - <programlisting> -post-install: -.if !defined(NOPORTDOCS) - ${MKDIR}${PREFIX}/share/doc/xv - ${INSTALL_MAN} ${WRKSRC}/docs/xvdocs.ps ${PREFIX}/share/doc/xv -.endif - </programlisting> - - <para>N'oubliez pas de les ajouter aussi à - <filename>pkg/PLIST</filename> ! (Ne vous souciez pas ici de - <makevar>NOPORTDOCS</makevar>; il n'y a aujourd'hui aucun moyen pour - que les procédures d'installation des logiciels - précompilés lisent les variables de - <filename>/etc/make.conf</filename>.)</para> - - <para>Vous pouvez aussi vous servir du fichier - <filename>pkg/MESSAGE</filename> pour afficher des messages à - l'installation. Reportez-vous à la section sur l'utilisation - de - <link linkend="porting-message"><filename>pkg/MESSAGE</filename></link> - pour plus d'informations.</para> - - <note> - <para>Il n'y a pas besoin d'ajouter <filename>MESSAGE</filename> - à <filename>pkg/PLIST</filename>.</para> - </note> - </sect3> - - <sect3> - <title><makevar>DIST_SUBDIR</makevar></title> - - <para>Evitez que votre logiciel n'encombre - <filename>/usr/ports/distfiles</filename>. S'il doit rapatrier de - nombreux fichiers ou comporte un fichier dont le nom est - déjà utilisé par un autre logiciel (e.g., - <filename>Makefile</filename>), donnez à - <makevar>DIST_SUBDIR</makevar> le nom du logiciel - (<makevar>PKGNAME</makevar> sans le numéro de version devrait - faire l'affaire). Cela modifiera <makevar>DISTDIR</makevar> de - <filename>/usr/ports/distfiles</filename> par défaut, en - <filename>/usr/ports/distfiles/<makevar>DIST_SUBDIR</makevar></filename> - et mettra effectivement tout ce dont a besoin votre logiciel à - porter dans ce sous-répertoire. </para> - - <para>Le sous-répertoire du même nom sur le site principal - de secours <filename>ftp.freebsd.org</filename> sera aussi - consulté (Positionner explicitement <makevar>DISTDIR</makevar> - dans votre <makevar>Makefile</makevar> n'aboutira pas au même - résultat, utilisez s'il vous plaît - <makevar>DIST_SUBDIR</makevar>.)</para> - - <note> - <para>Cela n'a pas d'effet sur les <makevar>MASTER_SITES</makevar> que - vous définissez dans votre - <filename>Makefile</filename>.</para> - </note> - </sect3> - - <sect3> - <title>Informations sur le paquetage</title> - - <para>Ne mettez pas les informations sur le paquetage, i.e. - <filename>COMMENT</filename>, <filename>DESCR</filename> et - <filename>PLIST</filename> dans <filename>pkg</filename>.</para> - - <note> - <para>Notez bien que ces fichiers ne sont plus utilisés - uniquement pour la version précompilée et sont - maintenant <emphasis>indispensables</emphasis>, même si la - variable <makevar>NO_PACKAGE</makevar> est définie.</para> - </note> - </sect3> - - <sect3> - <title>Chaînes RCS</title> - - <para>Ne mettez pas les chaînes RCS dans les fichiers de mise - à niveau - <foreignphrase>patches</foreignphrase>. - CVS les modifiera quand nous mettrons les fichiers dans l'arborescence - des logiciels portés et de nouveau lorsque nous les - extrairons ensuite et les mises à jour échouerons. Les - chaînes RCS sont encadrées par des caractères - “dollar” (<literal>$</literal>), et commencent - typiquement par <literal>$Id</literal> ou - <literal>$RCS</literal>.</para> - </sect3> - - <sect3> - <title>“diff” récursifs</title> - - <para>Il est bien d'utiliser la récursivité - (<option>-r</option>) avec <command>diff</command> pour - générer les fichiers de mise à jour, mais - examinez s'il vous plaît le résultat pour vous assurer - qu'il n'est pas pollué par trop de choses inutiles. En - particulier, les deltas entre fichiers dupliqués pour - sauvegarder la version originale, les <filename>Makefile</filename>s - alors que le logiciel à porter utilise - <command>Imake</command> ou GNU <command>configure</command>, etc., - sont inutiles et doivent être supprimés. Si vous avez - dû modifier <filename>configure.in</filename> et utiliser - <command>autoconf</command> pour mettre à jour - <command>configure</command>, n'incluez pas le delta pour - <command>configure</command> (il contient souvent plusieurs centaines - de lignes !) ; définissez - <literal>USE_AUTOCONF=yes</literal> et donnez les deltas pour - <filename>configure.in</filename>.</para> - - <para>Si vous avez par ailleurs eu à supprimer un fichier, vous - pouvez le faire avec la cible <maketarget>post-extract</maketarget> - plutôt qu'en vous servant du fichier de mise à jour. Une - fois que le delta vous convient, découpez-le s'il vous - plaît pour qu'il y ait un fichier de mise à jour pour - chaque fichier source.</para> - </sect3> - - <sect3 id="porting-prefix"> - <title><makevar>PREFIX</makevar></title> - - <para>Faites en sorte que votre logiciel s'installe sous l'arborescence - <makevar>PREFIX</makevar>. (Cette variable prend la valeur de - <makevar>LOCALBASE</makevar> (par défaut - <filename>/usr/local</filename>), à moins que - <makevar>USE_X_PREFIX</makevar> ou <makevar>USE_IMAKE</makevar> ne - soient définies, auquel cas ce sera <makevar>X11BASE</makevar> - (par défaut <filename>/usr/X11R6</filename>).)</para> - - <para>Le fait de ne coder nulle part en dur - <filename>/usr/local</filename> ou <filename>/usr/X11R6</filename> - dans le source rend le portage plus souple et facilite son adaptation - aux besoins d'autres sites. Pour les logiciels X qui se servent de - <command>imake</command>, c'est automatique; dans les autres cas, il - suffit souvent de faire en sorte que <filename>/usr/local</filename> - (ou <filename>/usr/X11R6</filename> pour les logiciels X qui - n'utilisent pas <command>imake</command>) soit remplacé par la - valeur de <makevar>PREFIX</makevar> dans les différentes - procédures et <filename>Makefile</filename>s du logiciel, - puisque cette variable est toujours transmise à chaque - étape du processus de compilation et d'installation.</para> - - <para>N'utilisez pas <makevar>USE_X_PREFIX</makevar> à mois d'en - avoir vraiment besoin (i.e., l'édition de liens utilise les - bibliothèques X ou vous avez besoin de faire - référence à des fichiers de - <makevar>X11BASE</makevar>).</para> - - <para>La variable <makevar>PREFIX</makevar> peut être - redéfinie dans votre <filename>Makefile</filename> ou dans - l'environnement de l'utilisateur. Il est néanmoins fortement - déconseillé de la définir explicitement dans les - <filename>Makefile</filename>s de logiciels.</para> - - <para>Utilisez aussi les variables précédentes pour faire - référence à des programmes ou fichiers d'autres - logiciels portés et non en donnant les chemins d'accès - complets. Par exemple, si votre logiciel a besoin que la - macro-instruction <literal>PAGER</literal> donne le chemin - d'accès à <command>less</command>, utilisez - l'indicateur :</para> - - <programlisting> --DPAGER=\"${PREFIX}/bin/less\" - </programlisting> - - <para>du compilateur, ou :</para> - - <programlisting> --DPAGER=\"${LOCALBASE}/bin/less\" - </programlisting> - - <para>si c'est un logiciel X, au lieu de - <literal>-DPAGER=\"/usr/local/bin/less\"</literal>. Cela aura plus de - chances de marcher si votre administrateur système a - déplacé toute l'arborescence - <filename>/usr/local</filename> ailleurs.</para> - </sect3> - - <sect3> - <title>Sous-répertoires</title> - - <para>Essayez de faire en sorte que le logiciel à porter installe - ses fichiers dans les bons sous-répertoires de - <makevar>PREFIX</makevar>. Certains logiciels regroupent tout dans un - sous-répertoire portant le nom du logiciel, ce qui est - incorrect. De nombreux logiciels mettent aussi tout, sauf les - binaires, fichiers d'en-tête et pages de manuel dans un - sous-répertoire de <filename>lib</filename>, ce qui ne fait pas - bon ménage avec le paradigme BSD. La plupart des fichiers - doivent être déplacés vers : - <filename>etc</filename> (fichiers d'initialisation et de - configuration), <filename>libexec</filename> (exécutables - démarrés par le système), - <filename>sbin</filename> (exécutables pour les - super-utilisateurs/administrateurs), <filename>info</filename> - (documentations au format “info”) ou - <filename>share</filename> (fichiers indépendants de - l'architecture). Reportez-vous aux pages de manuel de &man.hier.7; - pour plus de détails au sujet des règles qui - régissent <filename>/usr</filename>, la plus grande partie - s'applique aussi à <filename>/usr/local</filename>. Les - logiciels en rapport avec les “news” USENET font - exception. Ils peuvent se servir de - <filename><makevar>PREFIX</makevar>/news</filename> pour y mettre - leurs fichiers.</para> - </sect3> - - <sect3 id="porting-cleaning"> - <title>Supprimer les répertoires vides</title> - - <para>Faites en sorte que le logiciel fasse le ménage lors de sa - désinstallation. Cela se fait habituellement en ajoutant des - lignes <literal>@dirrm</literal> pour tous les répertoires - spécifiquement créés par le logiciel. Il faut - supprimer les sous-répertoires avant de supprimer leurs - répertoires parents.</para> - - <programlisting> - : -lib/X11/oneko/pixmaps/cat.xpm -lib/X11/oneko/sounds/cat.au - : -@dirrm lib/X11/oneko/pixmals -@dirrm lib/X11/oneko/sounds -@dirrm lib/X11/oneko</programlisting> - - <para>Il arrive parfois que <literal>@dirrm</literal> émette un - message d'erreur parce que d'autres logiciels partagent le même - sous-répertoire. Vous pouvez invoquer - <command>rmdir</command> depuis <literal>@unexec</literal> pour ne - supprimer que les sous-répertoires vides sans messages - d'avertissement.</para> - - <programlisting> -@unexec rmdir %D/share/doc/gimp 2>/dev/null || true</programlisting> - - <para>Il n'y aura alors ni message d'erreur, ni fin anormale de - <command>pkg_delete</command> même si - <filename><makevar>PREFIX</makevar>/share/doc/gimp</filename> n'est - pas vide parce que d'autres logiciels y ont installé des - fichiers.</para> - </sect3> - - <sect3> - <title><literal>UID</literal>s</title> - - <para>Si votre logiciel a besoin qu'un utilisateur particulier existe - sur le système, appelez <command>pw</command> dans la - procédure <filename>pkg/INSTALL</filename> pour le créer - automatiquement. Voyez <filename>net/cvsup-mirror</filename> pour - avoir un exemple.</para> - - <para>Si votre logiciel à porter a besoin du même - <literal>ID</literal>dentifiant d'utilisateur/groupe qui a servi - à sa compilation quand on installe le paquetage binaire, vous - devez choisir un <literal>UID</literal> libre entre 50 et 99 et - l'enregistrer ci-dessous. Voyez <filename>japanese/Wnn</filename> pour - avoir un exemple.</para> - - <para>Veillez à ne pas utiliser un <literal>UID</literal> - déjà employé par le système ou d'autres - logiciels. Voici la liste des <literal>UID</literal>s entre 50 et - 99.</para> - - <programlisting> -majordom:*:54:54:Majordomo Pseudo User:/usr/local/majordomo:/nonexistent -cyrus:*:60:60:the cyrus mail server:/nonexistent:/nonexistent -gnats:*:61:1:GNATS database owner:/usr/local/share/gnats/gnats-db:/bin/sh -uucp:*:66:66:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico -xten:*:67:67:X-10 daemon:/usr/local/xten:/nonexistent -pop:*:68:6:Post Office Owner (popper):/nonexistent:/nonexistent -wnn:*:69:7:Wnn:/nonexistent:/nonexistent -ifmail:*:70:66:Ifmail user:/nonexistent:/nonexistent -pgsql:*:70:70:PostgreSQL pseudo-user:/usr/local/pgsql:/bin/sh -ircd:*:72:72:IRCd hybrid:/nonexistent:/nonexistent -alias:*:81:81:QMail user:/var/qmail/alias:/nonexistent -qmaill:*:83:81:QMail user:/var/qmail:/nonexistent -qmaild:*:82:81:QMail user:/var/qmail:/nonexistent -qmailq:*:85:82:QMail user:/var/qmail:/nonexistent -qmails:*:87:82:QMail user:/var/qmail:/nonexistent -qmailp:*:84:81:QMail user:/var/qmail:/nonexistent -qmailr:*:86:82:QMail user:/var/qmail:/nonexistent -msql:*:87:87:mSQL-2 pseudo-user:/var/db/msqldb:/bin/sh</programlisting> - - <para>Signalez s'il vous plaît que vous réservez un - <literal>UID</literal> ou <literal>GID</literal> dans cette plage, - quand vous soumettez un logiciel (ou une mise à niveau). Cela - nous permet de tenir à jour la liste des <literal>ID</literal>s - réservés.</para> - </sect3> - - <sect3> - <title>Faites les choses rationnellement</title> - - <para>Le <filename>Makefile</filename> doit faire des choses simples et - logiques. Si vous pouvez le raccourcir et le rendre plus lisible, - faites-le. Utilisez par exemple un instruction - <literal>.if</literal> de <command>make</command>, au lieu d'un - <literal>if</literal> de l'interpréteur de commandes, ne - redéfinissez pas <maketarget>do-extract</maketarget> si vous - pouvez utiliser <makevar>EXTRACT*</makevar> à la place et - servez-vous de <makevar>GNU_CONFIGURE</makevar> au lieu de - <literal>CONFIGURE_ARGS += --prefix=${PREFIX}</literal>.</para> - </sect3> - - <sect3> - <title>Prennez en compte <makevar>CFLAGS</makevar></title> - - <para>Le logiciel à porter doit prendre en considération - <makevar>CFLAGS</makevar>. Si ce n'est pas le cas, ajoutez s'il vous - plaît <literal>NO_PACKAGE=ignores cflags</literal> au - <filename>Makefile</filename>.</para> - </sect3> - - <sect3> - <title>Fichiers de Configuration</title> - - <para>Si votre logiciel a besoin de fichiers de configuration dans - <filename><makevar>PREFIX</makevar>/etc</filename>, ne les installez - <emphasis>pas</emphasis> et ne les listez pas dans - <filename>pkg/PLIST</filename>. <command>pkg_delete</command> - supprimerait alors des fichiers renseignés avec soin par les - utilisateurs et une réinstallation les - écraserait.</para> - - <para>Au lieu de cela, installez des fichiers d'exemple avec un suffixe - (<filename><replaceable>nom_de_fichier</replaceable>.sample</filename> - fonctionnera bien) et affichez un - <link linkend="porting-message">message</link> pour signaler à - l'utilisateur qu'il devra copier et modifier le fichier pour que le - logiciel soit utilisable.</para> - </sect3> - - <sect3> - <title>Portlint</title> - - <para>Contrôlez votre travail avec - <link linkend="porting-portlint"><command>portlint</command></link> - avant de le soumettre ou de le mettre dans l'arborescence des - sources.</para> - </sect3> - - <sect3> - <title>Retours d'information</title> - - <para>Envoyez vos modifications et mises à niveau à - l'auteur ou au responsable de la maintenance pour qu'il les inclue - dans la prochaine version du code. Cela ne fera que vous faciliter le - travail pour la prochaine fois.</para> - </sect3> - - <sect3> - <title>Divers</title> - - <para>Les fichiers <filename>pkg/DESCR</filename>, - <filename>pkg/COMMENT</filename> et <filename>pkg/PLIST</filename> - doivent chacun être revérifiés. Si vous passez un - logiciel en revue et pensez qu'ils peuvent être mieux - étre mieux écrits, faites-le.</para> - - <para>Ne mettez pas de nouvelles copies de la Licence Publique - Générale GNU - GPL - sur notre - système, s'il vous plaît.</para> - - <para>Notez s'il vous plaît soigneusement toutes les - considérations d'ordre légal. Ne nous laissez pas - distribuer illégalement du logiciel !</para> - </sect3> - - <sect3> - <title>Si vous êtes bloqué…</title> - - <para>Consultez les exemples existants et - <filename>bsd.port.mk</filename> avant de nous poser des - questions ! <!-- smiley --><emphasis>;)</emphasis></para> - - <para>Posez-nous des questions si vous avez des problèmes ! - Ne vous cognez pas la tête contre les murs ! - <!-- smiley --><emphasis>:)</emphasis></para> - </sect3> - </sect2> - - <sect2 id="porting-samplem"> - <title>Un exemple de <filename>Makefile</filename></title> - - <para>Voici un exemple de <filename>Makefile</filename> dont vous pouvez - vous servir pour porter un nouveau logiciel. Veillez à supprimer - les commentaires excédentaires (ceux qui sont entre - crochets) !</para> - - <para>Il est souhaitable que vous respectiez ce format (ordre des - variables, espacements entre sections, etc.). Il est conçu pour - qu'il soit facile de repérer les informations les plus - importantes. Nous vous recommandons d'utiliser - <link linkend="porting-portlint">portlint</link> pour vérifier le - <filename>Makefile</filename>.</para> - - <programlisting> -[l'en-tête...pour qu'il nous soit plus facile d'identifier les logiciels.] -# New ports collection makefile for: xdvi -[l'en-tête de version obligatoire doit être mise à jour - en même temps que le logiciel.] -# Version required: pl18 [des choses du genre "1.5alpha" conviennent aussi] -[C'est la date de création de la première version de ce Makefile. - Ne la modifiez jamais lors d'une mise à jour.] -# Date created: 26 May 1995 -[C'est la personne qui a fait le premier portage sous FreeBSD, en particulier, - celle qui a écrit la première version de ce Makefile. Rappelez-vous - que vous ne devez plus modifier ce nom par la suite.] -# Whom: Satoshi Asami <asami@FreeBSD.ORG> -# -# $Id$ -[ ^^^^ Ce sera automatiquement remplacé par la chaîne RCS par CVS - ensuite, lors de l'intégration à nos archives.] -# - -[Cette section décrit le logiciel et le site d'origine - DISTNAME - viens toujours en premier, suivi de PKGNAME (si nécessaire), CATEGORIES, - puis de MASTER_SITES, qui peut être suivi de MASTER_SITE_SUBDIR. - EXTRACT_SUFX ou DISTFILES peuvent éventuellement être précisés ensuite.] -DISTNAME= xdvi -PKGNAME= xdvi-pl18 -CATEGORIES= print -[N'oubliez pas le “slash” ("/") à la fin ! - si vous ne vous servez pas des macros-instructions MASTER_SITE_*] -MASTER_SITES= ${MASTER_SITE_XCONTRIB} -MASTER_SITE_SUBDIR= applications -[A définir si le source n'est pas au format ".tar.gz"] -EXTRACT_SUFX= .tar.Z - -[Section pour les mises à jour de la distribution -- peut être vide] -PATCH_SITES= ftp://ftp.sra.co.jp/pub/X11/japanese/ -PATCHFILES= xdvi-18.patch1.gz xdvi-18.patch2.gz - -[Responsable de la maintenance; *obligatoire* ! C'est la personne - (de préférence avec les droits d'écriture sur l'arborescence - des sources) que les utilisateurs peuvent contacter si questions ou rapports - d'anomalie - ce doit être la personne qui a fait le portage ou quelqu'un - qui peut lui transmettre les questions dans un délai raisonnable. Si vous - ne voulez vraimant pas que votre adresse apparaisse ici, mettez - "ports@FreeBSD.ORG".] -MAINTAINER= asami@FreeBSD.ORG - -[Dépendances -- peuvent être vides] -RUN_DEPENDS= gs:${PORTSDIR}/print/ghostscript -LIB_DEPENDS= Xpm.5:${PORTSDIR}/graphics/xpm - -[Cette section est réservée aux autres variables bsd.port.mk - qui n'ont pas leur place dans les sections précédentes] -[S'il y a des questions lors de la configuration, de la compilation, - de l'installation ...] -IS_INTERACTIVE= yes -[Si l'extraction se fait dans un autre répertoire que ${DISTNAME}...] -WRKSRC= ${WRKDIR}/xdvi-new -[Si les mises à jour de la distribution ne sont pas relatives à ${WRKSRC}, - vous devrez peut-être utiliser cette variable] -PATCH_DIST_STRIP= -p1 -[S'il faut exécuter une procédure "configure" générée par GNU autoconf] -GNU_CONFIGURE= yes -[S'il faut compiler avec GNU make, et non /usr/bin/make, ...] -USE_GMAKE= yes -[Si c'est une application X et qu'il faut utiliser "xmkmf -a" ...] -USE_IMAKE= yes -[et cetera.] - -[Variables non-standard pour les règles qui les suivent] -MY_FAVORITE_RESPONSE= "oui, pour sûr" - -[Les règles particulières, dans l'ordre où faut les appeler] -pre-fetch: - Ouais, il faut récupérer quelque chose - -post-patch: - Génial, j'ai quelque chose à faire après la mise à jour - -pre-install: - et d'autres choses encore après l'installation - -[et l'épilogue] -.include <bsd.port.mk></programlisting> - </sect2> - - <sect2 id="porting-pkgname"> - <title>Noms des paquetages</title> - - <para>Voici les conventions à respecter pour les noms des - paquetages. Cela pour qu'il soit facile de parcourir notre - répertoire des paquetages, parce qu'il y en a déjà - beaucoup et que cela va rebuter les utilisateurs s'ils s'y usent les - yeux !</para> - - <para>Le nom du paquetage doit être de la forme - <filename><replaceable>langue-</replaceable>nom<replaceable>-particularités.de.compilation</replaceable><replaceable>-numéros.de.version</replaceable></filename>.</para> - - <para>Si votre <makevar>DISTNAME</makevar> n'est pas de ce type, - définissez <makevar>PKGNAME</makevar> en respectant ce - format.</para> - - <orderedlist> - <listitem> - <para>FreeBSD essayer d'intégrer les supports des langues - maternelles de ses utilisateurs. Le préfixe - <replaceable>langue-</replaceable> doit être le sigle de deux - lettres défini par la convention ISO-639, si le logiciel - est propre à une langue particulière. Par exemple, - <literal>ja</literal> pour le Japonais, <literal>ru</literal> pour - le Russe, <literal>vi</literal> pour le Vietnamien, - <literal>zh</literal> pour le Chinois, <literal>ko</literal> pour le - Coréen et <literal>de</literal> pour l'Allemand.</para> - </listitem> - - <listitem> - <para>Le <filename>nom</filename> doit toujours être en - minuscules, sauf pour les paquetages particulièrement - importants (qui comportent de nombreux programmes). XFree86 ou - ImageMagick par exemple appartiennent à cette - catégorie. Sinon, mettez le nom (ou au moins la - première lettre) en minuscules. Si les majuscules ont un sens - dans le nom (par exemple pour les noms d'une seule lettre comme - <literal>R</literal> ou <literal>V</literal>), vous pouvez utiliser - des majuscules si vous le souhaitez. Il est de tradition d'appeler - les modules Perl 5 en les faisant précéder de - <literal>p5-</literal> et en remplaçant les deux deux-points - par un tiret; par exemple, le module <literal>Data::Dumper</literal> - devient <literal>p5-Data-Dumper</literal>. S'il y a des - numéros, tirets ou soulignés dans le nom, vous pouvez - aussi les conserver (par exemple, - <literal>kinput2</literal>).</para> - </listitem> - - <listitem> - <para>Si le logiciel peut-être compilé avec - différentes <link linkend="porting-masterdir">valeurs par - défaut codées en dur</link> (ce qui fait d'habitude - partie du nom de répertoire d'une famille de logiciels), les - <replaceable>-particularités.de.compilation</replaceable> - doivent indiquer quelles sont ces valeurs (le tiret n'est pas - obligatoire). On peut donner en exemple la résolution des - polices ou le format de papier.</para> - </listitem> - - <listitem> - <para>La version doit être une suite d'entiers - séparés par des points ou un unique caractère - alphabétique. La seule exception concerne la chaîne - <literal>pl</literal> - (“<foreignphrase>patchlevel</foreignphrase>” - niveau - de mise à jour), qui ne peut être utilisée que - lorsque qu'il n'y a pas de numéros de version majeure et - mineure du logiciel.</para> - </listitem> - </orderedlist> - - <para>Voici quelques exemples (réels) de la manière de - convertir un <makevar>DISTNAME</makevar> en un - <makevar>PKGNAME</makevar> :</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <thead> - <row> - <entry>Nom de la Distribution</entry> - <entry>Nom du Paquetage</entry> - <entry>Raison</entry> - </row> - </thead> - - <tbody> - <row> - <entry>mule-2.2.2.</entry> - <entry>mule-2.2.2</entry> - <entry>Pas de changement nécessaire</entry> - </row> - - <row> - <entry>XFree86-3.1.2</entry> - <entry>XFree86-3.1.2</entry> - <entry>Pas de changement nécessaire</entry> - </row> - - <row> - <entry>EmiClock-1.0.2</entry> - <entry>emiclock-1.0.2</entry> - <entry>Pas de majuscules pour les programmes individuels</entry> - </row> - - <row> - <entry>gmod1.4</entry> - <entry>gmod-1.4</entry> - <entry>Il faut un tiret avant les numéros de - version</entry> - </row> - - <row> - <entry>xmris.4.0.2</entry> - <entry>xmris-4.0.2</entry> - <entry>Il faut un tiret avant les numéros de - version</entry> - </row> - - <row> - <entry>rdist-1.3alpha</entry> - <entry>rdist-1.3a</entry> - <entry>Les chaînes de caractères comme - <literal>alpha</literal> ne sont pas autorisées</entry> - </row> - - <row> - <entry>es-0.9-beta1</entry> - <entry>es-0.9b1</entry> - <entry>Les chaînes de caractères comme - <literal>beta</literal> ne sont pas autorisées</entry> - </row> - - <row> - <entry>v3.3beta021.src</entry> - <entry>tiff-3.3</entry> - <entry>C'était quoi exactement ?</entry> - </row> - - <row> - <entry>tvtwm</entry> - <entry>tvtwm-pl11</entry> - <entry>Il doit toujours y avoir une version</entry> - </row> - - <row> - <entry>piewm</entry> - <entry>piewm-1.0</entry> - <entry>Il doit toujours y avoir une version</entry> - </row> - - <row> - <entry>xvgr-2.10pl1</entry> - <entry>xvgr-2.10.1</entry> - <entry><literal>pl</literal> n'est autorisé que lorsqu'il - n'y a pas de numéro de version majeure/mineure</entry> - </row> - - <row> - <entry>gawk-2.15.6</entry> - <entry>ja-gawk-2.15.6</entry> - <entry>Version Japonaise</entry> - </row> - - <row> - <entry>psutils-1.13</entry> - <entry>psutils-letter-1.13</entry> - <entry>Taille de page en dur à la compilation</entry> - </row> - - <row> - <entry>pkfonts</entry> - <entry>pkfonts300-1.0</entry> - <entry>Paquetage pour les polices 300dpi</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>S'il n'y a nulle part d'information sur la version et qu'il y a peu - de chances que l'auteur sorte une nouvelle version, prennez - <literal>1.0</literal> comme numéro de version (comme pour piewm - ci-dessus). Sinon, posez la question à l'auteur ou servez-vous de - la date - (<literal><replaceable>aa</replaceable>.<replaceable>mm</replaceable>.<replaceable>jj</replaceable></literal>) - comme version.</para> - </sect2> - - <sect2 id="porting-categories"> - <title>Catégories</title> - - <para>Comme vous le savez déjà, les logiciels portés - sont répartis en différentes catégories. Mais, il - est important, pour que cette classification fonctionne, que les - responsables des portages et les utilisateurs comprennent ce qu'est - chaque catégorie et comment nous choisissons la catégorie - dans laquelle nous classons un logiciel.</para> - - <sect3> - <title>Liste actuelle des catégories</title> - - <para>Voici tout d'abord la liste des catégories à ce - jour. Celles qui sont suivies d'une astérisque - (<literal>*</literal>) sont des catégories - <emphasis>virtuelles</emphasis>—il n'y a pas de - sous-répertoires correspondant dans le catalogue des logiciels - portés.</para> - - <note> - <para>Pour les catégories réelles, il y a une ligne de - description dans le fichier <filename>pkg/COMMENT</filename> du - sous-répertoire correspondant (e.g., - <filename>archivers/pkg/COMMENT</filename>).</para> - </note> - - <informaltable frame="none"> - <tgroup cols="2"> - <thead> - <row> - <entry>Catégorie</entry> - <entry>Description</entry> - </row> - </thead> - - <tbody> - <row> - <entry><filename>afterstep*</filename></entry> - <entry>Logiciels pour le gestionnaire de fenêtres - AfterStep</entry> - </row> - - <row> - <entry><filename>archivers</filename></entry> - <entry>Outils d'archivage</entry> - </row> - - <row> - <entry><filename>astro</filename></entry> - <entry>Logiciels d'astronomie</entry> - </row> - - <row> - <entry><filename>audio</filename></entry> - <entry>Son</entry> - </row> - - <row> - <entry><filename>benchmarks</filename></entry> - <entry>Outils de mesure de performances</entry> - </row> - - <row> - <entry><filename>biology</filename></entry> - <entry>Logiciels en rapport avec la biologie</entry> - </row> - - <row> - <entry><filename>cad</filename></entry> - <entry>Conception assistée par ordinateur</entry> - </row> - - <row> - <entry><filename>chinese</filename></entry> - <entry>Support de la langue Chinoise</entry> - </row> - - <row> - <entry><filename>comms</filename></entry> - <entry>Logiciels de communication. Essentiellement des logiciels - qui dialoguent avec votre port série</entry> - </row> - - <row> - <entry><filename>converters</filename></entry> - <entry>Convertisseurs de codes de caractéres</entry> - </row> - - <row> - <entry><filename>databases</filename></entry> - <entry>Bases de données</entry> - </row> - - <row> - <entry><filename>deskutils</filename></entry> - <entry>Ce que l'on avait sur son bureau avant l'invention des - ordinateurs</entry> - </row> - - <row> - <entry><filename>devel</filename></entry> - <entry>Outils de développement. N'y mettez pas de - bibliothèques simplement parce que ce sont des - bibliothèques—à moins qu'elles n'aient - vraiment pas leur place ailleurs, elles ne doivent pas - être dans cette catégorie</entry> - </row> - - <row> - <entry><filename>editors</filename></entry> - <entry>Editeurs généraux. Les éditeurs - spécialisés vont dans la catégorie - correspondante (e.g., un éditeur de formules - mathématiques ira dans - <filename>math</filename>)</entry> - </row> - - <row> - <entry><filename>elisp</filename></entry> - <entry>Logiciels Emacs-lisp</entry> - </row> - - <row> - <entry><filename>emulators</filename></entry> - <entry>Emulateurs d'autres systèmes d'exploitation. Les - émulateurs de terminaux ne rentrent - <emphasis>pas</emphasis> dans cette - catégorie—ceux pour X vont dans - <filename>x11</filename> et les émulateurs en mode - texte dans <filename>comms</filename> ou - <filename>misc</filename>, selon leur fonction exacte</entry> - </row> - - <row> - <entry><filename>games</filename></entry> - <entry>Jeux</entry> - </row> - - <row> - <entry><filename>german</filename></entry> - <entry>Support de la langue Allemande</entry> - </row> - - <row> - <entry><filename>graphics</filename></entry> - <entry>Utilitaires graphiques</entry> - </row> - - <row> - <entry><filename>japanese</filename></entry> - <entry>Support de la langue Japonaise</entry> - </row> - - <row> - <entry><filename>kde*</filename></entry> - <entry>Logiciels qui constituent “<foreignphrase>K Desktop - Environment</foreignphrase>” (kde)</entry> - </row> - - <row> - <entry><filename>korean</filename></entry> - <entry>Support de la langue Coréenne</entry> - </row> - - <row> - <entry><filename>lang</filename></entry> - <entry>Langages de programmation</entry> - </row> - - <row> - <entry><filename>mail</filename></entry> - <entry>Logiciels de courrier électronique</entry> - </row> - - <row> - <entry><filename>math</filename></entry> - <entry>Logiciels de calcul numérique et autres outils - mathématiques</entry> - </row> - - <row> - <entry><filename>mbone</filename></entry> - <entry>Applications MBone</entry> - </row> - - <row> - <entry><filename>misc</filename></entry> - <entry>Utilitaires variés—essentiellement ceux qui - n'ont pas leur place ailleurs. C'est la seul catégorie - qui ne doit pas apparaître en même temps qu'une - autre catégorie non virtuelle. S'il y a - <literal>misc</literal> et autre chose dans votre ligne - <makevar>CATEGORIES</makevar>, cela signifie que vous pouvez - sans risque supprimer <literal>misc</literal> et mettre le - logiciel dans cet autre sous-répertoire</entry> - </row> - - <row> - <entry><filename>net</filename></entry> - <entry>Outils réseau divers</entry> - </row> - - <row> - <entry><filename>news</filename></entry> - <entry>Logiciels pour les listes de discussion USENET</entry> - </row> - - <row> - <entry><filename>offix*</filename></entry> - <entry>Logiciels de la suite OffiX</entry> - </row> - - <row> - <entry><filename>palm</filename></entry> - <entry>Logiciels à utiliser avec la gamme 3Com - Palm(tm)</entry> - </row> - - <row> - <entry><filename>perl5*</filename></entry> - <entry>Logiciels qui nécessitent Perl version 5</entry> - </row> - - <row> - <entry><filename>plan9*</filename></entry> - <entry>Programmes divers de Plan9.</entry> - </row> - - <row> - <entry><filename>print</filename></entry> - <entry>Logiciels d'impression. Les logiciels de publication - (prévisualiseurs, etc.) appartiennent aussi à - cette catégorie</entry> - </row> - - <row> - <entry><filename>python*</filename></entry> - <entry>Logiciels écrits en Python</entry> - </row> - - <row> - <entry><filename>russian</filename></entry> - <entry>Support de la langue Russe</entry> - </row> - - <row> - <entry><filename>security</filename></entry> - <entry>Outils de sécurité</entry> - </row> - - <row> - <entry><filename>shells</filename></entry> - <entry>Interpréteurs de commandes</entry> - </row> - - <row> - <entry><filename>sysutils</filename></entry> - <entry>Utilitaires système</entry> - </row> - - <row> - <entry><filename>tcl75*</filename></entry> - <entry>Logiciels qui nécessitent Tcl 7.5</entry> - </row> - - <row> - <entry><filename>tcl76*</filename></entry> - <entry>Logiciels qui nécessitent Tcl 7.6</entry> - </row> - - <row> - <entry><filename>tcl80*</filename></entry> - <entry>Logiciels qui nécessitent Tcl 8.0</entry> - </row> - - <row> - <entry><filename>tcl81*</filename></entry> - <entry>Logiciels qui nécessitent Tcl 8.1</entry> - </row> - - <row> - <entry><filename>textproc</filename></entry> - <entry>Outils de traitement de texte, sauf les logiciels de - publication assistée par ordinateur, qui vont dans - <filename>print/</filename></entry> - </row> - - <row> - <entry><filename>tk41*</filename></entry> - <entry>Logiciels qui nécessitent Tk 4.1</entry> - </row> - - <row> - <entry><filename>tk42*</filename></entry> - <entry>Logiciels qui nécessitent Tk 4.2</entry> - </row> - - <row> - <entry><filename>tk80*</filename></entry> - <entry>Logiciels qui nécessitent Tk 8.0</entry> - </row> - - <row> - <entry><filename>tk81*</filename></entry> - <entry>Logiciels qui nécessitent Tk 8.1</entry> - </row> - - <row> - <entry><filename>vietnamese</filename></entry> - <entry>Support de la langue Vietnamienne</entry> - </row> - - <row> - <entry><filename>windowmaker*</filename></entry> - <entry>Logiciels pour le gestionnaire de fenêtres - WindowMaker</entry> - </row> - - <row> - <entry><filename>www</filename></entry> - <entry>Logiciels en rapport avec le World Wide Web. Ce qui - concerne le langage HTML a aussi sa place ici</entry> - </row> - - <row> - <entry>x11</entry> - <entry>Le système X window et consorts. Cette - catégorie ne concerne que les logiciels directement en - rapport avec X Window. N'y mettez pas les applications X - ordinaires. Si votre logiciel est une application X, - définissez <makevar>USE_XLIB</makevar> (implicite avec - <makevar>USE_IMAKE</makevar>) et mettez le dans la - catégorie appropriée. Un grand nombre d'entre - eux vont dans les autres catégories - <filename>x11-*</filename> (voir plus bas)</entry> - </row> - - <row> - <entry><filename>x11-clocks</filename></entry> - <entry>Horloges X11</entry> - </row> - - <row> - <entry><filename>x11-fm</filename></entry> - <entry>Gestionnaires de fichiers X11</entry> - </row> - - <row> - <entry><filename>x11-fonts</filename></entry> - <entry>Polices de caractères X11 et outils - associés</entry> - </row> - - <row> - <entry><filename>x11-toolkits</filename></entry> - <entry>Boîtes à outils X11</entry> - </row> - - <row> - <entry><filename>x11-wm</filename></entry> - <entry>Gestionnaires de fenêtres X11</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </sect3> - - <sect3> - <title>Choisir la bonne catégorie</title> - - <para>Comme de nombreuses catégories ont des logiciels en commun, - vous devez souvent décider laquelle sera la catégorie - principale de votre logiciel. Voici une liste de priorités, par - ordre décroissant :</para> - - <itemizedlist> - <listitem> - <para>Les catégories liées à la langue - viennent en premier. Par exemple, si vous installez des polices - X11 Japonaise, alors vous mettrez <literal>japanese x11</literal> - dans votre ligne <makevar>CATEGORIES</makevar>.</para> - </listitem> - - <listitem> - <para>Les catégories les plus spécifiques viennent - avant celles qui le sont moins. Par exemple, un éditeur - HTML doit être listé dans <literal>www - editors</literal>, et non l'inverse. Vous n'avez par ailleurs pas - besoin de mettre <literal>net</literal> si le logiciel appartient - à l'une des catégories <literal>mail</literal>, - <literal>mbone</literal>, <literal>news</literal>, - <literal>security</literal> ou <literal>www</literal>.</para> - </listitem> - - <listitem> - <para><literal>x11</literal> n'est une catégorie secondaire - que lorsque la catégorie principale est une langue - nationale. En particulier, il ne faut pas mettre - <literal>x11</literal> pour les applications X.</para> - </listitem> - - <listitem> - <para>Si votre logiciel ne va vraiment nulle part ailleurs, - mettez-le dans <literal>misc</literal>.</para> - </listitem> - </itemizedlist> - - <para>SI vous n'êtes pas sûr de la catégorie, mettez - s'il vous plaît un commentaire à ce sujet lorsque vous - soumettez votre <command>send-pr</command> pour que nous puissions en - discuter avant de l'intégrer. (Si vous avez l'accès en - écriture, envoyez une note à &a.ports; pour qu'il y ait - discussion au préalable—les nouveaux logiciels sont trop - souvent importés dans la mauvaise catégorie et doivent - être déplacés immédiatement - après.)</para> - </sect3> - </sect2> - - <sect2> - <title>Modifications de ce document et du système des logiciels - portés</title> - - <para>Si vous maintenez de noombreux logiciels portés, vous - devriez vous abonner à &a.ports;. Les modifications importantes - au fonctionnement du catalogue des logiciels portés y seront - annoncées. Vous aurez toujours des informations plus - détaillées sur les dernières modifications en - consultant les - <ulink url="http://www.FreeBSD.ORG/cgi/cvsweb.cgi/ports/Mk/bsd.port.mk">traces - CVS pour bsd.port.mk</ulink>.</para> - </sect2> - - <sect2> - <title>That is It, Folks!</title> - - <para>C'est vraiment un long chapitre, n'est-ce-pas ? Merci de - nous avoir suivi jusqu'ici.</para> - - <para>Vous savons donc maintenant comment porter un logiciel. Allons-y et - convertissons le monde entier en logiciel portés ! C'est la - façon la plus simple de commencer à contribuer au projet - FreeBSD ! <!-- smiley --><emphasis>:)</emphasis></para> - </sect2> - </sect1> -</chapter> -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-shorttag: nil - sgml-always-quote-attributes: t - sgml-minimize-attributes: max - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> - diff --git a/fr_FR.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml deleted file mode 100644 index 4ca6f4bf84..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml +++ /dev/null @@ -1,2783 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: n.nn ---> - - <chapter id="ppp-and-slip"> - <title>PPP et SLIP</title> - &trans.a.haby; - - <para>Si vous vous connectez à l'Internet avec un modem ou si vous - voulez offrir à d'autres la possibilité de se connecter à l'Internet - par l'intermédiaire d'un système FreeBSD, vous pouvez utiliser PPP ou - SLIP. Il y a par ailleurs deux versions de PPP: - <emphasis>en mode utilisateur</emphasis> (aussi appelé - <emphasis>iijppp</emphasis>) et <emphasis>intégré au - noyau</emphasis>. Ce chapitre décrit les procédures de configuration - des deux variantes de PPP et de mise en oeuvre de SLIP.</para> - - - <sect1 id="userppp"> - <title>Configurer PPP en mode utilisateur</title> - - <para>La version utilisateur de PPP est apparue avec la version 2.0.5 - de FreeBSD en supplément à l'implémentation existante - de PPP dans le noyau. Qu'a donc de différent cette - nouvelle version de PPP qui justifie son ajout? Pour citer les pages - de manuel:</para> - - <blockquote> - <para>Ceci est le logiciel PPP sous forme de processus utilisateur. - PPP est normalement implémenté dans le noyau (e.g. le - “démon” <command>pppd</command>) et est alors plus - difficile à déboguer ou - à modifier. A l'inverse, la présente implémentation se présente - sous forme de processus utilisateur utilisant le pilote de - périphérique “tunnel” - (<devicename>tun</devicename>).</para> - </blockquote> - - <para>Cela signifie essentiellement qu'au lieu de lancer un - “démon” PPP, le programme <command>ppp</command> - peut être exécuté quand et de la façon que l'on veut. Il n'y a - pas besoin de compiler d'interface PPP dans le noyau, parce que le - programme peut utiliser le pilote “tunnel” générique - pour échanger des données avec le noyau.</para> - - <para>A partir de maintenant, le programme utilisateur - <command>ppp</command> sera simplement appelé ppp, à moins qu'il ne - faille explicitement faire la distinction entre lui et d'autres - logiciels PPP client/serveur comme <command>pppd</command>. Sauf - indications contraires, toutes les commandes mentionnées dans cette - section doivent être exécutées par le super-utilisateur - <username>root</username>.</para> - - <para>Il y a de nombreuses améliorations dans la version 2 de ppp. Vous - pouvez savoir quelle est la version que vous utilisez en lançant ppp - sans argument et en tapant <command>show version</command> à l'invite. - Il est facile de passer à la version la plus récente de ppp (sur - n'importe quelle version de FreeBSD) en téléchargeant la dernière - version archivée sur - <ulink url="http://www.Awfulhak.org/ppp.html">www.Awfulhak.org</ulink>.</para> - - <sect2> - <title>Avant de commencer</title> - - <para>Ce document suppose que vous en êtes à peu près à ce - point:</para> - - <para>Vous avez un compte chez un fournisseur d'accès Internet (FAI) - qui vous permet d'utiliser PPP. Vous avez de plus un modem (ou un - autre périphérique) installé et correctement configuré avec lequel - vous pouvez vous connecter chez votre fournisseur d'accès.</para> - - <para>Vous devrez avoir les informations suivantes à portée de - main:</para> - - <itemizedlist> - - <listitem> - <para>Le(s) numéro(s) de téléphone de votre fournisseur - d'accès.</para> - </listitem> - - <listitem> - <para>Votre identifiant utilisateur et votre mot de passe. Selon - le cas, ce seront soit un identifiant et un mot de passe Unix - classiques, soit un identifiant et un mot de passe PPP PAP ou - CHAP.</para> - </listitem> - - <listitem> - <para>Les adresses IP d'un ou plusieurs serveurs de noms de - domaines. Votre fournisseur doit normalement vous donner deux - adresses IP. Vous <emphasis>devez</emphasis> avoir cette - information pour <application>PPP</application> version 1.x, - à moins que vous n'ayez votre propre serveur de noms de - domaines. A partir de la version 2, - <application>PPP</application> supporte la négociation des - adresses des serveurs de noms. Si votre fournisseur dispose - de cette fonctionnalité, alors la commande - <command>enable dns</command> dans votre fichier de - configuration dit à <application>PPP</application> de - définir à votre place les serveurs de noms.</para> - </listitem> - </itemizedlist> - - <para>Les informations suivantes vous ont peut-être aussi été données - par votre fournisseur d'accès, mais ce n'est pas absolument - indispensable:</para> - - <itemizedlist> - <listitem> - <para>L'adresse IP de la passerelle de votre fournisseur. La - passerelle est la machine à laquelle vous vous connecterez et - qui deviendra votre <emphasis>route par - défaut</emphasis> - “default route”. S'il - ne vous l'a pas donnée, vous pouvez en fabriquer une et le serveur - PPP de votre fournisseur vous donnera l'adresse exacte quand vous - vous connecterez.</para> - - <para>ppp connaît ce numéro IP sous l'appellation - <literal>HISADDR</literal>.</para> - </listitem> - - <listitem> - <para>Le masque de sous-réseau de votre fournisseur d'accès. S'il ne - vous l'a pas donné, vous pouvez sans risque utiliser la valeur - <hostid role="netmask">255.255.255.0</hostid>.</para> - - <para>Si votre fournisseur vous procure une adresse IP fixe et un - nom de machine, vous pouvez aussi introduire ces informations dans - votre configuration. Sinon, nous le laisserons simplement nous - attribuer l'adresse IP qui lui convient.</para> - </listitem> - </itemizedlist> - - <para>Si vous n'avez pas l'une des informations requises, contactez - votre fournisseur et assurez-vous qu'il vous la donne.</para> - - </sect2> - - <sect2> - <title>Compiler un noyau pour ppp</title> - - <para>Comme on l'a vu dans la description qu'en donnent les pages de - manuel, <command>ppp</command> - utilise le pilote <devicename>tun</devicename> du noyau. Il faut - vous assurez que le support de ce pseudo-périphérique est bien - inclus dans votre noyau.</para> - - <para>Pour cela, allez dans votre répertoire de configuration du - noyau (<filename>/sys/i386/conf</filename> ou - <filename>/sys/pc98/conf</filename>) et consultez votre fichier - de configuration. Il doit comporter quelque part la ligne - - <programlisting> -pseudo-device tun 1</programlisting> - - Elle figure en standard dans le noyau <filename>GENERIC</filename>, - donc, si vous n'avez pas installé de noyau sur-mesure ou n'avez pas - de répertoire <filename>/sys</filename>, vous n'avez rien - à changer.</para> - - <para>Si la ligne n'est pas dans le fichier de configuration de votre - noyau, ou si vous avez besoin de plus d'un périphérique - <devicename>tun</devicename> (par exemple, si vous installez un - serveur qui puisse fournir 16 connexions simultanées vers - l'extérieur, vous devrez mettre <literal>16</literal> au lieu de - <literal>1</literal>), il vous faut alors ajouter la ligne, - recompiler, réinstaller et redémarrer avec le nouveau noyau. - Reportez-vous s'il vous plaît au chapitre - <link linkend="kernelconfig">Configurer le noyau de FreeBSD</link> - pour plus d'informations sur la marche à suivre.</para> - - <para>Vous pouvez voir de combien de pseudo-périphériques - <devicename>tun</devicename> dispose votre noyau avec la - commande suivante:</para> - - <informalexample> - <screen>&prompt.root; <userinput>ifconfig -a</userinput> -tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 - inet 200.10.100.1 --> 203.10.100.24 netmask 0xffffffff -tun1: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 576 -tun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 - inet 203.10.100.1 --> 203.10.100.20 netmask 0xffffffff -tun3: flags=8010<POINTOPOINT,MULTICAST> mtu 1500</screen> - </informalexample> - - <para>Dans cette exemple, il y a quatre périphériques - “tunnel”, dont deux sont déjà configurés et utilisés. - Remarquez que l'indication <literal>RUNNING</literal> signifie que - l'interface - a déjà été utilisée à un moment donné - ce n'est pas - une erreur si votre interface n'apparaît pas comme - <literal>RUNNING</literal>.</para> - - <para>Si votre noyau n'inclut pas de pseudo-périphérique - <devicename>tun</devicename> et que vous ne pouvez pas le recompiler - pour une raison ou une autre, tout n'est pas perdu. Vous devriez - pouvoir charger dynamiquement le code. Voyez les pages de manuel de - <citerefentry><refentrytitle>modload</refentrytitle><manvolnum>8</manvolnum></citerefentry> - et <citerefentry><refentrytitle>lkm</refentrytitle><manvolnum>4</manvolnum></citerefentry> - appropriées pour plus de détails.</para> - - <para>Vous voudrez peut-être en profiter pour configurer en même temps - un coupe-feu. Vous trouverez plus de détails à la section - <link linkend="firewalls">Coupe-Feux</link>.</para> - - </sect2> - - <sect2> - <title>Tester le périphérique <devicename>tun</devicename></title> - - <para>La plupart des utilisateurs n'auront besoin que d'un - périphérique <devicename>tun</devicename> - (<filename>/dev/tun0</filename>). Si vous en avez définis plus d'un - (i.e., une autre valeur que <literal>1</literal> à la ligne - <literal>pseudo-device</literal> du fichier de configuration du - noyau), adaptez toutes les références à - <devicename>tun0</devicename> dans ce qui suit à votre cas - particulier.</para> - - <para>La meilleure façon de vous assurez que votre périphérique - <devicename>tun0</devicename> est correctement configuré est de - recréer le fichier spécial de périphérique. Pour cela, exécutez les - commandes suivantes:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cd /dev</userinput> -&prompt.root; <userinput>./MAKEDEV tun0</userinput></screen> - </informalexample> - - <para>Si vous avez 16 périphériques “tunnel” - dans votre noyau, il vous - faudra créer plus que <filename>tun0</filename>:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cd /dev</userinput> -&prompt.root; <userinput>./MAKEDEV tun15</userinput></screen> - </informalexample> - - <para>Pour vérifier encore que votre noyau est correctement configuré, - la commande ci-dessous devrait vous donner le même résultat:</para> - - <informalexample> - <screen>&prompt.root; <userinput>ifconfig tun0</userinput> -tun0: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500</screen> - </informalexample> - - <para>L'indication <literal>RUNNING</literal> n'est peut-être pas encore - présente, auquel cas vous verriez:</para> - - <informalexample> - <screen>&prompt.root; <userinput>ifconfig tun0</userinput> -tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500</screen> - </informalexample> - </sect2> - - <sect2> - <title>Configuration du solveur de noms</title> - - <para>Le solveur est la partie du système qui convertit les adresses - IP en noms de machines et vice versa. Il est configurable pour - consulter des tables de correspondances entre adresses et noms - qui peuvent se trouver à deux endroits différents. La première est - le fichier <filename>/etc/hosts</filename> - (<command>man 5 hosts</command>). La seconde est le service de noms - de domaines Internet (“Domain Name - Service” - DNS), une base de données distribuée - dont la description déborde le cadre du présent document.</para> - - <para>Cette section décrit brièvement comment configurer votre - solveur.</para> - - <para>Le solveur est un ensemble d'appels système qui font la - conversion, mais vous devez leur dire où trouver l'information. - Cela se fait en modifiant le fichier - <filename>/etc/host.conf</filename>. - <emphasis>N'appelez pas</emphasis> ce fichier - <filename>/etc/hosts.conf</filename> (Remarquez le - <literal>s</literal> en trop), cela pourrait poser des - problèmes.</para> - - <sect3> - <title>Renseigner le fichier - <filename>/etc/host.conf</filename></title> - - <para>Ce fichier doit contenir les deux lignes suivantes (dans cet - ordre):</para> - - <programlisting> -hosts -bind</programlisting> - - <para>Cela dit au solveur de chercher d'abord dans le fichier - <filename>/etc/hosts</filename>, puis de consulter le - DNS s'il n'a pas trouvé le nom recherché.</para> - - </sect3> - - <sect3> - <title>Renseigner le fichier - <filename>/etc/hosts</filename>(5)</title> - - <para>Ce fichier doit contenir les noms et les adresses IP des - machines de votre réseau. Il doit au grand minimum contenir les - entrées pour la machine sur laquelle tournera ppp. Supposons - qu'elle s'appelle <hostid role="fqdn">foo.bar.com</hostid> - et que son adresse IP soit - <hostid role="ipaddr">10.0.0.1</hostid>, - <filename>/etc/hosts</filename> devra comporter:</para> - - <programlisting> -127.0.0.1 localhost -10.0.0.1 foo.bar.com foo</programlisting> - - <para>La première ligne définit l'adresse <hostid>localhost</hostid> - comme synonyme de la machine elle-même. Quelle que soit votre - propre adresse IP, l'adresse IP sur cette ligne doit toujours - être <hostid role="ipaddr">127.0.0.1</hostid>. La deuxième ligne - affecte au nom <hostid role="fqdn">foo.bar.com</hostid> (et au - raccourci <hostid>foo</hostid>) l'adresse IP - <hostid role="ipaddr">10.0.0.1</hostid>.</para> - - <para>Si votre fournisseur vous a donné une adresse IP - statique et un - nom de machine, mettez-les à la place de l'entrée - <hostid role="ipaddr">10.0.0.1</hostid>.</para> - - </sect3> - - <sect3> - <title>Renseigner le fichier - <filename>/etc/resolv.conf</filename></title> - - <para><filename>/etc/resolv.conf</filename> dit au solveur ce qu'il - doit faire. Si vous avez en service votre propre DNS, vous pouvez - le laisser vide. Vous devez normalement y mettre la(les) ligne(s) - suivante(s):</para> - - <programlisting> -nameserver <replaceable>x.x.x.x</replaceable> -nameserver <replaceable>y.y.y.y</replaceable> -domain <replaceable>bar.com</replaceable></programlisting> - - <para><hostid - role="ipaddr"><replaceable>x.x.x.x</replaceable></hostid> et - <hostid role="ipaddr"><replaceable>y.y.y.y</replaceable></hostid> - sont les adresses que votre fournisseur vous a données. - Mettez autant de lignes <literal>nameserver</literal> qu'il vous - a donné d'adresses. La ligne <literal>domain</literal> se réfère - par défaut au nom de domaine de votre machine, et est - probablement inutile. Consultez les pages de manuel de - <filename>resolv.conf</filename> pour plus de détails sur les - autres entrées possibles dans ce fichier.</para> - - <para>Si vous utilisez la version 2 ou ultérieure de PPP, la commande - <command>enable dns</command> dira à PPP de demander à votre - fournisseur de confirmer les informations sur les serveurs de noms. - S'il vous donne des adresses différentes (ou s'il n'y a pas de ligne - <literal>nameserver</literal> dans - <filename>/etc/resolv.conf</filename>), PPP récrira dans le fichier - les valeurs que votre fournisseur lui aura données.</para> - </sect3> - </sect2> - - <sect2> - <title>Configurer <command>ppp</command></title> - - <para>Le programme utilisateur <command>ppp</command> et le - “démon” <command>pppd</command> (l'implémentation de - PPP dans le noyau) emploient tous deux des fichiers de configuration - qui se trouvent dans le répertoire <filename>/etc/ppp</filename>. - Les fichiers de configuration fournis en exemple sont une bonne - référence pour ppp en mode utilisateur, ne les effacez pas.</para> - - <para>Pour configurer <command>ppp</command>, vous devrez, selon vos - besoins, renseigner un certain nombre de fichiers. Ce que vous y - mettrez dépend entre autres du fait que votre fournisseur vous - alloue une adresse IP statique (i.e., on vous donne une adresse IP - et vous utilisez toujours la même) ou dynamique (i.e., votre adresse - IP peut être différente à chaque session PPP).</para> - - <sect3 id="userppp-staticIP"> - <title>PPP et les adresses IP statiques</title> - - <para>Vous devrez créer un fichier de configuration appelé - <filename>/etc/ppp/ppp.conf</filename>. Il ressemblera à - l'exemple ci-dessous:</para> - - <note> - <para>Les lignes qui se terminent par <literal>:</literal> - commencent en première colonne. Toutes les autres lignes - doivent être indentées avec des espaces ou des tabulations - comme dans l'exemple donné.</para> - </note> - - <programlisting> -1 default: -2 set device /dev/cuaa0 -3 set speed 115200 -4 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0 OK-AT-OK \\dATDT\\TTIMEOUT 40 CONNECT" -5 provider: -6 set phone "(0123) 456 7890" -7 set login "TIMEOUT 10 \"\" \"\" gin:--gin: foo word: bar col: ppp" -8 set timeout 300 -9 set ifaddr <replaceable>x.x.x.x</replaceable> <replaceable>y.y.y.y</replaceable> 255.255.255.0 0.0.0.0 -10 add default HISADDR -11 enable dns</programlisting> - - <para>Ne mettez pas les numéros de ligne, ils ne sont là que pour - pouvoir y faire référence dans la suite de cette - documentation.</para> - - <variablelist> - <varlistentry><term>Ligne 1:</term> - <listitem> - <para>Définit l'entrée par défaut. Les commandes de cette - entrée sont automatiquement exécutées au lancement de - ppp.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Ligne 2:</term> - - <listitem> - <para>Identifie le périphérique auquel est connecté le - modem. <devicename>COM1:</devicename> correspond à - <filename>/dev/cuaa0</filename> et - <devicename>COM2:</devicename> à - <filename>/dev/cuaa1</filename>.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Ligne 3:</term> - - <listitem> - <para>Fixe la vitesse à laquelle vous voulez vous - connecter. Si 115200 ne marche pas (cela devrait - fonctionner avec n'importe quel modem assez récent), - essayez avec 38400.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Ligne 4:</term> - - <listitem> - <para>La chaîne d'appel. PPP en mode utilisateur utilise une - syntaxe “commande envoyée/réponse attendue” - semblable à celle du programme - <citerefentry><refentrytitle>chat</refentrytitle><manvolnum>8</manvolnum></citerefentry>. - Reportez-vous aux pages de manuel pour plus - d'informations sur les caractéristiques de ce langage.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Ligne 5:</term> - - <listitem> - <para>Définit une entrée pour un fournisseur appelé - “provider”.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Ligne 6:</term> - - <listitem> - <para>Donne le numéro de téléphone de ce fournisseur. - On peut indiquer plusieurs numéros de téléphone avec - les caractères <literal>:</literal> ou - <literal>|</literal> comme séparateur. La différence - entre les deux est décrite dans les pages de manuel de - ppp. En résumé, si vous voulez utiliser les numéros les - uns après les autres, utilisez <literal>:</literal>. - Si vous voulez toujours essayer d'appeler le premier - numéro et n'utiliser les autres qu'en cas d'échec, - servez-vous de <literal>|</literal>. Mettez toujours la - série de numéros de téléphone entre guillemets comme - dans l'exemple.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Ligne 7:</term> - - <listitem> - <para>La séquence d'ouverture de session suit la même - syntaxe de style “chat” que la séquence - d'établissement de la connexion. Dans l'exemple donné, - la séquence correspond à un service où l'ouverture - de session ressemble à:</para> - - <informalexample> - <screen>J. Random Provider -login: <replaceable>foo</replaceable> -password: <replaceable>bar</replaceable> -protocol: ppp</screen> - </informalexample> - - <para>Vous devrez modifier cette procédure pour l'adapter - à vos besoins. Quand vous la mettez pour la première - fois au point, activez la trace de “chat” - pour vérifier que la conversation se déroule conformément - à votre attente.</para> - - <para>Si vous utilisez PAP ou CHAP, il n'y aura pas à ce stade - d'ouverture de session, la séquence peut donc être laissée à - blanc. Voyez la section - <link linkend="userppp-PAPnCHAP">authentification PAP et - CHAP</link> pour plus de détails.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Ligne 8:</term> - - <listitem> - <para>Définit le délai de connexion par défaut (en - secondes). Ici, la connexion sera automatiquement coupée - après 300 secondes d'inactivité. Si vous ne voulez pas - de coupure automatique après un temps d'inactivité - donné, mettez cette valeur à zéro.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Ligne 9:</term> - - <listitem> - <para>Donne les adresses des interfaces. La chaîne - <replaceable>x.x.x.x</replaceable> doit être remplacée - par l'adresse IP que votre fournisseur vous a allouée. - La chaîne <replaceable>y.y.y.y</replaceable> doit être - remplacée par l'adresse IP que votre fournisseur vous - a donnée comme passerelle (la machine à laquelle vous - vous connectez). Si votre fournisseur ne vous a pas - indiqué d'adresse pour la passerelle, utilisez - <hostid role="netmask">10.0.0.2/0</hostid>. Si vous - devez “deviner” cette adresse, veillez à - créer une entrée dans - <filename>/etc/ppp/ppp.linkup</filename> - comme expliqué à la section - <link linkend="userppp-dynamicIP">PPP et les adresses - IP dynamiques</link>. Si cette ligne manque, - <command>ppp</command> ne pourra pas être utilisé en - mode <option>-auto</option> ou - <option>-dynamic</option>.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Ligne 10:</term> - - <listitem> - <para>Ajoute une route par défaut vers la passerelle de - votre fournisseur. Le mot réservé - <literal>HISADDR</literal> est remplacé par l'adresse de - la passerelle donnée à la ligne 9. Il est important que - cette ligne apparaisse après la précédente, sans quoi - le valeur de <literal>HISADDR</literal> n'est pas encore - initialisée.</para> - - </listitem> - </varlistentry> - - <varlistentry> - <term>Ligne 11:</term> - - <listitem> - <para>Cette ligne dit à PPP de demander à votre fournisseur de - confirmer que les adresses des serveurs de noms sont correctes. - Si votre fournisseur supporte cette fonctionnalité, PPP peut - alors mettre à jour les entrées pour les serveurs de noms dans - <filename>/etc/resolv.conf</filename> avec les bonnes - valeurs.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>Il n'est pas utile d'ajouter une entrée au fichier - <filename>ppp.linkup</filename> lorsque vous avez une adresse IP - statique car les entrées de votre table de routage sont correctes - avant même que vous vous soyez connecté. Vous pouvez malgré tout - vouloir ajouter des entrées pour lancer des programmes une fois - que vous êtes déjà connecté. C'est expliqué plus bas dans - l'exemple pour <command>sendmail</command>.</para> - - <para>Il y a des exemples de fichiers de configuration dans le - répertoire <filename>/etc/ppp</filename>.</para> - - </sect3> - - <sect3 id="userppp-dynamicIP"> - <title>PPP et les adresses IP dynamiques</title> - - <para>Si votre fournisseur ne vous donne pas d'adresse IP statique, - <command>ppp</command> peut être configuré pour négocier les - adresses locale et éloignée. Cela se fait en - “devinant” l'adresse IP et en laissant - <command>ppp</command> la rectifier avec le protocole de - configuration IP (“IP Configuration - Protocol” - IPCP) une fois la connexion établie. - Le fichier de configuration <filename>ppp.conf</filename> est le - même que pour <link linkend="userppp-staticIP">PPP et les - addresses IP statiques</link>, aux modifications suivantes - près:</para> - - <programlisting> -9 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0</programlisting> - - <para>Encore une fois, ne mettez pas les numéros de ligne, ils ne - sont là que pour y faire référence dans le suite des explications. - Indentez avec au moins un blanc.</para> - - <variablelist> - <varlistentry><term>Ligne 9:</term> - <listitem> - <para>Le nombre qui suit le caractère <literal>/</literal> - est le nombre de bits de l'adresse que ppp ne négociera - pas. Vous voudrez peut être utiliser des adresses IP plus - adaptées à votre cas particulier, mais l'exemple donné - marchera dans tous les cas de figure.</para> - - <para>Le dernier argument (<literal>0.0.0.0</literal>) dit à PPP - de négocier en utilisant l'adresse <hostid - role="ipaddr">0.0.0.0</hostid> plutôt que <hostid - role="ipaddr">10.0.0.1</hostid>. Ne mettez pas - <literal>0.0.0.0</literal> en premier argument de - <command>set ifaddr</command> parce que cela empêche PPP - de définir la route initiale en mode - <option>-auto</option>.</para> - - </listitem> - </varlistentry> - </variablelist> - - <para>Si vous utilisez la version 1.x de PPP, il vous faudra aussi - une entrée dans <filename>/etc/ppp/ppp.linkup</filename>. - <filename>ppp.linkup</filename> est utilisé après que la connexion - ait été établie. A ce stade, <command>ppp</command> connaît les - adresses IP <emphasis>réelles</emphasis>. L'entrée qui suit - supprimera les routes erronées existantes et créera les routes - valides:</para> - - <programlisting> -1 provider: -2 delete ALL -3 add 0 0 HISADDR</programlisting> - - <variablelist> - <varlistentry><term>Ligne 1:</term> - <listitem> - <para>A l'établissement de la connexion, - <command>ppp</command> parcourera les entrées de - <filename>ppp.linkup</filename> selon le principe - suivant. Il essayera d'abord de trouver le même libellé - que celui qui a été employé dans - <filename>ppp.conf</filename>. S'il échoue, il cherchera - une entrée pour l'adresse IP de la passerelle. C'est une - entrée dont le libellé est composé de quatre entiers (pour - les quatre octets). S'il ne la trouve pas non plus, il - cherchera l'entrée <literal>MYADDR</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Line 2:</term> - - <listitem> - <para>Cette ligne dit à <command>ppp</command> de supprimer - toutes les routes existantes pour l'interface - <devicename>tun</devicename> qu'il utilise (sauf la route - directe).</para> - </listitem> - </varlistentry> - - <varlistentry><term>Ligne 3:</term> - - <listitem> - <para>Cette ligne dit à <command>ppp</command> d'ajouter - une route par défaut vers <literal>HISADDR</literal>. - <literal>HISADDR</literal> sera remplacée par l'adresse IP - de la passerelle négociée par IPCP.</para> - - </listitem> - </varlistentry> - </variablelist> - - <para>Voyez l'entrée “pmdemand” dans les fichiers - <filename>/etc/ppp/ppp.conf.sample</filename> et - <filename>/etc/ppp/ppp.linkup.sample</filename> pour avoir un - exemple détaillé.</para> - - <para>La version 2 de PPP introduit les “routes - persistantes”. Toutes les lignes - <literal>add</literal> ou <literal>delete</literal> qui contiennent - <literal>MYADDR</literal> ou <literal>HISADDR</literal> sont - mémorisées et chaque fois que la valeur de - <literal>MYADDR</literal> ou <literal>HISADDR</literal> change, les - routes sont redéfinies. Il n'est donc plus nécessaire de répéter ces - lignes dans <filename>ppp.linkup</filename>.</para> - </sect3> - - <sect3> - <title>Recevoir des appels entrants avec <command>ppp</command></title> - - <para>Cette section vous explique comment configurer - <command>ppp</command> pour l'utiliser comme serveur.</para> - - <para>Quand vous configurez <command>ppp</command> pour recevoir - des appels entrants sur une machine connectée à un réseau local, - vous devez décider si vous transmettrez des paquets vers le - réseau local. Si c'est le cas, vous devrez allouer à la machine - distante une adresse IP sur votre sous-réseau local et utiliser la - commande - - <programlisting> -enable proxy</programlisting> - - dans le fichier <filename>ppp.conf</filename>. Vous devrez aussi - vous assurer que le fichier <filename>/etc/rc.conf</filename> - (ce fichier s'appelait auparavant - <filename>/etc/sysconfig</filename>) contienne la ligne:</para> - - <programlisting> -gateway=YES</programlisting> - - <sect4> - <title>Quel “getty”?</title> - - <para>La section - <link linkend="dialup">Connexions téléphoniques</link> - décrit en détail la mise en oeuvre des connexions - entrantes avec “getty”.</para> - - <para>Une alternative à <command>getty</command> est <ulink - url="http://www.leo.org/~doering/mgetty/index.html">mgetty</ulink>, une version de <command>getty</command> spécialement conçue pour les connexions téléphoniques.</para> - - <para>Un des avantages de <command>mgetty</command> est qu'il - <emphasis>discute</emphasis> avec les modems, ce qui signifie - que si le port est marqué “off” dans - <filename>/etc/ttys</filename>, votre modem ne décrochera pas - le téléphone.</para> - - <para>Les dernières versions de <command>mgetty</command> (à - partir de la 0.99bêta) suportent aussi la détection automatique - des fluxs PPP, ce qui permet à vos clients d'accéder au serveur - sans exécuter de procédures particulières.</para> - - <para>Voyez <link linkend="userppp-mgetty">Mgetty et - AutoPPP</link> pour plus d'informations sur - <command>mgetty</command>.</para> - - </sect4> - - <sect4> - <title>Autorisations pour PPP</title> - - <para><command>ppp</command> doit normalement être exécuté avec un - IDentifiant utilisateur de 0. Cependant, si vous voulez - autoriser l'exécution du serveur <command>ppp</command>, comme - décrit ci-dessous, sous un compte utilisateur ordinaire, vous - devez autoriser ces utilisateurs à exécuter - <command>ppp</command> en les ajoutant au groupe - <username>network</username> dans - <filename>/etc/group</filename>.</para> - - <para>Vous devrez aussi leur donner accès à une ou plusieurs sections - du fichier de configuration avec la commande - <command>allow</command>:</para> - - <programlisting> -allow users fred mary</programlisting> - - <para>Si vous mettez cette commande dans la section - <literal>default</literal>, vous donnez aux utilisateurs mentionnés - accès à tout.</para> - </sect4> - - <sect4> - <title>Installer une procédure PPP pour les utilisateurs - avec des adresses IP dynamiques</title> - - <para>Créez un fichier appelé - <filename>/etc/ppp/ppp-shell</filename> comme suit:</para> - - <programlisting> -#!/bin/sh -IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'` -CALLEDAS="$IDENT" -TTY=`tty` - -if [ x$IDENT = xdialup ]; then - IDENT=`basename $TTY` -fi - -echo "PPP pour $CALLEDAS sur $TTY" -echo "Démarrage PPP pour $IDENT" - -exec /usr/sbin/ppp -direct $IDENT</programlisting> - - <para>Cette procédure doit être exécutable. Créez maintenant un - lien symbolique appelé <filename>ppp-dialup</filename> sur - cette procédure avec la commande:</para> - - <informalexample> - <screen>&prompt.root; <userinput>ln -s ppp-shell /etc/ppp/ppp-dialup</userinput></screen> - </informalexample> - - <para>Utilisez cette procédure comme - <emphasis>interpréteur de commandes</emphasis> pour tous vos - utilisateurs qui se connectent avec ppp. Voici une exemple de - fichier <filename>/etc/password</filename> avec un utilisateur - PPP appelé <username>pchilds</username>. (n'oubliez pas de ne - pas éditer directement le fichier <filename>passwd</filename>, - utilisez <command>vipw</command>):</para> - - <programlisting> -pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup</programlisting> - - <para>Créez un répertoire <filename>/home/ppp</filename> que tout - le monde puisse lire, avec le fichier vide suivant: - - <informalexample> - <screen>-r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin --r--r--r-- 1 root wheel 0 May 27 02:22 .rhosts</screen> - </informalexample> - - ce qui évite que le contenu du fichier - <filename>/etc/motd</filename> soit affiché - à l'ouverture de session.</para> - - </sect4> - - <sect4> - <title>Installer une procédure PPP pour les utilisateurs - avec des adresses IP statiques</title> - - <para>Créez le fichier <filename>ppp-shell</filename> comme décrit - ci-dessus, et pour chaque compte auquel est assignée une adresse - IP fixe, créez un lien symbolique sur - <filename>ppp-shell</filename>.</para> - - <para>Par exemple, si vous avez trois clients appelés - <username>fred</username>, <username>sam</username>, - et <username>mary</username>, qui se connectent par téléphone et - pour qui vous servez de passerelle sur des réseaux - de classe C, vous taperez les commandes suivantes:</para> - - <informalexample> - <screen>&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred</userinput> -&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam</userinput> -&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary</userinput></screen> - </informalexample> - - <para>Vous devez définir comme interpréteur de commandes de chacun - de ces comptes les liens symboliques que vous venez de créer. - (ie. <filename>/etc/ppp/ppp-mary</filename> pour - <username>mary</username>, etc.)</para> - - </sect4> - - <sect4> - <title>Renseigner ppp.conf pour les utilisateurs avec des - adresses IP dynamiques</title> - - <para>Le fichier <filename>/etc/ppp/ppp.conf</filename> doit - contenir quelque chose qui ressemble à:</para> - - <programlisting> -default: - set debug phase lcp chat - set timeout 0 - -ttyd0: - set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255 - enable proxy - -ttyd1: - set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255 - enable proxy</programlisting> - - <note> - <para>L'indentation est importante.</para> - </note> - - <para>La section <literal>default:</literal> est utilisée pour - chaque session. Créez une entrée semblable à celle pour - <literal>ttyd0:</literal> ci-dessus pour chaque ligne activée - dans <filename>/etc/ttys</filename>. Vous devez attribuer à - chaque ligne une adresse IP dans votre plage d'adresses IP - dynamiques.</para> - - </sect4> - - <sect4> - <title>Renseigner <filename>ppp.conf</filename> pour les - utilisateurs avec des adresses IP statiques</title> - - <para>En plus de ce que vous avez déjà introduit dans le fichier - <filename>/etc/ppp/ppp.conf</filename> d'exemple ci-dessus - vous devez ajouter une section pour chaque utilisateur auquel - est assignée une adresse IP fixe. En continuant avec notre - exemple pour <username>fred</username>, - <username>sam</username> et - <username>mary</username>:</para> - - <programlisting> -fred: - set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255 - -sam: - set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255 - -mary: - set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255</programlisting> - - <para>Vous devez aussi, si besoin est, - donnez les informations de routage dans - <filename>/etc/ppp/ppp.linkup</filename> pour - chaque utilisateur ayant une adresse IP fixe. - La première ligne ci-dessous ajoute - une route vers le réseau de classe C <hostid - role="ipaddr">203.14.101.0</hostid> via la liaison - ppp du client.</para> - - <programlisting> -fred: - add 203.14.101.0 netmask 255.255.255.0 HISADDR - -sam: - add 203.14.102.0 netmask 255.255.255.0 HISADDR - -mary: - add 203.14.103.0 netmask 255.255.255.0 HISADDR</programlisting> - - </sect4> - - <sect4> - <title>A propos de <command>mgetty</command>, AutoPPP et des - extensions Microsoft</title> - - - <sect5 id="userppp-mgetty"> - <title><command>mgetty</command> et AutoPPP</title> - - <para>Configurer et compiler - <command>mgetty</command> avec l'option - <literal>AUTO_PPP</literal> permet à - <command>mgetty</command> de détecter la phase LCP des - connexions PPP et de lancer automatiquement une procédure - adaptée à ppp. Cependant, comme il n'y a pas alors - d'ouverture de session avec invite et demande de mot de - passe, il est nécessaire d'authentifier les utilisateurs - en utilisant soit PAP, soit CHAP.</para> - - <para>Nous supposerons dans cette section que vous avez déjà - réussi à configurer, compiler et installer une version de - <command>mgetty</command> avec l'option - <literal>AUTO_PPP</literal> (v0.99bêta ou ultérieure).</para> - - <para>Assurez-vous que le fichier - <filename>/usr/local/etc/mgetty+sendfax/login.config</filename> contienne bien la ligne suivante:</para> - - <programlisting> -/AutoPPP/ - - /etc/ppp/ppp-pap-dialup</programlisting> - - <para>Cela dit à <command>mgetty</command> d'exécuter la - procédure <filename>ppp-pap-dialup</filename> lorsqu'il - reconnaît une connexion PPP.</para> - - <para>Créez un fichier - <filename>/etc/ppp/ppp-pap-dialup</filename> - (ce fichier doit être exécutable) avec pour contenu:</para> - - <programlisting> -#!/bin/sh -exec /usr/sbin/ppp -direct pap$IDENT</programlisting> - - <para>Pour chaque ligne d'appel activée dans le fichier - <filename>/etc/ttys</filename>, créez une entrée - correspondante dans le fichier - <filename>/etc/ppp/ppp.conf</filename>. Ces entrées - peuvent sans problème exister conjointement aux entrées - que nous avons déjà créées plus haut.</para> - - <programlisting> -pap: - enable pap - set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40 - enable proxy</programlisting> - - <para>Chaque utilisateur se connectant de cette manière devra - disposer d'une entrée “nom d'utilisateur/mot de - passe” dans le fichier - <filename>/etc/ppp/ppp.secret</filename>, ou bien vous pouvez - ajouter l'option:</para> - - <programlisting> -enable passwdauth</programlisting> - - <para>pour identifier les utilisateurs avec pap en utilisant le - fichier <filename>/etc/password</filename>.</para> - - <para>Si vous voulez affecter à certains utilisateurs une adresse IP - statique, vous pouvez donner ce numéro comme troisième argument - de <filename>/etc/ppp/ppp.secret</filename>. Le fichier - <filename>/etc/ppp/ppp.secret.sample</filename> vous en donne - des exemples.</para> - </sect5> - - <sect5> - <title>Extentions Microsoft</title> - - <para>Il est possible de configurer PPP pour qu'il fournisse à la - demande les adresses des serveurs DNS et NetBIOS.</para> - - <para>Pour mettre en service ces extensions avec PPP version 1.x, - ajoutez les lignes suivantes à la section adéquate de - <filename>/etc/ppp/ppp.conf</filename>:</para> - - <programlisting> -enable msext -set ns 203.14.100.1 203.14.100.2 -set nbns 203.14.100.5</programlisting> - - <para>Et pour PPP version 2 et ultérieures:</para> - - <programlisting> -accept dns -set dns 203.14.100.1 203.14.100.2 -set nbns 203.14.100.5</programlisting> - - <para>Cela donnera aux clients les adresses des serveurs - DNS primaire et secondaire et du serveur de noms - netbios.</para> - - <para>A partir de la version 2, si la ligne - <literal>set dns</literal> n'est pas mentionnée, PPP utilise - les valeurs données par - <filename>/etc/resolv.conf</filename>.</para> - </sect5> - </sect4> - </sect3> - - <sect3 id="userppp-PAPnCHAP"> - <title>Authentification PAP et CHAP</title> - - <para>Certains fournisseurs d'accès configurent leurs systèmes de - sorte que la phase d'authentification de votre connexion se fasse - par PAP ou CHAP. Si tel est le cas, il n'y a pas d'invite - <prompt>login:</prompt> quand vous vous connectez, le dialogue - s'établit immédiatement avec PPP.</para> - - <para>PAP est moins sécurisé que CHAP, mais la sécurité n'est - normalement pas un problème dans ce cas, parce que les mots - de passe, bien que transmis en clair, ne sont transmis que sur - une liaison série, ce qui la rend très difficile à espionner - par un pirate.</para> - - <para>Par rapport aux exemples donnés aux sections - <link linkend="userppp-staticIP">PPP et les adresses IP - statiques</link> ou <link - linkend="userppp-dynamicIP">PPP et les adresses IP - dynamiques</link>, vous devez faire les modifications - suivantes:</para> - - <programlisting> -7 set login -... -12 set authname <replaceable>MonNomUtilisateur</replaceable> -13 set authkey <replaceable>MonMotDePasse</replaceable></programlisting> - - <para>Comme toujours, ne mettez pas les numéros de ligne, ils ne - sont là que pour y faire référence dans les explications qui - suivent. Il faut indenter avec au moins un espace.</para> - - <variablelist> - <varlistentry><term>Ligne 7:</term> - <listitem> - <para>Votre fournisseur ne vous demandera normalement pas - d'ouvrir de session sur le serveur si vous utilisez PAP - ou CHAP. Vous devez donc désactiver votre séquence - “set login”.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Ligne 12:</term> - - <listitem> - <para>Cette ligne donne votre nom d'utilisateur PAP/CHAP. - Remplacez <replaceable>MonNomUtilisateur</replaceable> par - la bonne valeur.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Ligne 13:</term> - - <listitem> - <para>Cette ligne donne votre mot de PAP/CHAP. - Remplacez <replaceable>MonMotDePasse</replaceable> par - la bonne valeur. Peut-être voudrez-vous ajouter une ligne - supplémentaire: - - <programlisting> -15 accept PAP</programlisting> ou - - <programlisting> -15 accept CHAP</programlisting> pour que l'intention soit claire, mais - PAP et CHAP sont tous deux acceptés par défaut.</para> - - </listitem> - </varlistentry> - </variablelist> - </sect3> - - <sect3> - <title>Modifier à chaud votre configuration - <command>ppp</command></title> - - <para>Il est possible de dialoguer avec le programme - <command>ppp</command> tandis qu'il s'exécute en tâche de fond, - mais vous devez avoir configuré un port de diagnostic - qui convienne. Pour cela, ajoutez à votre configuration la - ligne suivante:</para> - - <programlisting> -set server /var/run/ppp-tun%d MotDePasseDeDiagnostic 0177</programlisting> - - <para>Cela dit à PPP d'écouter sur - la “prise” - socket - Unix - indiquée, et de demander au client de lui donner le mot de passe - mentionné avant de lui autoriser l'accès. Le - <literal>%d</literal> est à remplacer par le numéro du périphérique - “tunnel” utilisé.</para> - - <para>Une fois que - la “prise” - socket - a - été créée, le programme - <citerefentry><refentrytitle>pppctl</refentrytitle><manvolnum>8</manvolnum></citerefentry> - peut être utilisé par des procédures qui veulent agir sur la - configuration du programme <command>ppp</command> actif.</para> - - </sect3> - </sect2> - - <sect2 id="userppp-final"> - <title>Configuration finale du système</title> - - <para><command>ppp</command> est maintenant configuré, mais il y a - encore quelques petites choses à faire avant de pouvoir l'utiliser. - Il faut pour cela modifier le fichier - <filename>/etc/rc.conf</filename> (qui s'appelait auparavant - <filename>/etc/sysconfig</filename>).</para> - - <para>En le parcourant de haut en bas, vérifiez que la valeur - <literal>hostname=</literal> est bien renseignée, e.g.:</para> - - <programlisting> -hostname=foo.bar.com</programlisting> - - <para>Si votre fournisseur d'accès vous a donné une adresse IP - statique et un nom de machine, le mieux est d'utiliser ce nom - comme nom de votre machine.</para> - - <para>Cherchez la variable <literal>network_interfaces</literal>. Si - vous voulez configurer votre système pour vous connecter à la - demande chez votre fournisseur, vérifiez que le périphérique - <devicename>tun0</devicename> est bien dans la liste, sinon - ajoutez-le.</para> - - <programlisting> -network_interfaces="lo0 tun0" ifconfig_tun0=</programlisting> - - <note> - <para>La variable <literal>ifconfig_tun0</literal> doit être vide. - Il faut créer un fichier <filename>/etc/start_if.tun0</filename> - avec la ligne:</para> - - <programlisting> -ppp -auto mysystem</programlisting> - - <para>Cette procédure est exécutée lors de la configuration du - réseau au démarrage et lance le “démon” ppp en - mode automatique. Si cette machine sert de passerelle sur un - réseau local, vous pouvez aussi ajouter l'indicateur - <option>-alias</option>. Reportez-vous aux pages de manuel pour - plus de détails.</para> - </note> - - <para>Donnez <literal>NO</literal> comme valeur pour le programme - de routage avec la ligne:</para> - - <programlisting> -router_enable=NO (/etc/rc.conf) -router=NO (/etc/sysconfig)</programlisting> - - <para>Il est important que le “démon” - <command>routed</command> ne soit pas lancé (il est démarré par - défaut) parce que <command>routed</command> a tendance à effacer - les entrées par défaut créées dans la table de routage par - <command>ppp</command>.</para> - - <para>Il vaut probablement la peine de vérifier que la ligne - <literal>sendmail_flags</literal> ne comporte pas l'option - <option>-q</option>, sans quoi <command>sendmail</command> - jettera de temps à autre un oeil au réseau, ce qui peut amener - votre machine à ouvrir la connexion. Vous pouvez essayez:</para> - - <programlisting> -sendmail_flags="-bd"</programlisting> - - <para>L'inconvénient est que vous devrez forcer - <command>sendmail</command> à réexaminer la file d'attente - du courrier électronique chaque fois que la liaison ppp sera - activée, en tapant:</para> - - <informalexample> - <screen>&prompt.root; <userinput>/usr/sbin/sendmail -q</userinput></screen> - </informalexample> - - <para>Vous pouvez utiliser la commande <command>!bg</command> - de <filename>ppp.linkup</filename> pour le faire - automatiquement:</para> - - <programlisting> -1 provider: -2 delete ALL -3 add 0 0 HISADDR -4 !bg sendmail -bd -q30m</programlisting> - - <para>Si cela ne vous convient pas, il - est possible de mettre en place un - “dfilter” pour bloquer le trafic SMTP. Consultez les - fichiers d'exemple pour plus de détails.</para> - - <para>Vous n'avez plus qu'à redémarrer votre machine.</para> - - <para>Apres qu'elle ait redémarré, vous pouvez taper soit:</para> - - <informalexample> - <screen>&prompt.root; <userinput>ppp</userinput></screen> - </informalexample> - - <para>puis <command>dial provider</command> pour initialiser la - session PPP ou, si vous voulez que ppp lance la session - automatiquement lorsqu'il y a du trafic sortant (et que vous - n'avez pas créé le fichier <filename>start_if.tun0</filename>), - tapez:</para> - - <informalexample> - <screen>&prompt.root; <userinput>ppp -auto provider</userinput></screen> - </informalexample> - - </sect2> - - <sect2> - <title>Résumé</title> - - <para>Pour récapituler, les étapes suivantes sont nécessaires lors de - la première configuration de ppp:</para> - - <para>Côté client:</para> - - <procedure> - - <step> - <para>Vérifier que le pilote de périphérique - <devicename>tun</devicename> soit inclus dans le noyau.</para> - </step> - - <step> - <para>Vérifier que le fichier spécial de périphérique - <filename>tun<replaceable>X</replaceable></filename> existe - dans le répertoire <filename>/dev</filename>.</para> - </step> - - <step> - <para>Créer une entrée dans - <filename>/etc/ppp/ppp.conf</filename>. L'exemple - <filename>pmdemand</filename> doit suffire pour la plupart - des fournisseurs d'accès.</para> - </step> - - <step> - <para>Dans le cas d'une adresse IP dynamique, créer une entrée - dans <filename>/etc/ppp/ppp.linkup</filename>.</para> - </step> - - <step> - <para>Modifier le fichier <filename>/etc/rc.conf</filename> (ou - <filename>sysconfig</filename>).</para> - </step> - - <step> - <para>Créer une procédure <filename>start_if.tun0</filename> - dans le cas d'une connexion automatique à la demande.</para> - </step> - - </procedure> - - - <para>Côté serveur:</para> - - <procedure> - - <step> - <para>Vérifier que le pilote de périphérique - <devicename>tun</devicename> soit inclus dans le noyau.</para> - </step> - - <step> - <para>Vérifier que le fichier spécial de périphérique - <filename>tun<replaceable>X</replaceable></filename> existe - dans le répertoire <filename>/dev</filename>.</para> - </step> - - <step> - <para>Créer une entrée dans <filename>/etc/passwd</filename> - (avec le programme <citerefentry><refentrytitle>vipw</refentrytitle><manvolnum>8</manvolnum></citerefentry>).</para> - </step> - - <step> - <para>Créer un profil dans le répertoire de cet utilisateur qui - exécute <command>ppp -direct direct-server</command> ou - quelque chose d'équivalent.</para> - </step> - - <step> - <para>Créer une entrée dans - <filename>/etc/ppp/ppp.conf</filename>. L'exemple - <filename>direct-server</filename> devrait suffire.</para> - </step> - - <step> - <para>Créer une entrée dans - <filename>/etc/ppp/ppp.linkup</filename>.</para> - </step> - - <step> - <para>Modifier le fichier <filename>/etc/rc.conf</filename> (ou - <filename>sysconfig</filename>).</para> - </step> - - </procedure> - - </sect2> - - <sect2> - <title>Remerciements</title> - - <para>La dernière mise à jour de cette section du manuel a été - effectuée le Lundi 10 Août 1998 par &a.brian;.</para> - - <para>Merci aux personnes suivantes pour les informations, - commentaires et suggestions qu'elles m'ont transmis:</para> - - <para>&a.nik;</para> - - <para>&a.dirkvangulik;</para> - - <para>&a.pjc;</para> - - </sect2> - </sect1> - - <sect1 id="ppp"> - <title>Configurer PPP intégré au noyau</title> - - <para><emphasis>Contribution de &a.gena;.</emphasis></para> - - <para>Avant de lancer PPP sur votre machine, vérifiez que - <command>pppd</command> est bien dans le répertoire - <filename>/usr/sbin</filename> et que le répertoire - <filename>/etc/ppp</filename> existe.</para> - - <para><command>pppd</command> fonctionne de deux façons:</para> - - <orderedlist> - - <listitem> - <para>comme “client”, i.e. si vous voulez connecter - votre machine au monde extérieur via un liaison PPP série ou un - modem.</para> - </listitem> - - <listitem> - <para>comme “serveur”, i.e. si votre machine est - sur le réseau et sert à y connecter d'autres ordinateurs avec - PPP.</para> - </listitem> - - </orderedlist> - - <para>Dans les deux cas, vous devrez renseigner un fichier d'options - (<filename>/etc/ppp/options</filename> ou - <filename>~/.ppprc</filename> s'il y a plus d'un utilisateur sur votre - machine qui utilisent PPP).</para> - - <para>Il vous faudra aussi un logiciel “modem/série” - (de préférence <command>kermit</command>) pour appeler et établir la - connexion avec la machine distante.</para> - - <sect2> - <title>Utiliser le client PPP</title> - - <para>J'ai utilisé le fichier <filename>/etc/ppp/options</filename> - suivant pour me connecter à la liaison PPP d'un concentrateur - CISCO.</para> - - <programlisting> -crtscts # contrôle de flux matériel -modem # liaison par modem -noipdefault # adresse IP affectée par le serveur PPP distant - # si la machine distante ne vous donne pas d'adresse IP - # lors de la négociation IPCP, ne mettez pas cette option -passive # attendre les paquets LCP -domain ppp.foo.com # mettez ici votre nom de domaine - -:<ip_éloigné> # mettez ici l'adresse IP de la machine PPP distante - # elle servira à router des paquets via la liaison PPP - # si vous n'avez pas utilisé l'option noipdefault - # changez cette ligne en <ip_local>:<ip_éloigné> -defaultroute # mettez cette ligne si vous voulez que le serveur PPP soit - # votre routeur par défaut</programlisting> - - <para>Pour vous connecter:</para> - - <procedure> - - <step> - <para>Appelez la machine éloignée avec kermit (ou un autre - programme pour modem) et donnez votre nom et votre mot - de passe (ou ce qu'il faut pour activer PPP sur la machine - distante).</para> - </step> - - <step> - <para>Quittez kermit (sans raccrocher la ligne).</para> - </step> - - <step> - <para>Entrez:</para> - - <informalexample> - <screen>&prompt.root; <userinput>/usr/src/usr.sbin/pppd.new/pppd <replaceable>/dev/tty01</replaceable> <replaceable>19200</replaceable></userinput></screen> - </informalexample> - - <para>Utilisez la vitesse et le nom de périphérique - adéquats.</para> - </step> - - </procedure> - - <para>Votre ordinateur est maintenant connecté par PPP. Si la - connexion échoue pour une raison ou une autre, vous pouvez ajouter - l'option <option>debug</option> au fichier - <filename>/etc/ppp/options</filename> et consulter les messages à - la console pour trouver la cause du problème.</para> - - <para>La procédure <filename>/etc/ppp/pppup</filename> ci-dessous - fera tout cela automatiquement:</para> - - <programlisting> -#!/bin/sh -ps ax |grep pppd |grep -v grep -pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'` -if [ "X${pid}" != "X" ] ; then - echo 'arrêt de pppd, PID=' ${pid} - kill ${pid} -fi -ps ax |grep kermit |grep -v grep -pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'` -if [ "X${pid}" != "X" ] ; then - echo 'arrêt de kermit, PID=' ${pid} - kill -9 ${pid} -fi - -ifconfig ppp0 down -ifconfig ppp0 delete - -kermit -y /etc/ppp/kermit.dial -pppd /dev/tty01 19200</programlisting> - - <para><filename>/etc/ppp/kermit.dial</filename> est la procédure - kermit qui appelle et fournit les informations d'authentification - à la machine distante. (Il y a une exemple de procédure de ce type - à la fin de ce document.)</para> - - <para>Utilisez la procédure <filename>/etc/ppp/pppdown</filename> - ci-dessous pour terminer la session PPP et vous déconnecter:</para> - - <programlisting> -#!/bin/sh -pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'` -if [ X${pid} != "X" ] ; then - echo 'arrêt de pppd, PID=' ${pid} - kill -TERM ${pid} -fi - -ps ax |grep kermit |grep -v grep -pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'` -if [ "X${pid}" != "X" ] ; then - echo 'arrêt de kermit, PID=' ${pid} - kill -9 ${pid} -fi - -/sbin/ifconfig ppp0 down -/sbin/ifconfig ppp0 delete -kermit -y /etc/ppp/kermit.hup -/etc/ppp/ppptest</programlisting> - - <para>Pour voir si PPP tourne toujours - (<filename>/usr/etc/ppp/ppptest</filename>):</para> - - <programlisting> -#!/bin/sh -pid=`ps ax| grep pppd |grep -v grep|awk '{print $1;}'` -if [ X${pid} != "X" ] ; then - echo 'pppd actif : PID=' ${pid-NONE} -else - echo 'Pas de pppd actif.' -fi -set -x -netstat -n -I ppp0 -ifconfig ppp0</programlisting> - - <para>Pour raccrocher la ligne modem - (<filename>/etc/ppp/kermit.hup</filename>):</para> - - <programlisting> -set line /dev/tty01 ; mettez ici le périphérique pour votre modem -set speed 19200 -set file type binary -set file names literal -set win 8 -set rec pack 1024 -set send pack 1024 -set block 3 -set term bytesize 8 -set command bytesize 8 -set flow none - -pau 1 -out +++ -inp 5 OK -out ATH0\13 -echo \13 -exit</programlisting> - - <para>Voici une autre méthode qui utilise <command>chat</command> - au lieu de <command>kermit</command>:</para> - - <para><emphasis>Contribution de &a.rhuff;.</emphasis></para> - - <para>Les deux fichiers suivants suffisent à établir une liaison - ppp.</para> - - <para><filename>/etc/ppp/options</filename>:</para> - - <programlisting> -/dev/cuaa1 115200 - </programlisting> - <para></para> - <programlisting> -crtscts # contrôle de flux matériel -modem # liaison par modem -connect "/usr/bin/chat -f /etc/ppp/login.chat.script" -noipdefault # adresse IP affectée par le serveur PPP distant - # si la machine distante ne vous donne pas d'adresse IP - # lors de la négociation IPCP, ne mettez pas cette option -passive # attendre les paquets LCP -domain ppp.foo.com # mettez ici votre nom de domaine - -:<ip_éloigné> # mettez ici l'adresse IP de la machine PPP distante - # elle servira à router des paquets via la liaison PPP - # si vous n'avez pas utilisé l'option noipdefault - # changez cette ligne en <ip_local>:<ip_éloigné> -defaultroute # mettez cette ligne si vous voulez que le serveur PPP soit - # votre routeur par défaut</programlisting> - - <para><filename>/etc/ppp/login.chat.script</filename>:</para> - - <para>(Ceci doit être tapé <emphasis>sur une seule - ligne</emphasis>.)</para> - - <programlisting> -ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT<numéro.de.téléphone> - CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: <nom-d-utilisateur> - TIMEOUT 5 sword: <mot-de-passe></programlisting> - - <para>Une fois que ces fichiers sont installés et contiennent ce qu'il - faut, vous n'avez plus qu'à taper:</para> - - <informalexample> - <screen>&prompt.root; <userinput>pppd</userinput></screen> - </informalexample> - - <para>Cet exemple est avant tout basé sur des informations fournies - par: Trev Roydhouse - <Trev.Roydhouse@f401.n711.z3.fidonet.org> et utilisées - avec son autorisation.</para> - - </sect2> - - <sect2> - <title>Utiliser le serveur PPP</title> - - <para><filename>/etc/ppp/options</filename>:</para> - - <programlisting> -crtscts # contrôle de flux matériel -netmask 255.255.255.0 # masque de sous-réseau ( facultatif ) -192.114.208.20:192.114.208.165 # adresses IP des machines locales et distantes - # l'adresse locale ne doit pas être la même que - # celle que vous avez assignée à l'interface - # Ethernet ( ou autre ) de la machine. - # l'adresse IP de la machine distante est - # l'adresse qui lui sera affectée -domain ppp.foo.com # votre nom de domaine -passive # attendre LCP -modem # liaison modem</programlisting> - - <para>La procédure <filename>/etc/ppp/pppserv</filename> ci-dessous - lancera le serveur ppp sur votre machine:</para> - - <programlisting> -#!/bin/sh -ps ax |grep pppd |grep -v grep -pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'` -if [ "X${pid}" != "X" ] ; then - echo 'arrêt de pppd, PID=' ${pid} - kill ${pid} -fi -ps ax |grep kermit |grep -v grep -pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'` -if [ "X${pid}" != "X" ] ; then - echo 'arrêt de kermit, PID=' ${pid} - kill -9 ${pid} -fi - -# réinitialiser l'interface ppp -ifconfig ppp0 down -ifconfig ppp0 delete - -# activer le mode réponse automatique -kermit -y /etc/ppp/kermit.ans - -# lancer ppp -pppd /dev/tty01 19200</programlisting> - - <para>Utilisez cette procédure - <filename>/etc/ppp/pppservdown</filename> pour arrêter - le serveur:</para> - - <programlisting> -#!/bin/sh -ps ax |grep pppd |grep -v grep -pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'` -if [ "X${pid}" != "X" ] ; then - echo 'arrêt de pppd, PID=' ${pid} - kill ${pid} -fi -ps ax |grep kermit |grep -v grep -pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'` -if [ "X${pid}" != "X" ] ; then - echo 'arrêt de kermit, PID=' ${pid} - kill -9 ${pid} -fi -ifconfig ppp0 down -ifconfig ppp0 delete - -kermit -y /etc/ppp/kermit.noans</programlisting> - - <para>La procédure kermit ci-dessous active ou désactive - le mode réponse automatique de votre modem - (<filename>/etc/ppp/kermit.ans</filename>):</para> - - <programlisting> -set line /dev/tty01 -set speed 19200 -set file type binary -set file names literal -set win 8 -set rec pack 1024 -set send pack 1024 -set block 3 -set term bytesize 8 -set command bytesize 8 -set flow none - -pau 1 -out +++ -inp 5 OK -out ATH0\13 -inp 5 OK -echo \13 -out ATS0=1\13 ; remplacez par ATS0=0\13 pour désactiver - ; le mode réponse automatique -inp 5 OK -echo \13 -exit</programlisting> - - <para>La procédure - <filename>/etc/ppp/kermit.dial</filename> établit la connexion et - ouvre la session sur la machine distante. Vous devrez l'adapter - à vos besoins propres. Mettez-y votre nom d'utilisateur et votre - mot de passe, et modifiez aussi les chaînes attendues en réponse - selon ce que vous envoient votre modem et la machine - distante.</para> - - <programlisting> -; -; mettez ici la liaison série à laquelle est raccordé le modem: -; -set line /dev/tty01 -; -; mettez ici la vitesse du modem: -; -set speed 19200 -set file type binary ; transfert 8 bits -set file names literal -set win 8 -set rec pack 1024 -set send pack 1024 -set block 3 -set term bytesize 8 -set command bytesize 8 -set flow none -set modem hayes -set dial hangup off -set carrier auto ; puis SET CARRIER si nécessaire, -set dial display on ; puis SET DIAL si nécessaire, -set input echo on -set input timeout proceed -set input case ignore -def \%x 0 ; compteur d'ouverture de session -goto slhup - -:slcmd ; met le modem en mode commande -echo Modem en mode commande. -clear ; vide le tampon d'entrée -pause 1 -output +++ ; séquence d'échappement Hayes -input 1 OK\13\10 ; attendre un OK -if success goto slhup -output \13 -pause 1 -output at\13 -input 1 OK\13\10 -if fail goto slcmd ; si le modem ne répond pas OK, réessayer - -:slhup ; raccrocher -clear ; vider le tampon d'entrée -pause 1 -echo On raccroche. -output ath0\13 ; commande HAYES pour raccrocher -input 2 OK\13\10 -if fail goto slcmd ; si pas de réponse OK, passez en mode commande - -:sldial ; composer le numéro -pause 1 -echo On appelle. -output atdt9,550311\13\10 ; mettre ici le numéro de téléphone -assign \%x 0 ; mettre le compteur de secondes à 0 - -:look -clear ; vider le tampon d'entrée -increment \%x ; compter les secondes -input 1 {CONNECT } -if success goto sllogin -reinput 1 {NO CARRIER\13\10} -if success goto sldial -reinput 1 {NO DIALTONE\13\10} -if success goto slnodial -reinput 1 {\255} -if success goto slhup -reinput 1 {\127} -if success goto slhup -if < \%x 60 goto look -else goto slhup - -:sllogin ; ouverture de session -assign \%x 0 ; mettre le compteur de secondes à 0 -pause 1 -echo Attente de l'invite de session. - -:slloop -increment \%x ; compter les secondes -clear ; vider le tampon d'entrée -output \13 -; -; Mettez ici l'invite que vous attendez: -; -input 1 {Username: } -if success goto sluid -reinput 1 {\255} -if success goto slhup -reinput 1 {\127} -if success goto slhup -if < \%x 10 goto slloop ; essayer 10 fois d'avoir l'invite -else goto slhup ; raccrocher et recommencer après 10 échecs - -:sluid -; -; Mettez ici votre nom d'utilisateur: -; -output nom-d-utilisateur-ppp\13 -input 1 {Password: } -; -; Mettez ici votre mot de passe: -; -output mot-de-passe-ppp\13 -input 1 {Entering SLIP mode.} -echo -quit - -:slnodial -echo \7Pas de tonalité. Vérifiez votre ligne téléphonique!\7 -exit 1 - -; local variables: -; mode: csh -; comment-start: "; " -; comment-start-skip: "; " -; end:</programlisting> - - </sect2> - </sect1> - - <sect1 id="slipc"> - <title>Configurer un client SLIP</title> - - <para><emphasis>Contribution de &a.asami;<!-- <br> -->8 Août - 1995.</emphasis></para> - - <para>Cette section décrit une manière de configurer une machine - FreeBSD pour utiliser SLIP sur un réseau où le nom de machine - est statique. Si le nom de machine est affecté dynamiquement (i.e., - votre adresse change à chaque connexion), vous devrez probablement - employer une méthode plus sophistiquée.</para> - - <para>Déterminez d'abord sur quel port série votre modem est branché. - J'utilise un lien symbolique de <filename>/dev/modem</filename> vers - <filename>/dev/cuaa1</filename>, et n'utilise que ce lien dans mes - fichiers de configuration. Cela évite qu'il devienne laborieux - de modifier un certain nombre de fichiers de - <filename>/etc</filename> et les - <filename>.kermrc</filename> pour l'ensemble du système!</para> - - <note> - <para><filename>/dev/cuaa0</filename> correspond à - <devicename>COM1</devicename> et - <filename>cuaa1</filename> à <devicename>COM2</devicename>, - etc.</para> - </note> - - <para>Vérifiez que la ligne: - - <programlisting> -pseudo-device sl 1</programlisting> est bien présente dans votre fichier - de configuration du noyau. Elle existe dans le noyau - <filename>GENERIC</filename>, ce n'est donc un problème que si vous - l'avez supprimée.</para> - - <sect2> - <title>Ce que vous n'aurez à faire qu'une seule fois</title> - - <procedure> - - <step> - <para>Ajoutez votre machine, la passerelle et les serveurs de - noms de domaines à votre fichier - <filename>/etc/hosts</filename>. Voici à quoi ressemble le - mien:</para> - - <programlisting> -127.0.0.1 localhost loghost -136.152.64.181 silvia.HIP.Berkeley.EDU silvia.HIP silvia -136.152.64.1 inr-3.Berkeley.EDU inr-3 slip-gateway -128.32.136.9 ns1.Berkeley.edu ns1 -128.32.136.12 ns2.Berkeley.edu ns2</programlisting> - - <para>Au passage, silvia est le nom de la voiture que j'avais - quand je suis retourné au Japon (on l'appelle 2?0SX ici aux - Etats-Unis).</para> - </step> - - <step> - <para>Vérifiez que <option>hosts</option> vient avant - <option>bind</option> dans votre fichier - <filename>/etc/host.conf</filename>. Sinon, il peut se - passer des choses bizarres.</para> - </step> - - <step> - <para>Modifiez le fichier <filename>/etc/rc.conf</filename>. - Si votre version de FreeBSD est antérieure à la version 2.2.2, - c'est le fichier <filename>/etc/sysconfig</filename> qu'il - faut modifier à la place.</para> - <orderedlist> - - <listitem> - <para>Définissez votre nom de machine à la ligne:</para> - <programlisting> -hostname=myname.my.domain</programlisting> - - <para>Vous devez donner votre nom Internet de - machine en entier.</para> - </listitem> - - <listitem> - <para>Ajouter sl0 à la liste des interfaces réseau - en modifiant la ligne:</para> - - <programlisting> -network_interfaces="lo0"</programlisting> - - <para>en:</para> - - <programlisting> -network_interfaces="lo0 sl0"</programlisting> - </listitem> - - <listitem> - <para>Définissez les paramètres de configuration de sl0 en - ajoutant une ligne:</para> - - <programlisting> -ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"</programlisting> - </listitem> - - <listitem> - <para>Précisez la passerelle par défaut en modifiant - la ligne:</para> - <programlisting> -defaultrouter=NO</programlisting> - <para>en:</para> - <programlisting> -defaultrouter=slip-gateway</programlisting> - </listitem> - - </orderedlist> - - </step> - - <step> - <para>Créez un fichier <filename>/etc/resolv.conf</filename> qui - contienne:</para> - - <programlisting> -domain HIP.Berkeley.EDU -nameserver 128.32.136.9 -nameserver 128.32.136.12</programlisting> - - <para>Comme vous le constatez, c'est la définition des serveurs de - noms de domaines. Bien entendu, les noms et les adresses de - ceux-ci sont fonction de votre environnement particulier.</para> - </step> - - <step> - <para>Donnez des mots de passe à root et toor (et à tous les - autres comptes qui n'auraient pas de mot de passe). Employez - <command>passwd</command>, ne modifiez pas les fichiers - <filename>/etc/passwd</filename> ou - <filename>/etc/master.passwd</filename>!</para> - </step> - - <step> - <para>Redémarrez la machine et vérifiez qu'elle a bien le nom - voulu.</para> - </step> - - </procedure> - - </sect2> - - <sect2> - <title>Etablir une connexion SLIP</title> - - <procedure> - - <step> - <para>Téléphonez, tapez <command>slip</command> à l'invite, - entrez votre nom d'utilisateur et votre mot de passe. Ce - que vous avez à faire dépend de votre environnement. J'utilise - une procédure kermit comme celle-ci:</para> - - <programlisting> -# configuration kermit -set modem hayes -set line /dev/modem -set speed 115200 -set parity none -set flow rts/cts -set terminal bytesize 8 -set file type binary -# La macro-instruction qui suit téléphone et établit la connexion -define slip dial 643-9600, input 10 =>, if failure stop, - -output slip\x0d, input 10 Username:, if failure stop, - -output silvia\x0d, input 10 Password:, if failure stop, - -output ***\x0d, echo \x0aCONNECTED\x0a</programlisting> - <para>(vous devez bien sur remplacer le nom et le mot de - passe par les vôtres). Vous pouvez alors entrer simplement - <command>slip</command> à l'invite de kermit - pour vous connecter.</para> - - <note> - <para>Laisser votre mot de passe en clair dans un - quelconque fichier est en général une - <emphasis>MAUVAISE</emphasis> idée. Faites-le à vos risques - et périls. Je suis simplement trop paresseux.</para> - </note> - </step> - - <step> - <para>Laissez maintenant kermit tel que (vous pouvez le mettre - en arrière-plan avec <command>z</command>) et, sous le compte - super-utilisateur, tapez:</para> - - <informalexample> - <screen>&prompt.root; <userinput>slattach -h -c -s 115200 /dev/modem</userinput></screen> - </informalexample> - - <para>Si vous arriver à envoyer un <command>ping</command> à des - machines situées de l'autre côté du routeur, vous êtes - connecté! Si cela ne marche pas, vous pouvez essayer l'option - <option>-a</option> au lieu de l'option <option>-c</option> de - slattach.</para> - </step> - - </procedure> - - </sect2> - - <sect2> - <title>Comment couper la connexion</title> - - <para>Tapez: - - <informalexample> - <screen>&prompt.root; <userinput>kill -INT `cat /var/run/slattach.modem.pid`</userinput></screen> - </informalexample>(en étant super-utilisateur - <username>root</username>) - pour tuer slattach. Revenez maintenant sous kermit - (<command>fg</command> si vous l'avez mis en tâche de fond) - et quittez-le (<command>q</command>).</para> - - <para>Les pages de manuel de slattach disent que vous devez employer - <command>ifconfig sl0 down</command> pour indiquer que l'interface - n'est plus active, mais cela ne change apparement rien pour moi. - (Les diagnostics de <command>ifconfig sl0</command> sont - identiques.)</para> - - <para>Il arrive parfois que votre modem refuse de raccrocher (le mien - le fait souvent). Dans ce cas, relancez kermit et quittez-le de - nouveau. Cela marche en général au deuxième essai.</para> - - </sect2> - - <sect2> - <title>En cas de problèmes</title> - - <para>Si cela ne marche pas, n'hésitez pas à me contacter. Voici - les problèmes que certains ont rencontrés jusqu'ici:</para> - - <itemizedlist> - - <listitem> - <para>Ne pas utiliser l'option <option>-c</option> ou - <option>-a</option> de slattach (Je n'ai aucune idée - de pourquoi cela pose problème, mais le fait de mettre - cet indicateur a au moins fourni la solution dans un - cas).</para> - </listitem> - - <listitem> - <para>Mettre <option>s10</option> au lieu <option>sl0</option> - (avec certaines polices de caractères, il est parfois - difficile de faire la différence).</para> - </listitem> - - <listitem> - <para>Essayez <command>ifconfig sl0</command> pour contrôler - la configuration de votre interface. J'obtiens:</para> - - <informalexample> - <screen>&prompt.root; <userinput>ifconfig sl0</userinput> -sl0: flags=10<POINTOPOINT> - inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00</screen> - </informalexample> - </listitem> - - <listitem> - <para>De même, <command>netstat -r</command> vous affichera - la table de routage, au cas où <command>ping</command> - vous renverrait des - messages “no route to host”. - Voici la mienne:</para> - - <informalexample> - <screen>&prompt.root; <userinput>netstat -r</userinput> -Routing tables -Destination Gateway Flags Refs Use IfaceMTU Rtt Netmasks: - -(root node) -(root node) - -Route Tree for Protocol Family inet: -(root node) => -default inr-3.Berkeley.EDU UG 8 224515 sl0 - - -localhost.Berkel localhost.Berkeley UH 5 42127 lo0 - 0.438 -inr-3.Berkeley.E silvia.HIP.Berkele UH 1 0 sl0 - - -silvia.HIP.Berke localhost.Berkeley UGH 34 47641234 lo0 - 0.438 -(root node)</screen> - </informalexample> - <para>(cela après transfert d'un certain nombre de fichiers, vous - devriez avoir des valeurs moins importantes).</para> - </listitem> - - </itemizedlist> - - </sect2> - </sect1> - - <sect1 id="slips"> - <title>Configurer un serveur SLIP</title> - - <para><emphasis>Contribution de &a.ghelmer;.<!-- <br> --> v1.0, 15 Mai - 1995.</emphasis></para> - - <para>Ce document vous donne des indications pour mettre en oeuvre un - serveur SLIP sur un système FreeBSD, ce qui signifie typiquement - configurer votre système pour ouvrir une connexion à l'ouverture - d'une session depuis une machine distante. L'auteur l'a rédigé en - se basant sur sa propre expérience; néanmoins, comme votre système et - vos besoins peuvent être différents, il ne répond peut-être pas à - toutes vos questions, et l'auteur ne peut pas être tenu pour - responsable des dégâts que vous causeriez à votre système ou des - données que vous auriez perdues en essayant de suivre les indications - données ici.</para> - - <para>Ce guide a été à l'origine écrit pour le serveur SLIP de la - version 1.x de FreeBSD. Il a été adapté pour prendre en compte les - modifications de chemins d'accès et la suppression des indicateurs - de compression de l'interface SLIP des premières versions 2.x de - FreeBSD, qui sont apparemment les seuls différences importantes entre - ces versions. Si vous trouvez des erreurs, envoyez s'il - vous plaît à l'auteur un courrier électronique suffisamment détaillé - pour qu'il puisse les corriger.</para> - - <sect2 id="slips-prereqs"> - <title>Prérequis</title> - - <para>Ce document est très technique, il vous faut donc quelques - connaissances de base. On suppose que vous connaissez le protocole - réseau TCP/IP, et, en particulier, l'adressage des réseaux et - des noeuds, les masques de réseau, les sous-réseaux, le routage et - les protocoles de routage tels que RIP. Ce sont des choses que vous - devez connaître pour configurer les services SLIP sur un serveur - de connexions, et si ce n'est pas le cas, lisez s'il vous plaît - <emphasis>TCP/IP Network Administration</emphasis> par Craig Hunt - chez O'Reilly & Associates, Inc. (ISBN - 0-937175-82-X)<footnote><para>N.d.T.: traduit en français sous le - titre “TCP/IP, Administration de réseau TCP/IP”, chez - le même éditeur</para></footnote>, ou le livre de Douglas Comer - sur le protocole TCP/IP.</para> - - <para>On suppose aussi que vous avez déjà installé vos modems et - configuré les fichiers système appropriés pour permettre l'ouverture - de session via vos modems. Si vous ne l'avez pas encore fait, - reportez-vous au guide de configuration des connexions entrantes; - si vous disposez d'un navigateur World Wide Web, parcourez la liste - des guides sur <ulink - url="http://www.freebsd.org/">http://www.freebsd.org/</ulink>; - sinon, regardez là où vous avez trouvé le présent document et - cherchez un document appelé <filename>dialup.txt</filename> où - quelque chose du même genre. Vous pouvez aussi consulter les pages - de manuel de - <citerefentry><refentrytitle>sio</refentrytitle><manvolnum>4</manvolnum></citerefentry> pour plus d'informations sur le pilote de port série - et de <citerefentry><refentrytitle>ttys</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>gettytab</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>getty</refentrytitle><manvolnum>8</manvolnum></citerefentry> et <citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</manvolnum></citerefentry> en - ce qui concerne la configuration du système pour qu'il autorise - des connexions de l'extérieur par modem et peut-être aussi celles de - <citerefentry><refentrytitle>stty</refentrytitle><manvolnum>1</manvolnum></citerefentry> pour avoir des renseignements sur le paramètrage des ports - série (comme <literal>clocal</literal> pour les interfaces série - directement connectées).</para> - - </sect2> - - <sect2> - <title>Brève vue d'ensemble</title> - - <para>Une configuration typique d'utilisation de FreeBSD comme - serveur SLIP fonctionne de la façon suivante: un utilisateur SLIP - appelle votre serveur SLIP FreeBSD et ouvre une session sous un - IDentifiant utilisateur SLIP particulier qui lance - <filename>/usr/sbin/sliplogin</filename> à la place de - l'interpréteur de commandes. Le programme - <command>sliplogin</command> consulte le fichier - <filename>/etc/sliphome/slip.hosts</filename> pour trouver une ligne - correspondant à cet utilisateur, et s'il la trouve, connecte la - ligne série à une interface SLIP disponible et lance ensuite la - procédure <filename>/etc/sliphome/slip.login</filename> pour - configurer cette interface SLIP.</para> - - <sect3> - <title>Un exemple d'ouverture de session sur un serveur SLIP</title> - - <para>Par exemple, si <username>Shelmerg</username> est un - IDentifiant utilisateur SLIP, l'entrée pour - <username>Shelmerg</username> dans - <filename>/etc/master.passwd</filename> ressemblera à ce qui - suit (sinon que tout sera sur une seule ligne):</para> - - <programlisting> -Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin</programlisting> - - <para>Quand <username>Shelmerg</username> ouvre une session, - <command>sliplogin</command> cherche dans - <filename>/etc/sliphome/slip.hosts</filename> la ligne qui - contient cet IDentifiant utilisateur; il peut, par exemple, y - avoir dans <filename>/etc/sliphome/slip.hosts</filename> la - ligne:</para> - - <programlisting> -Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp</programlisting> - - <para><command>sliplogin</command> la trouvera alors, affectera la - ligne série à la prochaine interface SLIP disponible et exécutera - <filename>/etc/sliphome/slip.login</filename> avec les arguments - suivants:</para> - - <programlisting> -/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp</programlisting> - - <para>Si tout se passe bien, - <filename>/etc/sliphome/slip.login</filename> exécutera un - <command>ifconfig</command> sur l'interface SLIP que s'est - attribuée <command>sliplogin</command> - (l'interface slip 0, dans l'exemple ci-dessus, qui est le premier - paramètre passé à <filename>slip.login</filename>) - pour définir l'adresse IP locale (<hostid>dc-slip</hostid>), - l'adresse IP de la machine éloignée (<hostid>sl-helmer</hostid>), - le masque de sous-réseau de l'interface SLIP - (<hostid role="netmask">0xfffffc00</hostid>) et tout autre - indicateur supplémentaire (<literal>autocomp</literal>). Si - quelque chose se passe mal, <command>sliplogin</command> - fournit en général des messages d'informations valables en - utilisant la fonctionnalité de trace du “démon” - <command>syslog</command>, qui les enregistre habituellement dans - <filename>/var/log/messages</filename> - (reportez-vous au pages de manuel de <citerefentry><refentrytitle>syslogd</refentrytitle><manvolnum>8</manvolnum></citerefentry> et - <citerefentry><refentrytitle>syslog.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, et regardez peut-être aussi dans - <filename>/etc/syslog.conf</filename> pour voir où - <command>syslogd</command> enregistre les messages).</para> - - <para>OK, assez d'exemples - attelons-nous maintenant à la - configuration du système.</para> - - </sect3> - </sect2> - - <sect2> - <title>Configuration du noyau</title> - - <para>Les noyaux par défaut de FreeBSD définissent habituellement - deux interfaces SLIP (<devicename>sl0</devicename> et - <devicename>sl1</devicename>); vous pouvez vérifier avec - <command>netstat -i</command> si ces interfaces sont définies - dans votre noyau.</para> - - <para>Exemple de résultats de la commande - <command>netstat -i</command>:</para> - - <informalexample> - <screen>Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll -ed0 1500 <Link>0.0.c0.2c.5f.4a 291311 0 174209 0 133 -ed0 1500 138.247.224 ivory 291311 0 174209 0 133 -lo0 65535 <Link> 79 0 79 0 0 -lo0 65535 loop localhost 79 0 79 0 0 -sl0* 296 <Link> 0 0 0 0 0 -sl1* 296 <Link> 0 0 0 0 0</screen> - </informalexample> - - <para>Les interfaces <devicename>sl0</devicename> et - <devicename>sl1</devicename> apparaissent dans les sorties de - <command>netstat -i</command>, il y a donc deux interfaces - SLIP dans le noyau. (Les astérisques après <literal>sl0</literal> - et <literal>sl1</literal> indiquent que les interfaces sont - “inactives” - down.)</para> - - <para>Cependant, les noyaux par défaut de FreeBSD ne sont pas - configurés pour transmettre des paquets (i.e., votre machine - FreeBSD ne fonctionnera pas comme routeur) à cause des - spécifications imposées par les RFC Internet (reportez-vous à la - RFC's 1009 [Spécifications des passerelles Internet], 1122 - [Spécifications des machines Internet - Couches de - communication], et peut-être aussi 1127 [Une perspective sur le - RFCs de spécifications des machines]), donc, si vous voulez que - votre serveur SLIP serve de routeur, vous devez modifier votre - fichier <filename>/etc/rc.conf</filename> (appelé - <filename>/etc/sysconfig</filename> dans les versions de - FreeBSD antérieures à la 2.2.2) et affecter <option>YES</option> - à la variable <literal>gateway</literal>. Si vous avez un système - plus ancien qui n'a même pas de fichier - <filename>/etc/sysconfig</filename>, ajoutez alors la commande: - - <programlisting> -sysctl -w net.inet.ip.forwarding = 1</programlisting> à votre fichier - <filename>/etc/rc.local</filename>.</para> - - <para>Vous devrez alors redémarrer votre système pour que ce nouveau - paramètrage soit pris en compte.</para> - - <para>Vous remarquerez à la fin du fichier de configuration par - défaut du noyau (<filename>/sys/i386/conf/GENERIC</filename>) - la ligne:</para> - - <programlisting> -pseudo-device sl 2</programlisting> - - <para>C'est cette ligne qui définit le nombre de périphériques - SLIP disponibles dans le noyau; le nombre en fin de ligne est le - nombre maximum de connexions SLIP qui peuvent être simultanément - actives.</para> - - <para>Reportez-vous s'il vous plaît au chapitre - <link linkend="kernelconfig">Configurer le noyau de FreeBSD</link> - pour des indications sur la manière de configurer votre - noyau.</para> - - </sect2> - - <sect2> - <title>Configuration de sliplogin</title> - - <para>Comme on l'a dit plus haut, il y a trois fichiers dans le - répertoire <filename>/etc/sliphome</filename> qui servent à la - configuration de <filename>/usr/sbin/sliplogin</filename> (voyez - <citerefentry><refentrytitle>sliplogin</refentrytitle><manvolnum>8</manvolnum></citerefentry> pour avoir les pages de manuel de - <command>sliplogin</command>): - <filename>slip.hosts</filename>, qui définit les utilisateurs SLIP - et les adresses IP qui leur sont affectées; - <filename>slip.login</filename>, qui ne fait en général que - configurer l'interface SLIP; et (facultatif) - <filename>slip.logout</filename>, - qui fait le travail inverse de <filename>slip.login</filename> - quand la connexion série est terminée.</para> - - <sect3> - <title>Configuration de <filename>slip.hosts</filename></title> - - <para><filename>/etc/sliphome/slip.hosts</filename> contient des - lignes avec au moins quatre champs, séparés par des - blancs:</para> - - <itemizedlist> - - <listitem> - <para>L'IDentifiant d'utilisateur SLIP,</para> - </listitem> - - <listitem> - <para>L'addresse locale (locale au serveur SLIP) de la - liaison SLIP,</para> - </listitem> - - <listitem> - <para>L'adresse de l'autre extrémité de la liaison - SLIP,</para> - </listitem> - - <listitem> - <para>Le masque de réseau.</para> - </listitem> - - </itemizedlist> - - - <para>Les adresses locale et éloignée peuvent être des noms de - machines (qui seront converties en adresses IP via - <filename>/etc/hosts</filename> ou par le service de noms de - domaines, selon ce que contient - <filename>/etc/host.conf</filename>), et je crois que le masque - de réseau peut être un nom qui sera converti en consultant le - fichier <filename>/etc/networks</filename>. Pour notre exemple - plus haut, <filename>/etc/sliphome/slip.hosts</filename> - contiendrait:</para> - - <programlisting> -# -# login local-addr remote-addr mask opt1 opt2 -# (normal,compress,noicmp) -# -Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting> - - <para>La ligne se termine par une ou plusieurs des options:</para> - - <itemizedlist> - - <listitem> - <para><option>normal</option> - pas de compression - des en-têtes,</para> - </listitem> - - <listitem> - <para><option>compress</option> - compression des - en-têtes,</para> - </listitem> - - <listitem> - <para><option>autocomp</option> - compression des - en-têtes si la machine distante l'autorise,</para> - </listitem> - - <listitem> - <para><option>noicmp</option> - interdire les - paquets ICMP (de sorte que les paquets “ping” - seront ignorés au lieu de consommer votre bande - passante).</para> - </listitem> - - </itemizedlist> - - <para>Remarquez que le programme <command>sliplogin</command> des - premières versions de FreeBSD 2 ignorait les options que - FreeBSD 1.x reconnaissait, de sorte que les options - <option>normal</option>, <option>compress</option>, - <option>autocomp</option> et <option>noicmp</option> restaient - sans effet, jusqu'à ce que leur support soit ajouté à - FreeBSD 2.2 (à moins que votre procédure - <filename>slip.login</filename> n'inclue le code nécessaire à - la prise en compte de ces indicateurs).</para> - - <para>Les choix des adresses pour les deux extrémités des liaisons - SLIP dépend du fait que vous leur dédiiez un sous-réseau ou que - vous comptiez utiliser “proxy ARP” sur votre serveur - SLIP (ce n'est pas du “vrai” proxy ARP, mais c'est - la terminologie que nous utiliserons dans ce document pour le - désigner). Si vous n'êtes pas sûr de la méthode à choisir ou de - la facon d'assigner les adresses IP, référez-vous s'il vous plaît - aux ouvrages mentionnés à la section <link - linkend="slips-prereqs">Prérequis</link> et/ou consultez - l'administrateur de votre réseau IP.</para> - - <para>Si vous comptez dédier un sous-réseau IP à vos clients SLIP, - vous devrez définir l'adresse de sous-réseau à partir de - l'adresse de réseau qui vous est affectée et attribuer à chacun - de vos clients SLIP une adresse IP sur ce sous-réseau. Vous devrez - alors probablement configurer une route statique vers votre - sous-réseau SLIP via votre serveur SLIP, sur votre routeur le - plus proche, ou installer <command>gated</command> sur votre - serveur SLIP FreeBSD et le configurer pour qu'il dialogue avec - les protocoles appropriés avec les autres routeurs, pour leur - annoncer la route de votre serveur SLIP vers le sous-réseau - SLIP.</para> - - <para>Sinon, si vous utilisez la méthode “proxy ARP”, - vous devrez assigner à vos client SLIP des adresses sur le - sous-réseau Ethernet de votre serveur SLIP, et vous devrez - aussi adapter vos procédures - <filename>/etc/sliphome/slip.login</filename> et - <filename>/etc/sliphome/slip.logout</filename> pour qu'elles - utilisent - <citerefentry><refentrytitle>arp</refentrytitle><manvolnum>8</manvolnum></citerefentry> pour gérer les entrées proxy-ARP dans la table ARP de - votre serveur SLIP.</para> - - </sect3> - - <sect3> - <title>Configuration de <filename>slip.login</filename></title> - - <para>Le fichier <filename>/etc/sliphome/slip.login</filename> - ressemble typiquement à ceci:</para> - - <programlisting> -#!/bin/sh - -# -# @(#)slip.login 5.1 (Berkeley) 7/1/90 - -# -# procédure d'ouverture de session générique pour une liaison slip -# sliplogin l'appelle avec les paramètres: -# -# 1 2 3 4 5 6 7-n -# interface vitesse nom adresse-locale adresse-éloignée masque optionnels -# -/sbin/ifconfig sl$1 inet $4 $5 netmask $6</programlisting> - - <para>Ce fichier <filename>slip.login</filename> ne fait - qu'exécuter <command>ifconfig</command> sur l'interface - SLIP appropriée avec comme paramètres les adresses locales - et distantes et le masque de réseau de l'interface SLIP.</para> - - <para>Si vous avez choisi la méthode “proxy ARP” - (au lieu d'affecter un sous-réseau distinct à vos clients - SLIP), votre fichier - <filename>/etc/sliphome/slip.login</filename> devra ressembler - à:</para> - - <programlisting> -#!/bin/sh - -# -# @(#)slip.login 5.1 (Berkeley) 7/1/90 - -# -# procédure d'ouverture de session générique pour une liaison slip -# sliplogin l'appelle avec les paramètres: -# -# 1 2 3 4 5 6 7-n -# interface vitesse nom adresse-locale adresse-éloignée masque optionnels -# -/sbin/ifconfig sl$1 inet $4 $5 netmask $6 -# -# répondre aux requêtes ARP concernant le client SLIP -# pour notre adresse Ethernet -# -/usr/sbin/arp -s $5 00:11:22:33:44:55 pub</programlisting> - - <para>La ligne supplémentaire - <command>arp -s $5 00:11:22:33:44:55 pub</command> - de ce fichier <filename>slip.login</filename> crée une entrée - ARP dans la table ARP du serveur SLIP. Cette entrée ARP fait - que le serveur SLIP répond en donnant sa propre adresse MAC - lorsqu'un autre noeud IP du réseau Ethernet demande à parler - avec le client SLIP qui a cette adresse IP.</para> - - <para>Dans l'exemple donné ci-dessus, remplacez bien l'adresse - MAC Ethernet (<hostid role="mac">00:11:22:33:44:55</hostid>) par - l'adresse MAC de la carte Ethernet de votre système, sans quoi - votre “proxy ARP” ne fonctionnera définitivement pas! - Vous pouvez connaître cette adresse MAC en regardant le résultat - de la commande <command>netstat -i</command>; la seconde ligne des - sorties doit ressembler à ce qui suit:</para> - - <informalexample> - <screen>ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116 - </screen> - </informalexample> - - <para>Cela indique que l'adresse MAC Ethernet de ce système - est <hostid role="mac">00:02:c1:28:5f:4a</hostid> - il - faut remplacer les “.” dans les adresses MAC Ethernet - que donne <command>netstat -i</command> par des “:” - et ajouter un “0” devant les valeurs hexadécimales - qui ne sont données que sur un seul caractère pour obtenir des - adresses telles que - <citerefentry><refentrytitle>arp</refentrytitle><manvolnum>8</manvolnum></citerefentry> - les demande; voyez les pages de manuel de - <citerefentry><refentrytitle>arp</refentrytitle><manvolnum>8</manvolnum></citerefentry> pour avoir des informations complètes sur ces - conventions.</para> - - <note> - <para>Quand vous créez les fichiers - <filename>/etc/sliphome/slip.login</filename> - et - <filename>/etc/sliphome/slip.logout</filename> - , le - bit “exécutable” doit être positionné - (i.e., <command>chmod 755 /etc/sliphome/slip.login - /etc/sliphome/slip.logout</command>), sinon - <command>sliplogin</command> ne pourra pas exécuter la - procédure.</para> - </note> - </sect3> - - <sect3> - <title>Configuration de <filename>slip.logout</filename></title> - - <para><filename>/etc/sliphome/slip.logout</filename> n'est pas - strictement indispensable (à moins que vous n'implémentiez - “proxy ARP”), mais, si vous décidez de la créer, - voici un exemple de procédure - <filename>slip.logout</filename> élémentaire:</para> - - <programlisting> -#!/bin/sh - -# -# slip.logout -# -# procédure de fermeture de session générique pour une liaison slip -# sliplogin l'appelle avec les paramètres: -# -# 1 2 3 4 5 6 7-n -# interface vitesse nom adresse-locale adresse-éloignée masque optionnels -# -/sbin/ifconfig sl$1 down</programlisting> - - <para>Si vous utilisez “proxy ARP”, vous voudrez que - <filename>/etc/sliphome/slip.logout</filename> supprime l'entrée - ARP pour le client SLIP:</para> - - <programlisting> -#!/bin/sh - -# -# slip.logout -# -# procédure de fermeture de session générique pour une liaison slip -# sliplogin l'appelle avec les paramètres: -# -# 1 2 3 4 5 6 7-n -# interface vitesse nom adresse-locale adresse-éloignée masque optionnels -# -/sbin/ifconfig sl$1 down -# Cessez de répondre aux requêtes ARP concernant le client SLIP -/usr/sbin/arp -d $5</programlisting> - - <para><command>arp -d $5</command> supprime l'entrée ARP que la - procédure <filename>slip.login</filename> pour “proxy - arp” a ajouté quand le client SLIP a ouvert la - session.</para> - - <para>Il n'est pas inutile de répéter: vérifiez que le bit - “exécutable” de la procédure - <filename>/etc/sliphome/slip.logout</filename> est positionné - après que vous l'ayez créée (i.e., <command>chmod - 755 /etc/sliphome/slip.logout</command>).</para> - - </sect3> - </sect2> - - <sect2> - <title>A propos du routage</title> - - <para>Si vous n'utilisez pas “proxy ARP” pour router - les paquets entre vos clients SLIP et le reste de votre réseau - (et peut-être l'Internet), vous devrez probablement soit ajouter - des routes statiques vers votre(vos) routeur(s) par défaut le(s) - plus proche(s) pour router le sous-réseau de vos clients SLIP via - votre serveur SLIP, soit installer et configurer - <command>gated</command> sur votre serveur SLIP FreeBSD de sorte - qu'il fournisse à vos routeurs, en utilisant les protocoles de - routage appropriés, les informations qui concernent votre - sous-réseau SLIP.</para> - - <sect3> - <title>Routes statiques</title> - - <para>Ajouter des routes statiques vers vos routeurs les plus - proches peut être problématique (voire impossible, si vous n'avez - pas les autorisations pour ...). Si vous avez un réseau avec - des routeurs divers, certains d'entre eux, tels les Cisco et les - Proteon, devront non seulement avoir la route statique vers votre - sous-réseau SLIP, mais devront aussi savoir quelles routes - statiques ils doivent annoncer aux autres routeurs, il faudra - donc quelques compétences, de la mise au point ou de la - “bidouille” pour que vos routes statiques - fonctionnent.</para> - - </sect3> - - <sect3> - <title>Utiliser <command>gated</command></title> - - <para>Une alternative aux maux de tête que provoquent les routes - statiques est d'installer <command>gated</command> sur votre - serveur SLIP FreeBSD et de le configurer pour qu'il utilise les - protocoles de routage appropriés (RIP/OSPF/BGP/EGP) pour annoncer - aux autres routeurs votre sous-réseau SLIP. Vous pouvez utiliser - la version de <command>gated</command> du - <link linkend="ports">catalogue des logiciels portés</link> ou le - télécharger depuis <ulink - url="ftp://ftp.gated.merit.edu/research.and.development/gated/">le site ftp anonyme de GateD</ulink> et - le compiler vous-même; Je crois que la dernière version au moment - où j'écris ceci est <filename>gated-R3_5Alpha_8.tar.Z</filename>, - qui inclut la version pour FreeBSD “prête-à-l'usage”. - Des informations complètes et la documentation de - <command>gated</command> sont disponibles - sur le Web sur le site du - <ulink url="http://www.gated.merit.edu/">Merit GateD Consortium</ulink>. - Compilez-le et installez-le, et créez ensuite un fichier - <filename>/etc/gated.conf</filename> pour le configurer; voici un - exemple, semblable à celui que l'auteur a utilisé sur un serveur - SLIP FreeBSD:</para> - - <programlisting> -# -# fichier de configuration de gated dc.dsu.edu; -# pour la version 3.5alpha5 de gated -# simplement diffuser les informations RIP pour xxx.xxx.yy -# via l'interface Ethernet "ed" -# -# options de trace -# -traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ; - -rip yes { - interface sl noripout noripin ; - interface ed ripin ripout version 1 ; - traceoptions route ; -} ; - -# -# fournir des informations de trace sur l'interface au noyau: -kernel { - traceoptions remnants request routes info interface ; -} ; - -# -# Propager la route vers xxx.xxx.yy via l'Ethernet interface et RIP -# - -export proto rip interface ed { - proto direct { - <replaceable>xxx.xxx.yy</replaceable> mask 255.255.252.0 metric 1; # SLIP connections - } ; -} ; - -# -# Accepter les routes de RIP via les interfaces Ethernet "ed" - -import proto rip interface ed { - all ; -} ;</programlisting> - - <para>L'exemple ci-dessus de fichier <filename>gated.conf</filename> - diffuse l'information de routage concernant le sous-réseau SLP - <replaceable>xxx.xxx.yy</replaceable> en utilisant RIP sur - l'interface Ethernet; si vous utilisez un pilote Ethernet autre - que <devicename>ed</devicename>, vous devrez modifier en - conséquence les références à l'interface - <devicename>ed</devicename>. Ce fichier d'exemple active aussi les - traces sur <filename>/var/tmp/gated.output</filename> pour pouvoir - déboguer le fonctionnement de <command>gated</command>; vous - pouvez certainement désactiver ces options de trace si - <command>gated</command> fonctionne comme vous le voulez. Vous - devrez remplacer les <replaceable>xxx.xxx.yy</replaceable> par - l'adresse réseau de votre propre sous-réseau SLIP (veillez à - remplacer aussi le masque de réseau dans la clause - <literal>proto direct</literal>).</para> - - <para>Une fois que vous avez compilé et installé - <command>gated</command> et créer son fichier de configuration, - vous devrez lancer <command>gated</command> au lieu de - <command>routed</command> sur votre système FreeBSD; modifiez les - paramètres de démarrage de <filename>routed/gated</filename> dans - <filename>/etc/netstart</filename> comme requis par votre - système. Consultez s'il vous plaît les pages de manuel de - <command>gated</command> pour avoir des informations sur les - paramètres de la ligne de commande de - <command>gated</command>.</para> - - </sect3> - </sect2> - - <sect2> - <title>Remerciements</title> - - <para>Merci aux personnes suivantes pour leurs commentaires et leurs - conseils à propos de ce guide:</para> - - <variablelist> - <varlistentry><term>&a.wilko;</term> - <listitem> - <para></para> - </listitem> - </varlistentry> - - <varlistentry><term>Piero Serini</term> - - <listitem> - <para><email>Piero@Strider.Inet.IT</email></para> - - </listitem> - </varlistentry> - </variablelist> - - - </sect2> - </sect1> - </chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-shorttag: nil - sgml-always-quote-attributes: t - sgml-minimize-attributes: max - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> - diff --git a/fr_FR.ISO8859-1/books/handbook/printing/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/printing/chapter.sgml deleted file mode 100755 index 0767427ef8..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/printing/chapter.sgml +++ /dev/null @@ -1,5375 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: n.nn ---> - -<chapter id="printing"> - <title>Imprimer</title> - - <para><emphasis>Contribution de &a.kelly;<!-- <br> -->30 Septembre - 1995</emphasis></para> - &trans.a.haby; - - <para>Pour imprimer avec FreeBSD, vous devrez configurer l'utilisation de - vos imprimantes avec le gestionnaire de queues d'impression de - Berkeley, connu aussi sous le nom de gestionnaire d'impression - (“spooling system”) LPD (“Line Printer - Daemon”). C'est le gestionnaire d'impression standard de BSD. - Cette section décrit le gestionnaire d'impression LPD - souvent - abrégé en LPD.</para> - - <para>Si vous connaissez déjà LPD ou un autre gestionnaire de files - d'impression, vous pouvez passer directement à la section - <link linkend="printing-intro-setup">Configurer le gestionnaire - d'impression</link>.</para> - - <sect1 id="printing-intro-spooler"> - <title>Que fait le gestionnaire d'impression ?</title> - - <para>LPD contrôle tout ce qui concerne les imprimantes. Il assume - un certain nombre de fonctions:</para> - - <itemizedlist> - - <listitem> - <para>Il contrôle l'accès aux imprimantes locales et aux imprimantes - connectées à d'autres machines du réseau.</para> - </listitem> - - <listitem> - <para>Il permet aux utilisateurs de soumettre des fichiers à - l'impression; Ces demandes d'impression sont appelées - <emphasis>travaux</emphasis>.</para> - </listitem> - - <listitem> - <para>Il empêche l'accès simultané de plusieurs utilisateurs à une - même imprimante en gérant une <emphasis>queue</emphasis> pour - chaque imprimante.</para> - </listitem> - - <listitem> - <para>Il peut imprimer <emphasis>des pages d'en-tête</emphasis> - (appelées aussi <emphasis>bannières</emphasis> ou pages - “burst” (qui sautent aux yeux) de façon à ce que - les utilisateurs retrouvent facilement leurs travaux au milieu - d'une pile de documents imprimés.</para> - </listitem> - - <listitem> - <para>Il gère les paramètres de communication pour les imprimantes - raccordées sur un port série.</para> - </listitem> - - <listitem> - <para>Il peut envoyer des travaux au gestionnaire LPD d'une autre - machine du réseau.</para> - </listitem> - - <listitem> - <para>Il peut exécuter des filtres pour formater les impressions - en fonction des possibilités et du langage compris par les - différentes imprimantes.</para> - </listitem> - - <listitem> - <para>Il peut comptabiliser l'utilisation d'une imprimante.</para> - </listitem> - - </itemizedlist> - - <para>Avec un fichier de configuration et en fournissant les programmes - de filtrage spécifiques, vous pouvez confier à LPD tout ou une partie - de ces tâches, pour une large gamme de matériels d'impression.</para> - </sect1> - - <sect1 id="printing-intro-why"> - <title>Pourquoi faut-il utiliser le gestionnaire d'impression ?</title> - - <para>Si vous êtes l'unique utilisateur de votre système, vous pouvez - vous demander pourquoi vous devriez vous compliquer la vie en - utilisant le gestionnaire d'impression, alors que vous n'avez pas - besoin de contrôle d'accès, de pages d'en-tête ou de comptabilité. - Bien qu'il soit possible d'accéder directement à l'imprimante, il - vaut mieux passer malgré tout par le gestionnaire d'impression parce - que:</para> - - <itemizedlist> - - <listitem> - <para>LPD imprime les travaux en tâches de fond; vous n'avez pas - besoin d'attendre que l'imprimante ait reçu vos données.</para> - </listitem> - - <listitem> - <para>LPD peut appliquer des filtres aux travaux pour ajouter des - en-têtes avec la date et l'heure ou convertir des fichiers d'un - format particulier (comme les fichiers DVI de TeX) vers un format - compréhensible par l'imprimante. Vous n'avez pas besoin de faire - tout cela à la main.</para> - </listitem> - - <listitem> - <para>De nombreux logiciels libres ou commerciaux disposent d'une - fonctionnalité d'impression prévue pour utiliser le gestionnaire - d'impression. En installant le gestionnaire d'impression, vous - aurez moins de problèmes avec les logiciels que vous installerez - ensuite ou qui sont déjà sur votre système.</para> - </listitem> - - </itemizedlist> - - </sect1> - - <sect1 id="printing-intro-setup"> - <title>Configurer le gestionnaire d'impression</title> - - <para>Pour imprimer avec le gestionnaire d'impression, il vous faut - configurer et vos imprimantes et le logiciel LPD. Ce document décrit - les deux étapes de cette configuration:</para> - - <itemizedlist> - - <listitem> - <para>Lisez la section - <link linkend="printing-simple">Configuration simple d'une imprimante</link> - pour apprendre à connecter une imprimante, dire à LPD comment - communiquer avec et imprimer des fichiers texte.</para> - </listitem> - - <listitem> - <para>Lisez la section - <link linkend="printing-advanced">Configuration avancée d'une imprimante</link> - pour savoir comment imprimer - différents formats de fichiers, imprimer des pages d'en-tête, - imprimer via le réseau, contrôler l'accès aux imprimantes et - comptabiliser leur utilisation.</para> - </listitem> - - </itemizedlist> - - </sect1> - - <sect1 id="printing-simple"> - <title>Configuration simple d'une imprimante</title> - - <para>Cette section vous explique comment configurer l'imprimante et le - logiciel LPD pour pouvoir imprimer. Elle vous fournit les informations - de base:</para> - - <itemizedlist> - - <listitem> - <para>La section <link linkend="printing-hardware">Configuration du matériel</link> - vous donne des indications sur la - connexion de l'imprimante à votre ordinateur.</para> - </listitem> - - <listitem> - <para>La section <link linkend="printing-software">Configuration du logiciel</link> - vous explique comment renseigner le fichier - de configuration <filename>/etc/printcap</filename> de LPD.</para> - </listitem> - - </itemizedlist> - - <para>Si vous installez une imprimante qui utilise une protocole réseau - pour recevoir les données à imprimer et non une imprimante sur - l'interface série ou parallèle, reportez-vous à la section - <link linkend="printing-advanced-network-net-if">Imprimantes avec une interface - réseau</link>.</para> - - <para>Bien que cette section soit intitulée “Configuration simple - d'une imprimante”, elle est en fait assez complexe. Arriver à faire - fonctionner l'imprimante avec votre ordinateur et le gestionnaire - d'impression LPD est le plus difficile. Les options avancées comme les - pages d'en-tête et la comptabilité sont faciles à mettre en place une - fois que l'impression fonctionne.</para> - - <sect2 id="printing-hardware"> - <title>Configuration du matériel</title> - - <para>Cette section vous détaille les différentes façons de - connecter une imprimante à votre PC. Elle traite des types de - ports et de câbles et de la manière de configurer votre noyau - pour que FreeBSD puisse communiquer avec l'imprimante.</para> - - <para>Si votre imprimante est déjà connectée et que vous pouvez - imprimer avec un autre système d'exploitation, vous pouvez - peut-être passer directement à la section - <link linkend="printing-software">Configuration du logiciel</link>.</para> - - <sect3 id="printing-ports"> - <title>Ports et Câbles</title> - - <para>Pratiquement toutes les imprimantes actuelles pour PC - supportent l'une ou l'autre interface suivante - - ou les deux:</para> - - <itemizedlist> - - <listitem> - <para>Les interfaces <emphasis>série</emphasis> utilisent un - des ports série de votre ordinateur pour envoyer des - données à l'imprimante. Les interfaces série sont - courantes dans l'industrie informatique et les câbles - existent prêts à l'emploi et sont faciles à réaliser - soi-même. Certaines interfaces série ont besoin de câbles - particuliers ou d'une configuration un peu complexe des - options de communication.</para> - </listitem> - - <listitem> - <para>Les interfaces <emphasis>parallèles</emphasis> utilisent - un port parallèle de votre ordinateur pour envoyer des - données à l'imprimante. Les interfaces parallèles sont - courantes sur le marché des PCs. Les câbles existent prêts à - l'emploi, mais sont plus difficiles à faire soi-même. Il - n'y a habituellement pas d'option de communication - particulière pour les interfaces parallèles, leur - configuration est donc extrêmement simple.</para> - - <para>Les interfaces parallèles sont parfois appelées - interfaces “Centronics”, du nom du type de - connecteur de l'imprimante.</para> - </listitem> - - </itemizedlist> - - <para>D'une façon générale, les interfaces série sont plus lentes - que les interfaces parallèles. Les interfaces parallèles ne - permettent normalement la communication que dans un seul sens - (de l'ordinateur vers l'imprimante) alors que la communication - est bi-directionnelle avec les interfaces série. De nombreux - ports parallèles récents peuvent aussi recevoir des données de - l'imprimante, mais seules quelques imprimantes savent renvoyer - des données à l'ordinateur. Et FreeBSD ne supporte pas la - communication parallèle bi-directionnelle.</para> - - <para>Normalement, vous n'avez besoin de communication - bi-directionnelle qu'avec les imprimantes qui parlent PostScript. - Les imprimantes PostScript peuvent être très bavardes. En fait, - les travaux PostScript sont des programmes envoyés à - l'imprimante; ils ne produisent pas nécessairement d'impression - et peuvent renvoyer directement leurs résultats à l'ordinateur. - PostScript utilise aussi la communication bi-directionnelle pour - avertir l'ordinateur de problèmes, d'erreurs dans le programme - PostScript ou d'un bourrage papier, par exemple. Cela peut être - très apprécié de vos utilisateurs. De plus, la façon la plus - efficace de gérer la comptabilité avec une imprimante PostScript - passe par un dialogue avec l'imprimante: vous lui demandez la - valeur de son compteur de pages (combien de pages elle a déjà - imprimées dans sa vie) puis envoyez le travail de l'utilisateur - et lui redemandez ensuite la valeur de son compteur de pages. - La différence entre les deux valeurs vous donne le nombre de - pages à facturer à l'utilisateur.</para> - - <para>Quelle interface devez-vous donc utiliser?</para> - - <itemizedlist> - - <listitem> - <para>Si vous avez besoin de la communication - bi-directionnelle, utilisez le port série. FreeBSD ne - supporte pas encore la communication bi-directionnelle sur - le port parallèle.</para> - </listitem> - - <listitem> - <para>Si vous n'avez pas besoin de la communication parallèle - et avez le choix entre le port série et le port parallèle, - préférez le port parallèle. Le port série reste alors - disponible pour d'autres périphériques - comme un - terminal ou un modem - et le port parallèle est la - plupart du temps plus rapide. Il est aussi plus facile à - configurer.</para> - </listitem> - - <listitem> - <para>En dernier lieu, utilisez ce qui fonctionne.</para> - </listitem> - - </itemizedlist> - - </sect3> - - <sect3 id="printing-parallel"> - <title>Ports parallèles</title> - - <para>Pour brancher l'imprimante sur l'interface parallèle, - reliez-la à l'ordinateur avec un câble Centronics. La - documentation de l'ordinateur, de l'imprimante, ou les deux, - devraient vous donner toutes les indications nécessaires.</para> - - <para>Rappelez-vous quel port parallèle vous avez utilisé. FreeBSD - connaît le premier port parallèle sous le nom - <filename>/dev/lpt0</filename>; le second comme - <filename>/dev/lpt1</filename>, et ainsi de suite.</para> - - </sect3> - - <sect3 id="printing-serial"> - <title>Ports série</title> - - <para>Pour brancher l'imprimante sur l'interface série, - reliez-la à l'ordinateur avec le câble série approprié. La - documentation de l'ordinateur, de l'imprimante, ou les deux, - devrait vous donner toutes les indications nécessaires.</para> - - <para>Si vous n'êtes pas certain de quel est “le câble série - approprié”, vous pouvez tester une des possibilités - suivantes:</para> - - <itemizedlist> - - <listitem> - <para>Un câble <emphasis>modem</emphasis> connecte directement - chaque broche d'une des extrémité de la liaison à la broche - correspondante de l'autre extrémité. On appelle aussi ce - type de câble “DTE-à-DCE”.</para> - </listitem> - - <listitem> - <para>Un câble “<emphasis>null-modem</emphasis>” - connecte certaines broches directement, en intervertit - d'autres (donnée émise vers donnée reçue) et en - court-circuite certaines à chaque extrémité. On appelle - aussi ce type de câble “DTE-à-DTE”.</para> - </listitem> - - <listitem> - <para>Un câble pour <emphasis>imprimante série</emphasis>, - dont ont besoin certaines imprimantes non standard, est - semblable à un câble “null-modem” mais - transmet certains signaux broche à broche au lieu de les - court-circuiter.</para> - </listitem> - - </itemizedlist> - - <para>Vous devrez aussi définir les paramètres de communication de - l'imprimante, soit avec le panneau de contrôle frontal, soit par - l'intermédiaire de commutateurs DIP. Choisissez la vitesse en bps - (bits par seconde, on dit parfois <emphasis>vitesse en - bauds</emphasis>) la plus rapide que votre ordinateur et votre - imprimante acceptent tous les deux. Choisissez entre des données - 7 ou 8 bits, une parité paire, impaire ou pas de contrôle de - parité; et un ou deux bits de fin. Sélectionnez aussi le - protocole de contrôle de flux: soit aucun, soit XON/XOFF (appelé - aussi “en ligne” ou “logiciel”). Notez - bien ces paramètres pour l'étape suivante de configuration du - logiciel.</para> - - </sect3> - </sect2> - - <sect2 id="printing-software"> - <title>Configuration du logiciel</title> - - <para>Cette section explique comment configurer le logiciel pour - imprimer sous FreeBSD avec le gestionnaire d'impression LPD.</para> - - <para>Voici un résumé des étapes nécessaires:</para> - - <procedure> - <step> - <para>Recompiler votre noyau au besoin pour le port sur lequel - vous connectez votre imprimante; la section - <link linkend="printing-kernel">Configuration du noyau</link> - vous dit ce que vous devez faire.</para> - </step> - <step> - <para>Définir le mode de communication du port parallèle, - si c'est celui que vous utilisez; la section <link - linkend="printing-parallel-port-mode">Définir le mode de - communication avec le port parallèle</link> vous - décrit cette étape en détails.</para> - </step> - - <step> - <para>Vérifier que le système d'exploitation peut envoyer des - données à l'imprimante; la section - <link linkend="printing-testing">Tester la communication avec - l'imprimante</link> vous donne - quelques indications pour cela.</para> - </step> - - <step> - <para>Configurer LPD pour cette imprimante en modifiant le - fichier <filename>/etc/printcap</filename>; la section <link - linkend="printing-printcap">Activer le gestionnaire d'impression : le - fichier <filename>/etc/printcap</filename></link> - vous explique comment.</para> - </step> - - </procedure> - - <sect3 - id="printing-kernel"> - <title>Configuration du noyau</title> - - <para>Le noyau du système d'exploitation est compilé pour - fonctionner avec une sélection de périphériques donnée. Les - interfaces série ou parallèle de l'imprimante en font partie. - En conséquence, il peut être nécessaire d'ajouter le suppport - d'un port série ou parallèle si votre noyau n'est pas déjà - configuré pour cela.</para> - - <para>Pour savoir si le noyau que vous utilisez supporte une interface - série, tapez:</para> - - <informalexample> - <screen>&prompt.root; <userinput>dmesg | grep sio<replaceable>N</replaceable></userinput></screen> - </informalexample> - <para>où <replaceable>N</replaceable> est le numéro - du port série, zéro ou plus. Si vous obtenez quelque chose qui - ressemble à:</para> - - <informalexample> - <screen>sio2 at 0x3e8-0x3ef irq 5 on isa - sio2: type 16550A</screen> - </informalexample> <para>alors le port est bien configuré dans le - noyau.</para> - - <para>Pour savoir si le noyau que vous utilisez supporte une interface - parallèle, tapez:</para> - - <informalexample> - <screen>&prompt.root; <userinput>dmesg | grep lpt<replaceable>N</replaceable></userinput></screen> - </informalexample> <para>où <replaceable>N</replaceable> est le numéro - du port parallèle, zéro ou plus. Si vous obtenez quelque chose qui - ressemble à:</para> - - <informalexample> - <screen>lpt0 at 0x378-0x37f on isa</screen> - </informalexample> <para>alors le port est bien configuré dans le - noyau.</para> - - <para>Vous devrez peut-être reconfigurer votre noyau pour que - le système d'exploitation reconnaisse et puisse utiliser le - port série ou parallèle que vous affectez à votre - imprimante.</para> - - <para>Pour ajouter le support d'un port série, reportez-vous - au chapitre <link linkend="kernelconfig">Configurer le noyau de - FreeBSD</link>. Pour ajouter le - support d'un port parallèle, reportez-vous au chapitre sur - la configuration du noyau <emphasis>et</emphasis> lisez la - section suivante.</para> - - <sect4 - id="printing-dev-ports"> - <title>Ajouter les entrées pour les ports - dans le répertoire <filename>/dev</filename></title> - - - <para>Même si le noyau supporte déjà les communications - sur le port série ou parallèle, il vous faut encore - une interface logicielle pour que les programmes - puissent envoyer et recevoir des données. C'est à cela - que servent les entrées du répertoire - <filename>/dev</filename>.</para> - - <para><emphasis>Pour ajouter une entrée pour un port au - répertoire <filename>/dev</filename>:</emphasis></para> - - <procedure> - - <step> - <para>Devenez super-utilisateur avec la commande <citerefentry> - <refentrytitle>su</refentrytitle></citerefentry>. - Entrez le mot de passe super-utilisateur quand on vous le - demande.</para> - </step> - - <step> - <para>Allez dans le répertoire <filename>/dev</filename>: - - <informalexample> - <screen>&prompt.root; cd /dev</screen> - </informalexample></para> - </step> - - <step> - <para>Tapez: - - <informalexample> - <screen>&prompt.root; <userinput>./MAKEDEV <replaceable>port</replaceable></userinput></screen> - </informalexample> où <replaceable>port</replaceable> est l'entrée (fichier spécial de périphérique) que vous voulez - créer. Utilisez <literal>lpt0</literal> pour le premier - port parallèle, <literal>lpt1</literal> pour le second, et - ainsi de suite; utilisez <literal>ttyd0</literal> pour le - premier port série, <literal>ttyd1</literal> - pour le second, etc...</para> - </step> - - <step> - <para>Tapez: - - <informalexample> - <screen>&prompt.root; <userinput>ls -l <replaceable>port</replaceable></userinput></screen> - </informalexample>pour vous assurer que l'entrée a bien - été créée.</para> - </step> - - </procedure> - - </sect4> - - <sect4 - id="printing-parallel-port-mode"> - <title>Définir le mode de communication avec le port - parallèle</title> - - <para>Si vous utilisez l'interface parallèle, vous pouvez - choisir que FreeBSD communique avec l'imprimante en - l'interrogeant régulièrement ou par interruptions.</para> - - - <itemizedlist> - - <listitem> - <para>La méthode - <emphasis>pilotée par interruptions</emphasis> est la - méthode par défaut du noyau GENERIC. Le système - d'exploitation utilise dans ce cas une ligne IRQ pour - savoir si l'imprimante est prête à recevoir des - données.</para> - </listitem> - - <listitem> - <para>La méthode - <emphasis>par interrogations</emphasis> demande au - système d'interroger à intervalles réguliers l'imprimante - pour savoir si elle peut accepter de nouvelles données. - Dès que la réponse est positive, le noyau lui envoie - de nouvelles données.</para> - </listitem> - - </itemizedlist> - - - <para>La méthode par interruptions est plus rapide mais mobilise - une ligne IRQ précieuse. Utilisez ce qui fonctionne.</para> - - <para>Vous pouvez définir le mode de communication de deux - façons: en configurant le noyau ou avec la commande - <citerefentry><refentrytitle>lptcontrol</refentrytitle></citerefentry>.</para> - - <para><emphasis>Pour définir le mode de communication à la - configuration du noyau:</emphasis></para> - - <procedure> - - <step> - <para>Editez votre fichier de configuration du noyau - et cherchez ou ajoutez l'entrée <literal>lpt0</literal>. - Si vous utilisez le second port parallèle, mettez - <literal>lpt1</literal> à la place, - <literal>lpt2</literal> pour le troisième port, et ainsi - de suite. - <itemizedlist> - - <listitem> - <para>Si vous voulez utiliser le mode par - interruptions, ajoutez l'indicateur - <literal>irq</literal>: - - <programlisting> - device lpt0 at isa? port? tty irq <replaceable>N</replaceable> vector lptintr - </programlisting>où <replaceable>N</replaceable> - est le numéro d'IRQ du port parallèle de votre - ordinateur.</para> - </listitem> - - <listitem> - <para>Si vous voulez le mode par interrogations, - ne mettez pas l'indicateur - <literal>irq</literal>: - - <programlisting> - device lpt0 at isa? port? tty vector lptintr - </programlisting></para> - </listitem> - - </itemizedlist> - </para> - </step> - - <step> - <para>Sauvegardez le fichier. Puis configurez, compilez et - installez le noyau, et redémarrez votre système. - Reportez-vous au chapitre - <link linkend="kernelconfig">Configurer le noyau de FreeBSD</link> - pour plus de détails.</para> - </step> - - </procedure> - - <para><emphasis>Pour définir le mode de communication avec le - programme</emphasis> <citerefentry> - <refentrytitle>lptcontrol</refentrytitle></citerefentry>:</para> - - <procedure> - - <step> - <para>Tapez: - - <informalexample> - <screen>&prompt.root; <userinput>lptcontrol -i -u <replaceable>N</replaceable></userinput></screen> - </informalexample> pour utiliser le mode par interruptions - avec - <literal>lpt<replaceable>N</replaceable></literal>.</para> - </step> - - <step> - <para>Tapez: - - <informalexample> - <screen>&prompt.root; <userinput>lptcontrol -p -u <replaceable>N</replaceable></userinput></screen> - </informalexample> pour utiliser le mode par - interrogations avec - <literal>lpt<replaceable>N</replaceable></literal>.</para> - </step> - - </procedure> - - <para>Vous pouvez introduire ces commandes dans votre fichier - <filename>/etc/rc.local</filename> pour définir le mode - à chaque redémarrage. Voyez <citerefentry><refentrytitle>lptcontrol</refentrytitle><manvolnum>8</manvolnum></citerefentry> pour plus - d'informations.</para> - - </sect4> - - <sect4 - id="printing-testing"> - <title>Tester la communication avec l'imprimante</title> - - <para>Avant de passer à la configuration du gestionnaire - d'impression, vous devriez vous assurer que le système - d'exploitation arrive à envoyer des données à l'imprimante. - Il est plus facile de mettre séparement au point la - communication avec l'imprimante et la configuration du gestionnaire - d'impression.</para> - - <para>Pour tester l'imprimante, nous lui enverrons du texte. Pour - les imprimantes qui impriment immédiatement les caractères qu'on - leur envoie, le programme - <citerefentry> - <refentrytitle>lptest</refentrytitle></citerefentry> - est idéal: il génère les 96 caractères ASCII imprimables sur - 96 lignes.</para> - - <para>Pour une imprimante PostScript (ou tout autre imprimante - utilisant un langage), il nous faut un test plus sophistiqué. - Un petit programme PostScript, comme celui qui suit, fera l'affaire: - - <programlisting> - %!PS - 100 100 moveto 300 300 lineto stroke - 310 310 moveto /Helvetica findfont 12 scalefont setfont - (Is this thing working?) show - showpage - </programlisting> - </para> - - <note> - <para>Quand dans ce document j'utilise l'expression - “langage d'impression”, je me réfère à - un langage du type PostScript et non du genre PCL de - Hewlett Packard, bien que PCL ait d'excellentes - fonctionnalités - on peut insérer du texte au milieu - de ses séquences d'échappement. PostScript ne peut - imprimer directement du texte, et c'est pour ce genre - de langage qu'il y a des mesures particulières à - prendre.</para> - </note> - - <sect5 - id="printing-checking-parallel"> - <title>Tester une imprimante parallèle</title> - - <para>Cette section vous explique comment tester si FreeBSD - peut communiquer avec une imprimante connectée sur un port - parallèle.</para> - - <para><emphasis>Pour tester une imprimante sur un port - parallèle:</emphasis></para> - - <procedure> - - <step> - <para>Devenez super-utilisateur avec <citerefentry> - <refentrytitle>su</refentrytitle></citerefentry>.</para> - </step> - - <step> - <para>Envoyez des données à l'imprimante. - <itemizedlist> - - <listitem> - <para>Si l'imprimante accepte directement du texte, - utilisez <citerefentry> - <refentrytitle>lptest</refentrytitle></citerefentry>. Tapez: - - <informalexample> - <screen>&prompt.root; <userinput>lptest > /dev/lpt<replaceable>N</replaceable></userinput></screen> - </informalexample> où <replaceable>N</replaceable> - est le numéro du port parallèle, à partir de - zéro.</para> - </listitem> - - <listitem> - <para>Si l'imprimante comprend PostScript ou un - autre langage d'impression, alors envoyez-lui un - petit programme. Tapez: - - <informalexample> - <screen>&prompt.root; <userinput>cat > /dev/lpt<replaceable>N</replaceable></userinput></screen> - </informalexample> Puis tapez votre programme - ligne à ligne - <emphasis>avec soin</emphasis> car vous ne pouvez - pas corriger la ligne une fois que vous avez tapé - Entrée. Quand vous avez fini de saisir votre - programme, tapez CONTROL+D, ou une autre - combinaison particulière de touches, - pour indiquer la fin du fichier.</para> - - <para>Vous pouvez aussi mettre votre programme dans - un fichier et taper: - - <informalexample> - <screen>&prompt.root; <userinput>cat <replaceable>fichier</replaceable> > /dev/lpt<replaceable>N</replaceable></userinput></screen> - </informalexample> où <replaceable>fichier</replaceable> - est le nom du fichier contenant le programme que - vous voulez envoyer à l'imprimante.</para> - </listitem> - - </itemizedlist> - </para> - </step> - - </procedure> - - <para>Vous devriez obtenir une impression. Ne vous inquiétez pas - si le texte ne s'imprime pas correctement; nous réglerons ces - problèmes ensuite.</para> - - </sect5> - - <sect5 - id="printing-checking-serial"> - <title>Tester une imprimante série</title> - - <para>Cette section vous explique comment tester si FreeBSD - peut communiquer avec une imprimante connectée sur un port - série.</para> - - <para><emphasis>Pour tester une imprimante sur un port - série:</emphasis></para> - - <procedure> - - <step> - <para>Devenez super-utilisateur avec <citerefentry> - <refentrytitle>su</refentrytitle></citerefentry>.</para> - </step> - - <step> - <para>Editez le fichier <filename>/etc/remote</filename>. - Ajoutez la ligne suivante: - - <programlisting> - printer:dv=/dev/<replaceable>port</replaceable>:br#<replaceable>bps</replaceable>:pa=<replaceable>parité</replaceable> - </programlisting> où <replaceable>port</replaceable> - est le fichier spécial de périphérique pour le port - série (<literal>ttyd0</literal>, - <literal>ttyd1</literal>, etc...), <replaceable>bps</replaceable> est la vitesse de communication en bits par seconde, - et <replaceable>parité</replaceable> est la parité - requise par l'imprimante - (soit <literal>even</literal> (paire), <literal>odd</literal> (impaire), <literal>none</literal> (aucune), ou <literal>zero</literal> (toujours nulle) ).</para> - - <para>Voici un exemple pour une imprimante connectée par - une ligne série au troisième port série, à 19200 bps, - sans contrôle de parité: - - <programlisting> - printer:dv=/dev/ttyd2:br#19200:pa=none - </programlisting></para> - </step> - - <step> - <para>Connectez-vous à l'imprimante avec <citerefentry> - <refentrytitle>tip</refentrytitle></citerefentry>. Tapez: - <informalexample> - <screen>&prompt.root; <userinput>tip printer</userinput></screen> - </informalexample> Si cela ne marche pas, éditez de - nouveau le fichier <filename>/etc/remote</filename> - et essayez de remplacer - <filename>/dev/ttyd<replaceable>N</replaceable></filename> par <filename>/dev/cuaa<replaceable>N</replaceable></filename>.</para> - </step> - - <step> - <para>Envoyez des données à l'imprimante. - <itemizedlist> - - <listitem> - <para>Si l'imprimante accepte directement du texte, - utilisez <citerefentry> - <refentrytitle>lptest</refentrytitle></citerefentry>. Tapez: - - <informalexample> - <screen><prompt>~</prompt><userinput>$lptest</userinput></screen> - </informalexample></para> - </listitem> - - <listitem> - <para>Si votre imprimante comprend PostScript ou - un autre langage d'impression, envoyez-lui alors - un petit programme. Tapez le programme, ligne - à ligne, en faisant - <emphasis>très attention</emphasis> car le retour - arrière ou d'autres touches d'éditions peuvent - vouloir dire autre chose pour l'imprimante. - Vous devrez peut-être aussi utiliser un caractère - particulier de fin de fichier pour que - l'imprimante sache qu'elle a reçu tout le - programme. Pour les imprimantes PostScript, - tapez CONTROL+D.</para> - - <para>Vous pouvez aussi enregistrer votre programme - dans un fichier et taper: - - <informalexample> - <screen><prompt>~</prompt><userinput>><replaceable>fichier</replaceable></userinput></screen> - </informalexample> où <replaceable>fichier</replaceable> est le nom du fichier contenant le programme. Après que - <citerefentry> - <refentrytitle>tip</refentrytitle></citerefentry> ait envoyé le fichier, appuyez sur la touche de fin de fichier adéquate.</para> - </listitem> - - </itemizedlist> - </para> - </step> - - </procedure> - - <para>Vous devriez obtenir une impression. Ne vous inquiétez pas - si le texte ne s'imprime pas correctement; nous réglerons ces - problèmes ensuite.</para> - - </sect5> - </sect4> - </sect3> - - <sect3 - id="printing-printcap"> - <title>Activer le gestionnaire d'impression: Le - fichier <filename>/etc/printcap</filename> - </title> - - <para>A ce stade, votre imprimante devrait être connectée, votre - noyau configuré (au besoin) pour communiquer avec, et vous devriez - avoir réussi à lui envoyer un minimum de données. Nous sommes - maintenant prêt à configurer LPD pour qu'il contrôle l'accès à - votre imprimante.</para> - - <para>Vous configurez LPD en éditant le fichier - <filename>/etc/printcap</filename>. Le gestionnaire d'impression - LPD lit ce fichier chaque fois qu'il est fait appel à lui, les - modifications s'appliquent donc immédiatement.</para> - - <para>Le format du fichier <citerefentry> - <refentrytitle>printcap</refentrytitle></citerefentry> est - explicite. Utilisez votre éditeur de texte préféré pour le - modifier. Son format est similaire à celui des fichiers - associés à d'autres utilitaires comme - <filename>/usr/share/misc/termcap</filename> et - <filename>/etc/remote</filename>. Pour une description complète - de ce format, reportez-vous à - <citerefentry><refentrytitle>cgetent</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - - <para>Une configuration de base du gestionnaire d'impression passe - par les étapes suivantes:</para> - - <procedure> - - <step> - <para>Choisissez un nom (et quelques alias utiles) pour - l'imprimante et introduisez-le(s) dans le fichier - <filename>/etc/printcap</filename>; reportez-vous à - la section <link - linkend="printing-naming">Donner un nom à l'imprimante</link>.</para> - </step> - - <step> - <para>Désactivez l'impression des pages d'en-tête (qui sont - en service par défaut) en insérant la fonctionnalité - <literal>sh</literal>; - reportez-vous à la section - <link linkend="printing-no-header-pages">Supprimer l'impression des pages - d'en-tête</link>.</para> - </step> - - <step> - <para>Créez un répertoire pour la file d'attente, et indiquez - où il se trouve avec l'option <literal>sd</literal>; - reportez-vous à la section <link linkend="printing-spooldir">Créer - le répertoire tampon</link>.</para> - </step> - - <step> - <para>Identifiez l'entrée <filename>/dev</filename> à utiliser - avec cette imprimante et reportez-la dans le fichier - <filename>/etc/printcap</filename> avec l'option - <literal>lp</literal>; reportez-vous à la section - <link - linkend="printing-device">Définir le périphérique - associé à l'imprimante</link>. Si l'imprimante est sur un port série, vous - devez aussi préciser les paramètres de communication - avec les options - <literal>fs</literal>, <literal>fc</literal>, - <literal>xs</literal>, et <literal>xc</literal>; - reportez-vous à la section <link - linkend="printing-commparam">Configurer les paramètres - de communication du gestionnaire d'impression</link>.</para> - </step> - - <step> - <para>Installez un filtre pour l'impression de fichiers texte; - reportez-vous à la section <link - linkend="printing-textfilter">Installer le filtre texte</link>.</para> - </step> - - <step> - <para>Testez la configuration en imprimant quelque chose avec - la commande - <citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry>; - reportez-vous aux sections - <link linkend="printing-trying">Tester la configuration</link> - et <link linkend="printing-troubleshooting">Régler - les problèmes</link>.</para> - </step> - - </procedure> - - <note> - <para>Les imprimantes qui utilisent un langage, comme les - imprimantes PostScript, ne savent pas imprimer directement - du texte. La configuration simple résumée ci-desssus, et - décrite dans ce qui suit, suppose que si vous installez - ce type d'imprimante, vous lui enverrez uniquement des - fichiers qu'elle comprenne.</para> - </note> - - <para>Les utilisateurs s'attendent souvent à pouvoir imprimer - du texte simple sur toutes les imprimantes de votre système. - Les programmes qui font appel à LPD font la même supposition. - Si vous installez ce type d'imprimante et que vous voulez - utiliser le langage d'impression <emphasis>et</emphasis> - imprimer aussi des fichiers texte, je vous conseille fortement - d'ajouter une étape supplémentaire à la procédure résumée - ci-dessus: installez un filtre de conversion automatique des - fichiers texte en PostScript (ou tout autre langage d'impression). - La section <link - linkend="printing-advanced-if-conversion">Imprimer du texte - sur des imprimantes PostScript</link> vous explique comment - faire.</para> - - - <sect4 - id="printing-naming"> - <title>Donner un nom à l'imprimante</title> - - <para>La première étape (facile) consiste à donner - un nom à l'imprimante. Cela n'a pas d'importance que vous lui - donniez un nom fonctionnel ou nom bizarre parce que vous - pouvez aussi définir un certain nombre d'alias.</para> - - <para>Au moins l'une des imprimantes que vous définirez dans - le fichier <filename>/etc/printcap</filename> devrait s'appeler - <literal>lp</literal>. C'est le nom de l'imprimante par défaut. - Si les utilisateurs ne définissent pas leur variable - d'environnement PRINTER et ne précisent pas le nom de - l'imprimante avec une des commandes de LPD, alors - <literal>lp</literal> est l'imprimante par défaut à laquelle ils - s'adressent.</para> - - <para>Il est aussi d'usage que le dernier alias d'une imprimante - la décrive complètement, marque et modèle y compris.</para> - - <para>Un fois que vous avez choisi un nom et quelques alias - courants, introduisez-les dans le fichier - <filename>/etc/printcap</filename>. Le nom de l'imprimante - doit être écrit au début de la ligne. Séparez chaque alias - par une barre verticale et mettez un “:” après - le dernier alias.</para> - - <para>L'exemple suivant montre un fichier - <filename>/etc/printcap</filename> de base, qui définit deux - imprimantes (une imprimante ligne Diablo 630 et une imprimante - laser PostScript Panasonic KX-P4455): - - <programlisting> - # - # /etc/printcap pour la machine rose - # - rattan|line|diablo|lp|Imprimante Ligne Diablo 630: - - bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4: - </programlisting> - Dans cet exemple, la première imprimante s'appelle - <literal>rattan</literal> et a pour alias - <literal>line</literal>, <literal>diablo</literal>, - <literal>lp</literal>, et <literal>Imprimante Ligne Diablo - 630</literal>. Comme <literal>lp</literal> est un de ses alias, - c'est aussi l'imprimante par défaut. La seconde s'appelle - <literal>bamboo</literal>, et a pour alias <literal>ps</literal>, - <literal>PS</literal>, <literal>S</literal>, - <literal>panasonic</literal>, et <literal>Panasonic KX-P4455 PostScript - v51.4</literal>.</para> - - </sect4> - - <sect4 - id="printing-no-header-pages"> - <title>Supprimer l'impression de pages d'en-tête</title> - - <para>Le gestionnaire d'impression générera par défaut - une page d'en-tête pour chaque travail d'impression. La page - d'en-tête affiche le nom de l'utilisateur qui l'a soumis, - le nom de la machine d'où il a été lancé et le nom du - travail d'impression, le tout en grosses lettres. - Malheureusement, tout ce texte supplémentaire complique la - mise au point de la configuration des imprimantes, aussi - supprimerons-nous les pages d'en-tête.</para> - - <para>Pour supprimer les pages d'en-tête, - ajoutez la fonctionnalité - <literal>sh</literal> à l'entrée associée à l'imprimante dans - le fichier <filename>/etc/printcap</filename>. Voici un exemple - de fichier <filename>/etc/printcap</filename> où l'on a ajouté - <literal>sh</literal>:</para> - - <programlisting> - # - # /etc/printcap pour la machine rose - pas de pages d'en-tête - # - rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\ - :sh: - - bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh: - </programlisting> - - <para>Notez bien le format correct. La première ligne commence - immédiatement à gauche, et les lignes suivantes sont indentées - avec un seul caractère Tab. Chaque ligne d'une même entrée, sauf - la dernière, se termine par une barre oblique inverse.</para> - - </sect4> - - <sect4 - id="printing-spooldir"> - <title>Créer le répertoire tampon</title> - - <para>L'étape suivante de la configuration de base du gestionnaire - d'impression consiste à créer un - <emphasis>répertoire tampon</emphasis>, où les travaux - d'impression attendent d'être traités et où se trouvent aussi - un certain nombre de fichiers nécessaires au gestionnaire - d'impression.</para> - - <para>Comme le contenu de ces répertoires tampon est transitoire, - il est habituel de les mettre dans le répertoire - <filename>/var/spool</filename>. Ces répertoires n'ont pas non - plus besoin d'être archivés. Il suffit d'un simple - <citerefentry> - <refentrytitle>mkdir</refentrytitle></citerefentry> pour - les recréer.</para> - - <para>L'usage veut que l'on donne au répertoire le même nom - qu'à l'imprimante, comme ci-dessous: - - <informalexample> - <screen>&prompt.root; <userinput>mkdir /var/spool/<replaceable>imprimante</replaceable></userinput></screen> - </informalexample> Cependant, s'il y a beaucoup d'imprimantes - sur votre réseau, vous voudrez peut-être regrouper tous les - répertoires tampon dans un seul répertoire qui sera réservé - à l'impression par LPD. C'est ce que nous ferons pour nos deux - imprimantes <literal>rattan</literal> et - <literal>bamboo</literal>: - - <informalexample> - <screen>&prompt.root; <userinput>mkdir /var/spool/lpd</userinput> - &prompt.root; <userinput>mkdir /var/spool/lpd/rattan</userinput> - &prompt.root; <userinput>mkdir /var/spool/lpd/bamboo</userinput></screen> - </informalexample></para> - - <note> - <para>Si la confidentialité des travaux d'impression de - vos utilisateurs vous préoccuppe, vous pouvez protéger - le répertoire tampon pour qu'il ne soit pas accessible - à tout le monde. Les répertoires tampon doivent appartenir, - être accessibles en lecture et en écriture et pouvoir être - parcourus par l'utilisateur <username>daemon</username> et le - groupe <username>daemon</username>. C'est ce que nous ferons - pour les imprimantes de notre exemple:</para> - - - <informalexample> - <screen>&prompt.root; <userinput>chown daemon.daemon /var/spool/lpd/rattan</userinput> - &prompt.root; <userinput>chown daemon.daemon /var/spool/lpd/bamboo</userinput> - &prompt.root; <userinput>chmod 770 /var/spool/lpd/rattan</userinput> - &prompt.root; <userinput>chmod 770 /var/spool/lpd/bamboo</userinput></screen> - </informalexample> - </note> - - <para>En dernier lieu, il faut donner à LPD les noms de ces - répertoires par l'intermédiaire du fichier - <filename>/etc/printcap</filename>. Cela se fait avec - la fonctionnalité - <literal remap="tt">sd</literal>:</para> - - <programlisting> - # - # /etc/printcap pour la machine rose - ajout des répertoires tampon - # - rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\ - :sh:sd=/var/spool/lpd/rattan: - - bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo: - </programlisting> - - <para>Notez bien que le nom de l'imprimante commence en première - colonne, que toutes les autres lignes doivent être indentées - par une tabulation et que toutes les lignes sauf la dernière - se terminent par une barre oblique inverse.</para> - - <para>Si vous ne définissez pas le répertoire tampon avec - <literal>sd</literal>, le gestionnaire d'impression utilisera - <filename>/var/spool/lpd</filename> par défaut.</para> - - </sect4> - - <sect4 id="printing-device"> - <title>Définir le périphérique associé à l'imprimante</title> - - <para>Dans la section <link linkend="printing-dev-ports">Ajouter - les entrées pour les ports dans le répertoire <filename>/dev</filename></link>, - nous avons identifié l'entrée du répertoire <filename>/dev</filename> - via laquelle FreeBSD communiquera avec l'imprimante. Il faut - maintenant donner cette information à LPD. Quand le gestionnaire - aura un travail à imprimer, il ouvrira le fichier spécial - pour les besoins du programme filtre (qui envoie les données - à l'imprimante).</para> - - <para>Indiquez l'entrée <filename>/dev</filename> utilisée avec - la fonctionnalité <literal>lp</literal> dans le fichier - <filename>/etc/printcap</filename>.</para> - - <para>Supposons que, dans notre exemple, l'imprimante - <hostid>rattan</hostid> soit sur le premier port parallèle et - et l'imprimante <hostid>bamboo</hostid> sur le sixième; voici - ce qu'il faut ajouter au fichier - <filename>/etc/printcap</filename>:</para> - - <programlisting> - # - # /etc/printcap pour la machine rose - # définition des périphériques à utiliser - # - rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\ - :sh:sd=/var/spool/lpd/rattan:\ - :lp=/dev/lpt0: - - bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:\ - :lp=/dev/ttyd5: - </programlisting> - - <para>Si vous ne donnez pas de valeur - <emphasis remap=tt>lp</emphasis> à une imprimante - dans le fichier - <filename>/etc/printcap</filename>, LPD utilise - <filename>/dev/lp</filename> par défaut. - <filename>/dev/lp</filename> n'existe actuellement pas sous - FreeBSD.</para> - - <para>Si l'imprimante est connectée à un port parallèle, allez - directement à la section <link - linkend="printing-textfilter">Installer le filtre texte</link>. - Sinon, suivez bien les instructions de - la prochaine section.</para> - - </sect4> - - <sect4 - id="printing-commparam"> - <title>Configurer les paramètres de communication du gestionnaire - d'impression</title> - - <para>Pour les imprimantes sur des ports série, LPD peut définir - la vitesse en bps, la parité et les autres paramètres de - communication série, pour les besoins du programme filtre, qui - envoie les données à l'imprimante. C'est intéressant parce que: - - <itemizedlist> - - <listitem> - <para>Cela vous permet de tester des valeurs différentes - des paramètres en modifiant simplement le fichier - <filename>/etc/printcap</filename>; vous n'avez pas - besoin de recompiler le programme filtre.</para> - </listitem> - - <listitem> - <para>Cela permet au gestionnaire d'impression d'utiliser - le même programme filtre pour différentes imprimantes - qui n'ont pas les mêmes paramètres de - communication.</para> - </listitem> - - </itemizedlist> - </para> - - <para>Les fonctionnalités suivantes de - <filename>/etc/printcap</filename> - contrôlent les paramètres de communication série du périphérique - spécifié avec la fonctionnalité - <emphasis remap=tt>lp</emphasis>: - - <variablelist> - <varlistentry><term><literal>br#<replaceable>vitesse_en_bps</replaceable></literal></term> - <listitem> - <para>Fixe la vitesse de communication à - <replaceable>vitesse_en_bps</replaceable>, où - <replaceable>vitesse_en_bps</replaceable> - peut prendre les valeurs 50, 75, - 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, - 9600, 19200, ou 38400 bits par seconde.</para> - </listitem> - </varlistentry> - - <varlistentry><term><literal>fc#<replaceable>bits_à_réinitialiser</replaceable></literal></term> - - <listitem> - <para>Réinitialise les indicateurs - <replaceable>bits_à_réinitialiser</replaceable> de la - structure <replaceable>sgttyb</replaceable> - après avoir ouvert le fichier spécial de - périphérique.</para> - </listitem> - </varlistentry> - - <varlistentry><term><literal>fs#<replaceable>bits_à_positionner</replaceable></literal></term> - - <listitem> - <para>Positionne les indicateurs - <replaceable>bits_à_positionner</replaceable> de la - structure <replaceable>sgttyb</replaceable>.</para> - </listitem> - </varlistentry> - - <varlistentry><term><literal>xc#<replaceable>bits_à_réinitialiser</replaceable></literal></term> - - <listitem> - <para>Réinitialise les indicateurs du mode local - <replaceable>bits_à_rénitialiser</replaceable> - après avoir ouvert le fichier spécial de - périphérique.</para> - </listitem> - </varlistentry> - - <varlistentry><term><literal>xs#<replaceable>bits_à_positionner</replaceable></literal></term> - - <listitem> - <para>Positionne les indicateurs du mode local - <replaceable>bits_à_positionner</replaceable>.</para> - </listitem> - </varlistentry> - </variablelist> Pour plus d'informations sur les bits manipulés - par les fonctionnalités - <literal>fc</literal>, <literal>fs</literal>, <literal>xc</literal>, - et <literal>xs</literal>, reportez-vous au fichier - <filename>/usr/include/sys/ioctl_compat.h</filename>.</para> - - <para>Quand LPD ouvre le périphérique défini par la fonctionnalité - <literal>lp</literal>, il lit les indicateurs de la structure - <literal>sgttyb</literal>; il réinitialise les bits définis - par la fonctionnalité <literal remap="tt">fc</literal>, - puis positionne ceux définis par la fonctionnalité - <literal>fs</literal> et applique le paramètrage ainsi défini. - Il fait de même pour les indicateurs du mode local.</para> - - <para>Complétons notre exemple pour l'imprimante sur le - sixième port série. Nous fixerons la vitesse à 38400 bps. - Nous positionnerons les indicateurs - TANDEM, ANYP, LITOUT, FLUSHO, et PASS8, et les indicateurs - du mode local LITOUT et PASS8: - - <programlisting> - bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:\ - :lp=/dev/ttyd5:fs#0x82000c1:xs#0x820: - </programlisting></para> - - </sect4> - - <sect4 - id="printing-textfilter"> - <title>Installer le filtre texte</title> - - <para>Nous sommes maintenant prêts à dire à LPD quel filtre - texte utiliser pour envoyer les travaux à l'imprimante. - Un <emphasis>filtre texte</emphasis>, aussi appelé - <emphasis>filtre d'entrée</emphasis>, est un programme que LPD - exécute quand il a un travail à imprimer. Quand LPD - exécute un filtre texte pour une imprimante, il affecte - à l'entrée standard du filtre le travail à imprimer et à - sa sortie standard le fichier spécial de périphérique - défini par la fonctionnalité <literal>lp</literal>. - Le filtre est - supposé lire le travail sur l'entrée standard, effectuer le - transcodage nécessaire et envoyer le résultat sur la sortie - standard. Pour plus d'informations sur les filtres texte, - reportez-vous à la section <link - linkend="printing-advanced-filters">Comment - fonctionnent les filtres</link>.</para> - - <para>Pour notre exemple de configuration simple, le filtre texte - peut être une petite procédure qui exécute seulement - <command>/bin/cat</command> pour envoyer le travail à - l'imprimante. FreeBSD est livré avec un autre filtre appelé - <filename>lpf</filename> qui gère les retours arrière et les - soulignés pour les imprimantes qui ne traitent pas bien ces - caractères de contrôle. Et, bien sûr, vous pouvez utilisez le - filtre que vous voulez. Le filtre <command>lpf</command> est - décrit en détail à la section - <link linkend="printing-advanced-lpf"><command>lpf</command>: un - filtre texte</link>.</para> - - <para>Créons d'abord le filtre texte élémentaire - <filename>/usr/local/libexec/if-simple</filename>. - Avec votre éditeur de texte favori, donnez à ce fichier - le contenu suivant: - - <programlisting> - #!/bin/sh - # - # if-simple - filtre texte élémentaire pour lpd - # fichier /usr/local/libexec/if-simple - # - # copie simplement stdin dans stdout. Ne prend aucun argument. - - /bin/cat && exit 0 - exit 2 - </programlisting> - Mettez les droits d'exécution sur le fichier: - - <informalexample> - <screen>&prompt.root; <userinput>chmod 555 /usr/local/libexec/if-simple</userinput></screen> - </informalexample></para> - - <para>Et précisez maintenant à LPD de l'utiliser - avec la fonctionnalité - <literal>if</literal> de - <filename>/etc/printcap</filename>. Nous l'affecterons aux deux - imprimantes que nous avons déjà dans notre exemple de - <filename>/etc/printcap</filename>:</para> - - <programlisting> - # - # /etc/printcap pour la machine rose - ajout du filtre texte - # - rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\ - :sh:sd=/var/spool/lpd/rattan:\ :lp=/dev/lpt0:\ - :if=/usr/local/libexec/if-simple: - - bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:\ - :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:\ - :if=/usr/local/libexec/if-simple: - </programlisting> - - </sect4> - - <sect4 - id="printing-trying"> - <title>Tester la configuration</title> - - <para>Vous avez terminé la configuration simple de LPD. - Malheureusement, les félicitations ne sont pas encore de mise, - il nous faut d'abord faire une essai et régler tous les - problèmes. Pour tester la configuration, essayez d'imprimer - quelque chose. Pour imprimer avec le gestionnaire LPD, vous - invoquez la commande <citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry>, - qui soumet un travail d'impression.</para> - - <para>Vous pouvez combiner <citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry> - et le programme <citerefentry> - <refentrytitle>lptest</refentrytitle></citerefentry>, - dont nous avons parlé à la section - <link linkend="printing-testing">Tester la communication avec - l'imprimante</link>, pour générer du - texte pour le test.</para> - - <para><emphasis>Tester la configuration simple de - LPD:</emphasis></para> - - <para>Tapez: - - <informalexample> - <screen>&prompt.root; <userinput>lptest 20 5 | lpr -P<replaceable>imprimante</replaceable></userinput></screen> - </informalexample> où <emphasis - remap=it>imprimante</emphasis> est le nom d'une imprimante - (ou un alias) définie dans <filename>/etc/printcap</filename>. - Pour tester l'imprimante par défaut, tapez <citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry> - sans argument <option>-P</option>. Encore une fois, si vous - tester une imprimante qui attend du PostScript, envoyez-lui - un programme PostScript au lieu d'utiliser - <citerefentry> - <refentrytitle>lptest</refentrytitle></citerefentry>. Vous - pouvez le faire en mettant ce programme dans un fichier et en - tapant <command>lpr <replaceable>fichier</replaceable></command>.</para> - - <para>Avec une imprimante PostScript, vous devriez voir les - résultats du programme. Si vous utilisez <citerefentry> - <refentrytitle>lptest</refentrytitle></citerefentry>, - alors le résultat devrait ressembler à ce qui suit:</para> - - <programlisting> - !"#$%&'()*+,-./01234 - "#$%&'()*+,-./012345 - #$%&'()*+,-./0123456 - $%&'()*+,-./01234567 - %&'()*+,-./012345678 - </programlisting> - - <para>Pour faire d'autres essais, envoyez des programmes plus - longs (aux imprimantes qui comprennent un langage) ou - exécutez <citerefentry> - <refentrytitle>lptest</refentrytitle></citerefentry> avec - d'autres arguments. Par exemple, <command>lptest 80 60</command> qui générera 60 lignes de 80 caractères chacune.</para> - - <para>Si l'imprimante ne fonctionne pas, voyez la section suivante <link - linkend="printing-troubleshooting">Régler les problèmes</link>.</para> - - </sect4> - - <sect4 - id="printing-troubleshooting"> - <title>Régler les problèmes</title> - - <para>Après le test élémentaire avec <citerefentry> - <refentrytitle>lptest</refentrytitle></citerefentry>, vous - pouvez avoir rencontré l'un des problèmes suivants, au lieu - d'obtenir une impression correcte:</para> - - <variablelist> - <varlistentry><term>Cela a marché quelque temps; ou, - l'imprimante n'a pas éjecté la page.</term> - <listitem> - <para>L'imprimante a bien imprimé les résultats du - test ci-dessus, puis s'est arrêtée et n'a rien fait. - Il vous aurait peut être fallu appuyer sur le bouton - “Avance Papier” ou “Continuer - l'Impression” pour obtenir la suite.</para> - - <para>Dans ce cas, l'imprimante attendait probablement - la suite de votre travail avant d'imprimer quoi que - ce soit. Pour régler le problème, vous pouvez modifier - le filtre texte pour qu'il envoie un caractère de saut - de page (“FORM FEED”) - ou tout autre - caractère nécessaire - à l'imprimante. Cela suffit - généralement pour que l'imprimante traite immédiatement - le texte qu'elle a encore en mémoire. C'est aussi - utile pour être sûr que chaque travail d'impression - se termine sur une page complète, de sorte que le - travail suivant ne commence pas sur la dernière page - du travail qui le précède.</para> - - <para>Voici une procédure - <filename>/usr/local/libexec/if-simple</filename> - modifiée qui envoie un saut de page à la fin du - travail d'impression: - - <programlisting> - #!/bin/sh - # - # if-simple - filtre texte élémentaire pour lpd - # fichier /usr/local/libexec/if-simple - # - # copie simplement stdin dans stdout. Ne prend aucun argument. - # envoie un caractère de saut de page (\f) en fin d'impression. - - /bin/cat && printf "\f" && exit 0 - exit 2 - </programlisting></para> - </listitem> - </varlistentry> - - <varlistentry><term>Le texte s'est imprimé “en - escalier.”</term> - - <listitem> - <para>Si vous obtenez ce qui suit: - - <programlisting> - !"#$%&'()*+,-./01234 - "#$%&'()*+,-./012345 - $%&'()*+,-./0123456 - </programlisting> - vous êtes la nouvelle victime de - l'<emphasis>effet d'escalier</emphasis>, dû à une - interprétation divergente des caractères de saut de - ligne. Les systèmes d'exploitation de type Unix - utilisent un seul caractère: le code ASCII 10, ou - saut de ligne (LF - “Line Feed”). - MS-DOS, OS/2 et d'autres utilisent deux caractères, - le code ASCII 10 <emphasis>et</emphasis> le code ASCII - 13 (le retour-chariot ou CR - “Carriage Return”). - De nombreuses imprimantes emploient les conventions - MS-DOS pour passer à la ligne.</para> - - <para>Quand vous imprimez avec FreeBSD, votre texte ne - contient que le caractère de saut de ligne. L'imprimante - passe alors à la ligne suivante, mais ne revient pas - en début de ligne. C'est à cela que sert le - retour-chariot: revenir au début de ligne avant - d'imprimer le prochain caractère.</para> - - <!-- This para needs to be rewritten - Nik --> - <para>Voici ce que FreeBSD attend de votre imprimante:</para> - - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>L'imprimante reçoit</entry> - <entry>L'imprimante imprime</entry> - </row> - </thead> - - <tbody> - <row> - <entry>CR</entry> - <entry>CR</entry> - </row> - - <row> - <entry>LF</entry> - <entry>CR + LF</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Il y a plusieurs façons d'y arriver: - <itemizedlist> - - <listitem> - <para>Utilisez les interrupteurs du panneau de - contrôle de l'imprimante pour modifier la façon - dont elle interprète ces caractères. Voyez le - mode d'emploi de votre imprimante pour savoir - comment faire.</para> - - <note> - <para>Si vous utilisez aussi sur votre machine - d'autres systèmes d'exploitation que FreeBSD, - vous devrez peut-être - <emphasis>configurer</emphasis> votre - imprimante pour qu'elle interprète CR et LF - en fonction de la manière dont ces autres - systèmes d'exploitation les utilisent. Vous - préférerez alors une des autres solutions - ci-dessous.</para> - </note> - </listitem> - - <listitem> - <para>Faire en sorte que le pilote de liaison série - de FreeBSD convertisse les LF en CR+LF. Cela ne - marche, bien entendu, <emphasis>qu'avec</emphasis> - les imprimantes sur des ports série. Pour cela, - positionnez le bit CRMOD de la fonctionnalité - <emphasis remap="tt">fs</emphasis> de l'imprimante dans - le fichier - <filename>/etc/printcap</filename>.</para> - </listitem> - - <listitem> - <para>Envoyer une - <emphasis>séquence d'échappement</emphasis> à - l'imprimante pour qu'elle traite temporairement - les caractères LF de façon différente. Consultez - la documentation de votre imprimante pour - connaître la commande adéquate. Une fois que vous - l'avez trouvée, modifiez le filtre pour qu'il - envoie cette commande avant le travail - d'impression.</para> - - <para>Voici un exemple de filtre texte pour les - imprimantes qui acceptent les séquences - d'échappement du langage PCL de Hewlett-Packard. - Ce filtre envoie la commande qui dit à - l'imprimante de traiter les caractères LF comme - un CR et un LF, puis le travail d'impression et - enfin un saut de page pour éjecter la dernière - page. Il devrait être utilisable avec presque - toutes les imprimantes Hewlett-Packard.</para> - - <programlisting> - #!/bin/sh - # - # hpif - filtre texte élémentaire pour lpd - # pour les imprimantes compatibles HP-PCL - # fichier /usr/local/libexec/hpif - # - # copie simplement stdin dans stdout. Ne prend aucun argument. - # dit à l'imprimante de traiter LF comme un CR+LF -# envoie un caractere de saut de page (\f) en fin d'impression. - -printf "\033&k2G" && cat && printf "\f" && exit 0 -exit 2 - </programlisting> - - <para>Voici un exemple de fichier - <filename>/etc/printcap</filename> pour une - machine appelée orchid. Elle a une seule - imprimante sur son premier port parallèle, une - LaserJet 3Si Hewlett-Packard appelée - <hostid>teak</hostid>. Elle utilise la procédure - ci-dessus comme filtre texte: - - <programlisting> - # - # /etc/printcap pour la machine orchid - # - teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ - :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\ - :if=/usr/local/libexec/hpif: - </programlisting></para> - </listitem> - - </itemizedlist> - </para> - </listitem> - </varlistentry> - - <varlistentry><term>Les lignes se superposent.</term> - - <listitem> - <para>L'imprimante n'a jamais avancé d'une ligne. - Toutes les lignes sont imprimées les unes sur les - autres.</para> - - <para>C'est le problème “inverse” de l'effet - d'escalier décrit ci-dessus, et c'est plus rare. Pour - une raison quelconque, les caractères LF que FreeBSD - emploie en fin de ligne sont compris comme des - caractères CR de retour en début de ligne, sans passage - à la ligne.</para> - - <!-- Need to rewrite this para --> - <para>Utilisez les interrupteurs du panneau de - contrôle de l'imprimante pour modifier comme suit - son interprétation des caractères LF et CR.</para> - - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>L'imprimante reçoit</entry> - <entry>L'imprimante imprime</entry> - </row> - </thead> - - <tbody> - <row> - <entry>CR</entry> - <entry>CR</entry> - </row> - - <row> - <entry>LF</entry> - <entry>CR + LF</entry> - </row> - </tbody> - </tgroup> - </informaltable> - </listitem> - </varlistentry> - - <varlistentry><term>L'imprimante perd des caractères.</term> - - <listitem> - <para>En cours d'impression, l'imprimante perd - quelques caractères de chaque ligne. Cela peut aller - de mal en pis, de plus en plus de caractères se - perdent.</para> - - <para>Le problème tient à ce que l'imprimante ne - suit pas le rythme auquel l'ordinateur lui envoie - des données sur la ligne série. (Ce problème ne - devrait pas se produire avec les imprimantes sur - des ports parallèles.) Il y a deux façons de - résoudre ce problème: - <itemizedlist> - - <listitem> - <para>Si l'imprimante gère le contrôle de flux - XON/XOFF, faites en sorte que FreeBSD l'utilise - en positionnant le bit TANDEM de la - fonctionnalité - <literal>fs</literal>.</para> - </listitem> - - <listitem> - <para>Si l'imprimante gère le contrôle de flux - matériel, positionnez le bit MDMBUF de la - fonctionnalité <literal>fs</literal>. Vérifiez - que le câble qui relie l'imprimante à - l'ordinateur est bien conçu pour transmettre - les signaux de contrôle de flux (CTS/RTS).</para> - </listitem> - - <listitem> - <para>Si l'imprimante ne gère aucun protocole de - contrôle de flux, utilisez la bonne combinaison - de bits NLDELAY, TBDELAY, CRDELAY, VTDELAY, et - BSDELAY de la fonctionnalité - <literal>fs</literal> pour introduire les délais - appropriés dans le flot de données - envoyé à l'imprimante.</para> - </listitem> - - </itemizedlist> - </para> - </listitem> - </varlistentry> - - <varlistentry><term>Cela imprime n'importe quoi.</term> - - <listitem> - <para>Ce qui s'imprime ressemble à tout, sauf au - texte attendu.</para> - - <para>C'est en général un autre symptôme d'un paramétrage - incorrect de la communication avec une imprimante série. - Vérifiez la vitesse en bps de la fonctionnalité - <literal>br</literal>, et les bits de parité - des fonctionnalités <literal>fs</literal> et - <literal>fc</literal>; assurez-vous que l'imprimante - utilise les mêmes paramètres que ceux définis dans le - fichier <filename>/etc/printcap</filename>.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Il ne se passe rien.</term> - - <listitem> - <para>S'il ne se passe rien, le problème vient - probablement de FreeBSD et non du matériel. Ajoutez - la fonctionnalité de trace - (<literal>lf</literal>) à l'entrée associée à - l'imprimante que vous testez, dans le fichier - <filename>/etc/printcap</filename>. Par exemple, - voici l'entrée pour <literal>rattan</literal>, avec - la fonctionnalité <literal>lf</literal>: - - <programlisting> - rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\ - :sh:sd=/var/spool/lpd/rattan:\ - :lp=/dev/lpt0:\ :if=/usr/local/libexec/if-simple:\ - :lf=/var/log/rattan.log - </programlisting> - Refaites ensuite un essai d'impression et consultez le - fichier de trace - (<filename>/var/log/rattan.log</filename>, dans notre - exemple) pour voir s'il y a des messages d'erreur. - Essayez ensuite de corriger le problème au vu de - ces messages.</para> - - <para>Si vous n'utilisez pas la fonctionnalité - <literal>lf</literal>, LPD utilise - <filename>/dev/console</filename> par défaut.</para> - - </listitem> - </varlistentry> - </variablelist> - - </sect4> - </sect3> - </sect2> - </sect1> - - <sect1 - id="printing-using"> - <title>Utiliser les imprimantes</title> - - <para>Cette section vous explique comment utiliser les imprimantes - que vous avez configurées pour FreeBSD. Voici un résumé des - commandes utilisateur:</para> - - <variablelist> - <varlistentry><term><citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry></term> - <listitem> - <para>Imprime les travaux.</para> - </listitem> - </varlistentry> - - <varlistentry><term><citerefentry> - <refentrytitle>lpq</refentrytitle></citerefentry></term> - - <listitem> - <para>Consulte la file d'attente.</para> - </listitem> - </varlistentry> - - <varlistentry><term><citerefentry> - <refentrytitle>lprm</refentrytitle></citerefentry></term> - - <listitem> - <para>Retire des travaux de la file d'attente.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>Il y a aussi une commande d'administration, <citerefentry> - <refentrytitle>lpc</refentrytitle></citerefentry>, - décrite dans la section <link linkend="printing-lpc">Administrer - les imprimantes</link>, - qui sert à gérer les imprimantes et leurs - files d'attente.</para> - - <para>Chacune des trois commandes <citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry>, <citerefentry> - <refentrytitle>lprm</refentrytitle></citerefentry>, et - <citerefentry> - <refentrytitle>lpq</refentrytitle></citerefentry> - accepte l'option <option>-P <replaceable>imprimante</replaceable></option> pour préciser à quelle imprimante/file d'attente, - définie dans le fichier <filename>/etc/printcap</filename>, - elle s'applique. Vous pouvez alors soumettre, annuler et - consulter l'état de vos travaux sur les différentes imprimantes. - Si vous omettez l'option <option>-P</option>, ces commandes - s'appliquent à l'imprimante définie par la variable - d'environnement <envar>PRINTER</envar>. En dernier ressort, si - vous n'avez pas défini la variable d'environnement - <envar>PRINTER</envar>, ces commandes s'appliquent par défaut à - l'imprimante appelée <emphasis remap=tt>lp</emphasis>.</para> - - <para>Dans ce qui suit, le terme - <emphasis>imprimante par défaut</emphasis> désigne donc - l'imprimante définie par la variable d'environnement - <envar>PRINTER</envar>, ou l'imprimante appelée - <literal>lp</literal> s'il n'y a pas de variable d'environnement - <envar>PRINTER</envar>.</para> - - - <sect2 - id="printing-lpr"> - <title>Imprimer</title> - - <para>Pour imprimer des fichiers, tapez: - - <informalexample> - <screen>&prompt.user; <userinput>lpr <replaceable>fichier</replaceable> <replaceable>...</replaceable></userinput></screen> - </informalexample> Cela imprime chacun des fichiers indiqués sur - l'imprimante par défaut. Si vous ne donnez pas de nom de fichier, - <citerefentry><refentrytitle>lpr</refentrytitle></citerefentry> - lit les données à imprimer sur l'entrée standard. Par exemple, - la commande: - - <informalexample> - <screen>&prompt.user; <userinput>lpr /etc/host.conf /etc/hosts.equiv</userinput></screen> - </informalexample> imprime des fichiers système importants. Pour - choisir l'imprimante, tapez: - - <informalexample> - <screen>&prompt.user; <userinput>lpr -P <replaceable>imprimante</replaceable> <replaceable>fichier</replaceable> <replaceable>...</replaceable></userinput></screen> - </informalexample> Cet exemple imprime la liste longue du répertoire - courant sur l'imprimante appelée <literal>rattan</literal>: - - <informalexample> - <screen>&prompt.user; <userinput>ls -l | lpr -P rattan</userinput></screen> - </informalexample> Comme on n'a pas donné de nom de fichier à la - commande - <citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry>, - elle lit les données à imprimer sur l'entrée standard, qui est ici - le résultat de la commande <command>ls -l</command>.</para> - - <para>La commande <citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry> accepte une - grande variété d'options pour contrôler le format, convertir - les fichiers, imprimer plusieurs copies et ainsi de suite. Pour - plus d'informations, reportez-vous à la section - <link linkend="printing-lpr-options">Au-delà du simple texte : options - d'impression</link>.</para> - - </sect2> - - <sect2 - id="printing-lpq"> - <title>Consulter l'état de la file d'attente</title> - - <para>Quand vous imprimez avec <citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry>, les - données que vous voulez imprimer sont regroupées dans un - “travail d'impression”, qui est envoyé au gestionnaire - LPD. Chaque imprimante a sa file d'attente des travaux d'impression, - et le votre y est mis en attente avec vos autres travaux et ceux des - autres utilisateurs. L'imprimante les traite sur la base du premier - arrivé, premier servi.</para> - - <para>Pour connaître l'état de la file d'attente de l'imprimante par - défaut, tapez: - <citerefentry> - <refentrytitle>lpq</refentrytitle></citerefentry>. Pour une - imprimante particulière, utilisez l'option <option>-P</option>. Par - exemple, la commande: - - <informalexample> - <screen>&prompt.user; <userinput>lpq -P bamboo</userinput></screen> - </informalexample>affiche la file d'attente de l'imprimante appelée - <hostid>bamboo</hostid>. Voici un exemple de résultat de la - commande <command>lpq</command>: - - <informalexample> - <screen>bamboo is ready and printing - Rank Owner Job Files Total Size - active kelly 9 /etc/host.conf, /etc/hosts.equiv 88 bytes - 2nd kelly 10 (standard input) 1635 bytes - 3rd mary 11 ... 78519 bytes</screen> - </informalexample> Il y a trois travaux dans la file d'attente de - <literal>bamboo</literal>. Le premier, soumis par l'utilisateur - kelly, a été affecté du “numéro de travail” 9. A chaque - travail est attribué un numéro de travail unique. La plupart du - temps, vous n'avez pas besoin de le connaître, sauf si vous voulez - annuler l'impression; reportez-vous à la section - <link linkend="printing-lprm">Annuler des impressions</link> pour plus de - détails.</para> - - <para>Le travail numéro neuf comporte deux fichiers à imprimer; - lorsque plusieurs noms de fichiers sont donnés en paramètres de - la commande <citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry>, - ils sont traités en un seul travail d'impression. C'est le travail - en cours (ce qu'indique la mention <literal>active</literal> - dans la colonne “Rank”), ce qui signifie que - l'imprimante devrait être en train de l'imprimer.</para> - - <para>Le deuxième travail est constitué par des données passées - de l'entrée standard à la commande <citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry>. - Le troisième travail vient de l'utilisateur mary; il est bien - plus volumineux. Les noms des fichiers qu'elle veut imprimer - sont trop longs, c'est pourquoi la commande <citerefentry> - <refentrytitle>lpq</refentrytitle></citerefentry> n'affiche - que trois points.</para> - - <para>La première ligne du résultat de <citerefentry> - <refentrytitle>lpq</refentrytitle></citerefentry> est aussi - utile: elle dit ce que l'imprimante est en train de faire (ou - tout du moins, ce que LPD pense qu'elle est en train de - faire).</para> - - <para>La commande <citerefentry> - <refentrytitle>lpq</refentrytitle></citerefentry> accepte - aussi l'option <option>-l</option> qui génère une sortie - détaillée. Voici un exemple de résultat de - <command>lpq -l</command>:</para> - - <informalexample> - <screen>waiting for bamboo to become ready (offline ?) - kelly: 1st [job 009rose] - /etc/host.conf 73 bytes - /etc/hosts.equiv 15 bytes - - kelly: 2nd [job 010rose] - (standard input) 1635 bytes - - mary: 3rd [job 011rose] - /home/orchid/mary/research/venus/alpha-regio/mapping 78519 bytes</screen> - </informalexample> - - </sect2> - - <sect2 - id="printing-lprm"> - <title>Annuler des impressions</title> - - <para>Si vous changez d'avis quant à un travail d'impression, vous - pouvez le retirer de la file d'attente avec la commande - <citerefentry> - <refentrytitle>lprm</refentrytitle></citerefentry>. - La plupart du temps, vous pouvez même utiliser <citerefentry> - <refentrytitle>lprm</refentrytitle></citerefentry> pour - annuler une impression en cours, mais il se peut que tout ou une - partie du travail soit malgré tout imprimé.</para> - - <para>Pour annuler une impression sur l'imprimante par défaut, - utilisez - <citerefentry> - <refentrytitle>lpq</refentrytitle></citerefentry> pour connaître - le numéro du travail. Puis tapez: - <informalexample> - <screen>&prompt.user; <userinput>lprm <replaceable>numéro_du_travail</replaceable></userinput></screen> - </informalexample></para> - - <para>Pour annuler une impression sur une imprimante donnée, ajoutez - l'option <option>-P</option>. La commande qui suit retire le travail - d'impression numéro 10 de la file d'attente de l'imprimante - <hostid>bamboo</hostid>:</para> - - <informalexample> - <screen>&prompt.user; <userinput>lprm -P bamboo 10</userinput></screen> - </informalexample> - - <para>La commande <citerefentry> - <refentrytitle>lprm</refentrytitle></citerefentry> - accepte différents raccourcis:</para> - - <variablelist> - <varlistentry><term>lprm -</term> - <listitem> - <para>Annule tous les travaux (sur l'imprimante par défaut) - qui vous appartiennent.</para> - </listitem> - </varlistentry> - - <varlistentry><term>lprm <replaceable>utilisateur</replaceable></term> - - <listitem> - <para>Annule tous les travaux (sur l'imprimante par défaut) - qui appartiennent à l'<replaceable>utilisateur</replaceable>. Le - super-utilisateur peut annuler les travaux d'impression - des autres utilisateurs; vous ne pouvez retirer que vos - propres travaux.</para> - </listitem> - </varlistentry> - - <varlistentry><term>lprm</term> - - <listitem> - <para>Sans numéro de travail, nom d'utilisateur, ou - <option>-</option> sur la ligne de commande, - <citerefentry> - <refentrytitle>lprm</refentrytitle></citerefentry> retire - le travail en cours de la file d'attente de l'imprimante - par défaut, s'il vous appartient. Le super-utilisateur - peut annuler n'importe quel travail en cours.</para> - - </listitem> - </varlistentry> - </variablelist> - - <para>Employez simplement l'option <option>-P</option> avec les - raccourcis ci-dessus pour les appliquer à une autre imprimante - que l'imprimante par défaut. La commande suivante, par exemple, - retire tous les travaux de l'utilisateur courant de la file - d'attente de l'imprimante appelée <literal>rattan</literal>:</para> - - <informalexample> - <screen>&prompt.user; <userinput>lprm -P rattan -</userinput></screen> - </informalexample> - - <note> - <para>Si vous travaillez dans un environnement en réseau, vous - ne pourrez annuler de travaux avec - <citerefentry> - <refentrytitle>lprm</refentrytitle></citerefentry> - que depuis la machine à partir de laquelle ils ont été soumis, - même si l'imprimante concernée est accessible depuis d'autres - machines. C'est ce qu'illustre la séquence suivante:</para> - - <informalexample> - <screen>&prompt.user; <userinput>lpr -P rattan myfile</userinput> - &prompt.user; <userinput>rlogin orchid</userinput> - &prompt.user; <userinput>lpq -P rattan</userinput> - Rank Owner Job Files Total Size - active seeyan 12 ... 49123 bytes - 2nd kelly 13 myfile 12 bytes - &prompt.user; <userinput>lprm -P rattan 13</userinput> - rose: Permission denied - &prompt.user; <userinput>logout</userinput> - &prompt.user; <userinput>lprm -P rattan 13</userinput> - dfA013rose dequeued - cfA013rose dequeued - </screen> - </informalexample> - </note> - </sect2> - - <sect2 - id="printing-lpr-options"> - <title>Au-delà du simple texte: options d'impression</title> - - <para>La commande <citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry> accepte - un certain nombre d'options qui contrôlent la mise en page, - la conversion des graphiques et d'autres formats de - fichiers, le nombre de copies, et autres. Cette section - décrit ces options.</para> - - <sect3 - id="printing-lpr-options-format"> - <title>Options de mise en page et de conversion</title> - - <para>Les options de <citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry> - ci-dessous contrôlent la mise en page des fichiers d'un travail - d'impression. Utilisez-les si vos fichiers ne contiennent pas - uniquement du texte ou si vous voulez formater du texte avec - l'utilitaire <citerefentry> - <refentrytitle>pr</refentrytitle></citerefentry>.</para> - - <para>Par exemple, la commande suivante imprime un fichier DVI - (produit par le traitement de texte TeX) appelé - <filename>rapport-poissons.dvi</filename> sur l'imprimante appelée - <literal>bamboo</literal>:</para> - <informalexample> - <screen>&prompt.user; <userinput>lpr -P bamboo -d rapports-poissons.dvi</userinput></screen> - </informalexample> - - <para>Ces options sont valables pour tous les fichiers du travail - d'impression, vous ne pouvez donc pas mélanger des fichiers - DVI et ditroff (par exemple). Vous devez les soumettre dans des - travaux séparés avec des options de conversion différentes pour - chaque travail.</para> - - <note> - <para>Toutes ces options, sauf <option>-p</option> et - <option>-T</option> impliquent que les filtres de conversion - soient installés pour les imprimantes utilisées. Pour l'option - <option>-d</option>, par exemple, il faut le filtre de - conversion DVI. La section <link - linkend="printing-advanced-convfilters">Filtres de conversion</link> - vous explique cela en détail.</para> - </note> - - - <variablelist> - <varlistentry><term><option>-c</option></term> - <listitem> - <para>Imprime des fichiers cifplot.</para> - </listitem> - </varlistentry> - - <varlistentry><term><option>-d</option></term> - - <listitem> - <para>Imprime des fichiers DVI.</para> - </listitem> - </varlistentry> - - <varlistentry><term><option>-f</option></term> - - <listitem> - <para>Imprime des programmes FORTRAN.</para> - </listitem> - </varlistentry> - - <varlistentry><term><option>-g</option></term> - - <listitem> - <para>Imprime des graphiques pour un traceur (“plot”).</para> - </listitem> - </varlistentry> - - <varlistentry><term><option>-i<replaceable>nombre</replaceable></option></term> - - <listitem> - <para>Indente la sortie de <replaceable>nombre</replaceable> de colonnes; si vous ne précisez pas - <replaceable>nombre</replaceable>, indente de 8 - colonnes. Cette option ne s'applique qu'à certains filtres - de conversion.</para> - - <note> - <para>Ne mettez pas de blanc entre - <option>-i</option> et le nombre.</para> - </note> - </listitem> - </varlistentry> - - <varlistentry><term><option>-l</option></term> - - <listitem> - <para>Imprime le texte tel quel, y compris les caractères - de contrôle.</para> - </listitem> - </varlistentry> - - <varlistentry><term><option>-n</option></term> - - <listitem> - <para>Imprime des données ditroff (troff indépendant du - périphérique - “device independent troff”).</para> - </listitem> - </varlistentry> - - <varlistentry><term>-p</term> - - <listitem> - <para>Formate du texte avec <citerefentry> - <refentrytitle>pr</refentrytitle></citerefentry> - avant de l'imprimer. Voyez <citerefentry><refentrytitle>pr</refentrytitle><manvolnum>1</manvolnum></citerefentry> pour plus informations.</para> - </listitem> - </varlistentry> - - <varlistentry><term><option>-T - <replaceable>titre</replaceable></option></term> - - <listitem> - <para>Utilise <replaceable>titre</replaceable> comme en-tête - <citerefentry> - <refentrytitle>pr</refentrytitle></citerefentry> - au lieu du nom de fichier. Cette option ne s'applique qu'avec - l'option <option>-p</option>.</para> - </listitem> - </varlistentry> - - <varlistentry><term><option>-t</option></term> - - <listitem> - <para>Imprime des données troff.</para> - </listitem> - </varlistentry> - - <varlistentry><term><option>-v</option></term> - - <listitem> - <para>Imprime des images point par point.</para> - </listitem> - </varlistentry> - </variablelist> - - - <para>Voici un exemple: cette commande imprime une version proprement - formatée des pages de manuel de <citerefentry> - <refentrytitle>ls</refentrytitle></citerefentry> - sur l'imprimante par défaut:</para> - - <informalexample> - <screen>&prompt.user; <userinput>zcat /usr/share/man/man1/ls.1.gz | troff -t -man | lpr -t</userinput></screen> - </informalexample> - - <para>La commande <citerefentry> - <refentrytitle>zcat</refentrytitle></citerefentry> - décompresse le source des pages de manuel de <citerefentry> - <refentrytitle>ls</refentrytitle></citerefentry> et les passe - à la commande <citerefentry> - <refentrytitle>troff</refentrytitle></citerefentry>, - qui les convertit au format GNU troff et le passe à - <citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry>, - qui soumet le travail au gestionnaire d'impression. Comme nous avons - utilisé l'option <option>-t</option> de la commande - <citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry>, le gestionnaire - d'impression convertira le format GNU troff en un format compréhensible - par l'imprimante.</para> - - </sect3> - - <sect3 - id="printing-lpr-options-job-handling"> - <title>Options de traitement</title> - - <para>Les options <citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry> qui suivent - indiquent à LPD les traitements particuliers à appliquer à un - travail d'impression:</para> - - <para> - <variablelist> - <varlistentry><term>-# <replaceable>nombre</replaceable></term> - <listitem> - <para>Produit le <replaceable>nombre</replaceable> de copies - de chaque fichier du travail d'impression, au lieu d'une - seule. L'administrateur peut désactiver cette option pour - réduire l'usure de l'imprimante et encourager l'utilisation - de la photocopieuse. Reportez-vous à la section <link - linkend="printing-advanced-restricting-copies">Restreindre - l'impression de plusieurs exemplaires</link>.</para> - - <para>Cet exemple imprime trois exemplaires du fichier - <filename>analyseur.c</filename> suivis de trois exemplaires - de <filename>analyseur.h</filename> sur l'imprimante par - défaut:</para> - - <informalexample> - <screen>&prompt.user; <userinput>lpr -#3 analyseur.c analyseur.h</userinput></screen> - </informalexample> - </listitem> - </varlistentry> - - <varlistentry><term>-m</term> - - <listitem> - <para>Envoie un courrier électronique à la fin du travail - d'impression. Avec cette option, LPD vous envoie un - courrier électronique quand il a fini de traiter votre - travail d'impression. Son message vous dit si le travail - s'est normalement déroulé ou s'il y a eu une erreur, et - (la plupart du temps) quelle était l'erreur.</para> - </listitem> - </varlistentry> - - <varlistentry><term>-s</term> - - <listitem> - <para>Ne recopie pas les fichiers dans le répertoire tampon, mais - utilise des liens symboliques.</para> - - <para>Vous utiliserez certainement cette option si vous avez - des travaux d'impression volumineux. Cela fait gagner de la place - dans le répertoire tampon (votre travail pourrait saturer le - système de fichiers où se trouve le répertoire tampon). Cela fait - aussi gagner du temps, car LPD n'a pas besoin de recopier votre - travail d'impression dans le répertoire tampon.</para> - - <para>Il y a cependant une restriction: comme LPD utilisera les - fichiers d'origine, vous ne pourrez pas les modifier ou les - supprimer avant qu'ils aient été imprimés.</para> - - <note> - <para>Si vous imprimez sur une imprimante à distance, LPD - copiera les fichiers de la machine locale - vers la machine distante, donc l'option <option>-s</option> - ne fera gagner de place que sur la machine locale, - mais pas sur la machine distante. Cela reste néanmoins - utile.</para> - </note> - </listitem> - </varlistentry> - - <varlistentry><term>-r</term> - - <listitem> - <para>Détruit les fichiers après les avoir copiés dans le - répertoire tampon, ou après les avoir imprimés avec l'option - <option>-s</option>. Soyez prudents avec cette - option!</para> - </listitem> - </varlistentry> - </variablelist> - </para> - - </sect3> - - <sect3 - id="printing-lpr-options-misc"> - <title>Options pour la page d'en-tête</title> - - <para>Ces options de <citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry> - influent sur le texte qui est normalement imprimé sur la page - d'en-tête du travail d'impression. Si les pages d'en-tête sont - désactivées pour l'imprimante destinataire, ces options n'ont - pas d'effet. Voyez la section <link - linkend="printing-advanced-header-pages">Pages d'en-tête</link> - pour savoir comment gérer les pages d'en-tête.</para> - - - <variablelist> - <varlistentry><term>-C <replaceable>texte</replaceable></term> - <listitem> - <para>Remplace le nom de machine sur la page d'en-tête par - <replaceable>texte</replaceable>. Le nom de machine est - normalement celui de la machine d'où le travail a été - soumis.</para> - </listitem> - </varlistentry> - - <varlistentry><term>-J <replaceable>texte</replaceable></term> - - <listitem> - <para>Remplace le nom du travail sur la page d'en-tête par - <replaceable>texte</replaceable>. Le nom du travail est - normalement le nom du premier fichier à imprimer, ou - <filename>stdin</filename> si vous imprimez depuis l'entrée - standard.</para> - </listitem> - </varlistentry> - - <varlistentry><term>-h</term> - - <listitem> - <para>N'imprime pas de page d'en-tête.</para> - - <note> - <para>Sur certains sites, cette option n'a pas d'effet, selon - la façon dont les pages d'en-tête sont générées. Voyez la section - <link - linkend="printing-advanced-header-pages">Pages d'en-tête</link> - pour plus de détails.</para> - </note> - </listitem> - </varlistentry> - </variablelist> - - - </sect3> -</sect2> - -<sect2 - id="printing-lpc"> - <title>Administrer les imprimantes</title> - - <para>En tant qu'administrateur de vos imprimantes, vous avez dû les - installer, les configurer et les tester. Avec la commande <citerefentry> - <refentrytitle>lpc</refentrytitle></citerefentry>, - vous pouvez encore agir d'autres façons sur vos imprimantes. Avec - <citerefentry> - <refentrytitle>lpc</refentrytitle></citerefentry>, vous - pouvez:</para> - - <para> - <itemizedlist> - - <listitem> - <para>Démarrer et arrêter les imprimantes.</para> - </listitem> - - <listitem> - <para>Activer et désactiver leurs files d'attente.</para> - </listitem> - - <listitem> - <para>Réordonner les travaux de chaque file d'attente.</para> - </listitem> - - </itemizedlist> - </para> - - <para>Une remarque tout d'abord sur la terminologie: si une imprimante est - <emphasis>arrêtée</emphasis>, elle n'imprimera plus rien de ce qui se trouve - dans sa file d'attente. Les utilisateurs peuvent toujours soumettre leurs - travaux, qui attendront dans la file d'attente que l'imprimante soit - <emphasis>redémarrée</emphasis> ou la file d'attente vidée.</para> - - <para>Si une file d'attente est <emphasis>désactivée</emphasis>, aucun - utilisateur (sauf le super-utilisateur) ne peut soumettre de travail à cette imprimante. Une - file d'attente <emphasis>active</emphasis> autorise la soumission de - travaux d'impression. Une imprimante peut être <emphasis>démarrée</emphasis> - pour une file d'attente inactive, auquel cas, elle continue à imprimer les - travaux jusqu'à ce que la file d'attente soit vidée.</para> - - <para>En général, vous devrez avoir les droits du super-utilisateur pour utiliser la - commande <citerefentry> - <refentrytitle>lpc</refentrytitle></citerefentry>. Les utilisateurs - ordinaires ne peuvent utiliser <citerefentry> - <refentrytitle>lpc</refentrytitle></citerefentry> que pour interroger - l'état d'une imprimante et redémarrer une imprimante qui s'est - interrompue.</para> - - <para>Voici un résumé des commandes <citerefentry> - <refentrytitle>lpc</refentrytitle></citerefentry>. - La plupart de ces commandes prennent un argument - <replaceable>imprimante</replaceable> qui dit à quelle imprimante - elles s'appliquent. Vous pouvez utiliser l'argument <literal>all</literal> - comme <replaceable>imprimante</replaceable> pour qu'elles s'appliquent - à toutes les imprimantes listées dans le fichier - <filename>/etc/printcap</filename>.</para> - - - <variablelist> - <varlistentry><term><command>abort - <replaceable>imprimante</replaceable></command></term> - <listitem> - <para>Annule le travail en cours et arrête l'imprimante. - Les utilisateurs peuvent toujours soumettre leurs travaux si la - file d'attente est active.</para> - </listitem> - </varlistentry> - - <varlistentry><term><command>clean - <replaceable>imprimante</replaceable></command></term> - - <listitem> - <para>Nettoie le repertoire tampon. Il arrive que les fichiers - associés à un travail d'impression ne soient pas correctement - supprimés par LPD, en particulier s'il s'est produit des - erreurs lors de l'impression ou s'il y a eu beaucoup d'activité - d'administration. Cette commande recherche les fichiers qui - n'ont plus lieu d'être dans le répertoire tampon et les - supprime.</para> - </listitem> - </varlistentry> - - <varlistentry><term><command>disable - <replaceable>imprimante</replaceable></command></term> - - <listitem> - <para>Interdit la mise en file d'attente de nouveaux travaux. Si - l'imprimante est active, elle continuera à imprimer les travaux - qui y sont déjà. Le super-utilisateur (root) peut toujours - soumettre des travaux d'impression, même à une file d'attente - désactivée.</para> - - <para>Cette commande est utile si vous testez une nouvelle - imprimante ou un nouveau filtre: désactivez la file - d'attente et soumettez vos travaux en étant super-utilisateur. Les - autres utilisateurs ne pourront pas soumettre de travaux - tant que vous n'aurez pas fini vos tests et réactivé la - file d'attente avec la commande <command>enable</command>.</para> - </listitem> - </varlistentry> - - <varlistentry><term><command remap="tt">down - <replaceable>imprimante</replaceable> - <replaceable>message</replaceable></command></term> - - <listitem> - <para>Arrête complètement une imprimante. C'est l'équivalent de - <command>disable</command> suivie de - <command>stop</command>. Le <replaceable>message</replaceable> - est affiché quand un utilisateur interroge l'état de la file - d'attente avec la commande <citerefentry> - <refentrytitle>lpq</refentrytitle></citerefentry> - ou <command>lpc status</command>.</para> - </listitem> - </varlistentry> - - <varlistentry><term><command>enable - <replaceable>imprimante</replaceable></command></term> - - <listitem> - <para>Active la file d'attente d'une imprimante. Les utilisateurs - peuvent soumettre leurs travaux, mais ils ne seront imprimés que - quand l'imprimante aura été démarrée.</para> - </listitem> - </varlistentry> - - <varlistentry><term><command remap="tt">help - <replaceable>commande</replaceable></command></term> - - <listitem> - <para>Affiche de l'aide sur la - <replaceable>commande</replaceable>. Sans - <replaceable>commande</replaceable>, affiche un résumé des - commandes disponibles.</para> - </listitem> - </varlistentry> - - <varlistentry><term><command>restart - <replaceable>imprimante</replaceable></command></term> - - <listitem> - <para>Démarre l'imprimante. Les utilisateurs normaux peuvent utiliser - cette commande si des circonstances extraordinaires interrompent - le bon fonctionnement de LPD, mais ils ne peuvent pas l'employer - pour redémarrer une imprimante arrêtée avec la commande - <command>stop</command> ou <command>down</command>. - La commande <command>restart</command> - est l'équivalent de <command>abort</command> suivie de - <command>start</command>.</para> - </listitem> - </varlistentry> - - <varlistentry><term><command>start - <replaceable>imprimante</replaceable></command></term> - - <listitem> - <para>Démarre l'imprimante. Elle imprimera les travaux de sa file - d'attente.</para> - </listitem> - </varlistentry> - - <varlistentry><term><command>stop - <replaceable>imprimante</replaceable></command></term> - - <listitem> - <para>Arrête l'imprimante. Elle terminera l'impression du travail en - cours puis cessera d'imprimer ce qui se trouve dans sa file - d'attente. Même si l'imprimante est arrêtée, les utilisateurs - peuvent toujours soumettre des travaux à une file d'attente - active.</para> - </listitem> - </varlistentry> - - <varlistentry><term><command>topq - <replaceable>imprimante</replaceable> - <replaceable>travaux_ou_utilisateur</replaceable></command></term> - - <listitem> - <para>Réordonne la file d'attente de - l'<replaceable>imprimante</replaceable> en plaçant les - <replaceable>travaux</replaceable> dont les numéros sont donnés - ou ceux qui appartiennent à l'<replaceable>utilisateur</replaceable> - en tête de la file. Vous ne pouvez pas utiliser - <literal>all</literal> comme <replaceable>imprimante</replaceable> - avec cette commande.</para> - </listitem> - </varlistentry> - - <varlistentry><term><command>up - <replaceable>imprimante</replaceable></command></term> - - <listitem> - <para> Met en service une <replaceable>imprimante</replaceable>. C'est - l'inverse de la commande <command>down</command> et équivaut à - <command>start</command> suivie de <command>enable</command>.</para> - </listitem> - </varlistentry> - </variablelist> - - - <para><citerefentry> - <refentrytitle>lpc</refentrytitle></citerefentry> accepte toutes les - commandes précédentes depuis la ligne de commande. Si vous ne donnez - aucune commande, <citerefentry> - <refentrytitle>lpc</refentrytitle></citerefentry> passe en mode interactif - et vous pouvez entrer vos commandes jusqu'à ce que vous tapiez - <command>exit</command>, <command>quit</command>, ou fin_de_fichier.</para> - -</sect2> -</sect1> - -<sect1 -id="printing-advanced"> -<title>Configuration avancée d'une imprimante</title> - -<para>Cette section décrit les filtres pour des formatages particuliers, - les pages d'en-tête, l'impression en réseau, les restrictions et la - comptabilisation de l'utilisation des imprimantes.</para> - - -<sect2 - id="printing-advanced-filter-intro"> - <title>Filtres</title> - - <para>Bien que LPD prenne en charge le protocole réseau, la gestion de la - file d'attente, le contrôle d'accès et d'autres aspects des tâches - d'impression, la plupart du travail <emphasis>effectif</emphasis> est - confié aux <emphasis>filtres</emphasis>. Les filtres sont des programmes - qui communiquent avec l'imprimante et se chargent de leurs caractéristiques - et exigences particulières. Lors de la configuration simple, nous avons - installé un filtre texte - un filtre très élémentaire qui devrait - marcher avec la plupart des imprimantes. - (cf. section <link linkend="printing-textfilter">Installer le filtre - texte</link>).</para> - - <para>Cependant, pour profiter de la conversion de format, de la - comptabilisation des impressions, des particularités de certaines - imprimantes, et ainsi de suite, il est utile de comprendre comment - fonctionnent les filtres. En dernier ressort, ce sont les filtres - qui gèreront ces fonctionnalités. La mauvaise nouvelle est que la - plupart du temps, <emphasis>vous</emphasis> devrez vous-même fournir - ces filtres. La bonne nouvelle est que beaucoup sont déjà disponibles; - quand ce n'est pas le cas, ils sont en général faciles à écrire.</para> - - <para>FreeBSD est aussi livré avec un filtre, - <filename>/usr/libexec/lpr/lpf</filename>, qui fonctionne avec nombre - d'imprimantes capables d'imprimer du texte. (Il gère les retours arrière, - les tabulations et la comptabilité, mais c'est à peu près tout ce qu'il - fait.) Il y a aussi plusieurs filtres ou composants de filtres au catalogue - des logiciels portés.</para> - - <para>Voici ce que vous trouverez dans cette section:</para> - - <itemizedlist> - - <listitem> - <para>La section <link linkend="printing-advanced-filters">Comment - fonctionnent les filtres</link> essaie de vous donner une vue d'ensemble - du rôle du filtre dans le processus d'impression. Vous devriez - lire cette section pour comprendre ce qui se passe - “dans la coulisse” quand LPD utilise les filtres. Cela - peut vous aider à anticiper et remédier aux problèmes que vous - rencontrerez au fur et à mesure que vous installerez de plus en - plus de filtres sur chacune de vos imprimantes.</para> - </listitem> - - <listitem> - <para>LPD s'attend à ce que, par défaut, chaque imprimante soit - capable d'imprimer du texte. C'est un problème avec les - imprimantes PostScript (ou d'autres imprimantes qui utilisent - un langage d'impression), qui ne savent pas imprimer - directement du texte. La section <link - linkend="printing-advanced-if-conversion">Imprimer - du texte sur des imprimantes PostScript</link> - vous explique comment résoudre ce problème. - Je vous recommande de la lire si vous avez une imprimante - PostScript.</para> - </listitem> - - <listitem> - <para>PostScript est un format de sortie populaire pour - beaucoup de programmes. Certaines personnes (moi y-compris) - écrivent directement du code PostScript. Mais les imprimantes - PostScript sont chères. La section - <link linkend="printing-advanced-ps">Emuler - PostScript sur des imprimantes Non-PostScript</link> - vous explique comment vous pouvez ajuster le filtre texte - d'une imprimante pour accepter et imprimer des données - PostScript sur une imprimante qui n'est - <emphasis>pas PostScript</emphasis>. Je vous recommande - de le lire si vous n'avez pas d'imprimante PostScript.</para> - </listitem> - - <listitem> - <para>La section <link linkend="printing-advanced-convfilters">Filtres - de conversion</link> vous donne une méthode pour - automatiser la conversion de formats de fichiers particuliers, - comme des données graphiques ou issues d'un traitement de - texte, vers un format compréhensible pour votre imprimante. - Après avoir lu cette section, vous devriez être capable de - configurer vos imprimantes pour que les utilisateurs puissent - taper <command>lpr -t</command> pour imprimer des données - troff, <command>lpr -d</command> pour imprimer des données - DVI produit par TeX, ou <command>lpr -v</command> - pour imprimer des images point à point, et ainsi de suite. Je - conseille la lecture de cette section.</para> - </listitem> - - <listitem> - <para>La section <link linkend="printing-advanced-of">Filtres - de sortie</link> introduit une possibilité - rarement utilisée de LPD: les filtres de sortie. A moins - que vous n'imprimiez des pages d'en-tête (voyez la section <link - linkend="printing-advanced-header-pages">Pages d'en-tête</link>), - vous pouvez probablement sauter - cette section.</para> - </listitem> - - <listitem> - <para>La section <link linkend="printing-advanced-lpf"><command>lpf</command>: - un filtre texte</link> décrit <command>lpf</command>, - un filtre texte assez complet, quoique simple, pour les - imprimantes ligne (et les imprimantes laser qui fonctionnent - comme des imprimantes ligne) et qui est livré avec FreeBSD. - S'il vous faut un moyen simple pour comptabiliser le - fonctionnement d'une imprimante en mode texte, ou si vous - avez une imprimante qui fume lorsqu'elle aperçoit un retour - arrière, vous devriez absolument envisager d'utiliser - <command>lpf</command>.</para> - </listitem> - - </itemizedlist> - - <sect3 - id="printing-advanced-filters"> - <title>Comment fonctionnent les filtres</title> - - <para>Comme expliqué plus haut, un filtre est un programme - exécuté par LPD pour gérer ce qui dépend de l'imprimante - dans la communication avec celle-ci.</para> - - <para>Quand LPD veut imprimer un fichier appartenant à un travail - d'impression, il démarre un programme de filtre. Il affecte à - l'entrée standard du filtre le fichier à imprimer, à sa sortie - standard l'imprimante et à son fichier d'erreur standard le - fichier de trace (défini par la fonctionnalité - <literal>lf</literal> de <filename>/etc/printcap</filename>, ou - <filename>/dev/console</filename> par défaut).</para> - - <para>Quel filtre LPD utilise et avec quels arguments dépend du - contenu du fichier <filename>/etc/printcap</filename> et des - arguments qu'a donnés l'utilisateur sur la ligne de commande de - <citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry> pour ce - travail d'impression. Par exemple, s'il a utilisé - <command>lpr -t</command>, LPD démarrera le filtre troff, indiqué - par la fonctionnalité <literal>tf</literal> pour l'imprimante - destinataire. Si l'utilisateur veut imprimer du texte, il lancera - le filtre <literal>if</literal> (c'est vrai la plupart du temps, - voyez la section <link linkend="printing-advanced-of">Filtres de sortie</link> - pour plus de détails).</para> - - <para>Il y a trois sortes de filtres que vous pouvez définir dans - <filename>/etc/printcap</filename>:</para> - - <itemizedlist> - - <listitem> - <para>Le <emphasis>filtre texte</emphasis>, inexactement - appelé <emphasis>filtre d'entrée</emphasis> dans la - documentation de LPD, se charge de l'impression du texte - ordinaire. Considérez-le comme le filtre par défaut. LPD - suppose que toutes les imprimantes savent par défaut - imprimer du texte, et c'est le rôle du filtre texte - de faire en sorte que les retours arrière, tabulations - et autres caractères spéciaux ne posent pas de problèmes - à l'imprimante. Si vous êtes dans un environnement où vous - devez comptabiliser l'utilisation des imprimantes, le - filtre texte doit aussi s'en charger, habituellement en - comptant le nombre de lignes et en le comparant au nombre - de lignes par page accepté par l'imprimante. Le filtre texte - est exécuté avec les arguments suivants: - - <cmdsynopsis> - <command>nom_du_filtre</command> - <arg>-c</arg> - <arg choice="plain">-w<replaceable>largeur</replaceable></arg> - <arg choice="plain">-l<replaceable>hauteur</replaceable></arg> - <arg choice="plain">-i<replaceable>indentation</replaceable></arg> - <arg choice="plain">-n <replaceable>utilisateur</replaceable></arg> - <arg choice="plain">-h <replaceable>hôte</replaceable></arg> - <arg choice="plain"><replaceable>fichier_comptable</replaceable></arg> - </cmdsynopsis> où: - - <variablelist> - <varlistentry><term><option>-c</option></term> - <listitem> - <para>est utilisé si le travail a été soumis par - <command>lpr -l</command>,</para> - </listitem> - </varlistentry> - - <varlistentry><term><replaceable>largeur</replaceable></term> - - <listitem> - <para>est la valeur donnée avec la fonctionnalité - <literal>pw</literal> (largeur de page - “page width”) - dans <filename>/etc/printcap</filename>, - 132 par défaut,</para> - </listitem> - </varlistentry> - - <varlistentry><term><replaceable>length</replaceable></term> - - <listitem> - <para>est la valeur indiquée par la fonctionnalité - <literal>pl</literal> (hauteur de page - “page length”), 66 par - défaut,</para> - </listitem> - </varlistentry> - - <varlistentry><term><replaceable>indentation</replaceable></term> - - <listitem> - <para>indentation précisée par - <command>lpr -i</command>, 0 par défaut,</para> - </listitem> - </varlistentry> - - <varlistentry><term><replaceable>utilisateur</replaceable></term> - - <listitem> - <para>est le nom (de session) de l'utilisateur imprimant le fichier,</para> - </listitem> - </varlistentry> - - <varlistentry><term><replaceable>hôte</replaceable></term> - - <listitem> - <para>est le nom de la machine d'où le travail a été - soumis,</para> - </listitem> - </varlistentry> - - <varlistentry><term><replaceable>fichier_comptable</replaceable></term> - - <listitem> - <para>est le nom du fichier de comptabilité spécifé - par la fonctionnalité <literal>af</literal>.</para> - </listitem> - </varlistentry> - </variablelist> - - </para> - </listitem> - - <listitem> - <para>Un <emphasis>filtre de conversion</emphasis> convertit - un format de fichier particulier en un format que - l'imprimante comprend. Par exemple, des données provenant - du traitement de texte ditroff ne peuvent pas être - imprimées directement, mais vous pouvez installer un - filtre de conversion pour les fichiers ditroff pour - transformer les fichiers ditroff de façon à ce que - l'imprimante les digère et les imprime. La section - <link linkend="printing-advanced-convfilters">Filtres de conversion</link> - vous dit tout ce que vous - devez savoir sur ces filtres. Les filtres de conversion - doivent aussi gérer la comptabilité, si vous en avez besoin. - Les filtres de conversion sont exécutés avec les arguments - suivants: - - <cmdsynopsis> - <command>nom_du_filtre</command> - <arg - choice="plain">-x<replaceable>largeur_du_pixel</replaceable></arg> - <arg choice="plain">-y<replaceable>hauteur_du_pixel</replaceable></arg> - <arg choice="plain">-n <replaceable>utilisateur</replaceable></arg> - <arg choice="plain">-h <replaceable>hôte</replaceable></arg> - <arg choice="plain"><replaceable>fichier_comptable</replaceable></arg> - </cmdsynopsis> où <replaceable>largeur_du_pixel</replaceable> est la valeur - définie par la fonctionnalité - <literal>px</literal> (0 par défaut) - et <replaceable>hauteur_du_pixel</replaceable> celle définie - par <literal>py</literal> - (0 par défaut).</para> - </listitem> - - <listitem> - <para>Le <emphasis>filtre de sortie</emphasis> n'est utilisé - que s'il n'y a pas de filtre texte, ou que les pages - d'en-tête sont activées. D'après mon expérience personnelle, - les filtres de sortie sont rarement utilisés. La section - <link linkend="printing-advanced-of">Filtres de sortie</link> - les décrit. Un filtre de sortie n'a que deux - arguments: - - <cmdsynopsis> - <command>nom_du_filtre</command> - <arg choice="plain">-w<replaceable>largeur</replaceable></arg> - <arg choice="plain">-l<replaceable>hauteur</replaceable></arg> - </cmdsynopsis> qui sont identiques aux arguments - <option>-w</option> et <option>-l</option> - du filtre texte.</para> - </listitem> - - </itemizedlist> - - <para>Les filtres doivent aussi retourner - (“exit”) avec l'un des codes retour - suivants:</para> - - <variablelist> - <varlistentry><term>exit 0</term> - <listitem> - <para>Le filtre a correctement imprimé le fichier.</para> - </listitem> - </varlistentry> - - <varlistentry><term>exit 1</term> - - <listitem> - <para>Le filtre n'a pas pu imprimer le fichier mais veut - que LPD tente une nouvelle impression. LPD relancera - le filtre s'il retourne ce code.</para> - </listitem> - </varlistentry> - - <varlistentry><term>exit 2</term> - - <listitem> - <para>Le filtre n'a pas pu imprimer le fichier et ne veut - pas que LPD relance l'impression. LPD supprimera le - fichier de la file d'attente.</para> - - </listitem> - </varlistentry> - </variablelist> - - <para>Le filtre texte livré avec la distribution de FreeBSD, - <filename>/usr/libexec/lpr/lpf</filename>, utilise les arguments - définissant la largeur et la hauteur de page pour déterminer - quand envoyer un saut de page et pour gérer la comptabilité. Il - se sert du nom d'utilisateur, du nom de machine et de celui du - fichier comptable pour tenir à jour les enregistrements - comptables.</para> - - <para>Si vous cherchez des filtres, vérifiez qu'ils sont - compatibles avec LPD. S'ils le sont, ils doivent accepter les - arguments décrits ci-dessus. Si vous envisagez d'écrire des - filtres, vous devez faire en sorte qu'ils acceptent ces arguments - et gèrent les bons codes retour.</para> - - </sect3> - - <sect3 - id="printing-advanced-if-conversion"> - <title>Imprimer du texte sur des imprimantes PostScript - </title> - - <para>Si vous êtes le seul utilisateur de votre ordinateur et d'une - imprimante PostScript (ou d'une autre imprimante fonctionnant - avec un langage d'impression) et êtes certain de ne jamais envoyer - de simples fichiers texte à l'imprimante ou de ne jamais utiliser - les options de différents programmes qui feraient de même, alors - vous n'avez pas besoin de vous préoccuper du contenu de cette - section.</para> - - <para>Mais, si vous voulez envoyer et du PostScript et de simples - fichiers texte à l'imprimante, alors je vous conjure d'adapter - la configuration de votre imprimante. Pour cela, nous ferons en - sorte que le filtre texte distingue entre les travaux d'impression - qui envoient du texte et ceux qui envoient du PostScript. Tous les - travaux PostScript commencent par <literal>%!</literal> (pour les - autres langages, consultez la documentation de votre imprimante). - Si nous avons ces deux caractères au début du travail d'impression, - alors c'est du PostScript, et nous pouvons l'envoyer tel quel. - Sinon, le filtre convertira le texte en PostScript et imprimera - le résultat.</para> - - <para>Comment réaliser cela?</para> - - <para>Avec une imprimante série, il suffit d'installer - <command>lprps</command>. <command>lprps</command> est un filtre - d'impression PostScript qui dialogue avec l'imprimante. Il met à - jour le fichier d'état de l'imprimante en fonction des - informations que celle-ci lui fournit, les utilisateurs et les - administrateurs peuvent donc savoir exactement quel est l'état - de l'imprimante (comme <errorname>manque d'encre</errorname> ou - <errorname>bourrage</errorname>). Mais, c'est plus intéressant, - il comporte un programme appelé <command>psif</command> qui - détecte si le prochain travail est du texte et invoque - <command>textps</command> (un autre programme qui fait partie de - <command>lprps</command>) pour le convertir en PostScript. Il - utilise ensuite <command>lprps</command> pour l'envoyer à - l'imprimante.</para> - - <para><command>lprps</command> fait partie du catalogue des - logiciels portés de FreeBSD (voyez le chapitre - <link linkend="ports">Installer des Logiciels au “Catalogue des - Logiciels Portés”</link>). Vous - pouvez le télécharger, le compiler et - l'installer vous-même, bien sûr. Après avoir installé - <command>lprps</command>, donnez juste le chemin d'accès au - programme <command>psif</command> qui fait partie de - <command>lprps</command>. Si vous avez installé - <command>lprps</command> depuis le catalogue des logiciels portés, - utilisez ce qui suit dans la définition de l'imprimante série - PostScript dans <filename>/etc/printcap</filename>:</para> - - <programlisting> -:if=/usr/local/libexec/psif: - </programlisting> - - <para>Vous devez aussi activer la fonctionnalité - <literal>rw</literal> qui dit à LPD d'ouvrir l'imprimante - en lecture/écriture.</para> - - <para>Si vous avez une imprimante PostScript parallèle (et donc - ne pouvez pas communiquer dans les deux sens avec l'imprimante, - ce qui est indispensable à <command>lprps</command>), vous pouvez - utilisez la procédure qui suit comme filtre texte:</para> - - <programlisting> -#!/bin/sh -# -# psif - Imprime du PostScript ou du texte -# version Procédure; Ce N'EST PAS la version qui accompagne lprs -# fichier /usr/local/libexec/psif -# - -read first_line -first_two_chars=`expr "$first_line" : '\(..\)'` - -if [ "$first_two_chars" = "%!" ]; then - # - # Travail PostScript; l'imprimer. - # - echo $first_line && cat && printf "\004" && exit 0 - exit 2 -else - # - # Texte simple, le convertir, puis l'imprimer. - # - ( echo $first_line; cat ) | /usr/local/bin/textps && printf "\004" && exit 0 - exit 2 -fi - </programlisting> - - <para>Dans la procédure ci-dessus, <command>textps</command> est un - programme que nous avons installé séparément pour convertir - du texte en PostScript. Vous pouvez utiliser le programme de - conversion de votre choix. Le catalogue des logiciels portés de FreeBSD - (voyez le chapitre <link linkend="ports">Installer des Logiciels - au “Catalogue des Logiciels Portés”</link>) - comporte un programme complet de conversion de - texte en PostScript appelé <citerefentry> - <refentrytitle>a2ps</refentrytitle></citerefentry> auquel vous - pourriez jeter un coup d'oeil.</para> - - </sect3> - - <sect3 - id="printing-advanced-ps"> - <title>Emuler PostScript sur des imprimantes Non-PostScript - </title> - - <para>PostScript est le standard <emphasis>de facto</emphasis> - du traitement de texte et de l'impression de qualité. PostScript - est, toutefois, un standard <emphasis>coûteux</emphasis>. - Heureusement, Alladin Enterprises fournit un émulateur PostScript - libre, appelé <application>Ghostscript</application>, qui - fonctionne sous FreeBSD. Ghostscript peut lire - la plupart des fichiers PostScript - et les convertir pour divers modèles d'imprimantes dont de - nombreuses imprimantes non-PostScript. En installant Ghostscript - et avec un filtre texte adapté à votre imprimante, vous pouvez - utiliser votre imprimante comme une vraie imprimante - PostScript.</para> - - <para>Ghostscript devrait être dans le catalogue des logiciels portés - de FreeBSD, d'où vous pouvez l'installer. Vous pouvez aussi - facilement le télécharger, le compiler et l'installer.</para> - - <para>Pour émuler PostScript, nous ferons en sorte que le filtre - texte reconnaisse les fichiers PostScript. Quand ce n'est pas le - cas, le filtre enverra directement le fichier à l'imprimante. - Sinon, il utilisera Ghostscript pour convertir le fichier - en un format que l'imprimante comprenne.</para> - - <para>Voici un exemple: cette procédure est un filtre texte pour les - imprimantes Hewlett Packard DeskJet 500. Pour d'autres - imprimantes, modifiez l'argument de l'option - <option>-sDEVICE</option> de la commande - <citerefentry> - <refentrytitle>gs</refentrytitle></citerefentry> (Ghostscript). - (Tapez <command>gs -h</command> pour avoir la liste des - périphériques supportés par la version courante de - Ghostscript.)</para> - - <programlisting> -#!/bin/sh -# -# ifhp - Imprime du PostSCript émulé par Ghostscript sur une DeskJet 500 -# fichier /usr/local/libexec/hpif -# -# traiter LF comme CR+LF: -# -printf "\033&k2G" || exit 2 - -# -# Lit les deux premiers caractères du fichier -# -read first_line -first_two_chars=`expr "$first_line" : '\(..\)'` - -if [ "$first_two_chars" = "%!" ]; then - # - # Si c'est du PostScript; utiliser Ghostscript pour convertir, et imprimer. - # - /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 -sOutputFile=- - \ - && exit 0 -else - # - # Texte ou HP/PCL, donc, imprimer directement; envoyer ensuite un saut - # de page pour éjecter la dernière page. - # - echo $first_line && cat && printf "\f" && exit 0 -fi - -exit 2 - </programlisting> - - <para>Pour finir, il faut spécifier le filtre à LPD avec - la fonctionnalité <literal remap="tt">if</literal>: - <programlisting> -:if=/usr/local/libexec/hpif: - </programlisting> C'est tout. Vous pouvez maintenant taper - <command>lpr texte.simple</command> et <command>lpr - quoique-ce-soit.ps</command> et les deux devraient - s'imprimer.</para> - - </sect3> - - <sect3 - id="printing-advanced-convfilters"> - <title>Filtres de conversion</title> - - <para>Après avoir terminé l'étape de - <link linkend="printing-simple">Configuration simple d'une imprimante</link>, la - première chose que vous voudrez probablement faire sera - d'installer des filtres de conversion pour vos formats de - fichiers favoris (autres que le simple texte ASCII).</para> - - - <sect4> - <title>Pourquoi installer des filtres de conversion?</title> - - <para>Les filtres de conversion facilitent l'impression de - différents types de fichiers. Supposons, par exemple, que - nous utilisions beaucoup le logiciel de traitement de texte - TeX, et que nous ayons une imprimante PostScript. Chaque fois - que nous générons un fichier DVI avec TeX, nous ne pouvons - l'imprimer directement sans le convertir auparavant en - PostScript. La séquence de commande pour le faire est la - suivante:</para> - - <informalexample> - <screen>&prompt.user; <userinput>dvips anaylse-algues.dvi</userinput> -&prompt.user; <userinput>lpr analyse-algues.ps</userinput></screen> - </informalexample> - - <para>En installant un filtre de conversion pour les fichiers - DVI, nous pourrons nous dispenser de la conversion manuelle - à chaque fois, en laissant LPD le faire à notre place. Quand nous aurons - un fichier DVI, l'impression se fera en une seule étape:</para> - - <informalexample> - <screen>&prompt.user; <userinput>lpr -d analyse-algues.dvi</userinput></screen> - </informalexample> - - <para>L'option <option>-d</option> dit à LPD que c'est un - fichier DVI à convertir. La section - <link - linkend="printing-lpr-options-format">Options de mise en page et de conversion</link> - liste les options de conversion.</para> - - <para>Pour chaque option de conversion que vous voulez que - l'imprimante supporte, installez un - <emphasis>filtre de conversion</emphasis> et donnez son chemin - d'accès dans <filename>/etc/printcap</filename>. Un - filtre de conversion est similaire au filtre texte de notre - configuration simple - (voir section <link linkend="printing-textfilter">Installer - le filtre texte</link>) sinon qu'au lieu - d'imprimer du texte, il convertit le fichier en un format - compréhensible pour l'imprimante.</para> - - </sect4> - - <sect4> - <title>Quels filtres de conversion dois-je installer? - </title> - - <para>Installez les filtres de conversion que vous prévoyez - d'utiliser. Si vous avez beaucoup de données DVI, un filtre - de conversion DVI s'impose. Si vous voulez imprimer beaucoup - de troff, c'est une bonne idée d'installer un filtre - troff.</para> - - <para>La table ci-dessous résume les caractéristiques des filtres - que LPD utilise, elle donne le type de fichier, - la fonctionnalité correspondante dans le fichier - <filename>/etc/printcap</filename> et l'option - à utiliser avec la commande <command>lpr</command>.</para> - - <informaltable frame="none"> - <tgroup cols="3"> - <thead> - <row> - <entry>Type de fichier</entry> - <entry>Fonctionnalité <filename>/etc/printcap</filename> - </entry> - <entry>Option de <command>lpr</command></entry> - </row> - </thead> - <tbody> - <row> - <entry>cifplot</entry> - <entry><literal>cf</literal></entry> - <entry><option>-c</option></entry> - </row> - - <row> - <entry>DVI</entry> - <entry><literal>df</literal></entry> - <entry><option>-d</option></entry> - </row> - - <row> - <entry>format traceur (“plot”)</entry> - <entry><literal>gf</literal></entry> - <entry><option>-g</option></entry> - </row> - - <row> - <entry>ditroff</entry> - <entry><literal>nf</literal></entry> - <entry><option>-n</option></entry> - </row> - - <row> - <entry>programme FORTRAN</entry> - <entry><literal>rf</literal></entry> - <entry><option>-f</option></entry> - </row> - - <row> - <entry>troff</entry> - <entry><literal>rf</literal></entry> - <entry><option>-f</option></entry> - </row> - - <row> - <entry>image point à point (“raster”)</entry> - <entry><literal>vf</literal></entry> - <entry><option>-v</option></entry> - </row> - - <row> - <entry>texte</entry> - <entry><literal>if</literal></entry> - <entry>aucune, <option>-p</option>, ou <option>-l</option></entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <para>Dans notre exemple, la commande - <command>lpr -d</command> signifie que l'imprimante doit - invoquer la fonctionnalité <literal>df</literal> de sa - définition dans <filename>/etc/printcap</filename>.</para> - - <para>Malgré ce que d'aucuns en pensent, des formats tels que - FORTRAN ou “traceur” sont - probablement obsolètes. Sur votre - site, vous pouvez changer la signification de ces options, ou - de n'importe quelle option de conversion, en installant des - filtres personnalisés. Imaginons, par exemple, que vous - vouliez imprimer directement des fichiers Printerleaf (des - fichiers créés avec le logiciel de Publication Assistée par - Ordinateur Interleaf), mais n'imprimerez jamais de fichier - traceur. Vous pouvez installer un filtre de conversion - Printerleaf pour la fonctionnalité <literal>gf</literal> et - prévenir vos utilisateur que <command>lpr -g</command> - signifie “imprimer des fichiers - Printerleaf.”</para> - - </sect4> - - <sect4> - <title>Installer des filtres de conversion</title> - - <para>Les filtres de conversion sont des programmes qui ne - font pas partie de la distribution standard de FreeBSD, ils - ont logiquement leur place dans - <filename>/usr/local</filename>. Le répertoire - <filename>/usr/local/libexec</filename> est l'endroit habituel - où les mettre, parce que ce sont des programmes réservés à LPD - que les utilisateurs ordinaires ne devraient jamais - employer.</para> - - <para>Pour mettre en service un filtre de conversion, indiquez - son chemin d'accès à la fonctionnalité correspondante pour - l'imprimante destinatrice dans - <filename>/etc/printcap</filename>.</para> - - <para>Nous allons ajouter à notre exemple un filtre de conversion - DVI pour l'imprimante appelée <literal>bamboo</literal>. Voici - notre nouveau fichier <filename>/etc/printcap</filename> avec - la fonctionnalité <literal>df</literal> pour l'imprimante - <literal>bamboo</literal>:</para> - - <programlisting> -# -# /etc/printcap pour la machine rose - ajout du filtre df pour bamboo -# -rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\ - :sh:sd=/var/spool/lpd/rattan:\ - :lp=/dev/lpt0:\ - :if=/usr/local/libexec/if-simple: - -bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:\ - :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:\ - :if=/usr/local/libexec/psif:\ - :df=/usr/local/libexec/psdf: - </programlisting> - - <para>Le filtre DVI est une procédure appelée - <filename>/usr/local/libexec/psdf</filename>. Voici cette - procédure:</para> - - <programlisting> -#!bin/sh -# -# psdf - filtre de conversion de DVI en PostScript -# fichier /usr/local/libexec/psdf -# -# appelé quand l'utilisateur invoque lpr -d -# -exec /usr/local/bin/dvips -f | /usr/local/libexec/lprps "$@" - </programlisting> - - <para>Cette procédure exécute <citerefentry> - <refentrytitle>dvips</refentrytitle></citerefentry> en mode - filtre (l'argument <option>-f</option>) sur l'entrée standard, - qui est le travail d'impression. Elle lance ensuite le filtre - d'impression PostScript <command>lprps</command> (reportez-vous - à la section <link linkend="printing-advanced-if-conversion">Imprimer - du texte sur des imprimantes PostScript</link>) - en lui passant les arguments donnés à LPD. - <command>lprps</command> utilisera ces arguments pour - comptabiliser les pages imprimées.</para> - - </sect4> - - <sect4> - <title>Autres exemples de filtres de conversion</title> - - <para>La méthode pour installer des filtres de conversion n'étant - pas toujours la même, il vaut mieux que je vous donne d'autres - exemples, dont vous pourrez vous inspirer pour mettre en oeuvre - vos propres filtres. Utilisez-les tels quels, au besoin.</para> - - <para>Voici une procédure pour convertir des fichiers graphiques point à point - (en fait, des fichiers GIF) pour une imprimante - Hewlett Packard LaserJet III-Si:</para> - - <programlisting> -#!/bin/sh -# -# hpvf - Convertit des fichiers GIF en HP/PCL, et les imprime -# fichier /usr/local/libexec/hpvf - -PATH=/usr/X11R6/bin:$PATH; export PATH giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \ - && exit 0 \ - || exit 2 - </programlisting> - - <para>Elle convertit le fichier GIF en format portable universel, puis - en format portable noir et blanc, puis en format portable - “bitmap” et enfin en données compatibles - LaserJet/PCL.</para> - - <para>Voici le fichier <filename>/etc/printcap</filename> avec - une entrée pour une imprimante utilisant ce filtre:</para> - - <programlisting> -# -# /etc/printcap pour la machine rose -# -teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ - :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\ - :if=/usr/local/libexec/hpif:\ - :vf=/usr/local/libexec/hpvf: - </programlisting> - - <para>La procédure suivante convertit des données troff produites - par le traitement de texte groff pour l'imprimante PostScript - <literal>bamboo</literal>:</para> - - <programlisting> -#!/bin/sh -# -# pstf - Convertit des données troff de groff en PS, et les imprime -# fichier /usr/local/libexec/pstf -# -exec grops | /usr/local/libexec/lprps "$@" - </programlisting> - - <para>Cette procédure utilise de nouveau <command>lprps</command> - pour communiquer avec l'imprimante. Si l'imprimante était sur - un port parallèle, il faudrait utiliser une autre - méthode:</para> - - <programlisting> -#!/bin/sh -# -# pstf - Convertit des donnees troff de groff en PS, et les imprime -# fichier /usr/local/libexec/pstf -# -exec grops - </programlisting> - - <para>C'est tout. Voici ce qu'il faut mettre dans - <filename>/etc/printcap</filename> pour utiliser ce - filtre:</para> - - <programlisting> -:tf=/usr/local/libexec/pstf: - </programlisting> - - <para>Voici un exemple qui prend en charge la sauce FORTRAN. C'est un filtre - pour les programmes FORTRAN pour n'importe quelle imprimante - capable d'imprimer directement du texte. Nous l'installerons - pour l'imprimante - <literal>teak</literal>:</para> - - <programlisting> -#!/bin/sh -# -# hprf - filtre de conversion pour FORTRAN pour LaserJet 3si: -# fichier /usr/local/libexec/hprf -# - -printf "\033&k2G" && fpr && printf "\f" && exit 0 -exit 2 - </programlisting> - - <para>Et nous mettrons la ligne suivante dans - <filename>/etc/printcap</filename> pour l'imprimante - <literal>teak</literal> pour activer ce filtre:</para> - - <programlisting> -:rf=/usr/local/libexec/hprf: - </programlisting> - - <para>Voici un dernier exemple, quelque peu plus complexe. Nous - allons installer un filtre DVI pour l'imprimante LaserJet - <literal>teak</literal> de l'exemple précédent. Commençons - par le plus facile: mettre à jour - <filename>/etc/printcap</filename> en lui donnant le chemin - d'accès au filtre DVI:</para> - - <programlisting> -:df=/usr/local/libexec/hpdf: - </programlisting> - - <para>Et maintenant, la partie compliquée: créer le filtre. Il - nous faut un programme de conversion de DVI en - PCL pour LaserJet. Il y en a un au catalogue des logiciels - portés de FreeBSD (voyez le chapitre <link linkend="ports">Installer - des Logiciels au “Catalogue des Logiciels Portés”</link>): - <citerefentry> - <refentrytitle>dvi2xx</refentrytitle></citerefentry> est le - nom du logiciel. En l'installant, nous récupérons le programme - dont nous avons besoin, <citerefentry> - <refentrytitle>dvilj2p</refentrytitle></citerefentry>, qui - convertit du DVI en instructions compatibles LaserJet IIp, - LaserJet III et LaserJet 2000.</para> - - <para><citerefentry> - <refentrytitle>dvilj2p</refentrytitle></citerefentry> rend - le filtre <command>hpdf</command> assez complexe, parce que - <citerefentry> - <refentrytitle>dvilj2p</refentrytitle></citerefentry> ne - sait pas lire sur l'entrée standard. Il lui faut un nom de - fichier. Pire encore, ce fichier doit avoir l'extension - <filename>.dvi</filename>, nous ne pouvons donc pas utiliser - <filename>/dev/fd/0</filename> qui correspond à l'entrée - standard. Nous contournons le problème avec un lien - (symbolique) d'un fichier temporaire (avec l'extension - <filename>.dvi</filename>) vers <filename>/dev/fd/0</filename>, - forçant ainsi <citerefentry> - <refentrytitle>dvilj2p</refentrytitle></citerefentry> à lire - l'entrée standard.</para> - - <para>Il y a cependant une mouche dans le potage. Nous ne pouvons - pas créer de lien symbolique temporaire dans - <filename>/tmp</filename>. Les liens symboliques appartiennent - à l'utilisateur et au groupe <username>bin</username>. - Le filtre est exécuté par l'utilisateur - <username>daemon</username>. Et le bit “sticky (persistant)” - du répertoire <filename>/tmp</filename> est positionné. Le - filtre peut créer le lien, mais ne pourra pas le détruire - après avoir fait son travail, puisque le lien appartient - à un autre utilisateur.</para> - - <para>Le filtre créera donc le lien dans le répertoire courant, - qui est le répertoire tampon pour la file d'attente des - travaux d'impression - (défini par la fonctionnalité <literal>sd</literal> dans - <filename>/etc/printcap</filename>). C'est l'endroit idéal - pour que les filtres accomplissent leur tâche, en particulier - parce qu'il y a (parfois) plus de place dans le répertoire - tampon que dans <filename>/tmp</filename>.</para> - - <para>Voici, enfin, le filtre:</para> - - <programlisting> -#!/bin/sh -# -# hpdf - Imprime du DVI sur une imprimante HP/PCL -# fichier /usr/local/libexec/hpdf - -PATH=/usr/local/bin:$PATH; export PATH - -# -# Définit une fonction pour détruire nos fichiers temporaires. Ces fichiers -# sont dans le répertoire courant, qui est le répertoire de file d'attente de -# l'imprimante -# -cleanup() { - rm -f hpdf$$.dvi -} - -# -# Définit une fonction de gestion des erreurs fatales : imprime le message -# d'erreur et retourne le code d'erreur 2. Ce code dit à LPD de ne pas -# relancer le travail d'impression. -# -fatal() { - echo "$@" 1>&2 - cleanup - exit 2 -} - -# -# Si l'utilisateur annule le travail d'impression, LPD envoie SIGINT, -# il faut donc capturer SIGINT (et quelques autres signaux) -# pour faire ensuite le ménage nous-mêmes. -# -trap cleanup 1 2 15 - -# -# Assurons-nous de ne pas avoir de conflit de nom avec des fichiers existants. -# -cleanup - -# -# Lien symbolique du fichier DVI sur l'entrée standard (fichier à imprimer). -# -ln -s /dev/fd/0 hpdf$$.dvi || fatal "Cannot symlink /dev/fd/0" - -# -# LF = CR+LF -# -printf "\033&k2G" || fatal "Cannot initialize printer" - -# -# Convertit et imprime. Le code retour de dvilj2p ne semble pas fiable, -# nous l'ignorons. -# -dvilj2p -M1 -q -e- dfhp$$.dvi - -# -# Fait le ménage et termine la procédure -# -cleanup -exit 0 - </programlisting> - - </sect4> - - <sect4 - id="printing-advanced-autoconv"> - <title>La conversion automatique: une alternative aux filtres de - conversion - </title> - - <para>Tous ces filtres de conversion améliorent votre - environnement d'impression, mais ils obligent l'utilisateur - à préciser (sur la ligne de commande de <citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry>) - lequel utiliser. Si vos utilisateurs ne sont pas - particulièrement compétents en informatique, cela leur sera - une gêne. Pire encore, une erreur d'option de filtrage - peut lancer un filtre sur le mauvais type de fichier et - provoquer l'impression de centaines de pages inutiles.</para> - - <para>Au lieu d'installer des filtres de conversion, vous pouvez - essayer de faire en sorte que le filtre texte (qui est le - filtre par défaut) reconnaisse le type de fichier qu'il doit - imprimer et exécute automatiquement le filtre de conversion - adéquat. Des utilitaires comme <command>file</command> peuvent - être employés pour cela. Il sera bien sûr difficile de faire - la différence entre <emphasis>certains</emphasis> types de - fichiers - dans ce cas, vous pouvez toujours fournir des - filtres de conversion juste pour ces fichiers.</para> - - <para>Le catalogue des logiciels portés de FreeBSD inclut un - filtre texte appelé <citerefentry> - <refentrytitle>apsfilter</refentrytitle></citerefentry> - qui effectue la conversion automatique. Il sait reconnaître les - fichiers texte, PostScript et DVI, effectuer la - conversion adéquate et imprimer.</para> - - </sect4> - </sect3> - - <sect3 - id="printing-advanced-of"> - <title>Filtres de sortie</title> - - <para>Le gestionnaire d'impression LPD supporte encore un autre - type de filtre dont nous n'avons pas encore parlé: le filtre - de sortie. Un filtre de sortie sert à imprimer du texte - uniquement, comme le filtre texte, mais il est grandement - simplifié. Si vous utilisez un filtre de sortie, et pas de - filtre texte, alors: - <itemizedlist> - - <listitem> - <para>LPD exécute le filtre de sortie une seule fois par - travail d'impression et non une fois pour chaque fichier - d'un travail d'impression.</para> - </listitem> - - <listitem> - <para>LPD ne s'inquiète pas de détecter le début et la fin - de chaque fichier pour les besoins du filtre de - sortie.</para> - </listitem> - - <listitem> - <para>LPD ne passe pas le nom de la machine et de - l'utilisateur au filtre, qui ne peut donc être utilisé - pour la comptabilité. De fait, il n'a que deux arguments: - - <cmdsynopsis> - <command>nom_du_filtre</command> - <arg choice="plain">-w<replaceable>largeur</replaceable></arg> - <arg choice="plain">-l<replaceable>hauteur</replaceable></arg> - </cmdsynopsis> où <replaceable>largeur</replaceable> est - la valeur définie par la fonctionnalité - <literal>pw</literal> et - <replaceable>hauteur</replaceable> est - la valeur définie par la fonctionnalité - <literal>pl</literal> associée à l'imprimante en - question.</para> - </listitem> - - </itemizedlist> - </para> - - <para>Ne soyez pas abusé par la simplicité du filtre de sortie. Si - vous voulez que chaque fichier d'un travail d'impression commence - sur une nouvelle page, le filtre de sortie - <emphasis>ne convient pas</emphasis>. Utilisez un filtre texte - (appelé aussi filtre d'entrée); voyez la section <link - linkend="printing-textfilter">Installer le filtre texte</link>. - De plus, un filtre de sortie est en fait plus complexe - car il doit examiner le flot de données pour voir s'il contient - des caractères spéciaux et s'envoyer des signaux à lui-même - au lieu que ce soit LPD qui le fasse.</para> - - <para>Un filtre de sortie est toutefois - <emphasis>nécessaire</emphasis> si vous voulez avoir des pages - d'en-tête et devez envoyer des séquences d'échappement ou d'autres - commandes d'initialisation pour pouvoir imprimer ces pages - d'en-tête. (Il est cependant <emphasis>inutilisable</emphasis> si vous - voulez facturer ces pages d'en-tête à l'utilisateur, - puisque LPD ne donne pas d'informations sur l'utilisateur et - la machine au filtre de sortie.)</para> - - <para>Pour une même imprimante, LPD vous autorise à avoir à la fois - un filtre texte, un filtre de sortie et d'autres filtres. Dans ce - cas, LPD utilisera le filtre de sortie pour imprimer la page - d'en-tête (voyez la section <link - linkend="printing-advanced-header-pages">Pages d'en-tête</link>) - uniquement. LPD s'attend à ce que le filtre de sortie - <emphasis>s'interrompe ensuite lui-même</emphasis> quand il lui envoie les - deux octets: ASCII 031 suivi de ASCII 001. Quand un filtre de - sortie reçoit cette séquence (031, 001), il doit s'interrompre en - s'envoyant le signal SIGSTOP. Quand LPD en a fini avec les autres - filtres, il réactive le filtre de sortie en lui envoyant un - SIGCONT.</para> - - <para>S'il y a un filtre de sortie mais <emphasis>pas</emphasis> - de filtre texte et que LPD traite une impression de texte, LPD - se sert du filtre de sortie pour faire le travail. Comme déjà dit - plus haut, le filtre de sortie imprimera les fichiers en continu, - sans saut de page ou autre commande d'avance papier entre eux, ce - qui n'est probablement <emphasis>pas</emphasis> ce que vous - attendez. Dans la plupart des cas, vous aurez besoin d'un filtre - texte.</para> - - <para>Le programme <command>lpf</command>, que nous avons cité - auparavant comme filtre texte, peut aussi être utilisé comme - filtre de sortie. Si vous avez besoin d'un filtre de sortie - grossier et ne voulez pas écrire le code pour tester les - octets et envoyer les signaux, essayez <command>lpf</command>. - Vous pouvez aussi encapsuler <command>lpf</command> dans une - procédure qui prenne en charge les codes d'initialisation - dont l'imprimante aurait besoin.</para> - - </sect3> - - <sect3 - id="printing-advanced-lpf"> - <title><command>lpf</command>: un filtre texte</title> - - <para>Le programme <filename>/usr/libexec/lpr/lpf</filename> qui - fait partie de la distribution de FreeBSD est un filtre texte - (filtre d'entrée) qui sait indenter le résultat - (commande <command>lpr -i</command>), imprimer littéralement le - texte (commande <command>lpr -l</command>), se positionner - à la bonne colonne d'impression pour gérer les retours arrière - et les tabulations et comptabiliser les pages imprimées. Il peut - aussi servir de filtre de sortie.</para> - - <para><command>lpf</command> convient à de nombreux environnements - d'impression. Et bien qu'il ne sache pas envoyer de séquences - d'initialisation à l'imprimante, il est facile d'écrire une - procédure qui effectue les initialisations requises et exécute - ensuite <command>lpf</command>.</para> - - <para>Pour que <command>lpf</command> comptabilise correctement les - pages, il faut que les valeurs définies par les fonctionnalités - <literal>pw</literal> et <literal>pl</literal> du fichier - <filename>/etc/printcap</filename> soient correctement - renseignées. Ces valeurs sont utilisées pour savoir quelle - quantité de texte tient sur une page, et combien de pages - comporte le travail d'impression d'un utilisateur. Pour plus - d'informations sur la comptabilisation des impressions, voyez - la section <link linkend="printing-advanced-acct">Comptabiliser - l'utilisation des imprimantes</link>.</para> - - </sect3> - </sect2> - - <sect2 - id="printing-advanced-header-pages"> - <title>Pages d'en-tête</title> - - <para>Si vous avez <emphasis>beaucoup</emphasis> d'utilisateurs, - employant tous différentes imprimantes, alors vous devrez - envisager les <emphasis>pages d'en-tête</emphasis> comme un - mal nécessaire.</para> - - <para>Les pages d'en-tête, appelées aussi - <emphasis>bannières</emphasis> ou - pages qui sautent aux yeux (<emphasis>burst</emphasis>) - identifient les propriétaires des - travaux après qu'ils aient été imprimés. Elles sont généralement - imprimées en gros caractères gras, parfois encadrés, de façon à - ce qu'elles se distinguent facilement des documents eux-mêmes - dans une pile d'impressions. Elles permettent aux utilisateurs - de répérer rapidement leurs propres travaux. L'inconvénient en est - que cela fait une page supplémentaire à imprimer à chaque fois, - d'usage éphémère - quelques minutes au plus, et qui finissent - à la corbeille ou au recyclage. (Notez que comme il n'y a qu'une - page d'en-tête par travail d'impression et non une pour chaque - fichier, le gaspillage n'est peut-être pas si grave.)</para> - - <para>Le système LPD peut générer automatiquement les pages d'en-tête - si votre imprimante sait imprimer directement du texte. Si vous - avez une imprimante PostScript, il vous faudra un programme - supplémentaire pour les générer; reportez-vous à la section - <link linkend="printing-advanced-header-pages-ps">Pages - d'en-tête sur les imprimantes PostScript</link>.</para> - - <sect3 id="printing-advanced-header-pages-enabling"> - <title>Activer les pages d'en-tête</title> - - <para>Dans la <link linkend="printing-simple">Configuration - simple d'une imprimante</link>, nous avons supprimé l'impression - des pages d'en-tête en ajoutant - <literal>sh</literal> (pour “suppress - header” - supprimer les en-têtes) dans le fichier - <filename>/etc/printcap</filename>. Pour les mettre en service - sur une imprimante, il suffit d'enlever la fonctionnalité - <literal>sh</literal>.</para> - - <para>Cela parait trop facile, non?</para> - - <para>Vous avez raison. Vous devrez <emphasis>peut-être</emphasis> - fournir un filtre de sortie pour envoyer une séquence - d'initialisation à votre imprimante. Voici un exemple de filtre - de sortie pour une imprimante compatible avec le langage PCL - de Hewlett Packard:</para> - - <programlisting> -#!/bin/sh -# -# hpof - filtre de sortie pour les imprimantes compatibles Hewlett Packard PCL -# fichier /usr/local/libexec/hpof - -printf "\033&k2G" || exit 2 exec -/usr/libexec/lpr/lpf - </programlisting> - - <para>Donnez le chemin d'accès du filtre de sortie avec la - fonctionnalité - <literal remap="tt">of</literal>. Voyez la section <link - linkend="printing-advanced-of">Filtres de sortie</link> - pour plus d'informations.</para> - - <para>Voici par exemple le fichier - <filename>/etc/printcap</filename> pour l'imprimante - <literal>teak</literal> déjà utilisée plus haut; nous - mettons en service les pages d'en-tête et ajoutons le - filtre de sortie ci-dessus:</para> - - <programlisting> -# -# /etc/printcap pour la machine orchid -# -teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ - :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\ - :if=/usr/local/libexec/hpif:\ - :vf=/usr/local/libexec/hpvf:\ - :of=/usr/local/libexec/hpof: - </programlisting> - - <para>Maintenant, quand nous utilisateurs imprimeront sur - <literal>teak</literal>, ils auront une page d'en-tête - pour chaque travail. S'ils préférent perdre du temps à - retrouver leurs impressions, ils peuvent supprimer les - pages d'en-tête en soumettant leurs travaux avec - <command>lpr -h</command>; voyez la section <link - linkend="printing-lpr-options-misc">Options pour la page - d'en-tête</link> pour connaître les autres options - de <citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry>.</para> - - <note> - <para>LPD imprime un caractère de saut de page après chaque page - d'en-tête. Si votre imprimante utilise un caractère ou une - séquence différente pour éjecter une page, précisez-la avec - la fonctionnalité <literal>ff</literal> dans - <filename>/etc/printcap</filename>.</para> - </note> - - </sect3> - - <sect3 - id="printing-advanced-header-pages-controlling"> - <title>Configurer les pages d'en-tête</title> - - <para>Si les pages d'en-tête sont actives, LPD produira un - <emphasis>en-tête long</emphasis>, une page entière en - gros caractères, donnant le nom de l'utilisateur, de la - machine et du travail d'impression. En voici un exemple - (kelly a imprimé un travail appelé outline depuis la - machine rose):</para> - - <programlisting> - k ll ll - k l l - k l l - k k eeee l l y y - k k e e l l y y - k k eeeeee l l y y - kk k e l l y y - k k e e l l y yy - k k eeee lll lll yyy y - y - y y - yyyy - - - ll - t l i - t l - oooo u u ttttt l ii n nnn eeee - o o u u t l i nn n e e - o o u u t l i n n eeeeee - o o u u t l i n n e - o o u uu t t l i n n e e - oooo uuu u tt lll iii n n eeee - - - - - - - - - - r rrr oooo ssss eeee - rr r o o s s e e - r o o ss eeeeee - r o o ss e - r o o s s e e - r oooo ssss eeee - - - - - - - - Job: outline - Date: Sun Sep 17 11:04:58 1995 - </programlisting> - - <para>LPD ajoute un saut de page après ce texte de sorte que le - travail commence en début de page (à moins que vous n'ayez mis - <literal>sf</literal> - supprimer les sauts de - page - dans l'entrée - correspondant à l'imprimante destinatrice dans - <filename>/etc/printcap</filename>).</para> - - <para>Si vous le préférez, LPD peut générer des <emphasis>en-têtes - courts</emphasis>; spécifiez <literal>sb</literal> - (en-tête court - “short banner”) dans le - fichier <filename>/etc/printcap</filename>. - La page d'en-tête ressemblera alors à ceci:</para> - - <programlisting> -rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995 - </programlisting> - - <para>Par défaut, LPD imprime la page d'en-tête avant le contenu - du travail. Vous pouvez faire l'inverse avec - <literal>hl</literal> (en-tête à la fin - “header - last”) dans - <filename>/etc/printcap</filename>.</para> - - </sect3> - - <sect3 id="printing-advanced-header-pages-accounting"> - <title>Comptabiliser les pages d'en-tête</title> - - <para>Avec les pages d'en-tête pré-programmées de LPD, vous - en êtes réduits à appliquer la politique suivante: les pages - d'en-tête doivent être <emphasis>gratuites</emphasis>.</para> - - <para>Pourquoi?</para> - - <para>Le filtre de sortie est le seul programme additionnel - qui puisse savoir quand sont imprimées les pages d'en-tête - et comme il ne connait <emphasis>ni l'utilisateur, ni la - machine</emphasis>, pas plus que le nom du fichier comptable, - il ne peut pas savoir qui facturer. Il ne suffit pas - de simplement “ajouter une page” par l'intermédiaire - du filtre texte ou de l'un des filtres de conversion (qui - connaissent l'utilisateur et la machine), puisque les utilisateurs - peuvent supprimer les pages d'en-tête avec - <command>lpr -h</command>. Ils seraient alors facturés pour des - pages d'en-tête qu'ils n'ont pas imprimées. Les utilisateurs - écologistes préféreront employer <command>lpr -h</command>, mais - vous n'avez pas moyen de les y inciter.</para> - - <para>Il ne suffit <emphasis>pas non plus</emphasis> de faire - générer les pages d'en-tête par les différents filtres (ce - qui permet de les facturer). Si les utilisateurs veulent - alors les supprimer avec <command>lpr -h</command>, ils - les auront malgré tout et seront facturés pour, parce que LPD - ne passe l'information fournie par l'option - <option>-h</option> à aucun des filtres.</para> - - <para>Que pouvez-vous donc faire?</para> - - <para>Vous pouvez : - <itemizedlist> - - <listitem> - <para>Accepter la politique de LPD et ne pas facturer les - pages d'en-tête.</para> - </listitem> - - <listitem> - <para>Installer l'une des alternatives à LPD, comme - LPDng ou PLP. - La section - <link linkend="printing-lpd-alternatives">Alternatives au - gestionnaire d'impression standard</link> vous - en dit plus sur les autres gestionnaires d'impression - qui peuvent se substituer à LPD.</para> - </listitem> - - <listitem> - <para>Ecrire un filtre de sortie - <emphasis>intelligent</emphasis>. Le filtre de sortie - n'a normalement rien d'autre à faire que d'initialiser - l'imprimante et effectuer quelques conversions simples - de caractères. Il convient pour les pages d'en-tête et - l'impression de textes (quand il n'y a pas de filtre - texte - ou d'entrée). Mais, s'il y a un filtre - texte, le filtre de sortie n'est utilisé que pour les - pages d'en-tête. Le filtre de sortie peut alors - déterminer quel utilisateur ou quelle machine facturer - en fonction du contenu de la page d'en-tête. Le seul - problème avec cette méthode est que l'on ne sait toujours - pas quel est le fichier comptable (son nom, défini par - la fonctionnalité <literal>af</literal>, n'est pas - transmis au filtre de sortie), mais si son nom est - standard, vous pouvez le codez “en dur” - dans le filtre de sortie. Pour faciliter l'analyse du - contenu de la page d'en-tête, utilisez la fonctionnalité - <literal>sh</literal> (en-tête courte) dans - <filename>/etc/printcap</filename>. Cependant, - c'est peut-être se donner beaucoup de mal, alors que - les utilisateurs apprécieront certainement plus - l'administrateur système qui leur fait cadeau des - pages d'en-tête.</para> - </listitem> - - </itemizedlist> - </para> - - </sect3> - - <sect3 - id="printing-advanced-header-pages-ps"> - <title>Pages d'en-tête sur les imprimantes PostScript</title> - - <para>Comme décrit ci-dessus, LPD peut générer une page - d'en-tête texte qui convient pour de nombreuses imprimantes. - PostScript ne peut pas imprimer directement du texte, donc - dans ce cas, les pages d'en-tête de LPD sont - inutilisables - ou presque.</para> - - <para>Une méthode triviale pour obtenir des pages d'en-tête est - de confier leur génération à chaque filtre de conversion et - au filtre texte. Ces filtres se serviront des noms d'utilisateur - et de machine pour remplir correctement la page d'en-tête. - L'inconvénient de cette méthode est que les utilisateurs - auront toujours une page d'en-tête, même s'ils soumettent - leurs travaux avec <command>lpr -h</command>.</para> - - <para>Voyons comment cela fonctionne. La procédure ci-dessous a - trois arguments (le nom de l'utilisateur, celui de la machine et - celui du travail d'impression) et génère une page d'en-tête - PostScript simple:</para> - - <programlisting> -#!/bin/sh -# -# make-ps-header - affiche une page d'en-tête PostScript sur la sortie standard -# fichier /usr/local/libexec/make-ps-header -# - -# -# Ce sont les unités PostScript (72 par pouce). -# A modifier pour le format A4 ou autre. -# -page_width=612 -page_height=792 -border=72 - -# -# contrôle des arguments -# -if [ $# -ne 3 ]; then - echo "Usage: `basename $0` <user> <host> <job>" 1>&2 - exit 1 -fi - -# -# Les mémoriser, pour la lisibilité du code PostScript qui suit. -# -user=$1 -host=$2 -job=$3 -date=`date` - -# -# Envoyer le code PostScript sur la sortie standard. -# -exec cat <<EOF -%!PS - -% -% Pour ne pas interférer avec le travail de l'utilisateur qui suivra. -% -save - -% -% Un cadre large et désagréable autour de la page. -% -$border $border moveto -$page_width $border 2 mul sub 0 rlineto -0 $page_height $border 2 mul sub rlineto -currentscreen 3 -1 roll pop 100 3 1 roll setscreen -$border 2 mul $page_width sub 0 rlineto closepath -0.8 setgray 10 setlinewidth stroke 0 setgray - -% -% Le nom de l'utilisateur en gros caractères. -% -/Helvetica-Bold findfont 64 scalefont setfont -$page_width ($user) stringwidth pop sub 2 div $page_height 200 sub moveto -($user) show - -% -% Les caractéristiques ennuyeuses -% -/Helvetica findfont 14 scalefont setfont -/y 200 def -[ (Job:) (Host:) (Date:) ] { -200 y moveto show /y y 18 sub def } -forall - -/Helvetica-Bold findfont 14 scalefont setfont -/y 200 def -[ ($job) ($host) ($date) ] { - 270 y moveto show /y y 18 sub def -} forall - -% -% C'est tout. -% -restore -showpage -EOF - </programlisting> - - <para>Chacun des filtres de conversion et le filtre texte peuvent - maintenant utiliser cette procédure pour produire les pages - d'en-tête avant d'imprimer le travail de l'utilisateur. Voici - le filtre de conversion DVI décrit plus haut dans ce chapitre, - modifié pour inclure la génération des pages d'en-tête:</para> - - <programlisting> -#!/bin/sh -# -# psdf - filtre de conversion de DVI en PostScript -# fichier /usr/local/libexec/psdf -# -# Utilisé par lpd quand l'utilisateur emploie lpr -d -# - -orig_args="$@" - -fail() { - echo "$@" 1>&2 - exit 2 -} - -while getopts "x:y:n:h:" option; do - case $option in - x|y) ;; # Ignore - n) login=$OPTARG ;; - h) host=$OPTARG ;; - *) echo "LPD started `basename $0` wrong." 1>&2 - exit 2 - ;; - esac -done - -[ "$login" ] || fail "Pas de nom d'utilisateur" -[ "$host" ] || fail "Pas de nom de machine" - -( /usr/local/libexec/make-ps-header $login $host "DVI File" - /usr/local/bin/dvips -f ) | eval /usr/local/libexec/lprps $orig_args - </programlisting> - - <para>Remarquez la façon dont le filtre analyse les arguments - pour connaître le nom de l'utilisateur et celui de la machine. - Ce serait la même pour les autres filtres de conversion. Le - filtre texte a un jeu d'arguments légèrement différent (voyez - la section <link linkend="printing-advanced-filters">Comment - fonctionnent les filtres</link>).</para> - - <para>Comme nous l'avons déjà dit, cette méthode, quoique assez - simple, empêche d'utiliser l'option de - “suppression de la page d'en-tête” (l'option - <option>-h</option>) de la commande <command>lpr</command>. Si - les utilisateurs voulaient épargner un arbre (ou quelques - centimes, si vous facturez les pages d'en-tête), ils ne pourront - pas, puisque tous les filtres imprimeront une page d'en-tête - pour chaque travail.</para> - - <para>Pour permettre aux utilisateurs de désactiver les pages - d'en-tête, vous devrez utiliser l'astuce décrite à la section - <link - linkend="printing-advanced-header-pages-accounting">Comptabiliser - les pages d'en-tête</link>: écrire un filtre de - sortie qui analyse la page d'en-tête générée par LPD et en - produire une version PostScript. Si l'utilisateur soumet son - travail avec <command>lpr -h</command>, LPD ne génère pas - de page d'en-tête, et donc le filtre de sortie non plus. - Dans le cas contraire, votre filtre de sortie lira le texte - produit par LPD et enverra le code PostScript de la page - d'en-tête à l'imprimante.</para> - - <para>Si votre imprimante PostScript est sur une interface - série, vous pouvez utiliser <command>lprps</command>, qui - inclut un filtre de sortie, <command>psof</command>, qui - se charge de cela. Remarquez que <command>psof</command> - ne facture pas les pages d'en-tête.</para> - - </sect3> - </sect2> - - <sect2 - id="printing-advanced-network-printers"> - <title>Impression en réseau</title> - - <para>FreeBSD supporte l'impression en réseau pour envoyer des travaux - sur des imprimantes distantes. Imprimer en réseau veut en général - dire deux choses différentes: - <itemizedlist> - - <listitem> - <para>Accéder à une imprimante connectée à une machine distante. - Vous installez une imprimante avec une interface série ou - parallèle classique sur une machine. Vous pouvez alors - configurer LPD pour permettre l'accès à cette imprimante - depuis d'autres machines du réseau. La section <link - linkend="printing-advanced-network-rm">Imprimantes - installées sur des machines distantes</link> - vous explique comment - faire.</para> - </listitem> - - <listitem> - <para>Accéder à une imprimante connectée directement au réseau. - L'imprimante a une interface réseau en plus (ou à la place) - de l'interface série ou parallèle habituelle. Une imprimante - de ce type peut fonctionner comme suit: - - <itemizedlist> - - <listitem> - <para>Elle peut comprendre le protocole LPD, voire même - gérer une file d'attente de travaux venant de machines - distantes. Dans ce cas, elle se comporte comme une - machine distante exécutant LPD. Suivez la même procédure - qu'à la section <link - linkend="printing-advanced-network-rm">Imprimantes - installées sur des machines distantes</link> pour - configurer ce type d'imprimante.</para> - </listitem> - - <listitem> - <para>Elle ne peut que recevoir un flot de données - venant du réseau. Dans ce cas, - vous la “reliez” à une machine du réseau - en confiant à cette machine la gestion de la file - d'attente et l'envoi des travaux à l'imprimante. La - section <link - linkend="printing-advanced-network-net-if">Imprimantes - avec une interface réseau</link> donne - quelques indications sur - l'installation de ce type d'imprimante.</para> - </listitem> - - </itemizedlist> - </para> - </listitem> - - </itemizedlist> - </para> - - <sect3 id="printing-advanced-network-rm"> - <title>Imprimantes installées sur des machines distantes</title> - - <para>Le système LPD inclut ce qu'il faut pour envoyer des - travaux sur d'autres machines qui exécutent aussi LPD (ou - sont compatibles avec). Cela vous permet d'installer une - imprimante sur une machine et de la rendre accessible à - d'autres machines. Cela marche aussi avec les imprimantes - qui ont une interface réseau qui comprend le protocole - LPD.</para> - - <para>Pour utiliser ce type d'impression en réseau, installez - d'abord l'imprimante sur une machine, la <emphasis>machine - d'impression</emphasis>, en utilisant la <link - linkend="printing-simple">Configuration simple d'une - imprimante</link>. - Utilisez les options nécessaires de la - <link linkend="printing-advanced">Configuration avancée - d'une imprimante</link>. Veillez à tester l'imprimante - et vous assurez qu'elle marche avec les options de LPD que vous - avez choisies.</para> - - <para>Si vous utilisez une imprimante avec une interface réseau - compatible avec LPD, alors la <emphasis>machine - d'impression</emphasis> dont nous parlerons ci-dessous est - l'imprimante elle-même, et le <emphasis>nom de - l'imprimante</emphasis> est le nom que vous avez utilisé pour - configurer votre imprimante. Consultez la documentation de - votre imprimante ou de son interface réseau.</para> - - <para>Ensuite, sur les autres machines depuis lesquelles vous voulez - pouvoir accéder à cette imprimante, ajouter une entrée dans leurs - fichiers <filename>/etc/printcap</filename> de la façon suivante: - <orderedlist> - - <listitem> - <para>Nommez cette entrée comme vous voulez. Pour plus de - simplicité, vous utiliserez éventuellement le même nom - et les mêmes alias que sur la machine d'impression.</para> - </listitem> - - <listitem> - <para>Laissez explicitement la fonctionnalité - <literal>lp</literal> non renseignée - (<literal>:lp=:</literal>).</para> - </listitem> - - <listitem> - <para>Créez un répertoire tampon et donnez son chemin d'accès - avec la fonctionnalité <literal>sd</literal>. LPD y - mettra les travaux avant de les envoyer à la machine - d'impression.</para> - </listitem> - - <listitem> - <para>Donnez le nom de l'imprimante avec la fonctionnalité - <literal>rm</literal>.</para> - </listitem> - - <listitem> - <para>Donnez le nom de l'imprimante telle qu'elle est connue - sur la <emphasis>machine - d'impression</emphasis> avec la fonctionnalité - <literal>rp</literal>.</para> - </listitem> - - </orderedlist>C'est tout. Vous n'avez pas besoin de préciser - les filtres, les dimensions de la page ou quoi que ce soit - d'autre dans le fichier - <filename>/etc/printcap</filename>.</para> - - <para>Voici un exemple. Il y a deux imprimantes sur la machine - <hostid>rose</hostid>, - <literal>bamboo</literal> et <literal>rattan</literal>. Nous - allons permettre aux utilisateurs de la machine - <hostid>orchid</hostid> d'utiliser ces imprimantes. Voici le - fichier <filename>/etc/printcap</filename> de la - machine <hostid>orchid</hostid> (repris de la section - <link linkend="printing-advanced-header-pages-enabling">Activer - les pages d'en-tête</link>). Il contenait déjà une entrée - pour l'imprimante <literal>teak</literal>; nous avons ajouté - les entrées pour les deux imprimantes de la machine - <hostid>rose</hostid>:</para> - - <programlisting> -# -# /etc/printcap pour la machine orchid -# ajout des imprimantes (distantes) sur rose -# -# teak est locale; elle est connectée directement à orchid: -# -teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ - :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\ - :if=/usr/local/libexec/ifhp:\ - :vf=/usr/local/libexec/vfhp:\ - :of=/usr/local/libexec/ofhp: - -# -# rattan est connectée à rose; envoyer les travaux pour rattan à rose: -# -rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\ - :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan: - -# -# bamboo est aussi connectée à rose: -# -bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo: - </programlisting> - - <para>Nous n'avons plus qu'à créer les répertoires - tampon sur <hostid>orchid</hostid>:</para> - - <informalexample> - <screen>&prompt.root; <userinput>mkdir -p /var/spool/lpd/rattan /var/spool/lpd/bamboo</userinput> -&prompt.root; <userinput>chmod 770 /var/spool/lpd/rattan /var/spool/lpd/bamboo</userinput> -&prompt.root; <userinput>chown daemon.daemon /var/spool/lpd/rattan /var/spool/lpd/bamboo</userinput></screen> - </informalexample> - - <para>Les utilisateurs d'<hostid>orchid</hostid> peuvent maintenant - imprimer sur <literal>rattan</literal> - et <literal>bamboo</literal>. Si, par exemple, un utilisateur - d'<hostid>orchid</hostid> tape: - - <informalexample> - <screen>&prompt.user; <userinput>lpr -P bamboo -d appreciations-sushi.dvi</userinput></screen> - </informalexample> Le système LPD d'orchid copiera le travail dans - le répertoire tampon - <filename>/var/spool/lpd/bamboo</filename> et notera que c'est - un travail DVI. Dès qu'il y aura de la place dans le répertoire - tampon pour <hostid>bamboo</hostid> sur la machine rose, les deux - LPD transfèreront le fichier sur rose. Il attendra d'être imprimé - dans la file d'attente de rose. La conversion de DVI en - PostScript (puisque bamboo est une imprimante PostScript) - sera faite par rose.</para> - - </sect3> - - <sect3 - id="printing-advanced-network-net-if"> - <title>Imprimantes avec une interface réseau</title> - - <para>La plupart du temps, quand vous achetez une carte d'interface - réseau pour une imprimante, vous avez le choix entre deux - versions: l'une (la plus chère) émule un gestionnaire - d'impression, l'autre (la moins chère) ne vous permet que de lui - envoyer des données comme si elle était sur un port parallèle ou - série. C'est l'utilisation de cette dernière que décrit la - présente section. Pour la version la plus chère, voyez la - section précédente, <link - linkend="printing-advanced-network-rm">Imprimantes installées - sur des machines distantes</link>.</para> - - <para>Le format du fichier <filename>/etc/printcap</filename> - vous permet d'indiquer quelle interface série ou parallèle - utiliser, et (si vous utilisez une interface série), quelle - est la vitesse en baud, s'il faut utiliser un contrôle de - flux, les délais pour les tabulations, la conversion des - sauts de ligne, et ainsi de suite. Mais il n'y a rien pour - décrire la connexion d'une imprimante qui écoute sur un port - TCP/IP ou un autre port réseau.</para> - - <para>Pour envoyer des données à une imprimante réseau, il vous - faut un programme de communication qui soit appelé par le - filtre texte et les filtres de conversion. En voici une - exemple: la procédure <command>netprint</command> récupère - toutes les données qui arrivent sur l'entrée standard et - les envoie à une imprimante réseau. Nous donnons comme - premier argument de <command>netprint</command> - le nom de machine de l'imprimante et comme deuxième argument - le numéro du port auquel se connecter. Remarquez que la - communication est à sens unique (de FreeBSD vers l'imprimante); - nombre d'imprimantes réseau sont capables de communiquer dans - les deux sens, et vous voudrez peut-être en profiter (pour - connaître l'état de l'imprimante, gérer la comptabilité, - etc.).</para> - - <programlisting> -#!/usr/bin/perl -# -# netprint - filtre texte pour une imprimante réseau -# fichier /usr/local/libexec/netprint -# -$#ARGV eq 1 || die "Usage: $0 <printer-hostname> <port-number>"; - -$printer_host = $ARGV[0]; -$printer_port = $ARGV[1]; - -require 'sys/socket.ph'; - -($ignore, $ignore, $protocol) = getprotobyname('tcp'); -($ignore, $ignore, $ignore, $ignore, $address) - = gethostbyname($printer_host); - -$sockaddr = pack('S n a4 x8', &AF_INET, $printer_port, $address); - -socket(PRINTER, &PF_INET, &SOCK_STREAM, $protocol) - || die "Impossible de créer la socket TCP/IP: $!"; -connect(PRINTER, $sockaddr) || die "Impossible de contacter $printer_host: $!"; -while (<STDIN>) { print PRINTER; } -exit 0; - </programlisting> - - <para>Nous pouvons utiliser cette procédure avec différents - filtres. Supposons que nous ayons une imprimante ligne - Diablo 750-N sur notre réseau. Cette imprimante reçoit les données - à imprimer sur le port 5100. Son nom de machine est scrivener. - Voici le filtre texte pour cette imprimante:</para> - - <programlisting> -#!/bin/sh -# -# diablo-if-net - filtre texte pour l'imprimante Diablo `scrivener' à l'écoute -# sur le port 5100. fichier /usr/local/libexec/diablo-if-net -/usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100 - </programlisting> - - </sect3> - </sect2> - - <sect2 id="printing-advanced-restricting"> - <title>Restreindre l'accès aux imprimantes</title> - - <para>Cette section vous donne des informations sur les - restrictions d'accès aux imprimantes. Le système LPD - vous permet de contrôler quels sont les utilisateurs - qui peuvent accéder aux imprimantes, locales et distantes, - s'ils ont le droit d'imprimer en plusieurs exemplaires, - quelle taille peut avoir leurs travaux, et quelle peut - être la taille maximale de la file d'attente.</para> - - - <sect3 id="printing-advanced-restricting-copies"> - <title>Restreindre l'impression de plusieurs exemplaires</title> - - <para>Avec le système LPD, il est facile pour les utilisateurs - d'imprimer en plusieurs exemplaires. Il leur suffit d'utiliser - <command>lpr -#5</command> (par exemple) pour obtenir 5 - exemplaires de chaque fichier de leur travail d'impression. - C'est à vous de décider si c'est une bonne chose.</para> - - <para>Si vous pensez que les impressions multiples usent - inutilement vos imprimantes, vous pouvez désactiver - l'option <option>-#</option> de - <citerefentry><refentrytitle>lpr</refentrytitle></citerefentry> - en ajoutant la fonctionnalité <literal>sc</literal> au fichier - <filename>/etc/printcap</filename>. Quand les utilisateurs - soumettront des travaux avec l'option <option>-#</option>, - ils auront le message : - - <informalexample> - <screen>lpr: multiple copies are not allowed</screen> - </informalexample></para> - - <para>(L'impression en plusieurs exemplaires n'est pas - autorisée.)</para> - <para>Notez bien que si vous avez défini une entrée pour une - imprimante distante - (voyez la section - <link linkend="printing-advanced-network-rm">Imprimantes - installées sur des machines distantes</link>), vous devrez aussi - définir la fonctionnalité <literal>sc</literal> dans le fichier - <filename>/etc/printcap</filename> de la machine, ou bien les - autres utilisateurs pourrons envoyer des impressions multiples - depuis d'autres machines.</para> - - <para>Voici un exemple. C'est le fichier - <filename>/etc/printcap</filename> de la machine - <hostid>rose</hostid>. L'imprimante <literal>rattan</literal> - est assez robuste, nous y autoriserons les impressions multiples, - mais l'imprimante laser <literal>bamboo</literal> est un peu plus - fragile, nous y désactiverons donc les impressions en plusieurs - exemplaires en ajoutant la fonctionnalité - <literal remap="tt">sc</literal>:</para> - - <programlisting> -# -# /etc/printcap pour la machine rose -# interdire plusieurs exemplaires sur bamboo -# -rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\ - :sh:sd=/var/spool/lpd/rattan:\ - :lp=/dev/lpt0:\ - :if=/usr/local/libexec/if-simple: - -bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:sc:\ - :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:\ - :if=/usr/local/libexec/psif:\ - :df=/usr/local/libexec/psdf: - </programlisting> - - <para>Il nous faut encore ajouter la fonctionnalité - <literal>sc</literal> dans <filename>/etc/printcap</filename> - sur la machine <hostid>orchid</hostid> (et pendant que nous y - sommes, désactivons les exemplaires multiples sur l'imprimante - <literal>teak</literal>):</para> - - <programlisting> -# -# /etc/printcap pour la machine orchid - pas d'impression en plusieurs -# exemplaires sur l'imprimante locale teak ni sur l'imprimante distante bamboo -# -teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ - :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:sc:\ - :if=/usr/local/libexec/ifhp:\ - :vf=/usr/local/libexec/vfhp:\ - :of=/usr/local/libexec/ofhp: - -rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\ - :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan: - -bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:sc: - </programlisting> - - <para>Avec la fonctionnalité <literal>sc</literal>, - nous empêchons d'utiliser la commande <command>lpr -#</command>, - mais cela n'évite pas que les utilisateurs exécutent plusieurs - fois <citerefentry> - <refentrytitle>lpr</refentrytitle></citerefentry>, - ou soumettent plusieurs fois les mêmes fichiers dans un même - travail, comme ceci:</para> - - <informalexample> - <screen>&prompt.user; <userinput>lpr a-vendre.annonce a-vendre.annonce a-vendre.annonce</userinput></screen> - </informalexample> - - <para>Il y a de nombreux moyens d'empêcher ce type d'abus - que vous êtes libre d'essayer (y compris l'ignorer).</para> - - </sect3> - - <sect3 - id="printing-advanced-restricting-access"> - <title>Restreindre l'accès aux imprimantes</title> - - <para>Vous pouvez contrôler qui imprime sur quelle imprimante - avec le mécanisme des groupes d'UNIX et la fonctionnalité - <literal>rg</literal> dans <filename>/etc/printcap</filename>. - Définissez les utilisateurs auxquels vous voulez autoriser l'accès - à une imprimante dans un groupe précis et donnez ce groupe - en paramètre de la fonctionnalité <literal>rg</literal>.</para> - - <para>Les utilisateurs qui n'appartiennent pas à ce - groupe (y compris le super-utilisateur) seront accueillis par:</para> - - <informalexample> - <screen>lpr: Not a member of the restricted group</screen> - </informalexample> - - <para>(Vous n'appartenez pas au groupe autorisé.) - s'ils essaient d'utiliser l'imprimante en question.</para> - - <para>De même que pour la fonctionnalité <literal>sc</literal> - (suppressions des exemplaires multiples), vous devez spécifier - <literal>rg</literal> sur les machines distantes qui ont accès - à l'imprimante, si cela vous paraît indiqué (voyez la section - <link linkend="printing-advanced-network-rm">Imprimantes - installées sur des machines distantes</link>).</para> - - <para>Par exemple, nous ne laisserons pas tout le monde imprimer sur - <literal>rattan</literal>, mais seuls les utilisateurs du groupe - <literal>artists</literal> pourront utiliser - <literal>bamboo</literal>. Voici notre habituel fichier - <filename>/etc/printcap</filename> - pour la machine <hostid>rose</hostid>:</para> - - <programlisting> -# -# /etc/printcap pour la machine rose - restriction d'accès à bamboo -# -rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\ - :sh:sd=/var/spool/lpd/rattan:\ - :lp=/dev/lpt0:\ - :if=/usr/local/libexec/if-simple: - -bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:\ - :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:\ - :if=/usr/local/libexec/psif:\ - :df=/usr/local/libexec/psdf: - </programlisting> - - <para>Laissons tel quel l'autre fichier - <filename>/etc/printcap</filename> (de la machine - <hostid>orchid</hostid>). Bien sûr, tous les utilisateurs - d'<hostid>orchid</hostid> peuvent alors imprimer sur - <literal>bamboo</literal>. Selon le cas, nous voudrons - restreindre ou non l'accès à certains utilisateurs - d'<hostid>orchid</hostid>.</para> - - <note> - <para>Avec cette fonctionnalité, il ne peut y avoir qu'un seul - groupe d'utilisateurs autorisé par imprimante.</para> - </note> - </sect3> - - <sect3 - id="printing-advanced-restricting-sizes"> - <title>Contrôler la taille des travaux soumis</title> - - <para>Si de nombreux utilisateurs accèdent à vos imprimantes, - vous voudrez probablement limiter la taille des fichiers - qu'ils peuvent imprimer. Après tout, l'espace disponible - sur les systèmes de fichiers où se trouvent les files - d'attente n'est pas illimité, et vous devez aussi faire en - sorte qu'il y ait de la place pour les travaux de tous les - utilisateurs.</para> - - <para>LPD vous permet de définir une taille maximum en octets - que peut avoir un fichier à imprimer grâce à la fonctionnalité - <literal>mx</literal>. L'unité est le bloc BUFSIZ, qui est de - 1024 octets. Si vous donnez en paramètre de cette fonctionnalité - la valeur zéro, la taille des fichiers ne sera pas limitée.</para> - - <note> - <para>Cette limite s'applique à la taille des - <emphasis>fichiers</emphasis> d'un travail d'impression, - et <emphasis>non</emphasis> au volume total du travail.</para> - </note> - - <para>LPD ne refusera pas d'imprimer un fichier trop volumineux. - Il en mettra autant que la limite - donnée dans la file d'attente. Cette - partie sera imprimée, le reste sera ignoré. Est-ce la bonne - méthode, le débat reste ouvert.</para> - - <para>Ajoutons des limites aux imprimantes - <literal>rattan</literal> et <literal>bamboo</literal> - de notre exemple. Comme les fichiers PostScript de nos artistes - sont assez volumineux, nous les limiterons à 5 méga-octets. Nous - ne mettrons pas de limitation à l'utilisation de l'imprimante - texte:</para> - - <programlisting> -# -# /etc/printcap pour la machine rose -# - -# -# Pas de limite à la taille des fichiers: -# -rattan|line|diablo|lp|Imprimante Ligne Diablo 630:\ - :sh:sd=/var/spool/lpd/rattan:\ - :lp=/dev/lpt0:\ - :if=/usr/local/libexec/if-simple: - -# -# Pas plus de 5 méga-octets -# -bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\ - :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:\ - :if=/usr/local/libexec/psif:\ - :df=/usr/local/libexec/psdf: - </programlisting> - - <para>Encore une fois, ces limitations s'appliquent aux - utilisateurs locaux. Si ces imprimantes sont accessibles - à distance, les utilisateurs distants ne seront pas - assujettis à ces limites. Il vous faut aussi introduire la - fonctionnalité <literal>mx</literal> dans les fichiers - <filename>/etc/printcap</filename> des machines distantes. Voyez - la section <link - linkend="printing-advanced-network-rm">Imprimantes installées - sur des machines distantes</link> pour plus d'informations sur - l'impression à distance.</para> - - <para>Il y a un autre moyen de limiter le volume des travaux - d'impression à distance; voyez la section <link - linkend="printing-advanced-restricting-remote">Contrôler les - impressions à distance</link>.</para> - - </sect3> - - <sect3 - id="printing-advanced-restricting-remote"> - <title>Contrôler les impressions à distance</title> - - <para>Le système LPD fournit différents moyens de contrôler - les impressions depuis des machines distantes:</para> - - - <variablelist> - <varlistentry><term>Restrictions selon les machines</term> - <listitem> - <para>Vous pouvez contrôler de quelles machines distantes - le “démon” LPD local acceptera des requêtes - d'impression grâce aux fichiers - <filename>/etc/hosts.equiv</filename> et - <filename>/etc/hosts.lpd</filename>. LPD vérifie si la - requête vient d'une machine mentionnée dans l'un de ces - deux fichiers. Si ce n'est pas le cas, il refuse la - requête.</para> - - <para>Le format de ces fichiers est trivial: un nom de - machine par ligne. Notez que le fichier - <filename>/etc/hosts.equiv</filename> est aussi utilisé - par le protocole - <citerefentry><refentrytitle>ruserok</refentrytitle><manvolnum>3</manvolnum></citerefentry>, et affecte des programmes comme - <citerefentry> - <refentrytitle>rsh</refentrytitle></citerefentry> et - <citerefentry> - <refentrytitle>rcp</refentrytitle></citerefentry>, - faites donc attention.</para> - - <para>Voici par exemple le fichier - <filename>/etc/hosts.lpd</filename> de la machine - <hostid>rose</hostid>: - - <programlisting> -orchid -violet -madrigal.fishbaum.de - </programlisting> - - Ce qui signifie que <hostid>rose</hostid> acceptera - les demandes qui viennent des machines - <hostid>orchid</hostid>, - <hostid>violet</hostid> - et <hostid role="fqdn">madrigal.fishbaum.de</hostid>. - Si une autre machine fait appel au LPD de - <hostid>rose</hostid>, il lui refusera l'accès.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Restrictions de volume</term> - - <listitem> - <para>Vous pouvez contrôler combien il doit rester - d'espace libre sur le système de fichiers où se - trouve le répertoire de file d'attente. Créez un - fichier appelé <filename>minfree</filename> dans - le répertoire de file d'attente de l'imprimante - local. Mettez-y un nombre de blocs disque (512 octets) - qui sera l'espace qui devra être disponible pour - qu'un travail d'impression à distance soit accepté.</para> - - <para>Vous vous assurez ainsi que les utilisateurs distants - ne satureront pas votre système de fichiers. Vous pouvez - aussi utiliser cette possibilité pour donner une certaine - priorité aux utilisateurs locaux: ils pourront mettre des - travaux en attente bien après que l'espace disponible - soit descendu en dessous de la valeur indiquée par - le fichier <filename>minfree</filename>.</para> - - <para>Définissons par exemple un fichier - <filename>minfree</filename> pour l'imprimante - <hostid>bamboo</hostid>. Nous regardons dans - <filename>/etc/printcap</filename> pour savoir - quel est son répertoire de file d'attente. Voici l'entrée - pour <hostid>bamboo</hostid>:</para> - - <programlisting> -bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\ - :lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:mx#5000:\ - :if=/usr/local/libexec/psif:\ - :df=/usr/local/libexec/psdf: - </programlisting> - - <para>Le répertoire de file d'attente est défini par la - fonctionnalité <literal>sd</literal>. Nous fixerons à - trois méga-octets (soit 6144 blocs disque) l'espace - qui doit être libre pour que LPD accepte des impressions - distantes:</para> - - <informalexample> - <screen>&prompt.root; <userinput>echo 6144 > /var/spool/lpd/bamboo/minfree</userinput></screen> - </informalexample> - - </listitem> - </varlistentry> - - <varlistentry><term>Restrictions sur les utilisateurs</term> - - <listitem> - <para>Vous pouvez contrôler quels utilisateurs distants - peuvent utiliser les imprimantes locales avec la - fonctionnalité <literal>rs</literal> dans - <filename>/etc/printcap</filename>. Quand - <literal>rs</literal> est mentionnée dans l'entrée - correspondant à une imprimante locale, LPD acceptera - les impressions venant de machines distantes - <emphasis>si et seulement si</emphasis> l'utilisateur - qui soumet le travail a un compte sous le même nom - sur la machine locale. Sinon, le travail d'impression - sera refusé.</para> - - <para>Cette fonctionnalité est particulièrement utile - lorsque (par exemple) plusieurs départements partagent un réseau - et certains utilisateurs sont à cheval sur plusieurs - départements. En leur ouvrant un compte sur vos - systèmes, ils peuvent utiliser les imprimantes de - leur propre département. Si vous préférez qu'ils - n'utilisent que <emphasis>vos</emphasis> imprimantes, mais - pas vos machines, vous pouvez leur ouvrir des comptes - “jeton”, sans répertoire utilisateur et - avec un interpréteur de commandes inutilisable tel que - <filename>/usr/bin/false</filename>.</para> - - </listitem> - </varlistentry> - </variablelist> - - - </sect3> - </sect2> - - <sect2 - id="printing-advanced-acct"> - <title>Comptabiliser l'utilisation des imprimantes</title> - - <para>Donc, vous voulez facturer les impressions. Et pourquoi pas? - Le papier et l'encre coûtent de l'argent. Il y a aussi les coûts - de maintenance. Les imprimantes ont des pièces mobiles qui ont - tendance à casser. Vous avez fait un bilan du coût de vos - imprimantes, consommables et frais de maintenance et avez - calculé un coup à la page (ou au mètre, ou toute autre unité). - Comment faites-vous maintenant pour comptabiliser les - impressions?</para> - - <para>Bien, la mauvaise nouvelle est que le gestionnaire - d'impression LPD n'aide pas beaucoup dans ce domaine. La - facturation dépend dans une large mesure du type d'imprimante, - du format utilisé, et de <emphasis>votre</emphasis> politique - de facturation de l'utilisation des imprimantes.</para> - - <para>Pour mettre en oeuvre la facturation, vous devez modifier le - filtre texte de l'imprimante (pour facturer l'impression de - fichiers texte) et les filtres de conversion (pour les autres - formats de fichiers), pour qu'ils comptent les pages ou interrogent - l'imprimante pour connaître le nombre de pages imprimées. Vous - ne pouvez pas vous en sortir avec un simple filtre de sortie, qui - n'est pas capable de gérer la comptabilité. Voyez la section - <link - linkend="printing-advanced-filter-intro">Filtres</link>.</para> - - <para>D'une façon générale, il y a deux méthodes de faire la - facturation: - <itemizedlist> - - <listitem> - <para>La <emphasis>facturation périodique</emphasis> est la - méthode la plus courante, probablement parce que c'est la - plus facile. Chaque fois que quelqu'un imprime, le filtre - enregistre dans le fichier comptable le nom de l'utilisateur, - celui de la machine et le nombre de pages imprimées. Tous - les mois, semestres, années, ou avec la périodicité que vous - voulez, vous récupérez les fichiers comptables des différentes - imprimantes et facturez leur utilisation. Vous réinitialisez - ensuite ces fichiers, et repartez à zéro pour la période - suivante.</para> - </listitem> - - <listitem> - <para>La <emphasis>facturation à la volée</emphasis> est moins - utilisée, certainement parce qu'elle est plus délicate. Avec - cette méthode, les filtres facturent les utilisateurs dès - qu'ils utilisent les imprimantes. Comme pour les quotas - d'espace disque, la comptabilité est immédiate, Vous pouvez - interdire aux utilisateurs d'imprimer dès qu'ils sont dans le - rouge et leur fournir un moyen de consulter et modifier - leurs “quotas d'impression”. Mais cette - méthode demande de mettre en oeuvre une base de données - pour gérer les utilisateurs et leurs quotas.</para> - </listitem> - - </itemizedlist> - </para> - - <para>Le gestionnaire d'impression LPD permet de mettre facilement en - oeuvre les deux méthodes: de même que vous devez fournir des filtres - (la plupart du temps, au moins), vous devez aussi écrire le code - de facturation. Mais cela a un avantage: vous avez énormement de - souplesse pour la méthode. Par exemple, vous pouvez choisir entre - la facturation périodique ou à la volée. Vous pouvez choisir quelles - informations utiliser: le nom d'utilisateur, le nom de - machine, le type d'impression, le nombre de pages, la surface ou - la quantité de papier utilisée, le temps qu'a pris l'impression, et - ainsi de suite. Vous faites cela en modifiant le filtre pour qu'il - archive ces informations.</para> - - <sect3> - <title>Facturation simplifiée</title> - - <para>FreeBSD inclut deux programmes que vous pouvez immédiatement - configurer pour une facturation périodique de base. Ce sont le - filtre texte <command>lpf</command>, décrit à la section - <link linkend="printing-advanced-lpf"><command>lpf</command>: - un filtre texte</link>, et <citerefentry> - <refentrytitle>pac</refentrytitle></citerefentry>, un programme - qui rassemble et globalise les données des fichiers - comptables.</para> - - <para>Comme indiqué à la section sur les filtres (<link - linkend="printing-advanced-filters">Filtres</link>), LPD - exécute le filtre texte et les filtres de conversion en leur - donnant en argument le nom du fichier comptable. Les filtres - peuvent utiliser ce paramètre pour savoir où écrire - l'enregistrement comptable. Le nom du fichier est précisé par - la fonctionnalité <literal>af</literal> du fichier - <filename>/etc/printcap</filename>, avec un chemin d'accès - absolu ou relatif au répertoire de file d'attente.</para> - - <para>LPD exécute <command>lpf</command> avec comme paramètres - la largeur et la hauteur de page (définies par les - fonctionnalités <literal>pw</literal> et <literal>pl</literal>). - <command>lpf</command> utilise ces arguments pour savoir combien - il faudra de papier. Après avoir envoyé le fichier à l'imprimante, - il génère alors un enregistrement dans le fichier comptable. Cet - enregistrement ressemble à ce qui suit:</para> - - <programlisting> -2.00 rose:andy -3.00 rose:kelly -3.00 orchid:mary -5.00 orchid:mary -2.00 orchid:zhang</programlisting> - - <para>Il faut utiliser un fichier comptable différent pour - chaque imprimante, car <command>lpf</command> ne sait pas - verrouiller les fichiers, et deux <command>lpf</command> - pourraient corrompre leurs enregistrements respectifs - s'ils écrivaient en même temps dans le même fichier. Une façon - simple d'être sûr que l'on a des fichiers différents pour chaque - imprimante est d'utiliser <literal>af=acct</literal> dans - <filename>/etc/printcap</filename>. On a alors dans les - répertoires de file d'attente de chaque imprimante, un fichier - comptable appelé <filename>acct</filename>.</para> - - <para>Quand vous voulez facturer les utilisateurs, - exécutez le programme <citerefentry> - <refentrytitle>pac</refentrytitle></citerefentry>. - Allez simplement dans le répertoire de file d'attente - de l'imprimante dont vous voulez récupérer les informations - comptables et tapez <citerefentry> - <refentrytitle>pac</refentrytitle></citerefentry>. Vous - obtiendrez un résumé (en dollars) des coûts:</para> - - <informalexample> - <screen> Login pages/feet runs price -orchid:kelly 5.00 1 $ 0.10 -orchid:mary 31.00 3 $ 0.62 -orchid:zhang 9.00 1 $ 0.18 -rose:andy 2.00 1 $ 0.04 -rose:kelly 177.00 104 $ 3.54 -rose:mary 87.00 32 $ 1.74 -rose:root 26.00 12 $ 0.52 - -total 337.00 154 $ 6.74</screen> - </informalexample> - - <para>Voici les arguments qu'attend <citerefentry> - <refentrytitle>pac</refentrytitle></citerefentry>:</para> - - <variablelist> - <varlistentry><term><option>-P<replaceable>imprimante</replaceable></option></term> - <listitem> - <para>L'<replaceable>imprimante</replaceable> dont on - veut le résumé comptable. Cette option ne fonctionne - que si l'on a donné un chemin d'accès absolu à la - fonctionnalité <literal>af</literal> - dans <filename>/etc/printcap</filename>.</para> - </listitem> - </varlistentry> - - <varlistentry><term><option>-c</option></term> - - <listitem> - <para>Trier par coûts au lieu d'utiliser l'ordre - alphabétique des noms d'utilisateurs.</para> - </listitem> - </varlistentry> - - <varlistentry><term><option>-m</option></term> - - <listitem> - <para>Ne pas tenir compte du nom de machine indiqué pour la - comptabilité. Avec cette option, l'utilisateur - <username>smith</username> sur la machine - <hostid>alpha</hostid> est le même utilisateur que - <username>smith</username> sur la machine - <hostid>gamma</hostid>. Sinon, ils sont considérés comme - des utilisateurs différents.</para> - </listitem> - </varlistentry> - - <varlistentry><term><option>-p<replaceable>prix</replaceable></option></term> - - <listitem> - <para>Calculer les coûts sur la base du - <replaceable>prix</replaceable> en dollars par page ou par - pied (“ft”) au lieu d'utiliser la valeur donnée - avec la fonctionnalité <literal>pc</literal> dans - <filename>/etc/printcap</filename>, ou deux - centimes (la valeur par défaut). - <replaceable>prix</replaceable> peut être un nombre en - virgule flottante.</para> - </listitem> - </varlistentry> - - <varlistentry><term><option>-r</option></term> - - <listitem> - <para>Trier dans l'ordre inverse.</para> - </listitem> - </varlistentry> - - <varlistentry><term><option>-s</option></term> - - <listitem> - <para>Editer le résumé comptable et tronquer le - fichier.</para> - </listitem> - </varlistentry> - - <varlistentry><term><replaceable>nom</replaceable> <replaceable>...</replaceable></term> - - <listitem> - <para>N'imprimer les informations comptables que pour - l'utilisateur <replaceable>nom</replaceable>.</para> - - </listitem> - </varlistentry> - </variablelist> - - <para>Dans le résumé que produit <citerefentry> - <refentrytitle>pac</refentrytitle></citerefentry> - par défaut, vous avez le nombre de pages imprimées par - chaque utilisateur sur chaque machine.Si, sur votre site, - les machines n'ont pas d'importance (parce que les - utilisateurs peuvent se servir de n'importe laquelle), - utilisez <command>pac -m</command>, pour obtenir un - récapitulatif qui ressemble à:</para> - - <informalexample> - <screen> Login pages/feet runs price -andy 2.00 1 $ 0.04 -kelly 182.00 105 $ 3.64 -mary 118.00 35 $ 2.36 -root 26.00 12 $ 0.52 -zhang 9.00 1 $ 0.18 - -total 337.00 154 $ 6.74</screen> - </informalexample> - - <para>Pour calculer la facture en dollars, - <citerefentry> - <refentrytitle>pac</refentrytitle></citerefentry> utilise - la fonctionnalité <literal>pc</literal> du fichier - <filename>/etc/printcap</filename> (200 par défaut, soit 2 - centimes par page). Donnez, en centièmes de centimes, le prix - par page ou par pied que vous voulez facturer. Cette valeur - peut être redéfinie quand vous utilisez - <citerefentry> - <refentrytitle>pac</refentrytitle></citerefentry> avec - l'option <option>-p</option>. Avec l'option - <option>-p</option>, l'unité est le dollar et non plus - le centième de centime. Par exemple: - - <informalexample> - <screen>&prompt.root; <userinput>pac -p1.50</userinput></screen> - </informalexample> - - facture chaque page un dollar cinquante centimes. Vous pouvez - vraiment faire des affaires avec cette option.</para> - - <para>Enfin, utiliser <command>pac -s</command> sauvegardera le - résumé dans un fichier comptable récapitulatif, de même nom - que le fichier comptable associé à l'imprimante, mais suffixé - par <literal>_sum</literal>. Le fichier comptable est ensuite - tronqué. La prochaine fois que vous utiliserez - <citerefentry><refentrytitle>pac</refentrytitle></citerefentry>, - ce fichier récapitulatif sera relu et pris en compte pour - recalculer les totaux, en y ajoutant ce qui est comptabilisé - dans le fichier comptable normal.</para> - - </sect3> - - <sect3> - <title>Comment compter le nombre de pages imprimées?</title> - - <para>Pour comptabliser correctement les impressions, même à - distance, vous devez pouvoir calculer la quantité de papier - consommée par chaque travail. C'est la difficulté principale - liée à la facturation des impressions.</para> - - <para>Pour les impressions en mode texte, la difficulté n'est - pas si grande: vous comptez le nombre de lignes à imprimer - et le comparer au nombre de lignes que l'imprimante peut - éditer par page. N'oubliez pas de prendre les retours arrière - en compte, lorsqu'il y a sur-impression, de même que les lignes - trop longues qui s'impriment sur plus d'une ligne.</para> - - <para>Le filtre texte <command>lpf</command> - (décrit dans <link - linkend="printing-advanced-lpf"><command>lpf</command>: un filtre - texte</link>) prend tout cela en compte lorsqu'il gère - la comptabilité. Si vous écrivez un filtre texte qui doit prendre - la facturation en charge, vous devriez jeter un oeil au code - source de <command>lpf</command>.</para> - - <para>Comment prendre les autres formats en compte?</para> - - <para>Pour les conversions de DVI en LaserJet ou PostScript, - le filtre peut analyser la sortie de - <citerefentry> - <refentrytitle>dvilj</refentrytitle></citerefentry> ou - <citerefentry> - <refentrytitle>dvips</refentrytitle></citerefentry> - pour y lire le nombre de pages converties. Vous devriez - être en mesure de faire de même avec d'autres formats de fichiers - et d'autres programmes de conversion.</para> - - <para>Ces méthodes sont toutefois limitées parce qu'elles ne - prennent pas en compte le fait que l'imprimante n'imprimera - peut-être pas toutes ces pages. Il peut par exemple y avoir - bourrage ou manque d'encre - et l'utilisateur sera malgré - tout facturé.</para> - - <para>Que pouvez-vous alors faire?</para> - - <para>Il n'y a qu'une seule méthode <emphasis>sûre</emphasis> - pour tenir une comptabilité <emphasis>précise</emphasis>. - Faire dire à l'imprimante combien de papier elle utilise, et - la connecter sur un port série ou directement sur le réseau. - Pratiquement toutes les imprimantes PostScript offrent cette - possibilité. C'est aussi faisable avec d'autres modèles (les - imprimantes laser réseau Imagen, par exemple). Modifiez les - filtres de ces imprimantes pour lire le nombre de pages - imprimées à la fin de chaque travail et reportez dans le - fichier comptable des informations qui se basent - <emphasis>uniquement</emphasis> là-dessus. Il n'y a alors pas besoin - de compter les lignes ou d'un examen des fichiers qui peut - être source d'erreurs.</para> - - <para>Vous pouvez toujours en définitive vous montrer généreux et - instituer la gratuité des impressions.</para> - - </sect3> - </sect2> - </sect1> - - <sect1 - id="printing-lpd-alternatives"> - <title>Alternatives au gestionnaire d'impression standard</title> - - <para>Si vous avez lu intégralement ce document jusqu'ici, - vous savez maintenant à peu près tout ce qu'il faut savoir sur - le gestionnaire d'impression LPD qui est livré avec FreeBSD. Vous - pouvez juger de ses limitations, ce qui vous amène tout naturellement - à vous demander s'il existe d'autres gestionnaires d'impression - (qui fonctionnent sous FreeBSD).</para> - - <para>Malheureusement, je n'ai trouvé que <emphasis>deux</emphasis> - alternatives - et elles sont quasiment semblables! Ce sont:</para> - - <variablelist> - <varlistentry><term>PLP, le “Portable Line Printer - Spooler” - (gestionnaire d'impression en ligne portable)</term> - <listitem> - <para>PLP est basé sur un logiciel développé par Patrick Powell - puis maintenu par un groupe de développeurs sur Internet. Le - site de référence pour ce logiciel est <ulink - url="ftp://ftp.iona.ie/pub/plp">ftp://ftp.iona.ie/pub/plp</ulink>. - Il y a aussi une <ulink url="http://www.iona.ie:8000/www/hyplan/jmason/plp.html">page Web</ulink>.</para> - - <para>Il ressemble beaucoup au gestionnaire LPD de BSD, mais - en améliore un grand nombre de fonctionnalités, dont: - <itemizedlist> - - <listitem> - <para>Meilleur support réseau, dont le support intégré - des imprimantes réseau, - fichiers <filename>printcap</filename> gérés par NIS, - et montage NFS des répertoires tampons.</para> - </listitem> - - <listitem> - <para>Gestion sophistiquée des files d'attentes, - permettant d'avoir plusieurs imprimantes sur la même - file, le transfert de travaux d'une file à une autre, - et la redirection des files d'attente.</para> - </listitem> - - <listitem> - <para>Fonctions de contrôle à distance des - imprimantes.</para> - </listitem> - - <listitem> - <para>Gestion des priorités des travaux.</para> - </listitem> - - <listitem> - <para>Extensions aux options d'accès et de sécurité.</para> - </listitem> - - </itemizedlist> - </para> - </listitem> - </varlistentry> - - <varlistentry><term>LPRng</term> - - <listitem> - <para>LPRng, qui signifie “LPR: the Next - Generation” (LPR : la génération suivante) est une - réécriture complète de PLP. Patrick Powell - et Justin Mason (le principal responsable de la maintenance - de PLP) ont coopéré pour réaliser LPRng. Le site de - référence de LPRng est <ulink - url="ftp://dickory.sdsu.edu/pub/LPRng">ftp://dickory.sdsu.edu/pub/LPRng</ulink>.</para> - - </listitem> - </varlistentry> - </variablelist> - - </sect1> - - <sect1><title>Remerciements</title> - - <para>Je voudrais remercier les personnes suivantes pour l'aide - qu'elles m'ont apportée pour réaliser ce document:</para> - - <variablelist> - <varlistentry><term>Daniel Eischen - <email>deischen@iworks.interworks.org</email></term> - <listitem> - <para>Qui a fourni une pléthore de programmes de filtre HP - que j'ai pu réutiliser.</para> - </listitem> - </varlistentry> - - <varlistentry><term>&a.jehamby;</term> - - <listitem> - <para>Pour le filtre de conversion Ghostscript pour HP.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Ma femme, Mary Kelly - <email>urquhart@argyre.colorado.edu</email></term> - - <listitem> - <para>Pour m'avoir laissé passer plus de temps avec FreeBSD - qu'avec elle.</para> - </listitem> - </varlistentry> - </variablelist> - - </sect1> - </chapter> -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-shorttag: nil - sgml-always-quote-attributes: t - sgml-minimize-attributes: max - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> diff --git a/fr_FR.ISO8859-1/books/handbook/quotas/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/quotas/chapter.sgml deleted file mode 100755 index 4ace312374..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/quotas/chapter.sgml +++ /dev/null @@ -1,284 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: n.nn ---> - - <chapter - id="quotas"> - <title>Quotas d'utilisation des disques</title> - - <para><emphasis>Contribution de &a.mpp;.<!-- <br> -->26 Février - 1996</emphasis></para> - &trans.a.haby; - - <para>Les quotas sont une option du système d'exploitation qui vous - permet de limiter la quantité d'espace disque et/ou le nombre - de fichiers auxquels ont droit un utilisateur ou tous les - utilisateurs du même groupe, sur un système de fichiers donné. - On les utilise la plupart du temps sur les systèmes en temps - partagé sur lequel il est souhaitable de limiter la quantité de - ressources allouée à un utilisateur ou à un groupe. Cela évite - qu'un seul utilisateur consomme tout l'espace disque.</para> - - - <sect1> - <title>Configurer votre système pour pouvoir utiliser les - quotas d'utilisation des disques</title> - - <para>Avant d'essayer de mettre en place des quotas disque, il faut - vous assurez que votre noyau est configuré pour cela. Pour ce faire, - vous devez ajouter la ligne suivante au fichier de configuration de - votre noyau:</para> - - <programlisting> -options QUOTA - </programlisting> - - <para>Cette option n'est pas activée par défaut dans le fichier noyau - <filename>GENERIC</filename> de base, vous devez donc configurer, - compiler et installer un noyau sur-mesure pour utiliser les quotas - disque. Reportez-vous s'il vous plaît au chapitre - <link linkend="kernelconfig">Configurer le noyau de FreeBSD</link> - pour plus d'informations sur la configuration du noyau.</para> - - <para>Vous devrez ensuite mettre en service les quotas dans votre - fichier <filename>/etc/sysconfig</filename>. Pour cela, remplacez - la ligne: - - <programlisting> -quotas=NO - </programlisting>par: - - <programlisting> -quotas=YES - </programlisting></para> - - <para>Si vous utilisez FreeBSD 2.2.2 ou ultérieur, ce fichier - de configuration s'appelle <filename>/etc/rc.conf</filename> et le - nom de la variable a été modifié en: - - <programlisting> -check_quotas=YES - </programlisting></para> - - <para>Vous devez enfin éditer le fichier - <filename>/etc/fstab</filename> pour mettre en service les quotas - système de fichiers par système de fichiers. C'est là que vous - dites si vous voulez des quotas d'utilisation des disques par - utilisateur, par groupe ou les deux, pour chaque système de - fichiers.</para> - - <para>Pour mettre en service des quotas par utilisateur, ajoutez - l'option <literal>userquota</literal> à la zone d'options de - l'entrée de <filename>/etc/fstab</filename> pour le système de - fichiers sur lequel vous voulez des quotas. Par exemple:</para> - - <programlisting> -/dev/sd1s2g /home ufs rw,userquota 1 2 - </programlisting> - - <para>De même, pour définir des quotas par groupe, utilisez l'option - <literal>groupquota</literal> au lieu du mot-clé - <literal>userquota</literal>. Pour avoir à la fois des quotas par - utilisateur et par groupe, modifiez cette entrée de la façon - suivante:</para> - - <programlisting> -/dev/sd1s2g /home ufs rw,userquota,groupquota 1 2 - </programlisting> - - <para>Par défaut, les fichiers où sont définis les quotas se trouvent - dans le répertoire racine du système de fichiers et s'appellent - <filename>quota.user</filename> et - <filename>quota.group</filename>, pour les quotas par utilisateur - et, respectivement, par groupe. Consultez - <command>man fstab</command> pour plus d'informations. Bien que les - pages de manuel disent que vous pouvez mettre ces fichiers ailleurs, - ce n'est pas recommandé parce qu'il semble que les divers utilitaires - qui gèrent les quotas ne prennent pas tous cela correctement en - compte.</para> - - <para>Vous devez maintenant redémarrer votre système avec le nouveau - noyau. La procédure <filename>/etc/rc</filename> exécutera - automatiquement les commandes nécessaires à la création des fichiers - de quotas initiaux pour tous ceux que vous avez instaurés dans - <filename>/etc/fstab</filename>, vous n'avez donc pas besoin de - créer à la main des fichiers de quotas vides.</para> - - <para>Vous ne devriez normalement pas avoir à exécuter les commandes - <command>quotacheck</command>, <command>quotaon</command>, - ou <command>quotaoff</command>. Vous pouvez cependant lire les pages - de manuel qui s'y rapportent, simplement pour savoir ce qu'elles - font.</para> - - </sect1> - - <sect1> - <title>Définir les quotas</title> - - <para>Maintenant que votre système est configuré pour mettre en place - des quotas, vérifiez que cela marche bien. Cela ce fait facilement - en exécutant:</para> - - <informalexample> - <screen>&prompt.root; <userinput>quota -v</userinput></screen> - </informalexample> - - <para>Vous devriez obtenir une ligne de résumé d'utilisation du - disque avec les quotas actuellement définis pour chaque système de - fichiers sur lesquels il y a des quotas.</para> - - <para>Vous pouvez maintenant définir ces quotas avec la commande - <command>edquota</command>.</para> - - <para>Il y a différentes option pour instaurer les quotas d'espace - disque alloués à un utilisateur ou à un groupe et le nombre de - fichiers qu'ils ont le droit de créer. Il peuvent être basés sur - l'espace disque (quotas en nombre de blocs) ou le nombre de fichiers - (quotas en nombre d'entrées dans le - répertoire - “inode”) ou les deux. Ces options - peuvent encore être subdivisées en deux catégories: limitations - strictes ou souples.</para> - - <para>Les limites strictes ne peuvent jamais être dépassées. Dès qu'un - utilisateur atteint sa limite stricte, il ne peut plus rien allouer - sur le système de fichiers en question. Si par exemple, il n'a - droit qu'à 500 blocs sur un système de fichiers et en utilise déjà - 490, il ne peut plus en allouer que 10. S'il voulait en allouer 11, - il n'y arriverait pas.</para> - - <para>Les limites souples peuvent elles être dépassées pour une période - de temps restreinte. C'est ce que l'on appelle le délai de grâce, qui - est d'une semaine par défaut. Si un utilisateur dépasse sa limite - souple au delà du délai de grâce, cette limite devient stricte, et - il ne peut plus rien allouer. Lorsqu'il redescend en dessous de - la limite stricte, le délai de grâce lui est réaccordé.</para> - - <para>Voici un exemple de ce que vous pouvez voir en utilisant - la commande <command>edquota</command>. Quand vous invoquez la - commande <command>edquota</command>, vous vous retrouvez sous - l'éditeur défini par la variable d'environnement - <envar>EDITOR</envar>, ou sous <command>vi</command> - si la variable d'environnement <envar>EDITOR</envar> n'est pas - positionnée, ce qui vous permet d'éditer les quotas.</para> - - <informalexample> - <screen>&prompt.root; <userinput>edquota -u test</userinput></screen> - </informalexample> - - <programlisting> -Quotas for user test: -/usr: blocks in use: 65, limits (soft = 50, hard = 75) - inodes in use: 7, limits (soft = 50, hard = 60) -/usr/var: blocks in use: 0, limits (soft = 50, hard = 75) - inodes in use: 0, limits (soft = 50, hard = 60) - </programlisting> - - <para>Il y aura normalement deux lignes pour chaque système de fichiers - sur lequel il y a des quotas: une pour les quotas de blocs, l'autre - pour les quotas d'entrées de répertoire. Modifiez simplement les - valeurs que vous voulez mettre à jour. Par exemple, pour augmenter - la limite de blocs accordée à cet utilisateur de 50 pour la limite - souple et 75 pour la limite stricte à 500 pour la limite souple et - 600 pour la limite stricte, modifiez: - - <programlisting> -/usr: blocks in use: 65, limits (soft = 50, hard = 75) - </programlisting> en: - - <programlisting> -/usr: blocks in use: 65, limits (soft = 500, hard = 600) - </programlisting></para> - - <para>Ces nouveaux quotas seront en service dès que vous quitterez - l'éditeur.</para> - - <para>Il est parfois souhaitable de définir des quotas pour une plage - d'UIDs (identifiants utilisateur). Cela peut être réalisé par - l'option <option>-p</option> de la commande - <command>edquota</command>. Définissez d'abord les quotas voulus pour - un seul utilisateur, puis exécutez <command>edquota -p - utilisateur_prototype premier_uid-dernier_uid</command>. - Par exemple, si les quotas voulus sont ceux de l'utilisateur - <username>test</username>, la commande qui suit applique les - mêmes quotas aux “uids” de 10.000 à 19.999:</para> - - <informalexample> - <screen>&prompt.root; <userinput>edquota -p test 10000-19999</userinput></screen> - </informalexample> - - <para>Cette possibilité de définir des quotas pour une plage - d'“uids” a été ajoutée après la version 2.1. Si - vous voulez en bénéficiez sur un système 2.1, vous devez - récupérer un version plus récente de - <command>edquota</command>.</para> - - <para>Voyez <command>man edquota</command> pour des informations plus - détaillées.</para> - - </sect1> - - <sect1> - <title>Consulter les quotas et l'utilisation des disques</title> - - <para>Vous pouvez utiliser l'une des commandes - <command>quota</command> ou <command>repquota</command> pour - consulter les quotas et l'utilisation des disques. - La commande <command>quota</command> peut être employée pour - connaître les quotas et l'utilisation des disques pour un - utilisateur et un groupe. Seul le super-utilisateur peut - consulter les quotas et l'usage des disques des autres - utilisateurs ou d'un groupe auquel il n'appartient pas. - La commande <command>repquota</command> permet d'avoir un - résumé des quotas et de l'utilisation des disques pour les - systèmes des fichiers sur lesquels il y a des quotas.</para> - - <para>Voici un exemple de résultat obtenu avec la commande - <command>quota -v</command> pour un utilisateur pour lequel on - a défini des quotas sur deux systèmes de fichiers.</para> - - - <programlisting> -Disk quotas for user test (uid 1002): - Filesystem blocks quota limit grace files quota limit grace - /usr 65* 50 75 5days 7 50 60 - /usr/var 0 50 75 0 50 60 - </programlisting> - - <para>Dans cet exemple, l'utilisateur occupe 15 blocs de plus que la - limite de 50 blocs qui lui est allouée sur le système de fichiers - <filename>/usr</filename> et dispose d'un délai de grâce de 5 jours. - Remarquez l'astérisque <literal>*</literal> qui indique que la limite - est dépassée.</para> - - <para>Les systèmes de fichiers sur lequel l'utilisateur n'occupe pas - de place n'apparaissent normalement pas dans les sorties de la - commande <command>quota</command>, même s'il a des quotas - sur ces systèmes de fichiers. L'option <option>-v</option> elle - les liste, comme <filename>/usr/var</filename> dans l'exemple - ci-dessus.</para> - - </sect1> - - <sect1> - <title>* Quotas avec NFS</title> - - <para>Cette section est encore en cours de rédaction.</para> - - </sect1> - </chapter> -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-shorttag: nil - sgml-always-quote-attributes: t - sgml-minimize-attributes: max - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> diff --git a/fr_FR.ISO8859-1/books/handbook/security/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/security/chapter.sgml deleted file mode 100755 index 3198d08340..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/security/chapter.sgml +++ /dev/null @@ -1,1894 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: n.nn ---> - - <chapter> - <title>Sécurité</title> - &trans.a.haby; - - <sect1 id="crypt"> - <title>DES, MD5, et Crypt</title> - - <para><emphasis>Contribution de &a.wollman;<!-- <br> -->24 Septembre - 1995.</emphasis></para> - - <para>Pour éviter que les mots de passe ne soient facilement accessibles - sur les systèmes UN*X, ils ont traditionnellement été brouillés - d'une façon ou d'une autre. Depuis la Septième Edition d'Unix de - Bell Labs', les mots de passe ont été codés avec ce que les - spécialistes de la sécurité appellent - “un hachage irréversible”. Ce qui signifie que le mot de - passe est transformé de telle sorte qu'une fois encodé, il ne puisse - être décodé, sinon par la force, en parcourant l'éventail de toutes - les possibilités. Malheureusement, la seule méthode accessible aux - chercheurs d'AT&T était basée sur DES, le “Data Encryption - Standard” (standard de cryptage des données). C'est un problème - mineur pour les distributeurs de logiciels commerciaux, mais un - obstacle sérieux pour un système d'exploitation comme FreeBSD, dont - tout le code source est accessible librement, parce que, dans de - nombreux pays, l'exportation de DES et d'autres logiciels de - cryptage est restreinte.</para> - - <para>L'équipe de développement de FreeBSD s'est donc retrouvée face - au dilemme suivant: comment rester compatible avec les autres - systèmes Unix sans enfreindre la législation. Nous avons donc - décidé d'une double approche: avoir une distribution qui ne - comporte que du logiciel de hachage des mots de passe non restreint - à l'exportation, et fournir une bibliothèque séparée pour le DES. - L'algorithme de codage a été extrait de la bibliothèque C et - déplacé dans une bibliothèque séparée appelée - <filename>libcrypt</filename>, du nom de la fonction C - <function>crypt</function> qui l'implémente. Dans FreeBSD 1.x - et quelques instantanés de pré-versions 2.0, l'algorithme librement - exportable utilise une fonction non sécurisée due à Nate Williams; - dans les versions ultérieures, il a été remplacé par la fonction - de hachage irréversible MD5 de RSA Data Security, Inc. Comme aucune - de ces fonctions n'utilise de technique de cryptage, elles sont - supposées librement exportables des Etats-Unis et importables dans - de nombreux autres pays.</para> - - <para>Dans le même temps, nous avons aussi travaillé sur une fonction - basée sur le cryptage DES. Tout d'abord, une version de la fonction - <function>crypt</function> écrite en dehors des Etats-Unis a été - importée, pour synchroniser le code américain et celui du reste du - monde. Puis la bibliothèque a été modifiée et coupée en deux; la - bibliothèque <filename>libcrypt</filename> DES ne contient que le - code de hachage irréversible des mots de passe, et une deuxième - bibliothèque <filename>libcipher</filename> contient les points - d'entrée vers le code effectuant le cryptage. Le code a - été découpé de cette façon pour obtenir plus facilement la licence - d'exportation pour la bibliothèque compilée.</para> - - <sect2> - <title>Identifier votre mécanisme <command>crypt</command></title> - - <para>Il est assez facile de savoir si un mot de passe a été codé - avec un algorithme basé sur DES ou sur MD5. Les mots de passe MD5 - commencent toujours par les caractères - <literal>$1$</literal>. - Les mots de passe DES n'ont pas de caractéristique particulière, - mais sont plus courts que les mots de passe MD5 et utilisent un - alphabet de 64 caractères qui ne contient pas le caractère - <literal>$</literal>, une chaîne relativement courte qui ne - commence pas par un “<literal>$</literal>” a donc - de très fortes chances d'être un mot de passe DES.</para> - - <para>Savoir quelle bibliothèque est utilisée sur votre système est - aussi facile pour la plupart des programmes, sauf pour ceux qui, - comme <command>init</command> sont liés statiquement. (Pour ces - programmes, il n'y a qu'un moyen: les utiliser avec un mot de passe - connu et voir si cela marche.) Les programmes qui utilisent la - fonction <function>crypt</function> sont liés avec la bibliothèque - <filename>libcrypt</filename>, qui pour chaque type de codage, - est un lien symbolique vers l'implémentation adéquate. Par exemple, - sur un système utilisant la version DES:</para> - - - <informalexample> - <screen>&prompt.user;<userinput> cd /usr/lib</userinput> -&prompt.user; <userinput>ls -l /usr/lib/libcrypt*</userinput> -lrwxr-xr-x 1 bin bin 13 Sep 5 12:50 libcrypt.a -> libdescrypt.a -lrwxr-xr-x 1 bin bin 18 Sep 5 12:50 libcrypt.so.2.0 -> libdescrypt.so.2.0 -lrwxr-xr-x 1 bin bin 15 Sep 5 12:50 libcrypt_p.a -> libdescrypt_p.a</screen> - </informalexample> - - - <para>Sur un système utilisant les biblothèques basées sur le MD5, - on trouvera les mêmes liens, mais ils pointeront sur - <filename>libscrypt</filename> au lieu de - <filename>libdescrypt</filename>.</para> - - </sect2> - </sect1> - - <sect1 id="skey"> - <title>S/Key</title> - - <para><emphasis>Contribution de &a.wollman;<!-- <br> -->25 Septembre - 1995.</emphasis></para> - - <para>S/Key est un système de mots de passe non réutilisables basé sur - une fonction de hachage irréversible (notre version est basée sur - MD4 pour des raisons de compatibilité; d'autres versions utilisent - MD5 et DES-MAC). S/Key est inclus en standard dans toutes les - distributions de FreeBSD depuis la version 1.1.5, et est aussi - implémenté sur un nombre toujours plus important d'autres systèmes. - S/Key est une marque déposée de Bell Communications Research, - Inc.</para> - - <para>Il y a trois types de mots de passe différents dont nous - parlerons dans ce qui suit. Le premier est votre mot de passe - Unix habituel ou un mot de passe Kerberos; nous l'appelerons - “mot de passe Unix”. Le second est le mot de passe - non réutilisable généré par le programme S/Key - <command>key</command> et reconnu par le programme - <command>keyinit</command> et l'invite de session; nous - l'appelerons “mot de passe non réutilisable”. Le dernier - type de mot de passe est le mot de passe secret que vous donnez au - programme <command>key</command> (et parfois au programme - <command>keyinit</command>) qui l'utilise pour générer des mots de - passe non-réutilisables; nous l'appelerons - “mot de passe secret” ou simplement - “mot de passe”.</para> - - <para>Le mot de passe secret n'a rien à voir avec votre mot de passe - Unix (ils peuvent être identiques, mais c'est déconseillé). Les - mots de passe Unix sont limités à huit caractères, alors que les - mots de passe secrets S/Key ont la longueur que vous voulez; j'utilise - des phrases de sept mots. En général, le système S/Key fonctionne - sans liaison avec le système de mots de passe Unix.</para> - -<para>Il y a en outre deux autres types de données utilisés par le - système S/Key; l'un s'appelle “grain de sel” - <footnote><para>N.d.T.: “seed” dans l'original en - langue anglaise. “salt” est aussi parfois utilisé - pour désigner le préfixe utilisé pour perturber un - algorithme de hachage. - Voir <citerefentry><refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></footnote> - ou (cela prête à - confusion) “clé” et est un mot de deux lettres et cinq - chiffres, et l'autre est le “compteur d'itérations” - compris entre 100 et 1. S/Key génère un mot de passe non réutilisable - en concaténant le “grain de sel” et le mot de passe - secret, en lui appliquant - la fonction de hachage irréversible (la fonction sécurisée MD4 de - RSA Data Security, Inc.) autant de fois qu'indiqué par le compteur - d'itérations, et en convertissant le résultat en six courts mots - anglais. Les programmes <command>login</command> et - <command>su</command> enregistrent le dernier mot de passe non - réutilisable employé, et l'utilisateur est authentifié si la valeur - de hachage de son mot de passe est la même que celle de celui - qu'il a utilisé auparavant. Comme le hachage utilisé est irréversible, - il n'est pas possible de générer de mot de passe non réutilisable - si l'on a surpris un de ceux qui a été utilisé avec - succès; le compteur - est décrémenté après chaque ouverture de session réussie, de sorte que - l'utilisateur et le programme d'initialisation de session restent en phase. - (Quand ce compteur passe à 1, il est temps de réinitialiser - S/Key.)</para> - -<para>Il y a quatre programmes du système S/Key dont nous traiterons plus bas. - Le programme <command>key</command> a comme paramètres un compteur - d'itérations, un “grain de sel” et un mot de passe - secret et génère un mot - de passe non réutilisable. Le programme <command>keyinit</command> - initialise S/Key et sert à modifier les mots de passe, les compteurs - d'itérations et les “grains de sel”; Ses paramètres sont - soit un mot de passe - secret, soit un compteur d'itérations, soit un - “grain de sel”, et un mot de - passe non réutilisable. Le programme <command>keyinfo</command> - consulte le fichier <filename>/etc/skeykeys</filename> et imprime - la valeur du compteur d'itérations et le “grain de sel” - de l'utilisateur qui - l'a invoqué. Enfin, les programmes <command>login</command> et - <command>su</command> incorporent la logique nécessaire pour - reconnaître les mots de passe non réutilisables S/Key pour - authentifier les utilisateurs. Le programme <command>login</command> - est aussi capable d'interdire l'utilisation de mots de passe Unix - en fonction de l'adresse d'origine de la connexion.</para> - -<para>Nous décrirons quatre sortes d'opérations. La première est - l'utilisation du programme <command>keyinit</command> sur une - connexion sécurisée pour initialiser S/Key, ou pour modifier votre - mot de passe ou votre “grain de sel”. La seconde est - l'emploi du programme - <command>keyinit</command> sur une connexion non sécurisée, en même - temps que du programme <command>key</command> sur une connexion - sécurisée, pour faire la même chose. La troisième est l'utilisation - du programme <command>key</command> pour ouvrir une session sur une - connexion non sécurisée. La quatrième est l'usage du programme - <command>key</command> pour générer un certain nombre de clés qui - peuvent être notées ou imprimées et emportées avec vous quand vous allez - quelque part ou il n'y a aucune connexion sécurisée (comme dans - une conférence).</para> - - -<sect2> - <title>Initialisation depuis une connexion sécurisée</title> - - <para>Pour initialiser S/Key, changer votre mot de passe ou changer - votre “grain de sel” quand vous êtes en session, sous - votre compte, sur une - connexion sécurisée (e.g., sur la console d'une machine), utilisez - la commande <command>keyinit</command> sans paramètres:</para> - - - <informalexample> - <screen>&prompt.user; keyinit -Updating wollman: ) ceci n'apparaît pas si vous -Old key: ha73895 ) n'avez pas déjà utilisé S/Key -Reminder - Only use this method if you are directly connected. -If you are using telnet or rlogin exit with no password and use keyinit -s. -(Rappel - N'employez cette méthode que si vous êtes directement connecté. -Si vous utilisez telnet ou rlogin, quittez sans donner de mot de passe -et utilisez keyinit -s) -<prompt>Enter secret password:</prompt> ) j'ai tapé ma phrase clé ici -<prompt>Again secret password:</prompt> ) je l'ai retapée - -ID wollman s/key is 99 ha73896 ) voir ci-dessous -SAG HAS FONT GOUT FATE BOOM )</screen> - </informalexample> - - - <para>Il y a beaucoup de choses là-dedans. A l'invite - <prompt>Enter secret password:</prompt>, vous devez entrer un - mot de passe ou une phrase (j'utilise des phrases d'au moins - sept mots) qui servira à générer les mots de passe pour vos - sessions. La ligne qui commence par “ID” vous - liste vos paramètres S/Key: votre nom d'utilisateur, la valeur - de votre compteur d'itérations et votre - “grain de sel”. Quand vous ouvrirez - une session avec S/Key, le système aura mémorisé ces valeurs et - vous les redonnera, vous n'avez donc pas besoin de les retenir. - La dernière ligne vous donne le mot de passe non réutilisable - correspondant à ces paramètres et à votre mot de passe secret; - si vous deviez vous reconnectez immédiatement, c'est ce mot de - passe que vous utiliseriez.</para> - -</sect2> - -<sect2> - <title>Initialisation depuis une connexion non sécurisée</title> - - <para>Pour initialiser S/Key, changer votre mot de passe ou changer - votre “grain de sel” quand vous êtes en session - sur une connexion non - sécurisée, il vous faudra déjà avoir une connexion sécurisée - sur une machine où vous pouvez utiliser le programme - <command>key</command>; ce peut être depuis un accessoire de - bureau sur un Macintosh ou depuis la ligne de commande d'une - machine sûre (notre exemple illustre ce dernier - cas). Il vous - faudra donner une valeur au compteur d'itérations et indiquer - un “grain de sel” ou utiliser la valeur aléatoire - générée par le programme. - Sur la connexion non sécurisée (à la machine que vous initialisez), - employez la commande <command>keyinit -s</command>:</para> - - - <informalexample> - <screen>&prompt.user; <userinput>keyinit -s</userinput> -Updating wollman: Old key: kh94741 -Reminder you need the 6 English words from the skey command. -(Rappel - Il vous faut les 6 mots Anglais fournis par la commande skey.) -<prompt>Enter sequence count from 1 to 9999:</prompt> <userinput>100</userinput> ) j'ai tapé cela -<prompt>Enter new key [default kh94742]:</prompt> -s/key 100 kh94742</screen> - </informalexample> - - - <para>Pour utiliser le “grain de sel” par défaut, - (que le programme <command>keyinit</command> appelle une - “clé” - <literal>key</literal>, ce qui prête - à confusion), appuyez sur Entrée. Passez ensuite sur votre connexion - sécurisée ou sur l'accessoire de bureau S/Key et donnez lui les - mêmes paramètres:</para> - - <informalexample> - <screen>&prompt.user; <userinput>key 100 kh94742</userinput> -Reminder - Do not use this program while logged in via telnet or rlogin. -(Rappel - N'utilisez pas ce programme avec une session telnet ou rlogin.) -<prompt>Enter secret password:</prompt> ) j'ai tapé mon mot de passe -secret -HULL NAY YANG TREE TOUT VETO</screen> - </informalexample> - - - <para>Retournez alors sur votre connexion non sécurisée, et donnez le - mot de passe non réutilisable généré par la programme - <command>key</command> au programme - <command>keyinit</command>:</para> - - - <informalexample> - <screen><prompt>s/key access password:</prompt> <userinput>HULL NAY YANG TREE TOUT VETO</userinput> -ID wollman s/key is 100 kh94742 -HULL NAY YANG TREE TOUT VETO</screen> - </informalexample> - - - <para>Le reste de la description du paragraphe précédent s'applique - aussi ici.</para> - -</sect2> - -<sect2> - <title>Diversion: une invite de session</title> - - <para>Avant d'expliquer comment générer les mots de passe non - réutilisables, nous allons examiner une invite de session - S/Key:</para> - - <informalexample> - <screen>&prompt.user; <userinput>telnet himalia</userinput> -Trying 18.26.0.186... -Connected to himalia.lcs.mit.edu. -Escape character is '^]'. -s/key 92 hi52030 -<prompt>Password:</prompt></screen> - </informalexample> - - - <para>Remarquez qu'avant de nous demander un mot de passe, le - programme d'initialisation de la session nous affiche le nombre - d'itérations et le grain de sel dont nous aurons besoin pour - générer la clé appropriée. Vous découvrirez aussi une possibilité - intéressante (qui n'est pas illustrée ici); si vous tapez Entrée - quand on vous demande votre mot de passe, le programme active - l'écho au terminal, de sorte que vous voyez ce que vous tapez. - C'est très utile si vous essayez de taper une S/Key à la main, - à partir d'un résultat imprimé, par exemple.</para> - - <para>Si cette machine avait été configurée pour interdire l'emploi - de mots de passe Unix depuis ma machine, l'annotation - <literal>(s/key required)</literal> - “(s/key obligatoire)” - aurait aussi figuré, précisant que seul un mot de passe S/Key non - réutilisable serait accepté.</para> - -</sect2> - -<sect2> - <title>Générer un unique mot de passe non réutilisable</title> - - <para>Pour générer le mot de passe non réutilisable dont nous - avons besoin pour ouvrir la session, nous utilisons une - machine sûre et le programme <command>key</command>. - (Il y a des versions du programme <command>key</command> pour DOS - et Windows, et il y a aussi un accessoire de bureau pour - Macintosh.) La version en ligne de commande du programme - <command>key</command> a pour paramètres le compteur d'itérations - et le “grain de sel”; vous pouvez les couper-coller - de l'invite de session, en commençant à - <literal>key</literal> jusqu'à la fin de la ligne. Donc:</para> - - - <informalexample> - <screen>&prompt.user; <userinput>key 92 hi52030</userinput> ) collé du programme précédent -Reminder - Do not use this program while logged in via telnet or rlogin. -(Rappel - N'utilisez pas ce programme avec une session telnet ou rlogin.) -<prompt>Enter secret password:</prompt> ) j'ai tapé mon mot de passe secret -ADEN BED WOLF HAW HOT STUN</screen> - </informalexample> - - - <para>et dans l'autre fenêtre:</para> - - - <informalexample> - <screen>s/key 92 hi52030 ) de la section précédente -<prompt>Password:</prompt> -(turning echo on) -<prompt>Password:</prompt>ADEN BED WOLF HAW HOT STUN -Last login: Wed Jun 28 15:31:00 from halloran-eldar.l -[etc.]</screen> - </informalexample> - - - <para>C'est la méthode la plus simple <emphasis>si</emphasis> vous - avez une machine sûre . Il y a une appliquette Java - <ulink url="http://www.cs.umd.edu/~harry/jotp/src.html">The Java OTP - Calculator</ulink>, que vous pouvez télécharger et exécuter sous - n'importe quel navigateur supportant Java.</para> - -</sect2> - -<sect2> - <title>Générer de multiples mots de passe non réutilisables</title> - - <para>Il vous faut parfois aller en des endroits où vous n'avez pas - de connexion sécurisée disponible. Dans ce cas, vous pouvez - utiliser la commande <command>key</command> pour générer en une - seule fois plusieurs mots de passe non réutilisables; vous pouvez - imprimer ces derniers. Par exemple:</para> - - <informalexample> - <screen>&prompt.user; <userinput>key -n 25 57 zz99999</userinput> -Reminder - Do not use this program while logged in via telnet or rlogin. -(Rappel - N'utilisez pas ce programme avec une session telnet ou rlogin.) -<prompt>Enter secret password:</prompt> -33: WALT THY MALI DARN NIT HEAD -34: ASK RICE BEAU GINA DOUR STAG -... -56: AMOS BOWL LUG FAT CAIN INCH -57: GROW HAYS TUN DISH CAR BALM</screen> - </informalexample> - - - <para>L'option <option>-n 25</option> demande vingt-cinq clés en - séquence; l'option <option>57</option> indique le rang de la - <emphasis>dernière</emphasis> itération; le reste a été décrit - plus haut. Notez que les clés sont imprimées dans l'ordre inverse - de celui où elles seront éventuellement utilisées. Si vous êtes - vraiment paranoïde, vous pouvez les recopier à la main, sinon - vous pouvez les couper-coller vers la commande - <command>lpr</command>. Remarquez que chaque ligne liste et le - nombre d'itérations et le mot de passe non réutilisable; vous - trouverez cependant probablement pratique de rayer les mots de - passe au fur et à mesure de leur utilisation.</para> - -</sect2> - -<sect2> - <title>Restreindre l'utilisation des mots de passe Unix</title> - - <para>Le fichier de configuration - <filename>/etc/skey.access</filename> peut servir à définir des - restrictions d'utilisation des mots de passe Unix en fonction des - noms de machine et d'utilisateur, de la ligne utilisée par le - terminal ou de l'adresse IP de la machine connectée à distance. Le - format détaillé de ce fichier est décrit dans la page de manuel de - <citerefentry><refentrytitle>skey.access</refentrytitle><manvolnum>5</manvolnum></citerefentry>; - elle inclut aussi des avertissements relatifs à la sécurité qu'il - faut lire avant de se fier à ce fichier pour sa sécurité.</para> - - <para>S'il n'y a pas de fichier <filename>/etc/skey.access</filename> - (ce qui est le cas par défaut avec la distribution de FreeBSD), - tous les utilisateurs pourront se servir de mots de passe Unix. - Si le fichier existe, alors tous les utilisateurs devront passer - par S/Key, à moins qu'ils ne soient explicitement autorisés à ne - pas le faire par des instructions du fichier - <filename>skey.access</filename>. Dans tous les cas, l'usage - de mots de passe Unix est autorisé sur la console système.</para> - - <para>Voici un exemple de fichier de configuration qui illustre - les trois types d'instructions les plus courants:</para> - - <programlisting> -permit internet 18.26.0.0 255.255.0.0 -permit user jrl -permit port ttyd0 - </programlisting> - - <para>La première ligne (<literal>permit - internet</literal>) autorise les utilisateurs dont les adresses - IP (ce qui rend vulnérable en cas d'usurpation) appartiennent - au sous-réseau spécifié à employer des mots de passe Unix. Il ne - faut pas considérer cela comme une mesure de sécurité, mais plutôt - comme un moyen de rappeler aux utilisateurs qu'ils sont sur un - réseau non sécurisé et qu'ils doivent utiliser S/Key pour - s'authentifier.</para> - - <para>La seconde ligne (<literal>permit user</literal>) - autorise l'utilisateur désigné à employer n'importe quand des - mots de passe Unix. En général, il faut se servir de cette - possibilité si les gens soit n'ont pas moyen d'utiliser - le programme <command>key</command>, s'ils ont par exemple des - terminaux passifs, soit s'ils sont définitivement réfractaires.</para> - - <para>La troisième ligne (<literal>permit port</literal>) - autorise tous les utilisateurs d'un terminal sur une liaison particulière - à utiliser des mots de passe Unix. On emploie cela pour les connexions - téléphoniques.</para> - - </sect2> - </sect1> - - <sect1 id="kerberos"> - <title>Kerberos</title> - - <para><emphasis>Contribution de &a.markm; (sur la base d'une - contribution de &a.md;).</emphasis></para> - - <para>Kerberos est un protocole réseau supplémentaire qui permet - aux utilisateurs de s'authentifier en passant par l'intermédiaire - d'un serveur sécurisé. Des services comme l'ouverture de session - et la copie à distance, la copie sécurisée de fichiers entre systèmes - et autres fonctionnalités à haut risque deviennent ainsi - considérablement plus sûrs et contrôlables.</para> - - <para>Les instructions qui suivent peuvent être utilisées comme - guide d'installation de Kerberos dans la version distribuée - pour FreeBSD. Vous devriez cependant vous référer aux pages - de manuel correspondantes pour avoir une description complète.</para> - - <para>La distribution Kerberos de FreeBSD n'est pas la distribution - originale de 4.4BSD-Lite, mais eBones, qui avait été - auparavant portée sous FreeBSD 1.1.5.1, et dont les sources ne - proviennent pas des Etats-Unis/Canada, ce qui la rend disponible aux - utilisateurs d'autres pays.</para> - - <para>Pour ces derniers, qui ont besoin d'une distribution légale - de ce logiciel, s'il vous plait, <emphasis>ne vous la procurez - pas</emphasis> depuis un site aux Etats-Unis ou au Canada. Vous - lui causeriez de <emphasis>graves</emphasis> problèmes. Il y a - une copie légale sur - <hostid role="fqdn">skeleton.mikom.csir.co.za</hostid>, qui se - situe en Afrique du Sud.</para> - - - <sect2> - <title>Créer la base de données initiale</title> - - <para>Il faut faire cela uniquement sur le serveur Kerberos. Vérifiez - d'abord qu'il ne traîne pas d'anciennes bases Kerberos. Allez - dans le répertoire <filename>/etc/kerberosIV</filename> et - assurez-vous qu'il ne contient que les fichiers suivants:</para> - - - <informalexample> - <screen>&prompt.root; <userinput>cd /etc/kerberosIV</userinput> -&prompt.root; <userinput>ls</userinput> -README krb.conf krb.realms</screen> - </informalexample> - - - <para>S'il y a d'autres fichiers (comme - <filename>principal.*</filename> ou <symbol>master_key</symbol>), - utilisez la commande <symbol>kdb_destroy</symbol> pour supprimer - l'ancienne base de données Kerberos, ou si Kerberos ne tourne pas, - effacez simplement les fichiers excédentaires avec - <command>rm</command>.</para> - - <para>Vous devez maintenant éditer les fichiers - <filename>krb.conf</filename> et - <filename>krb.realms</filename> pour définir votre domaine - (“realm”) - Kerberos. Pour notre exemple, le domaine sera - <filename>GRONDAR.ZA</filename> et le serveur - <filename>grunt.grondar.za</filename>. Nous éditons ou créons alors - le fichier <filename>krb.conf</filename>:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cat krb.conf</userinput> -GRONDAR.ZA -GRONDAR.ZA grunt.grondar.za admin server -CS.BERKELEY.EDU okeeffe.berkeley.edu -ATHENA.MIT.EDU kerberos.mit.edu -ATHENA.MIT.EDU kerberos-1.mit.edu -ATHENA.MIT.EDU kerberos-2.mit.edu -ATHENA.MIT.EDU kerberos-3.mit.edu -LCS.MIT.EDU kerberos.lcs.mit.edu -TELECOM.MIT.EDU bitsy.mit.edu -ARC.NASA.GOV trident.arc.nasa.gov</screen> - </informalexample> - - <para>Les autres domaines n'ont pas besoin d'être mentionnés. Ils - ne sont là que pour montrer comment une machine peut avoir - connaissance de plusieurs domaines. Pour plus de simplicité, - vous pouvez ne pas les inclure.</para> - - <para>La première ligne indique pour quel domaine cette machine - agit. Les autres lignes définissent les autres - domaines/machines. Chaque ligne comporte d'abord le nom du - domaine, puis le nom de la machine qui est le “centre - de distribution” de ce domaine. Les mots - <literal>admin server</literal> qui suivent signifient que - cette machine est aussi serveur d'administration de la - base de données. Pour plus d'explication sur cette - terminologie, consultez les pages de manuel de Kerberos.</para> - - <para>Il faut maintenant ajouter - <hostid role="fqdn">grunt.grondar.za</hostid> - au domaine <filename>GRONDAR.ZA</filename> et ajouter une entrée - pour mettre toutes les machines du domaine DNS - <hostid role="domainname">.grondar.za</hostid> dans - le domaine Kerberos <filename>GRONDAR.ZA</filename>. Le fichier - <filename>krb.realms</filename> aura alors l'allure - suivante:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cat krb.realms</userinput> -grunt.grondar.za GRONDAR.ZA -.grondar.za GRONDAR.ZA -.berkeley.edu CS.BERKELEY.EDU -.MIT.EDU ATHENA.MIT.EDU -.mit.edu ATHENA.MIT.EDU</screen> - </informalexample> - - <para>Encore une fois, les autres domaines n'ont pas besoin - d'être mentionnés. Ils ne sont là que pour montrer comment - une machine peut avoir connaissance de plusieurs - domaines. Pour plus de simplicité, vous pouvez ne pas les - inclure.</para> - - <para>La première ligne assigne un système - <emphasis>particulier</emphasis> au domaine désigné. - Les autres lignes montrent comment affecter par défaut - les systèmes d'un sous-domaine DNS à un domaine Kerberos - donné.</para> - - <para>Nous pouvons maintenant créer le base de données. Il n'y a à - le faire que sur le serveur Kerberos (ou Centre de Distribution - de Clés). Cela se fait avec la command - <command>kdb_init</command>:</para> - - <informalexample> - <screen>&prompt.root; <userinput>kdb_init</userinput> -<prompt>Realm name [default ATHENA.MIT.EDU ]:</prompt> <userinput>GRONDAR.ZA</userinput> -You will be prompted for the database Master Password. -It is important that you NOT FORGET this password. -(On vous demandera le Mot de Passe Maître de la base de données.) -(Il est important de NE PAS PERDRE ce mot de passe.) - -<prompt>Enter Kerberos master key:</prompt> </screen> - </informalexample> - - <para>Nous devons maintenant sauvegarder la clé pour que les serveurs - sur la machine locale puisse la lire, avec la commande - <command>kstash</command>:</para> - - <informalexample> - <screen>&prompt.root; <userinput>kstash</userinput> - -<prompt>Enter Kerberos master key:</prompt> - -Current Kerberos master key version is 1. - -Master key entered. BEWARE! -(Clé maître saisie. ATTENTION!)</screen> - </informalexample> - - <para>Le mot de passe maître encrypté est enregistré dans - le fichier <filename>/etc/kerberosIV/master_key</filename>.</para> - - </sect2> - - <sect2> - <title>Installer les services</title> - - <para>Il faut ajouter deux entrées (“principals” - <footnote><para>N.d.T.: L'“Introduction à Kerberos 5” - du NCSA - <ulink url="http://www.ncsa.uuic.edu/General/CC/ACES/kerberos/introduction.html">http://www.ncsa.uuic.edu/General/CC/ACES/kerberos/introduction.html</ulink> - explicite cette notion: “Toute entité à laquelle il faut - s'authentifier ou qui doit s'authentifier est un - <foreignphrase>principal</foreignphrase> Kerberos ... - chaque principal a un mot de passe secret qui n'est connu - que de lui-même et du Centre de Distribution de Clés. Chaque - <foreignphrase>principal</foreignphrase> a un nom ... de la - forme - <emphasis>primaire/instance@domaine</emphasis>.”</para></footnote>) - - à la base de données pour <emphasis>chaque</emphasis> système - qui sera sécurisé par Kerberos. Ce sont <literal>kpasswd</literal> - et <literal>rcmd</literal>. Ces deux entrées sont définies pour - chaque système. A chacune de leurs instances est attribuée le nom - du système.</para> - - <para>Ces “démons”, <command>kpasswd</command> et - <command>rcmd</command> permettent aux systèmes de changer - les mots de passe Kerberos et d'exécuter des commandes comme - <command>rcp</command>, <command>rlogin</command> - et <command>rsh</command>.</para> - - <para>Ajoutons donc maintenant ces entrées:</para> - - - <informalexample> - <screen>&prompt.root; <userinput>kdb_edit</userinput> -Opening database... - -<prompt>Enter Kerberos master key:</prompt> - -Current Kerberos master key version is 1. - -Master key entered. BEWARE! -Previous or default values are in [brackets] , -enter return to leave the same, or new value. - -<prompt>Principal name:</prompt> <userinput>passwd</userinput> -<prompt>Instance:</prompt> <userinput>grunt</userinput> - -<Not found>, <prompt>Create [y] ?</prompt> <userinput>y</userinput> - -Principal: passwd, Instance: grunt, kdc_key_ver: 1 -<prompt>New Password:</prompt> <---- entrez RANDOM ici -Verifying password - -<prompt>New Password:</prompt> <---- entrez RANDOM ici - -<prompt>Random password [y] ?</prompt> <userinput>y</userinput> - -Principal's new key version = 1 -<prompt>Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?</prompt> -<prompt>Max ticket lifetime (*5 minutes) [ 255 ] ?</prompt> -<prompt>Attributes [ 0 ] ?</prompt> -Edit O.K. -<prompt>Principal name:</prompt> <userinput>rcmd</userinput> -<prompt>Instance:</prompt> <userinput>grunt</userinput> - -<Not found>, <prompt>Create [y] ?</prompt> - -Principal: rcmd, Instance: grunt, kdc_key_ver: 1 -<prompt>New Password:</prompt> <---- entrez RANDOM ici -Verifying password - -<prompt>New Password:</prompt> <---- entrez RANDOM ici - -<prompt>Random password [y] ?</prompt> - -Principal's new key version = 1 -<prompt>Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?</prompt> -<prompt>Max ticket lifetime (*5 minutes) [ 255 ] ?</prompt> -<prompt>Attributes [ 0 ] ?</prompt> -Edit O.K. -<prompt>Principal name:</prompt> <---- ne rien entrez ici - permet de quitter le programme</screen> - </informalexample> - - - </sect2> - - <sect2> - <title>Créer le fichier des services</title> - - <para>Il faut maintenant extraire toutes les instances qui définissent - les services sur chaque machine. Cela se fait avec la commande - <command>ext_srvtab</command>. Elle crée un fichier qui doit être - copié ou reporté <emphasis>par un moyen sûr</emphasis> dans le - répertoire <filename>/etc/kerberosIV</filename> de chaque client - Kerberos. Ce fichier doit exister sur tous les serveurs et tous - les clients et est crucial au bon fonctionnement de - Kerberos.</para> - - <informalexample> - <screen>&prompt.root; <userinput>ext_srvtab grunt</userinput> -<prompt>Enter Kerberos master key:</prompt> - -Current Kerberos master key version is 1. - -Master key entered. BEWARE! -Generating 'grunt-new-srvtab'....</screen> - </informalexample> - - <para>Cette commande ne génère qu'un fichier temporaire qui doit être - renommé en <filename>srvtab</filename> pour que tous les serveurs - puissent y accéder. Utilisez la commande <command>mv</command> - pour l'installer sur le système d'origine:</para> - - <informalexample> - <screen>&prompt.root; <userinput>mv grunt-new-srvtab srvtab</userinput></screen> - </informalexample> - - <para>Si le fichier est destiné à un client, et que le réseau n'est - pas considéré comme sûr, copiez le fichier - <filename><client>-new-srvtab</filename> sur un support - amovible et transportez-le par un moyen physiquement sûr. N'oubliez - pas de le renommer <filename>srvtab</filename> dans le répertoire - <filename>/etc/kerberosIV</filename> du client, et mettez-le bien - en mode 600:</para> - - <informalexample> - <screen>&prompt.root; <userinput>mv grumble-new-srvtab srvtab</userinput> -&prompt.root; <userinput>chmod 600 srvtab</userinput></screen> - </informalexample> - </sect2> - - <sect2> - <title>Renseigner la base de données</title> - - <para>Il faut maintenant créer des entrées utilisateurs dans la base - de données. Ajoutons une entrée pour l'utilisateur - <username>jeanne</username>. Utilisez la commande - <command>kdb_edit</command> pour cela:</para> - - <informalexample> - <screen>&prompt.root; <userinput>kdb_edit</userinput> -Opening database... - -<prompt>Enter Kerberos master key:</prompt> - -Current Kerberos master key version is 1. - -Master key entered. BEWARE! -Previous or default values are in [brackets] , -enter return to leave the same, or new value. - -<prompt>Principal name:</prompt> <userinput>jeanne</userinput> -<prompt>Instance:</prompt> - -<Not found>, <prompt>Create [y] ?</prompt> <userinput>y</userinput> - -Principal: jeanne, Instance: , kdc_key_ver: 1 -<prompt>New Password:</prompt> <---- entrez un mot de passe sûr ici -Verifying password - -<prompt>New Password:</prompt> <---- réentrez le mot de passe sûr là -Principal's new key version = 1 -<prompt>Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?</prompt> -<prompt>Max ticket lifetime (*5 minutes) [ 255 ] ?</prompt> -<prompt>Attributes [ 0 ] ?</prompt> -Edit O.K. -<prompt>Principal name:</prompt> <---- ne rien entrer ici permet - de quitter le programme</screen> - </informalexample> - </sect2> - - <sect2> - <title>Tester l'ensemble</title> - - <para>Il faut d'abord démarrer les “démons” Kerberos. - NOTEZ que si vous avez correctement modifié votre fichier - <filename>/etc/rc.conf</filename>, cela se fera automatiquement - au redémarrage du système. Ce n'est nécessaire que sur le serveur - Kerberos. Les clients Kerberos récupéreront automagiquement les - informations dont ils ont besoin via leur répertoire - <filename>/etc/kerberosIV</filename>.</para> - - <informalexample> - <screen>&prompt.root; <userinput>kerberos &</userinput> -Kerberos server starting -Sleep forever on error -Log file is /var/log/kerberos.log -Current Kerberos master key version is 1. - -Master key entered. BEWARE! - -Current Kerberos master key version is 1 -Local realm: GRONDAR.ZA -&prompt.root; <userinput>kadmind -n &</userinput> -KADM Server KADM0.0A initializing -Please do not use 'kill -9' to kill this job, use a -regular kill instead -(S'il vous plait, n'utilisez pas kill -9 pour arrêter - le programme, utilisez kill à la place) - -Current Kerberos master key version is 1. - -Master key entered. BEWARE!</screen> - </informalexample> - - <para>Vous pouvez maintenant utiliser la commande - <command>kinit</command> pour obtenir un - “ticket d'entrée” - pour l'utilisateur <username>jeanne</username> que nous avons créé - plus haut :</para> - - <informalexample> - <screen>&prompt.user; <userinput>kinit jeanne</userinput> -MIT Project Athena (grunt.grondar.za) -Kerberos Initialization for "jeanne" -<prompt>Password:</prompt> </screen> - </informalexample> - - <para>Essayons de lister les informations associées avec la commande - <command>klist</command> pour voir si nous avons vraiment tout - ce qu'il nous faut:</para> - - <informalexample> - <screen>&prompt.user; <userinput>klist</userinput> -Ticket file: /tmp/tkt245 -Principal: jeanne@GRONDAR.ZA - - Issued Expires Principal -Apr 30 11:23:22 Apr 30 19:23:22 krbtgt.GRONDAR.ZA@GRONDAR.ZA</screen> - </informalexample> - - <para>Essayons maintenant de changer de mot de passe avec la commande - <command>passwd</command> pour voir si le “démon” - <command>kpasswd</command> est autorisé à accéder à la base de - données Kerberos:</para> - - <informalexample> - <screen>&prompt.user; <userinput>passwd</userinput> -realm GRONDAR.ZA -<prompt>Old password for jeanne:</prompt> -<prompt>New Password for jeanne:</prompt> -Verifying password -<prompt>New Password for jeanne:</prompt> -Password changed.</screen> - </informalexample> - </sect2> - - <sect2> - <title>Autoriser l'utilisation de la commande <command>su</command></title> - - <para>Kerberos permet d'attribuer à <emphasis>chaque</emphasis> - utilisateur qui a besoin des droits du super-utilisateur son - <emphasis>propre</emphasis> mot de passe <command>su</command>. Nous - pouvons créer un identifiant qui soit autorisé à utiliser - <command>su</command> pour devenir <username>root</username>. Cela - se fait en associant une instance <username>root</username> à - l'identificateur de base. Avec la commande - <command>kdb_edit</command> nous créons l'entrée - <literal>jeanne.root</literal> dans la base de données - Kerberos:</para> - - <informalexample> - <screen>&prompt.root; <userinput>kdb_edit</userinput> -Opening database... - -<prompt>Enter Kerberos master key:</prompt> - -Current Kerberos master key version is 1. - -Master key entered. BEWARE! -Previous or default values are in [brackets] , -enter return to leave the same, or new value. - -<prompt>Principal name:</prompt> <userinput>jeanne</userinput> -<prompt>Instance:</prompt> <userinput>root</userinput> - -<Not found>, Create [y] ? y - -Principal: jeanne, Instance: root, kdc_key_ver: 1 -<prompt>New Password:</prompt> <---- entrez un mot de passe SUR ici -Verifying password - -<prompt>New Password:</prompt> <---- réentrez le mot de passe là - -Principal's new key version = 1 -<prompt>Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ?</prompt> -<prompt>Max ticket lifetime (*5 minutes) [ 255 ] ?</prompt> <userinput>12</userinput> <--- Laissez une valeur faible! -<prompt>Attributes [ 0 ] ?</prompt> -Edit O.K. -<prompt>Principal name:</prompt> <---- ne rien entrer ici - permet de quitter le programme</screen> - </informalexample> - - <para>Vérifions maintenant les caractéristiques associées pour voir si cela marche:</para> - - <informalexample> - <screen>&prompt.root; <userinput>kinit jeanne.root</userinput> -MIT Project Athena (grunt.grondar.za) -Kerberos Initialization for "jeanne.root" -<prompt>Password:</prompt></screen> - </informalexample> - - <para>Il faut maintenant ajouter l'utilisateur au fichier - <filename>.klogin</filename> de root:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cat /root/.klogin</userinput> -jeanne.root@GRONDAR.ZA</screen> - </informalexample> - - <para>Essayons maintenant la commande <command>su</command>:</para> - - <informalexample> - <screen>&prompt.user; <prompt>su</prompt> -<prompt>Password:</prompt></screen> - </informalexample> - - <para>et voyons quelles sont nos caractéristiques:</para> - - <informalexample> - <screen>&prompt.root; klist -Ticket file: /tmp/tkt_root_245 -Principal: jeanne.root@GRONDAR.ZA - - Issued Expires Principal -May 2 20:43:12 May 3 04:43:12 krbtgt.GRONDAR.ZA@GRONDAR.ZA</screen> - </informalexample> - </sect2> - - <sect2> - <title>Utiliser d'autres commandes</title> - - <para>Dans l'exemple précédent, nous avons créé une entrée principale - <literal>jeanne</literal> avec une instance <literal>root</literal>. - Elle reposait sur un utilisateur ayant le même nom que l'entrée - principale. C'est ce que fait Kerberos par défaut; - une <literal><entrée_principale>.<instance></literal> - de la forme - <literal><nom_d_utilisateur>.</literal><literal>root</literal> - autorisera - <literal><nom_d_utilisateur></literal> à utiliser - <command>su</command> pour devenir root si le fichier - <filename>.klogin</filename> du répertoire utilisateur de - <username>root</username> est correctement renseigné:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cat /root/.klogin</userinput> -jeanne.root@GRONDAR.ZA</screen> - </informalexample> - - <para>De même, s'il y a dans un répertoire utilisateur - des lignes de la forme:</para> - - <informalexample> - <screen>&prompt.user; <userinput>cat ~/.klogin</userinput> -jeanne@GRONDAR.ZA -jacques@GRONDAR.ZA</screen> - </informalexample> - - <para>Cela permet à quiconque dans le domaine - <filename>GRONDAR.ZA</filename> - s'est authentifié en tant que - <username>jeanne</username> ou <username>jacques</username> (avec - <command>kinit</command>, voir plus haut) d'accéder avec - <command>rlogin</command> au compte de - <username>jeanne</username> ou à ses fichiers sur ce système - (<hostid>grunt</hostid>) avec <command>rlogin</command>, <command>rsh</command> ou - <command>rcp</command>.</para> - - <para>Par exemple, jeanne ouvre maintenant une session sur un autre - système, avec Kerberos:</para> - - <informalexample> - <screen>&prompt.user; <userinput>kinit</userinput> -MIT Project Athena (grunt.grondar.za) -<prompt>Password:</prompt> -%prompt.user; <userinput>rlogin grunt</userinput> -Last login: Mon May 1 21:14:47 from grumble -Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 - The Regents of the University of California. All rights reserved. - -FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen> - </informalexample> - - <para>ou bien jacques ouvre une session sur le compte de jeanne - sur la même machine (jeanne ayant modifié son fichier - <filename>.klogin</filename> comme décrit plus haut, et - l'administrateur de Kerberos ayant défini une entrée principale - <emphasis>jacques</emphasis>, sans instance:</para> - - <informalexample> - <screen>&prompt.user; <userinput>kinit</userinput> -&prompt.user; <userinput>rlogin grunt -l jeanne</userinput> -MIT Project Athena (grunt.grondar.za) -<prompt>Password:</prompt> -Last login: Mon May 1 21:16:55 from grumble -Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 - The Regents of the University of California. All rights reserved. -FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen> - </informalexample> - </sect2> - </sect1> - - <sect1 id="firewalls"> - <title>Coupe-Feux</title> - - <para><emphasis>Contribution de &a.gpalmer; et - &a.alex;.</emphasis></para> - - <para>Les coupe-feux suscitent un intérêt croissant de la part de gens - qui se connectent à l'Internet, et sont même installés sur des - réseaux privés pour accroître leur sécurité. Cette section vise à - vous expliquer ce que sont les coupe-feux, comment les utiliser - et comment mettre en oeuvre les possibilités offertes par le noyau - de FreeBSD pour les implémenter.</para> - - <note> - <para>Les gens pensent souvent qu'avoir un coupe-feu entre le - réseau interne de leur entreprise et le - “Grand Méchant Internet” - résoud tous leurs problèmes de sécurité.</para> - - <para>Cela peut y concourir, mais une système de coupe-feu mal - configuré présente pour la sécurité un risque plus grand que - de ne pas en avoir du tout. Un coupe-feu ajoute une couche - protectrice - supplémentaire à votre système, mais ne sera pas capable - d'empêcher un pirate réellement déterminé de pénétrer votre - réseau interne. Si vous êtes laxiste quant à votre - sécurité interne parce que vous croyez votre coupe-feu - impénétrable, vous avez tout bonnement simplifié la tâche - des pirates.</para> - </note> - - - <sect2> - <title>Qu'est-ce qu'un coupe-feu?</title> - - <para>Il y a aujourd'hui deux types de coupe-feux différents - d'utilisation courante sur l'Internet. Le premier est appelé - plus justement <emphasis>routeur filtrant</emphasis>, quand - le noyau d'une machine interconnectée à plusieurs réseaux - sélectionne, en appliquant un ensemble de règles, les paquets - qu'il transmet ou rejette. Le second, désigné par le terme - de <emphasis>serveurs mandataires</emphasis>, s'appuie sur - des “démons” pour assurer l'authentification - et transmettre les paquets, éventuellement sur une machine - interconnectée dont la transmission de paquets au niveau - du noyau est désactivée.</para> - - <para>Les sites combinent parfois ces deux approches, de telle - sorte qu'une machine seulement (appelée - <emphasis>bastion</emphasis>) soit autorisée à envoyer des - paquets, via un routeur filtrant, sur le réseau interne. Les - services mandatés, qui sont généralement plus sûrs que les - mécanismes habituels d'authentification, - sont fournis par le bastion.</para> - - <para>Le noyau de FreeBSD inclut une fonctionnalité de filtrage - de paquets (appelée <application>IPFW</application>), dont traite - essentiellement la suite de cette section. Des serveurs mandataires - sous FreeBSD peuvent être mis en oeuvre avec des logiciels - extérieurs, mais il y a une telle variété de serveurs mandataires - qu'il est impossible de les décrire dans ce document.</para> - - <sect3 - id="firewalls-packet-filters"> - <title>Routeurs filtrants</title> - - <para>Un routeur est une machine qui transmet des paquets entre - plusieurs réseaux. Le noyau d'un routeur filtrant comporte - en plus du code qui applique à chaque paquet un jeu de - règles pour décider de le transmettre ou non. La plupart - des logiciels récents de routage IP comportent du code de - filtrage de paquets. Pour l'utiliser, vous devez fournir - au filtre un ensemble de règles sur la base desquelles il - peut décider d'autoriser ou non la transmission des - paquets.</para> - - <para>Pour décider si le paquet peut passer ou non, le code - parcourt les règles jusqu'à ce qu'il en trouve une qui - corresponde aux en-têtes du paquet. Il effectue alors - l'opération associée à la règle. Ce peut être rejeter - le paquet, le transmettre, ou même répondre par un - message ICMP à l'émetteur. La première règle trouvée, en - séquence, est seule prise en considération. On peut donc - parler d'une “chaîne de règles”.</para> - - <para>Les critères de sélection des paquets varient selon - les logiciels, mais vous pouvez typiquement définir des - règles basées sur les adresses IP de l'émetteur et du - destinataire, les ports source et destination (pour les - protocoles qui supportent les ports), voir le type de paquet - (UDP, TCP, ICMP, etc...).</para> - - </sect3> - - <sect3 - id="firewalls-proxy-servers"> - <title>Serveurs mandataires</title> - - <Para>Les serveurs mandataires sont des machines sur lesquelles - les “démons” du système standard - (telnetd, ftpd, etc) sont remplacés par des serveurs spéciaux. - Ce sont ces serveurs que l'on appelle <emphasis>serveurs - mandataires</emphasis>, car ils n'autorisent normalement que - les connexions entrantes. Cela permet (par exemple), - avec un serveur mandataire telnet sur votre bastion, aux gens - de se connecter de l'extérieur et d'accéder à votre réseau - interne, après avoir satisfait à un mécanisme d'authentification - (inversement, des serveurs mandataires peuvent être utilisés - pour les connexions du réseau interne vers l'extérieur).</para> - - <para>Les serveurs mandataires sont généralement plus sûrs que les - serveurs ordinaires et disposent d'une plus grande variété de - mécanismes d'authentification, dont les mots de passe “à - usage unique”, de façon à ce que, - même si quelqu'un arrive à - surprendre votre mot de passe, il ne puisse l'utiliser pour - accéder à vos systèmes, puisqu'il expire aussitôt. Comme ils - ne donnent pas aux utilisateurs l'accès à la machine qui les - héberge, il en est d'autant plus difficile d'installer une - entrée dérobée dans votre système de sécurité.</para> - - <para>Les serveurs mandataires ont aussi souvent la possibilité - de restreindre encore l'accès, de telle façon que seules - certaines machines y soient autorisées, et peuvent aussi - la plupart du temps être configurés - pour définir quels utilisateurs - peuvent accéder aux machines cibles. Là encore, les - fonctionnalités disponibles dépendent des logiciels que - vous choisissez.</para> - - </sect3> - </sect2> - - <sect2> - <title>Que me permet de faire IPFW?</title> - - <para><application>IPFW</application>, le logiciel fourni avec - FreeBSD, est un système de filtrage de paquets et de comptabilité - qui est intégré au noyau, et comporte un outil de configuration - accessible à l'utilisateur, - <citerefentry><refentrytitle>ipfw</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Ensemble, ils vous permettent de définir et de consulter - les règles appliquées par le noyau pour prendre ses décisions de - routage.</para> - - <para><application>IPFW</application> comporte deux parties. Le - coupe-feu s'occupe du filtrage de paquets. Il y a aussi une - partie comptabilité IP, qui vous permet de tracer l'utilisation - de votre routeur, sur la base de règles similaires à celle - utilisée par le coupe-feu. Vous pouvez (par exemple) savoir - quel trafic votre routeur reçoit d'une machine donnée, ou quel - volume de requêtes WWW (“World Wide Web”) il - transmet.</para> - - <para>De par la conception d'<application>IPFW</application>, - vous pouvez l'utiliser sur une machine qui ne fait pas de - routage, pour filtrer les connexions entrantes et sortantes. - C'est un cas plus particulier d'application - d'<application>IPFW</application> que l'usage général, qui - se gère avec les mêmes commandes et les mêmes techniques.</para> - - </sect2> - - <sect2> - <title>Activer IPFW sur FreeBSD</title> - - <para>Comme la majeure partie du système - <application>IPFW</application> est intégrée au noyau, - vous devrez ajouter une ou plusieurs options à votre - fichier de configuration du noyau, selon les possibilités - que vous voulez utiliser, et recompiler votre noyau. - Reportez-vous au chapitre - <link linkend="kernelconfig">Configurer le noyau de FreeBSD</link> - pour plus de détails sur la recompilation - du noyau.</para> - - <para>Il y a trois options de configuration du noyau qui concernent - <application>IPFW</application>:</para> - - - <variablelist> - <varlistentry><term>options IPFIREWALL</term> - <listitem> - <para>Intègre au noyau le code de filtrage de - paquets.</para> - </listitem> - </varlistentry> - - <varlistentry><term>options IPFIREWALL_VERBOSE</term> - - <listitem> - <para>Donne au code la possibilité de tracer les paquets via - <citerefentry><refentrytitle>syslogd</refentrytitle><manvolnum>8</manvolnum></citerefentry>. - Sans cette option et même si vous précisez dans vos règles - que les paquets doivent être tracés, rien ne se - passera.</para> - </listitem> - </varlistentry> - - <varlistentry><term>options IPFIREWALL_VERBOSE_LIMIT=10</term> - - <listitem> - <para>Limite le nombre de paquets similaires tracés. Cette - option peut être utile dans un environnement hostile, si - vous voulez surveiller l'activité de votre coupe-feu, tout - en évitant les attaques par refus de service qui - submergeraient <command>syslog</command>.</para> - - <para>Quand une règle atteint le nombre limite de paquets - identiques, la trace est désactivée pour cette règle. - Pour la remettre en service, vous devrez réinitialiser - le compteur associé avec l'utilitaire - <citerefentry><refentrytitle>ipfw</refentrytitle><manvolnum>8</manvolnum></citerefentry>:</para> - - <informalexample> - <screen>&prompt.root; <userinput>ipfw zero 4500</userinput></screen> - </informalexample> - - <para>où 4500 est le numéro de la règle que vous voulez de - nouveau tracer.</para> - </listitem> - </varlistentry> - </variablelist> - - - <para>Il y avait, dans les versions antérieures de FreeBSD, une - option <literal>IPFIREWALL_ACCT</literal>. Elle est maintenant - obsolète. Le code du coupe-feu intègre désormais automatiquement - les fonctions comptables.</para> - - </sect2> - - <sect2> - <title>Configurer IPFW</title> - - <para>La configuration du logiciel <application>IPFW</application> - se fait avec l'utilitaire <citerefentry><refentrytitle>ipfw</refentrytitle><manvolnum>8</manvolnum></citerefentry>. La syntaxe de cette commande - paraît assez compliquée, mais elle est relativement simple, une - fois que vous en avez compris la structure.</para> - - <para>L'utilitaire comporte quatre catégories de commandes: - ajout/suppression, liste, vidage, réinitialisation. On ajoute - et l'on supprime des règles de filtrage. On liste les règles. - On vide la séquence de règles, pour supprimer toutes les règles. - On réinitialise les informations comptables.</para> - - - <sect3> - <title>Modifier les règles IPFW</title> - - <para>La syntaxe pour ce type de commande est: - <cmdsynopsis> - <command>ipfw</command> - <arg>-N</arg> - <arg choice="plain">commande</arg> - <arg>index</arg> - <arg choice="plain">action</arg> - <arg>log</arg> - <arg choice="plain">protocole</arg> - <arg choice="plain">adresses</arg> - <arg>options</arg> - </cmdsynopsis></para> - - <para>Il n'y a qu'un seul indicateur avec ce type de - commande:</para> - - - <variablelist> - <varlistentry><term>-N</term> - <listitem> - <para>Résoudre les adresses et les noms de services - dans les sorties.</para> - - </listitem> - </varlistentry> - </variablelist> - - - <para>La <emphasis>commande</emphasis> peut être raccourcie - à son abbréviation univoque la plus courte. Les - <emphasis>commandes</emphasis> valides sont:</para> - - - <variablelist> - <varlistentry><term>add</term> - <listitem> - <para>Ajoute une entrée à la liste des règles de - filtrage/comptabilité.</para> - </listitem> - </varlistentry> - - <varlistentry><term>delete</term> - - <listitem> - <para>Supprime une entrée de la liste des règles de - filtrage/comptabilité.</para> - </listitem> - </varlistentry> - </variablelist> - - - <para>Des versions antérieures d'<application>IPFW</application> - séparaient les règles de filtrage et celles de comptabilité. - La version actuelle autorise la comptabilisation de chaque - règle de filtrage.</para> - - <para>L'<emphasis>index</emphasis>, s'il est renseigné, permet - d'insérer la règle à un point précis de la séquence. Sinon, - la règle est ajoutée en fin de séquence avec un index de 100 - supérieur à la dernière règle existante (à - l'exception de la règle par défaut, 65535, - “deny”).</para> - - <para>L'option <literal>log</literal> active la trace de la - règle à la console système, si le noyau a été compilé avec - l'option <literal>IPFIREWALL_VERBOSE</literal>.</para> - - <para>Les <emphasis>actions</emphasis> valides sont:</para> - - - <variablelist> - <varlistentry><term>reject</term> - <listitem> - <para>Refuse le paquet, et envoie un message ICMP - hôte ou port non joignable (selon le cas) à - l'émetteur.</para> - </listitem> - </varlistentry> - - <varlistentry><term>allow</term> - - <listitem> - <para>Transmet normalement le paquet (alias: - <literal>pass</literal> et - <literal>accept</literal>). </para> - </listitem> - </varlistentry> - - <varlistentry><term>deny</term> - - <listitem> - <para>Rejette le paquet. N'envoie pas de message - ICMP à l'émetteur (tout ce passe comme si le paquet - n'était jamais arrivé à destination).</para> - </listitem> - </varlistentry> - - <varlistentry><term>count</term> - - <listitem> - <para>Met à jour les informations comptables, mais le paquet - n'est pas accepté/rejeté sur la base de cette règle. Le - filtrage se poursuit avec la règle suivante de la - séquence.</para> - </listitem> - </varlistentry> - </variablelist> - - - <para>Chaque <emphasis>action</emphasis> est identifiable - par son abbréviation univoque la plus courte.</para> - - <para>Les <emphasis>protocoles</emphasis> qui peuvent être - précisés sont:</para> - - - <variablelist> - <varlistentry><term>all</term> - <listitem> - <para>N'importe quel paquet IP.</para> - </listitem> - </varlistentry> - - <varlistentry><term>icmp</term> - - <listitem> - <para>Les paquets ICMP.</para> - </listitem> - </varlistentry> - - <varlistentry><term>tcp</term> - - <listitem> - <para>Les paquets TCP.</para> - </listitem> - </varlistentry> - - <varlistentry><term>udp</term> - - <listitem> - <para>Les paquets UDP.</para> - </listitem> - </varlistentry> - </variablelist> - - - <para>Les <emphasis>adresses</emphasis> sont représentées comme - suit:</para> - - <cmdsynopsis> - <arg choice="plain">from</arg> - <arg choice="plain"><replaceable>adresse/masque</replaceable></arg><arg><replaceable>port</replaceable></arg> - <arg choice="plain">to</arg> - <arg choice="plain"><replaceable>adresse/masque</replaceable></arg><arg><replaceable>port</replaceable></arg> - <arg>via <replaceable>interface</replaceable></arg> - </cmdsynopsis> - - <para>Vous ne pouvez spécifier le <replaceable>port</replaceable> - qu'avec les <emphasis>protocoles</emphasis> qui les supportent - (UDP et TCP).</para> - - <para>Le paramètre <option>via</option> est optionnel et définit - soit l'adresse IP, soit le nom de domaine d'une interface IP - locale, soit le nom d'une interface - (e.g. <devicename>ed0</devicename>) pour que la règle ne - s'applique qu'aux paquets passant par cette interface. Le - numéro d'unité de l'interface peut être remplacé par un - caractère de substitution. Par exemple, <literal>ppp*</literal> - désigne toutes les interfaces associées au module PPP intégré au - noyau.</para> - - <para>La syntaxe utilisée pour - <replaceable>adresse/masque</replaceable> est:</para> - - <informalexample> - <screen><replaceable>adresse</replaceable></screen> - </informalexample> - - <para>ou:</para> - - <informalexample> - <screen><replaceable>adresse</replaceable>/<replaceable>longueur_du_masque</replaceable></screen> - </informalexample> - - <para>ou:</para> - - <informalexample> - <screen><replaceable>adresse</replaceable>:<replaceable>masque_logique</replaceable></screen> - </informalexample> - - <para>Un nom de machine valide peut remplacer l'adresse IP. - <option><replaceable>longueur_du_masque</replaceable></option> est - une valeur décimale indiquant combien de digits de l'adresse - doivent correspondre. e.g. <literal>192.216.222.1/24</literal> - génère un masque tel que toutes les adresses d'un sous-réseau de - classe C (dans ce cas, 192.216.222) soient sélectionnées. - <option><replaceable>masque_logique</replaceable></option> est - une adresse IP telle que le masque soit obtenu par intersection - logique (“ET”) avec l'adresse associée. Le mot-clé - <literal>any</literal> peut être utilisé pour indiquer - “n'importe quelle adresse IP”.</para> - - <para>Les numéros des ports à bloquer sont indiqués par: - - <cmdsynopsis> - <arg choice="plain"><replaceable>port</replaceable><arg>,<replaceable>port</replaceable><arg>,<replaceable>port</replaceable><arg>...</arg></arg></arg></arg> - </cmdsynopsis>pour donner un seul port ou une liste de ports, ou: - - <cmdsynopsis> - <arg choice="plain"><replaceable>port</replaceable>-<replaceable>port</replaceable></arg> - </cmdsynopsis>pour donner une plage de valeurs. On peut aussi - combiner une seule plage et une liste, mais la plage doit toujours - être indiquée en premier.</para> - - <para>Les <emphasis>options</emphasis> disponibles sont:</para> - - - <variablelist> - <varlistentry><term>frag</term> - <listitem> - <para>Le paquet correspond si ce n'est pas le premier - fragment d'un datagramme.</para> - </listitem> - </varlistentry> - - <varlistentry><term>in</term> - - <listitem> - <para>Le paquet correspond si c'est un paquet - entrant.</para> - </listitem> - </varlistentry> - - <varlistentry><term>out</term> - - <listitem> - <para>Le paquet correspond si c'est un paquet - sortant.</para> - </listitem> - </varlistentry> - - <varlistentry><term>ipoptions <replaceable>options</replaceable></term> - - <listitem> - <para>Le paquet correspond si son en-tête IP contient les - options - séparées par des virgules - de la liste - d'<replaceable>options</replaceable>. Les options IP - reconnues sont: <literal>ssrr</literal> - (“strict source route” - routage strict - par la source) - <literal>lsrr</literal> - (“loose source route” - routage souple - par la source), - <literal>rr</literal> (“record packet - route” - enregistrer la route du paquet), - et <literal>ts</literal> - (“timestamp” - date). L'absence d'une - option est indiquée en la faisant précéder d'un - <literal>!</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry><term>established</term> - - <listitem> - <para>Le paquet correspond s'il fait partie - d'une connexion TCP déjà établie, - (i.e. si le bit RST ou ACK - est positionné). Vous pouver optimiser les performances - du coupe-feu en introduisant une règle - <emphasis>established</emphasis> - assez tôt dans la séquence.</para> - </listitem> - </varlistentry> - - <varlistentry><term>setup</term> - - <listitem> - <para>Le paquet correspond si c'est un paquet qui initialise - une connexion TCP (Le bit SYN est positionné mais pas le - bit ACK).</para> - </listitem> - </varlistentry> - - <varlistentry><term>tcpflags <replaceable>indicateurs</replaceable></term> - - <listitem> - <para>Le paquet correspond si son en-tête contient les - indicateurs - séparés par des virgules - de la - liste d'<replaceable>indicateurs</replaceable>. Les - indicateurs reconnus sont <literal>fin</literal>, - <literal>syn</literal>, <literal>rst</literal>, - <literal>psh</literal>, <literal>ack</literal>, et - <literal>urg</literal>. L'absence d'un indicateur donné - est indiquée en le faisant précéder d'un - <literal>!</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry><term>icmptypes <replaceable>types</replaceable></term> - - <listitem> - <para>Le paquet correspond si son type ICMP appartient à la - liste <replaceable>types</replaceable>. La liste est - donnée sous forme d'une combinaison de plages et/ou de - types séparés par des virgules. Les types ICMP - habituellement utilisés sont: - <literal>0</literal> “echo reply” (réponse à - un <command>ping</command>), - <literal>5</literal> “redirect” - (modification de la route), <literal>8</literal> - “echo request” (émis par - <command>ping</command>), et - <literal>11</literal> “time exceeded” - (utilisé pour indiquer que le TTL - “Time To - Live” - durée de vie - ,a été atteint, avec - <citerefentry><refentrytitle>traceroute</refentrytitle><manvolnum>8</manvolnum></citerefentry>, par exemple).</para> - </listitem> - </varlistentry> - </variablelist> - - - </sect3> - - <sect3> - <title>Lister les règles IPFW</title> - - <para>La syntaxe de cette forme de la commande est: - <cmdsynopsis> - <command>ipfw</command> - <arg>-a</arg> - <arg>-t</arg> - <arg>-N</arg> - <arg choice="plain">l</arg> - </cmdsynopsis></para> - - <para>Il y a trois indicateurs valides avec ce type de - commande:</para> - - - <variablelist> - <varlistentry><term>-a</term> - <listitem> - <para>Affiche avec la liste, les valeurs des compteurs. - Cette option est le seul moyen de consulter les - informations comptables.</para> - </listitem> - </varlistentry> - - <varlistentry><term>-t</term> - - <listitem> - <para>Affiche la date de dernière concordance pour chaque - règle de la séquence. Le format d'affichage n'est - pas compatible avec la syntaxe d'entrée de l'utilitaire - <citerefentry><refentrytitle>ipfw</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para> - </listitem> - </varlistentry> - - <varlistentry><term>-N</term> - - <listitem> - <para>Essaye de résoudre les adresses et le noms des - services.</para> - </listitem> - </varlistentry> - </variablelist> - - - </sect3> - - <sect3> - <title>Vider les règles IPFW</title> - - <para>La commande pour vider les règles est: - <cmdsynopsis> - <command>ipfw</command> - <arg choice="plain">flush</arg> - </cmdsynopsis></para> - - <para>Toutes les règles de la séquence sont supprimées, sauf - la règle par défaut définie par le noyau (index 65535). Faites - attention quand vous utilisez cette commande, la règle par - défaut “deny” isolera votre coupe-feu du réseau - jusqu'à ce qu'une nouvelle règle “allow” soit - ajoutée à la séquence.</para> - - </sect3> - - <sect3> - <title>Réinitialiser les compteurs IPFW</title> - - <para>La syntaxe pour réinitialiser un ou plusieurs compteurs de - paquets est: - <cmdsynopsis> - <command>ipfw</command> - <arg choice="plain">zero</arg> - <arg choice="opt"><replaceable>index</replaceable></arg> - </cmdsynopsis></para> - - <para>Employée sans l'argument - <replaceable>index</replaceable>, tous les compteurs sont - réinitialisés. Si un <replaceable>index</replaceable> est - précisé, l'opération ne s'applique qu'à la règle - correspondante.</para> - - </sect3> - </sect2> - - <sect2> - <title>Exemples de commandes IPFW</title> - - <para>Cette commande empêchera le routeur de transmettre tous les - paquets venant de la machine - <hostid role="fqdn">sales.pirates.org</hostid> vers le port - “telnet” de la machine - <hostid role="fqdn">chics.types.org</hostid>:</para> - - <informalexample> - <screen>&prompt.root <userinput>ipfw add deny tcp from sales.pirates.org to chics.types.org 23</userinput></screen> - </informalexample> - - <para>L'exemple suivant rejette tout trafic TCP venant du réseau - <hostid role="domainname">pirates.org</hostid> (un réseau de classe - C) vers la machine - <hostid role="fqdn">chics.types.org</hostid> machine (quel que - soit le port).</para> - - <informalexample> - <screen>&prompt.root; <userinput>ipfw add deny log tcp from sales.pirates.org/24 to chics.types.org</userinput></screen> - </informalexample> - - <para>Si vous ne voulez pas que l'on puisse ouvrir de sessions X - sur votre réseau interne (un sous-réseau d'un réseau de classe C), - la commande suivante applique le filtrage adéquat:</para> - - <informalexample> - <screen>&prompt.root; <userinput>ipfw add deny tcp from any to mon.reseau.org/28 6000 setup</userinput></screen> - </informalexample> - - <para>Pour lister les informations comptables: - - <informalexample> - <screen>&prompt.root; <userinput>ipfw -a list</userinput></screen> - </informalexample> ou en abrégé: - - <informalexample> - <screen>&prompt.root; <userinput>ipfw -a l</userinput></screen> - </informalexample> Vous pouvez aussi voir la dernière date - d'application d'une règle avec: - - <informalexample> - <screen>&prompt.root; <userinput>ipfw -at l</userinput></screen> - </informalexample></para> - - </sect2> - - <sect2> - <title>Mettre en oeuvre un coupe-feu filtrant</title> - - <note> - <para>Les suggestions ci-dessous ne sont rien que des suggestions. - Les contraintes varient d'un coupe-feu à l'autre et je ne peux - pas vous dire comment mettre en place le coupe-feu qui réponde - à votre besoin particulier.</para> - </note> - - <para>Lorsque vous commencez à configurer votre coupe-feu, à moins - que vous n'ayez un banc d'essai pour faire vos tests dans un - environnement que vous contrôlez, je vous conseille - vivement d'utiliser les options de trace des commandes après avoir - compilé un noyau supportant les traces du coupe-feu. Vous pourrez - ainsi identifier rapidement les problèmes et y remédier sans - provoquer trop de gêne. Même par la suite, je vous conseille de - conserver l'option pour les commandes <command>deny</command>, - ce qui vous permettra de tracer les attaques éventuelles et aussi de - modifier vos règles si vos besoins évoluent.</para> - - <note> - <para>Tracer les commandes <command>accept</command> aboutit - à de gros volumes de fichiers de trace, puisqu'il y a une - ligne pour chaque paquet qui transite par le coupe-feu. Les - transferts ftp/http importants ralentissent alors sérieusement - le système. Cela augmente aussi le temps de latence pour ces - paquets, parce que cela demande au noyau plus de traitement - avant de les passer. <command>syslogd</command> utilisera aussi - plus de temps CPU pour écrire toutes ces informations sur disque - et peut même assez rapidement saturer la partition sur laquelle - réside le répertoire <filename>/var/log</filename>.</para> - </note> - - <para>Tel qu'il est livré, FreeBSD ne sait pas charger les règles - du coupe-feu au démarrage du système. Je vous suggère d'appeler - une procédure ad-hoc depuis la procédure - <filename>/etc/netstart</filename>. Mettez cette procédure assez tôt - dans le fichier <filename>netstart</filename>, de sorte que le - coupe-feu soit configuré avant les interfaces IP. Il n'y a ainsi - pas de possibilité d'accès tant que votre réseau est encore - ouvert.</para> - - <para>Employez la méthode que vous voulez pour charger les règles. - La commande <command>ipfw</command> ne peut pas charger toutes - les règles en une seule fois. Je procède de la façon - suivante:</para> - - <informalexample> - <screen>&prompt.root; <userinput>ipfw list</userinput></screen> - </informalexample> - - <para>pour écrire dans un fichier les règles que j'ai définies. Puis - j'édite ce fichier pour ajouter <literal>ipfw</literal> au début - de chaque ligne. La procédure peut alors être exécutée pour - recharger les règles. C'est n'est peut-être pas la façon la - plus efficace de procéder, mais cela marche.</para> - - <para>La question suivante est de savoir ce que votre coupe-feu - doit réellement <emphasis>faire</emphasis>! Cela dépend dans une - large mesure des accès que vous voulez autoriser de l'extérieur - à votre réseau et vice-versa. Voici quelques règles - générales:</para> - - <itemizedlist> - - <listitem> - <para>Bloquez tous les accès entrants sur des ports TCP - en dessous de 1024. C'est là que les services les plus - problématiques pour la sécurité se trouvent, comme - finger, SMTP (courrier électronique) et telnet.</para> - </listitem> - - <listitem> - <para>Bloquez <emphasis>tout</emphasis> traffic UDP entrant. - Il y a très peu de services utiles qui fonctionnent sur UDP, - et les services qui sont utiles menacent généralement la - sécurité (e.g. Les protocoles RPC et NFS de Sun). Cela - présente l'inconvénient que, comme le protocole UDP est - sans état, les réponses aux requêtes UDP sortantes sont - aussi bloquées. Cela peut poser problème à des utilisateurs - internes qui veulent interroger des serveurs archie (prospero) - externes. Si vous voulez autoriser l'accès à archie, vous - devez accepter les paquets UDP venant des ports 191 et 1525 - sur n'importe quel port UDP interne. ntp est un autre service - que vous pouver envisager d'autoriser; il utilise le port - 123.</para> - </listitem> - - <listitem> - <para>Bloquez le trafic entrant vers le port 6000. Le port - 6000 est utilisé pour accèder aux serveurs X11, et peut - présenter des risques pour la sécurité (en particulier - si les gens ont l'habitude d'utiliser - <command>xhost +</command> sur leur station de travail). - X11 peut en fait utiliser une plage de ports commençant - au port 6000, la limite supérieure dépendant du nombre - de sessions d'affichage qu'accepte la machine. La limite - définie par la RFC 1700 est 6063.</para> - </listitem> - - <listitem> - <para>Répertoriez les ports utilisés par les serveurs - internes (e.g. serveurs SQL, ...). C'est probablement - une bonne idée de les bloquer aussi, car ils sont - normalement hors de la plage 1-1024 décrite plus haut.</para> - </listitem> - - </itemizedlist> - - - <para>Le CERT propose d'autres recommendations pour la configuration - d'un coupe-feu à l'adresse - <ulink url="ftp://ftp.cert.org/pub/tech_tips/packet_filtering">ftp://ftp.cert.org/pub/tech_tips/packet_filtering</ulink>.</para> - - <para>Comme je l'ai dit plus haut, ce ne sont que des - <emphasis>propositions</emphasis>. Vous devrez définir vous-même - les règles à appliquer à votre coupe-feu. Je ne peux endosser - AUCUNE responsabilité si quelqu'un s'infiltre sur votre réseau, - même si vous suivez les conseils donnés ci-dessus.</para> - - </sect2> - </sect1> - </chapter> -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-shorttag: nil - sgml-always-quote-attributes: t - sgml-minimize-attributes: max - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> diff --git a/fr_FR.ISO8859-1/books/handbook/serialcomms/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/serialcomms/chapter.sgml deleted file mode 100644 index 0c6273abe8..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/serialcomms/chapter.sgml +++ /dev/null @@ -1,2351 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: n.nn ---> - - <chapter> - <title>Communications série</title> - &trans.a.haby; - - <sect1 id="serial"> - <title>Les bases</title> - - <para><emphasis>Compilées à partir de la FAQ.</emphasis></para> - - <para>Cette section devrait vous donner des informations - générales sur les ports série. Si vous n'y trouvez pas - ce que vous cherchez, consultez les sections de ce manuel - consacrées aux terminaux et aux liaisons téléphoniques.</para> - - <para>Vos applications ouvrirons normalement le fichier spécial - de périphérique <filename>ttyd<replaceable>X</replaceable></filename> - (ou <filename>cuaa<replaceable>X</replaceable></filename>). Quand - un programme ouvre ce fichier, il retrouve normalement un ensemble - de paramètres par défaut pour les entrées/sorties sur le terminal. - Vous pouvez visualiser ces valeurs par défaut avec la commande:</para> - - <informalexample> - <screen>&prompt.root; <userinput>stty -a -f /dev/ttyd1</userinput></screen> - </informalexample> - - <para>Si vous modifiez le paramètrage de ce périphérique, ces - modifications s'appliquent jusqu'à ce que vous fermiez le - périphérique. A la prochaine ouverture, le paramètrage par - défaut s'applique de nouveau. Pour changer le paramètrage - par défaut, vous devez ouvrir et modifier l'“état - initial” du périphérique. Par exemple, pour activer - le mode <acronym>CLOCAL</acronym>, la transmission de données - 8 bits et le contrôle de flux <emphasis>XON/XOFF</emphasis> - par défaut pour la ligne ttyd5, tapez:</para> - - <informalexample> - <screen>&prompt.root; <userinput>stty -f /dev/ttyid5 clocal cs8 ixon ixoff</userinput></screen> - </informalexample> - - <para>Il est bien de confier cela à la procédure - <filename>/etc/rc.serial</filename>. Ces paramètres par défaut - s'appliqueront maintenant lorsqu'une application ouvrira - <filename>ttyd5</filename>. Ce qui ne l'empêche pas de modifier - ces valeurs, si besoin est.</para> - - <para>Vous pouvez aussi empêcher que certaines valeurs puissent - être modifiées par une application en changeant - l'“état verrouillé” du périphérique. Par exemple, - pour fixer la vitesse de <filename>ttyd5</filename> à 57600 bps, - tapez:</para> - - <informalexample> - <screen>&prompt.root; <userinput>stty -f /dev/ttyld5 57600</userinput></screen> - </informalexample> - - <para>Si une application qui ouvre maintenant <filename>ttyd5</filename> - essaie de modifier la vitesse de ce port, elle sera contrainte de - garder la valeur de 57600 bps.</para> - - <para>Vous devriez bien entendu n'autoriser l'écriture - de l'état initial et de l'état bloqué du périphérique qu'au - super-utilisateur <emphasis remap=tt>root</emphasis>. La procédure - <filename>MAKEDEV</filename> <emphasis>NE</emphasis> le fait - <emphasis>PAS</emphasis> quand elle crée les fichiers spéciaux de - périphériques.</para> - - </sect1> - - <sect1 id="term"> - <title>Terminaux</title> - - <para><emphasis>Contribution de &a.kelly;<!-- <br> -->28 Juillet - 1996</emphasis></para> - - <para>Utiliser des terminaux est une solution commode et peu coûteuse - pour disposer de la puissance de votre système FreeBSD lorsque vous - n'êtes pas sur la console de l'ordinateur ou sur un réseau auquel il - est connecté. Cette section vous explique comment utiliser des - terminaux avec FreeBSD.</para> - - <sect2 id="term-uses"> - <title>Usages et types de terminaux</title> - - <para>Les premiers systèmes Unix n'avaient pas de console. Au lieu - de cela, les gens ouvraient des sessions et exécutaient leurs - programmes à partir de terminaux qui étaient connectés aux ports - série de l'ordinateur. C'est un peu la même chose que lorsque - l'on utilise un modem et un logiciel d'émulation de terminal - pour se connecter à un système distant et travailler en mode - texte.</para> - - <para>Les PCs d'aujourd'hui ont des consoles graphiques de - haute résolution, mais la possibilité d'ouvrir une session - sur un port série subsiste toujours sur presque tous les - systèmes d'exploitation de type Unix; FreeBSD ne fait pas - exception à la règle. Avec un terminal relié à un port série - disponible, vous pouvez ouvrir une session - et exécuter des programmes - comme vous le feriez normalement à la console ou dans une - fenêtre <command>xterm</command> avec le gestionnaire - X Window.</para> - - <para>Pour un usage professionnel, vous pouvez connecter de - nombreux terminaux à un système FreeBSD et les installer - sur les bureaux de vos employés. Pour une usage domestique, - un ordinateur inutilisé, un vieux PC ou Macintosh, peut - servir de terminal sur un ordinateur plus puissant sous - FreeBSD. Vous pouvez ainsi faire de ce qui serait sinon un - système mono-utilisateur un puissant système - multi-utilisateurs.</para> - - <para>FreeBSD connaît trois types de terminaux:</para> - - <itemizedlist> - - <listitem> - <para>Les <link linkend="term-dumb">Terminaux - passifs</link>,</para> - </listitem> - - <listitem> - <para>Les <link linkend="term-pcs">PCs servant de - terminaux</link>,</para> - </listitem> - - <listitem> - <para>Les <link linkend="term-x">Terminaux X</link>.</para> - </listitem> - - </itemizedlist> - - <para>Les sections qui suivent décrivent chacun de ces types de - terminaux.</para> - - - <sect3 id="term-dumb"> - <title>Terminaux passifs</title> - - <para>Les terminaux passifs sont des matériels spécialisés qui - vous permettent de vous connecter à votre ordinateur via une - ligne série. On les appelle “passifs” parce qu'ils - ne savent qu'afficher, envoyer et recevoir du texte. Ils ne - peuvent pas exécuter de programmes. C'est l'ordinateur auquel - ils sont connectés qui dispose de tout ce qu'il faut pour faire - tourner les logiciels de traitement de texte, les compilateurs, - la messagerie électroniques, les jeux, et ainsi de suite.</para> - - <para>Il ya a des centaines de modèles de terminaux passifs de - constructeurs différents, dont le VT-100 de Digital Equipment - Corporation et le WY-75 de Wyse. Ils fonctionneront pratiquement - tous avec FreeBSD. Certains terminaux haut de gamme peuvent même - afficher des graphiques, mais seuls certains logiciels tireront - parti de ces possibilités évoluées.</para> - - <para>Les terminaux passifs sont d'usage courant - lorsque les utilisateurs - n'ont pas besoin d'accéder à des outils graphiques tels que ceux - que fournit le système X Window.</para> - - </sect3> - - <sect3 id="term-pcs"> - <title>PCs servant de terminaux</title> - - <para>Si un <link linkend="term-dumb">terminal passif</link> - ne sait qu'afficher, envoyer et recevoir du texte, alors - n'importe quel ordinateur personnel inutilisé peut servir - de terminal passif. Il vous faudra uniquement le câble - adapté et un programme d'<emphasis>émulation de - terminal</emphasis> qui tourne sur cet ordinateur.</para> - - <para>C'est un usage domestique courant. Si votre femme travaille - sur votre console système FreeBSD, vous pouvez travailler en mode - texte en même temps à partir d'une machine moins puissante - connectée comme terminal à votre système FreeBSD.</para> - - </sect3> - - <sect3 id="term-x"> - <title>Terminaux X</title> - - <para>Les terminaux X sont les terminaux les plus sophistiqués, - ils ne se connectent pas à un port série, mais habituellement - à un réseau du type Ethernet. Au lieu d'être cantonnés au mode - texte, ils peuvent afficher des applications X Window.</para> - - <para>Les terminaux X ne sont cités ici que pour être exhaustif. - Ce chapitre <emphasis>ne</emphasis> décrit - <emphasis>pas</emphasis> comment installer, configurer et utiliser - des terminaux X.</para> - - </sect3> - </sect2> - - <sect2 id="term-cables-ports"> - <title>Câbles et Ports</title> - - <para>Pour relier un terminal à votre système FreeBSD, il vous faut - le bon câble et un port série auquel le connecter. Cette section - vous explique comment faire. Si vous savez déjà comment brancher - votre terminal et quel type de câble il vous faut, passez à la - section <link linkend="term-config">Configuration</link>.</para> - - <sect3 id="term-cables"> - <title>Câbles</title> - - <para>Comme les terminaux utilisent les ports série, il vous faudra - un câble série - appelé aussi RS-232C - pour relier le - terminal à votre système FreeBSD.</para> - - <para>Il y a deux sortes de câbles série. Celui que vous utiliserez - dépendra du type de terminal que vous voulez connecter:</para> - - <para> - <itemizedlist> - - <listitem> - <para>Si vous connectez un ordinateur personnel pour servir - de terminal, utilisez un <link linkend="term-null">câble - “null-modem”</link>. Un câble - “null-modem” relie deux ordinateurs ou deux - terminaux entre eux.</para> - </listitem> - - <listitem> - <para>Si vous avez un vrai terminal, la meilleure source - d'information pour savoir quel câble utiliser est la - documentation du terminal. Si vous n'avez pas de - documentation, essayez un <link linkend="term-null">câble - “null-modem”</link>. Si cela ne marche pas, - alors essayez avec un <link linkend="term-std">câble - standard</link>.</para> - </listitem> - - </itemizedlist> - </para> - - <para>Il faudra aussi que les ports série de votre terminal - <emphasis>et</emphasis> de votre système FreeBSD aient des - connecteurs compatibles avec le câble que vous utilisez.</para> - - <sect4 id="term-null"> - <title>Câbles “Null-modem”</title> - - <para>Un câble “null-modem” transmet directement - certains signaux, le “signal à la terre”, par - exemple, mais en permute d'autres, les broches - “émission” et “réception” - sont par exemple reliées entre elles, d'une extrémité sur - l'autre.</para> - - <para>Si vous réalisez vous-même vos propres câbles, voici une - table qui décrit la méthode recommandée pour fabriquer un câble - “null-modem” pour les terminaux. Cette table donne - les noms et les numéros de broches des signaux RS-232C sur un - connecteur DB-25,</para> - - <informaltable frame="none"> - <tgroup cols="5"> - <thead> - <row> - <entry>Signal</entry> - <entry>Broche #</entry> - <entry></entry> - <entry>Broche #</entry> - <entry>Signal</entry> - </row> - </thead> - - <tbody> - - <row> - <entry>TxD</entry> - <entry>2</entry> - <entry>reliée à</entry> - <entry>3</entry> - <entry>RxD</entry> - </row> - - <row> - <entry>RxD</entry> - <entry>3</entry> - <entry>reliée à</entry> - <entry>2</entry> - <entry>TxD</entry> - </row> - - <row> - <entry>DTR</entry> - <entry>20</entry> - <entry>reliée à</entry> - <entry>6</entry> - <entry>DSR</entry> - </row> - - <row> - <entry>DSR</entry> - <entry>6</entry> - <entry>reliée à</entry> - <entry>20</entry> - <entry>DTR</entry> - </row> - - <row> - <entry>SG</entry> - <entry>7</entry> - <entry>reliée à</entry> - <entry>7</entry> - <entry>SG</entry> - </row> - - <row> - <entry>DCD</entry> - <entry>8</entry> - <entry>reliée à</entry> - <entry>4</entry> - <entry>RTS [a]</entry> - </row> - - <row> - <entry>RTS</entry> - <entry>4</entry> - <entry></entry> - <entry>5</entry> - <entry>CTS</entry> - </row> - - <row> - <entry>CTS</entry> - <entry>5</entry> - <entry>reliée à</entry> - <entry>8</entry> - <entry>DCD</entry> - </row> - </tbody> - </tgroup> - </informaltable> - <para>Remarques :</para> - <itemizedlist> - <listitem> - <para>[a] reliez les broches 4 et 5 entre elles sur le - connecteur et à la broche 8 de l'autre extrémité (côté - ordinateur).</para> - </listitem> - </itemizedlist> - - </sect4> - - <sect4 id="term-std"> - <title>Câbles RS-232C standard</title> - - <para>Un câble série standard transmet directement les signaux - RS-232C. Ce qui signifie que la broche “émission” - d'une extrémité est reliée à la broche “émission” - de l'autre. C'est le câble que l'on utilise pour connecter un - modem à un système FreeBSD, et dont ont besoin certains - terminaux.</para> - - </sect4> - </sect3> - - <sect3 id="term-ports"> - <title>Ports</title> - - <para>Les ports série sont les périphériques grâce auxquels - l'information est échangée entre le terminal et l'ordinateur - FreeBSD hôte. Cette section décrit les différents types de - ports série existant et comment ils sont adressés par - FreeBSD.</para> - - <sect4 id="term-portkinds"> - <title>Types de ports</title> - - <para>Il y a différents types de ports série. Avant d'acheter ou - de monter un câble, vous devez vérifier qu'il soit adapté aux - ports de votre terminal et de votre machine FreeBSD.</para> - - <para>La plupart des terminaux ont des ports DB25. Les ordinateurs - personnels, dont les PCs sous FreeBSD, ont des ports DB25 ou - DB9. Si vous avez une carte multi-ports série sur votre PC, - vous pouvez avoir des ports RJ-12 ou RJ-45.</para> - - <para>Consultez la documentation de votre matériel pour connaître - les spécifications des ports que vous allez utiliser. Un coup - d'oeil aux ports suffit souvent aussi.</para> - - </sect4> - - <sect4 id="term-portnames"> - <title>Noms des ports</title> - - <para>Avec FreeBSD, vous accédez à chacun des ports série par - une entrée dans le répertoire <filename>/dev</filename>. Il y - a deux sortes d'entrées:</para> - - <itemizedlist> - - <listitem> - <para>Les ports d'appel entrant sont appelés - <filename>/dev/ttyd<replaceable>X</replaceable></filename> - où <emphasis remap=it>X</emphasis> est le numéro du port, - à partir de zéro. Vous utilisez habituellement les ports - d'appel entrant pour les terminaux. Avec ces ports, la - ligne série doit émettre le signal “Data Carrier - Detect” (DCD) - détection de - porteuse - pour qu'ils fonctionnent.</para> - </listitem> - - <listitem> - <para>Les ports d'appel sortant sont appelés - <filename>/dev/cuaa<replaceable>X</replaceable></filename>. - Vous n'utilisez normalement pas les ports d'appel sortant - pour les terminaux, mais pour les modems. Vous pouvez les - utiliser avec un terminal, si le câble série ou le terminal - ne supportent pas le signal de détection de - porteuse.</para> - </listitem> - - </itemizedlist> - - <para>Reportez-vous aux pages de manuel de - <citerefentry><refentrytitle>sio</refentrytitle><manvolnum>4</manvolnum></citerefentry> - pour plus d'informations.</para> - - <para>Si vous connectez un terminal au premier port série - (<devicename>COM1</devicename> en langage DOS), vous utiliserez - alors <filename>/dev/ttyd0</filename> pour faire référence au - terminal. S'il est sur le second port série (aussi appelé - <devicename>COM2</devicename>), ce sera - <filename>/dev/ttyd1</filename>, et ainsi de suite.</para> - - <para>Notez bien que vous devrez peut-être configurer votre - noyau pour y inclure le support de chaque port série, en - particulier si vous avez une carte série multi-ports. Voyez - le chapitre <link linkend="kernelconfig">Configurer le noyau - de FreeBSD</link> pour plus d'informations.</para> - - </sect4> - </sect3> - </sect2> - - <sect2 id="term-config"> - <title>Configuration</title> - - <para>Cette section décrit ce que vous devez faire pour configurer - votre système FreeBSD pour pouvoir ouvrir une session depuis un - terminal. Elle suppose que vous avez déjà configuré votre noyau - pour y inclure le support du port série auquel votre terminal est - connecté - et que vous avez branché ce dernier.</para> - - <para>En un mot, vous devez demander au programme - <command>init</command>, qui contrôle le lancement et l'exécution - des processus, de lancer un processus <command>getty</command>, - lequel se chargera de lire le nom d'utilisateur au début de la - session et lancera à son tour le programme - <command>login</command>.</para> - - <para>Pour cela, vous devez éditer le fichier - <filename>/etc/ttys</filename>. Commencez par utiliser - <command>su</command> pour devenir super-utilisateur. Modifiez - ensuite de la façon suivante <filename>/etc/ttys</filename>:</para> - - <procedure> - <step> - <para>Ajoutez à <filename>/etc/ttys</filename> une ligne pour - l'entrée du répertoire <filename>/dev</filename> correspondant - au port série, si elle n'y est pas déjà.</para> - </step> - - <step> - <para>Précisez qu'il faut exécuter - <filename>/usr/libexec/getty</filename> sur ce port et donnez - le type de “<emphasis remap=tt>getty</emphasis>” - approprié, tel qu'il est défini dans le fichier - <filename>/etc/gettytab</filename>.</para> - </step> - - <step> - <para>Donnez le type de terminal par défaut.</para> - </step> - - <step> - <para>Activez le port avec “on”.</para> - </step> - - <step> - <para>Indiquez si le port doit être - “secure”.</para> - </step> - - <step> - <para>Faites relire le fichier <filename>/etc/ttys</filename> - par <command>init</command>.</para> - </step> - </procedure> - - <para>En option, vous pouvez définir un type de - <emphasis remap=tt>getty</emphasis> sur-mesure pour l'étape 2 en - ajoutant une entrée au fichier <filename>/etc/gettytab</filename>. - Ce document ne vous explique pas comment le faire. Vous êtes invités - à consulter les pages de manuel de - <citerefentry><refentrytitle>gettytab</refentrytitle><manvolnum>5</manvolnum></citerefentry> - et <citerefentry><refentrytitle>getty</refentrytitle><manvolnum>8</manvolnum></citerefentry> - pour plus d'informations.</para> - - <para>Les sections qui suivent détaillent chacune de ces étapes, Dans - l'exemple que nous prendrons pour cela, nous connecterons deux - terminaux à notre système: un Wyse-50 et un vieil IBM PC 286 avec - un logiciel d'émulation de terminal compatible VT-100. Nous - connecterons le terminal Wyse au second port série et le 286 au - sixième port série (sur une carte multi-ports).</para> - - <para>Pour plus d'informations sur le fichier - <filename>/etc/ttys</filename>, lisez les pages de manuel de - <citerefentry><refentrytitle>ttys</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para> - - <sect3 id="term-etcttys"> - <title>Ajouter une entrée à <filename>/etc/ttys</filename></title> - - <para>Vous devez d'abord ajouter une entrée au fichier - <filename>/etc/ttys</filename>, à moins qu'il n'y en ait déjà - une.</para> - - <para>Le fichier <filename>/etc/ttys</filename> liste tous les - ports de votre système FreeBSD sur lesquels vous voulez autoriser - l'ouverture de session. Par exemple, la première console virtuelle - <filename>ttyv0</filename> a une entrée dans ce fichier. Vous - pouvez ouvrir une session à la console en utilisant cette entrée. - Il y a des entrées dans le fichier pour les consoles virtuelles, - les ports série et les “pseudo-tty”s. Pour les - terminaux physiques, n'indiquez que l'entrée - <filename>/dev</filename> du port série, sans le - “<filename>/dev/</filename>”.</para> - - <para>A l'installation de votre système FreeBSD, le fichier - <filename>/etc/ttys</filename> contient les entrées pour les - quatre premiers ports série: de <filename>ttyd0</filename> à - <filename>ttyd3</filename>. Si vous connectez un terminal - à l'un de ces ports, vous n'avez pas d'entrée à ajouter.</para> - - <PARA>Dans notre exemple, le Wyse-50 va sur le second port série, - <filename>ttyd1</filename>, qui est déjà dans le fichier. Il nous - suffit d'ajouter une entrée pour le PC 286 relié au sixième port - série. Voici un extrait du fichier <filename>/etc/ttys</filename> - après que nous ayons ajouté cette nouvelle entrée:</para> - - <programlisting> -ttyd1 "/usr/libexec/getty std.9600" unknown off secure -ttyd5 - </programlisting> - - </sect3> - - <sect3 id="term-getty"> - <title>Définir le type de - <emphasis remap=tt>getty</emphasis></title> - - <para>Nous devons ensuite préciser quel est le programme à exécuter - pour gérer les ouvertures de session depuis le terminal. Le - programme standard de FreeBSD pour cela est - <filename>/usr/libexec/getty</filename>. C'est lui qui affiche - l'invite <prompt>login:</prompt>.</para> - - <para>Le programme <command>getty</command> a un argument - (optionnel), le type de <replaceable>getty</replaceable>. Un - type de <replaceable>getty</replaceable> décrit les - caractéristiques de la ligne sur laquelle est le terminal, telle - sa vitesse en bps et le type de contrôle de parité utilisé. - le programme <command>getty</command> lit ces caractéristiques - dans le fichier <filename>/etc/gettytab</filename>.</para> - - <para>Le fichier <filename>/etc/gettytab</filename> contient un - grand nombre d'entrées pour des terminaux anciens et d'autres - plus récents. Dans presque tous les cas, les entrées qui - commencent par <literal>std</literal> fonctionneront avec les - terminaux physiques. Ces entrées ignorent le contrôle de parité. - Il y a un entrée <literal>std</literal> pour chaque vitesse en - bps de 110 à 115200. Vous pouvez bien entendu ajouter vos propres - entrées à ce fichier. - Les pages de manuel de - <citerefentry><refentrytitle>gettytab</refentrytitle><manvolnum>5</manvolnum></citerefentry> - vous donnent plus d'informations.</para> - - <para>Quand vous définissez le type de - <replaceable>getty</replaceable> dans le fichier - <filename>/etc/ttys</filename>, vérifiez que les paramètres - de communication du terminal soient les mêmes.</para> - - <para>Dans notre exemple, le Wyse-50 n'utilise pas de contrôle de - parité et se connecte à 38400 bps. Le PC n'utilise pas de - contrôle de parité et se connecte à 19200 bps. Voici le fichier - <filename>/etc/ttys</filename> avec les définitions - correspondantes (juste ce qui concerne les deux terminaux qui nous - intéressent):</para> - - <programlisting> -ttyd1 "/usr/libexec/getty std.38400" unknown off secure -ttyd5 "/usr/libexec/getty std.19200" - </programlisting> - - <para>Remarquez que le second champ - celui qui indique quel - programme exécuter - est entre guillemets. C'est important, - parce que sans cela le type donné en argument de - <command>getty</command> serait interprété comme troisième - champ.</para> - - </sect3> - - <sect3 id="term-deftermtype"> - <title>Définir le type de terminal par défaut</title> - - <para>Le troisième champ du fichier <filename>/etc/ttys</filename> - donne le type de terminal par défaut sur le port. Pour les ports - d'appel entrant, vous y mettez typiquement - “<literal>unknown</literal>” - inconnu - ou - <literal>dialup</literal> - appel - parce que les - utilisateurs peuvent s'y connecter avec n'importe quel type de - terminal ou de logiciel. Pour les terminaux physiques, le type - de terminal ne varie pas, vous pouvez donc indiquer un vrai type - de terminal dans ce champ.</para> - - <para>Habituellement, les utilisateurs emploient le programme - <command>tset</command> depuis leur fichier - <filename>.login</filename> ou <filename>.profile</filename> - pour récupérer le type de terminal et demander de le préciser - si nécessaire. En définissant le type de terminal dans le fichier - <filename>/etc/ttys</filename>, vous leur évitez qu'on leur pose - cette question.</para> - - <para>Pour savoir quels types de terminaux sont reconnus par - FreeBSD, consultez le fichier - <filename>/usr/share/misc/termcap</filename>. Il liste environ - 600 terminaux. Vous pouvez en ajouter si vous le désirez. Voyez - les pages de manuel de - <citerefentry><refentrytitle>termcap</refentrytitle><manvolnum>5</manvolnum></citerefentry> - pour plus d'informations.</para> - - <para>Dans notre exemple, le Wyse-50 est un terminal de type - Wyse-50 (bien qu'il puisse émuler d'autres types de terminaux, - nous le laisseront en mode Wyse-50). Le PC 286 PC utilise - Procomm qui sera configuré pour émuler une VT-100. Voici les - entrées adéquates, quoiqu'encore incomplètes du fichier - <filename>/etc/ttys</filename>:</para> - - <programlisting> -ttyd1 "/usr/libexec/getty std.38400" wy50 off secure -ttyd5 "/usr/libexec/getty std.19200" vt100 - </programlisting> - - </sect3> - - <sect3 id="term-enable"> - <title>Activer le port</title> - - <para>Le champ suivant de <filename>/etc/ttys</filename>, le - quatrième, indique s'il faut activer le port. Si vous y mettez - <literal>on</literal>, alors le processus <command>init</command> - démarrera le programme mentionné par le second champ, - <command>getty</command>, qui affichera l'invite de session. - Si vous y mettez <literal>off</literal>, il n'y aura pas de - <command>getty</command>, et donc pas d'ouverture de session - sur le port.</para> - - <para>Vous devez donc bien sûr préciser <literal>on</literal> - dans ce champ. Voici de nouveau le fichier - <filename>/etc/ttys</filename>. Nous avons activé les deux - ports avec <literal>on</literal>:</para> - - <programlisting> -ttyd1 "/usr/libexec/getty std.38400" wy50 on secure -ttyd5 "/usr/libexec/getty std.19200" vt100 on - </programlisting> - - </sect3> - - <sect3 id="term-secure"> - <title>Définir les ports sécurisés</title> - - <para>Nous voici arrivé au dernier champ (enfin, presque: il y a - un indicateur <literal>window</literal> optionnel, mais nous ne - nous en préocupperons pas). Le dernier champ indique si le port - est sécurisé.</para> - - <para>Que veut dire “sécurisé”?</para> - - <para>Cela veut dire que le compte super-utilisateur (ou tout compte - avec un IDentifiant utilisateur de 0) peut ouvrir une session sur - ce port. Les ports non-sécurisés n'autorisent pas l'ouverture de - session super-utilisateur.</para> - - <para>Comment utiliser les ports sécurisés et non sécurisés?</para> - - <para>Lorsqu'un port est non sécurisé, le terminal qui y est - connecté n'autorise pas l'ouverture de session super-utilisateur. - Les gens qui connaissent le mot de passe super-utilisateur de - votre système FreeBSD devront d'abord se connecter sous un compte - utilisateur ordinaire. Ils devront ensuite utiliser la commande - <command>su</command> pour avoir les droits du - super-utilisateur.</para> - - <para>Grâce à cela, vous aurez deux enregistrements pour pouvoir - repérer les accès super-utilisateur illégitimes: les deux - commandes <command>login</command> et <command>su</command> - rapportent leur emploi dans le fichier de trace système - (les ouvertures de sessions sont aussi enregistrées dans le - fichier <filename>wtmp</filename>).</para> - - <para>Lorsque le port est sécurisé, l'ouverture de session - super-utilisateur est autorisée depuis le terminal. Les gens - qui connaissent le mot de passe super-utilisateur peuvent - directement se connecter en tant que tel. - Vous n'avez plus les traces potentiellement utiles de - l'ouverture de session et de l'utilisation de - <command>su</command>.</para> - - <para>Que devez-vous utiliser?</para> - - <para>Utilisez “non sécurisé”. Utilisez - “non sécurisé” <emphasis>même</emphasis> pour les - terminaux qui ne sont <emphasis>pas</emphasis> accessibles à tout - le monde ou sont dans des locaux fermés à clé. Il est facile - d'ouvrir une session et d'utiliser <command>su</command> quand - vous avez besoin des droits du super-utilisateur.</para> - - <para>Voici finalement les entrées complètes du fichier - <filename>/etc/ttys</filename> accompagnées d'un commentaire - qui indique où se trouvent les terminaux:</para> - - <programlisting> -ttyd1 "/usr/libexec/getty std.38400" wy50 on insecure # Cuisine -ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure # Salle de bains - </programlisting> - - </sect3> - - <sect3 id="term-hup"> - <title>Obliger <command>init</command> à relire le fichier - <filename>/etc/ttys</filename></title> - - <para>Quand vous démarrez FreeBSD, le premier processus, - <command>init</command>, lit le fichier - <filename>/etc/ttys</filename> et démarre les programmes - listés pour chacun des ports activés, pour afficher - l'invite de session.</para> - - <para>Après avoir modifié <filename>/etc/ttys</filename>, vous - aimeriez ne pas avoir à redémarrer le système pour - qu'<command>init</command> voit vos modifications. C'est pourquoi - <command>init</command> relit <filename>/etc/ttys</filename> - lorsqu'il reçoit un signal SIGHUP (“hang up” - raccrocher).</para> - - <para>Donc, après avoir sauvegardé vos modifications au fichier - <filename>/etc/ttys</filename>, envoyez un - <literal>SIGHUP</literal> à <command>init</command> en tapant: - <informalexample> - <screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen> - </informalexample> (Le processus <command>init</command> - a <emphasis>toujours</emphasis> l'IDentifiant de - processus 1.)</para> - - <para>Si la configuration est correcte, les câbles en place, les - terminaux sous tension, vous devriez voir les invites de session. - Vos terminaux sont prêts à être utilisés pour la première - fois!</para> - - </sect3> - </sect2> - - <sect2 - id="term-debug"> - <title>Régler les problèmes liés à votre connection</title> - - <para>Même en ayant porté la plus méticuleuse attention aux détails, - il peut toujours y avoir quelque chose qui ne va pas lorsque vous - installez un terminal. Voici une liste de symptômes et de - suggestions de solutions.</para> - - <variablelist> - <varlistentry><term>L'invite de session n'apparaît pas.</term> - <listitem> - <para>Vérifiez que le terminal est branché et sous tension. Si - c'est un ordinateur personnel utilisé comme terminal, - vérifiez qu'il utilise bien le logiciel d'émulation de - terminal sur le bon port.</para> - - <para>Assurez-vous que le câble est solidement raccordé sur le - terminal et sur la machine FreeBSD. Vérifiez que c'est le - bon type de câble.</para> - - <para>Contrôlez que le terminal et FreeBSD utilisent la même - vitesse en bps et le même contrôle de parité. Si c'est un - terminal vidéo, vérifiez que les contrôles de luminosité et - de contraste ne soient pas au minimum. Si c'est un terminal - papier, vérifiez qu'il y ait du papier et de l'encre.</para> - - <para>Vérifiez qu'il y ait bien un processus - <command>getty</command> qui s'exécute pour ce terminal. - Tapez:</para> - - <informalexample> - <screen>&prompt.root; <userinput>ps -axww|grep getty</userinput></screen> - </informalexample> - <para>pour avoir la liste des processus - <command>getty</command> actifs. Vous devriez voir une - entrée pour le terminal. Par exemple, la ligne - suivante:</para> - - <informalexample> - <screen>22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyd1</screen> - </informalexample> - <para>montre qu'il y a un <command>getty</command> qui - s'exécute sur le port série <literal>ttyd1</literal> et - utilise l'entrée <literal>std.38400</literal> de - <filename>/etc/gettytab</filename>.</para> - - <para>S'il n'y a pas de processus <command>getty</command> - actif, assurez-vous que vous avez activé le port dans - <filename>/etc/ttys</filename>. Avez-vous aussi bien - exécuté <command>kill -HUP 1</command>?</para> - </listitem> - </varlistentry> - - <varlistentry><term>Il y a n'importe quoi à la place de l'invite - de session.</term> - - <listitem> - <para>Vérifiez que le terminal et FreeBSD définissent la - même vitesse et le même contrôle de parité. Assurez-vous - que le processus <command>getty</command> utilise le bon - type de <replaceable>getty</replaceable>. Dans le cas - contraire, corrigez - <filename>/etc/ttys</filename> et exécutez - <command>kill -HUP 1</command>.</para> - </listitem> - </varlistentry> - - <varlistentry><term>Les caractères sont redoublés; le mot de passe - s'affiche quand on le tape.</term> - - <listitem> - <para>Passez le terminal (ou le logiciel d'émulation de - terminal) du mode “half duplex” ou “echo - local” en mode “full - duplex”.</para> - </listitem> - </varlistentry> - </variablelist> - - - </sect2> - </sect1> - - <sect1 id="dialup"> - <title>Connexions téléphoniques</title> - - <para><emphasis>Contribution de &a.ghelmer;.</emphasis></para> - - <para>Ce document donne des indications sur la configuration d'un - système FreeBSD pour qu'il accepte des connexions entrantes par - modem. Ce document est basé sur l'expérience de son auteur avec - les versions 1.0, 1.1 et 1.1.5.1 de FreeBSD (et l'expérience de - configuration de modems sur d'autres systèmes d'exploitation de - type Unix); il se peut cependant qu'il ne réponde pas à toutes - vos questions et ne vous donne pas d'exemple suffisamment - adapté à votre environnement. L'auteur ne saurait être tenu - responsable des dégats que vous causeriez à vos systèmes ou - des données que vous perdriez en essayant de suivre les suggestions - qui vous sont données ici.</para> - - <sect2 id="dialup-prereqs"> - <title>Prérequis</title> - - <para>Pour commencer, l'auteur suppose que vous connaissez déjà - FreeBSD. Il vous faudra un système FreeBSD installé. Vous devez - savoir éditer des fichiers dans un environnement Unix et lire - les pages de manuel. Comme précisé plus bas, il vous faudra des - versions précises de FreeBSD, un minimum de vocabulaire et - connaître les modems et le câblage.</para> - - <sect3> - <title>Version de FreeBSD</title> - - <para>On suppose tout d'abord que vous utilisez la version 1.1 de - FreeBSD ou une version ultérieure (y compris les versions 2.x). - La version 1.0 de FreeBSD comportait deux pilotes de périphérique - série différents, ce qui complique la situation. Le pilote de - périphérique série (<devicename>sio</devicename>) a aussi été - largement amélioré avec chaque version successive de FreeBSD, - les versions plus récentes de FreeBSD ont donc en principe des - pilotes meilleurs et plus efficaces que les versions plus - anciennes.</para> - - </sect3> - - <sect3> - <title>Terminologie</title> - - <para>Une revue rapide de la terminologie:</para> - - <variablelist> - <varlistentry><term>bps</term> - <listitem> - <para>Bits par seconde - la vitesse à laquelle les - informations sont transmises.</para> - </listitem> - </varlistentry> - - <varlistentry><term>DTE</term> - - <listitem> - <para>Data Terminal Equipment - dispositif de traitement - de données - Par exemple, votre ordinateur.</para> - </listitem> - </varlistentry> - - <varlistentry><term>DCE</term> - - <listitem> - <para>Data Communications Equipment - dispositif de - communication - votre modem.</para> - </listitem> - </varlistentry> - - <varlistentry><term>RS-232</term> - - <listitem> - <para>Standard EIA pour les communications série - physiques.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>S'il vous faut plus d'informations sur ces termes et sur les - transmissions de données en général, l'auteur se rappelle avoir - lu que la <emphasis>Bible RS-232</emphasis> (quelqu'un connaît - l'ISBN?) est une bonne référence.</para> - - <para>Pour parler de la vitesse de transmission des informations, - l'auteur n'utilise pas le terme “baud”. Baud désigne - le nombre de transitions d'état électrique qui peuvent se - produire sur une période de temps donnée, alors que - “bps” (bits par seconde) est le terme - “correct” à employer (au moins, il ne dérange pas - autant les adeptes de la quadri-section capillaire).</para> - - </sect3> - - <sect3> - <title>Modems externes vs. modems internes</title> - - <para>Les modems externes semblent plus adaptés aux communications - à la demande, parce qu'ils peuvent être configurés de façon - quasi-permanente grâce à leurs paramètres enregistrés en mémoire - non volatile et disposent habituellement de voyants lumineux - qui affichent les signaux RS-232 les plus importants. Les lumières - impressionnent les visiteurs, mais elles sont aussi très utiles - pour savoir si les modems fonctionnent correctement.</para> - - <para>Les modems internes ne disposent pas généralement de mémoire - non volatile, leur configuration peut se limiter au positionnement - de cavaliers. Quand ils disposent de voyants, ils sont - la plupart du temps difficilement visibles quand le boitier est - refermé.</para> - - </sect3> - - <sect3> - <title>Modems et Câbles</title> - - <para>On suppose que vous avez un minumum de notions sur le - sujet:</para> - - <itemizedlist> - - <listitem> - <para>Vous savez connecter votre modem à votre ordinateur - de façon à ce qu'ils puissent communiquer (à moins que vous - n'ayez un modem interne qui n'a pas besoin de câble).</para> - </listitem> - - <listitem> - <para>Vous maîtrisez le jeu de commandes de votre modem, ou - savez où trouver les commandes dont vous avez besoin.</para> - </listitem> - - <listitem> - <para>Vous savez configurer votre modem (a priori avec un - programme de communication pour terminal) de facon à définir - ses paramètres en mémoire non volatile.</para> - </listitem> - - </itemizedlist> - - <para>La première étape, connecter le modem, est généralement - simple - la plupart des câbles séries standard fonctionneront - sans problème. Vous aurez besoin du câble avec les bons - connecteurs (DB-25 ou DB-9, et mâle ou femelle) à chaque - extrémité, et il vous faudra un câble DCE-à-DTE avec le - brochage suivant:</para> - - <itemizedlist> - - <listitem> - <para>Donnée émise (“Send Data”, - <abbrev>SD</abbrev>),</para> - </listitem> - - <listitem> - <para>Donnée reçue (“Received Data”, - <abbrev>RD</abbrev>),</para> - </listitem> - - <listitem> - <para>Demande d'émission (“Ready To Send”, - <abbrev>RTS</abbrev>),</para> - </listitem> - - <listitem> - <para>Prêt à émettre (“Clear To Send”, - <abbrev>CTS</abbrev>),</para> - </listitem> - - <listitem> - <para>Données prêtes (“Data Set Ready”, - <abbrev>DSR</abbrev>),</para> - </listitem> - - <listitem> - <para>Disponible (“Data Terminal Ready”, - <abbrev>DTR</abbrev>),</para> - </listitem> - - <listitem> - <para>Détection de porteuse(“Carrier Detect”, - <abbrev>CD</abbrev>),</para> - </listitem> - - <listitem> - <para>Terre (“Signal Ground”, - <abbrev>SG</abbrev>).</para> - </listitem> - - </itemizedlist> - - <para>FreeBSD a besoin des signaux <abbrev>RTS</abbrev> et - <abbrev>CTS</abbrev> pour le contrôle de flux matériel aux - vitesses supérieures à 2400bps, du signal <abbrev>CD</abbrev> - pour savoir quand la ligne décroche et quand elle raccroche et - du signal <abbrev>DTR</abbrev> pour réinitialiser le modem en - fin de session. Certains câbles ne transmettent pas tous les - signaux, donc, si vous avez des problèmes, comme par exemple, - si la session reste ouverte alors que la ligne a raccroché, - cela peut être un problème de câble.</para> - - <para>Le deuxième prérequis dépend du type de modem(s) que vous - utilisez. Si vous ne connaissez pas les commandes de votre - modem par coeur, gardez le guide de référence ou le manuel - utilisateur de votre modem à portée de main. Des exemples - de commandes seront donnés pour les modems externes - USR Sportster 14.400, qui peuvent vous servir de référence pour - les commandes de votre propre modem.</para> - - <para>Enfin, vous devez savoir comment configurer votre modem pour - qu'il marche correctement avec FreeBSD. Comme les autres systèmes - d'exploitation de type Unix, FreeBSD utilise les signaux matériels - pour savoir quand la ligne a décroché ou raccroché et pour - réinitialiser le modem quand la communication est terminée. - FreeBSD vous évite d'avoir à envoyer des commandes au modem ou - à vérifier ses informations d'état. Si vous avez l'habitude de - connecter des modems à de systèmes de discussions - (“BBS”) sur PC, cela vous semblera - peut-être gênant.</para> - - </sect3> - - <sect3> - <title>A propos de l'interface série</title> - - <para>FreeBSD supporte les interfaces de communication construites - autour des NS8250, NS16450, NS16550, et NS16550A EIA RS-232C - (CCITT V.24). Les périphériques 8250 et 16450 ont des tampon d'un - caractère. Le 16550 a un tampon de 16 caractères, qui offre de - meilleures performances. (Un bogue dans la version 16650 empêche - de se servir du tampon de 16 caractères, utilisez donc si possible - le modèle 16650A). Parce qu'un tampon d'un seul caractère demande - plus de traitement au système d'exploitation qu'un tampon de 16 - caractères, les cartes à base de 16650A sont recommandées. Si le - système a de nombreux ports série actifs ou si la charge doit être - importante, les cartes 16650A sont préférables pour avoir un taux - d'erreur de communication plus faible.</para> - - </sect3> - </sect2> - - <sect2> - <title>Résumé</title> - - <para>Voici comment FreeBSD accepte des communications téléphoniques - entrantes. Un processus <command>getty</command>, lancé par - <command>init</command>, attend patiemment le moment d'ouvrir le - port série qui lui est assigné (<filename>/dev/ttyd0</filename>, - dans notre exemple). On peut le voir avec la commande - <command>ps ax</command>:</para> - - <informalexample> - <screen> 4850 ?? I 0:00.09 /usr/libexec/getty V19200 ttyd0</screen> - </informalexample> - - <para>Quand un utilisateur appelle, la connexion s'établit avec le - modem. Le modem active le signal <abbrev>CD</abbrev>. Le noyau - s'aperçoit qu'une porteuse a été détectée et ouvre le port via - <command>getty</command>. <command>getty</command> envoie l'invite - <prompt>login:</prompt> à la vitesse initialement définie pour cette - ligne. <command>getty</command> attend de recevoir des caractères - valides, et si, dans un configuration habituelle, il reçoit - n'importe quoi (probablement parce que la vitesse du modem et celle - de <command>getty</command> ne sont pas identiques), - <command>getty</command> essaie d'ajuster la vitesse jusqu'à ce - qu'il reçoive des caractères qui paraissent sensés.</para> - - <para>Souhaitons que <command>getty</command> trouve la bonne vitesse - et que l'utilisateur obtienne l'invite <prompt>login:</prompt>. - Une fois que l'utilisateur a répondu par son nom, - <command>getty</command> exécute - <filename>/usr/bin/login</filename>, qui termine l'ouverture de la - session en demandant à l'utilisateur son mot de passe et en lançant - l'interpréteur de commandes affecté à cet utilisateur.</para> - - <para>Passons donc à la configuration...</para> - - </sect2> - - <sect2> - <title>Configuration du noyau</title> - - <para>Les noyaux de FreeBSD sont habituellement livrés prêts à - tester la présence de quatre ports série, connus dans le monde - PC-DOS sous les noms de <devicename>COM1:</devicename>, - <devicename>COM2:</devicename>, <devicename>COM3:</devicename>, - et <devicename>COM4:</devicename>. FreeBSD peut aussi gérer les - cartes série multi-ports “passives”, comme les cartes - Boca 1008 et 2016 (reportez-vous s'il vous plaît aux pages de manuel - de <citerefentry><refentrytitle>sio</refentrytitle><manvolnum>4</manvolnum></citerefentry> - pour avoir des informations sur la configuration du noyau si vous - avez une carte série multi-ports). Le noyau par défaut ne recherche, - quant à lui, que les ports COM standards.</para> - - <para>Pour vérifier si votre noyau reconnaît vos ports série, - regardez les messages au démarrage de votre système, ou employez - la commande <command>/sbin/dmesg</command> pour les lister ensuite. - Cherchez en particulier les messages qui commencent par - <literal>sio</literal>. Tuyau: pour ne voir que les messages qui - comportent le mot <literal>sio</literal>, utilisez la - commande:</para> - - <informalexample> - <screen>&prompt.root; <userinput>/sbin/dmesg | grep 'sio'</userinput></screen> - </informalexample> - - <para>Par exemple, sur un système avec quatre ports série, voici les - messages de démarrage du noyau qui concernent les ports - série:</para> - - <informalexample> - <screen>sio0 at 0x3f8-0x3ff irq 4 on isa -sio0: type 16550A -sio1 at 0x2f8-0x2ff irq 3 on isa -sio1: type 16550A -sio2 at 0x3e8-0x3ef irq 5 on isa -sio2: type 16550A -sio3 at 0x2e8-0x2ef irq 9 on isa -sio3: type 16550A</screen> - </informalexample> - - <para>Si votre noyau ne reconnait pas tous vos ports série, vous - devrez probablement recompiler un noyau sur mesure pour votre - système.</para> - - <para>Lisez le chapitre du Manuel de l'Administrateur Système BSD sur - “Générer les noyaux Berkeley avec Config” [que vous - trouverez dans le répertoire - <filename>/usr/src/share/doc/smm</filename>] et les “Options - de Configuration de FreeBSD” [dans - <filename>/sys/conf/options</filename> et dans - <filename>/sys/<replaceable>arch</replaceable>/conf/options.<replaceable>arch</replaceable></filename>, - ou <emphasis>arch</emphasis> vaut par exemple - <filename>i386</filename>] pour plus d'informations sur la - configuration et la recompilation des noyaux. Vous devrez peut-être - installer les sources du noyau, si vous ne l'avez pas déjà fait, - (<filename>srcdist/srcsys.??</filename> pour FreeBSD 1.1, - <filename>srcdist/sys.??</filename> pour FreeBSD 1.1.5.1, - ou les sources de toute la distribution pour FreeBSD 2.0) pour - pouvoir configurer et recompiler des noyaux.</para> - - <para>Créez un fichier de configuration du noyau pour votre système - (si vous ne l'avez pas déjà fait) en allant dans le répertoire - <filename>/sys/i386/conf</filename>. Puis si, vous créez un nouveau - fichier de configuration, copiez le fichier - <filename>GENERICAH</filename> (ou <filename>GENERICBT</filename>, - si vous avez un contrôleur SCSI BusTek avec FreeBSD 1.x) dans - <filename>VOTRESYS</filename>, où <filename>VOTRESYS</filename> - est le nom de votre système, en majuscules. Editez le fichier, et - modifiez les lignes:</para> - - <programlisting> -device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr -device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr -device sio2 at isa? port "IO_COM3" tty irq 5 vector siointr -device sio3 at isa? port "IO_COM4" tty irq 9 vector siointr - </programlisting> - - <para>Vous pouvez commenter ou supprimer les lignes pour les - périphériques que vous n'avez pas. Si vous avez une carte - série multi-ports, comme la carte Boca BB2016, reportez-vous - s'il vous plaît aux pages de manuel de - <citerefentry><refentrytitle>sio</refentrytitle><manvolnum>4</manvolnum></citerefentry> - pour avoir des informations complètes sur les lignes de - configuration pour les cartes série multi-ports. Faites attention - si vous partez d'un fichier de configuration utilisé pour une - version antérieure de FreeBSD, parce que les indicateurs associés - au périphérique peuvent avoir changé d'une version à l'autre.</para> - - <note> - <para><literal>port "IO_COM1"</literal> est l'équivalent de - <literal>port 0x3f8</literal>, - <symbol>IO_COM2</symbol> de <literal>0x2f8</literal>, - <symbol>IO_COM3</symbol> de <literal>0x3e8</literal> et - <symbol>IO_COM4</symbol> de <literal>0x2e8</literal>, qui sont - les adresses respectives les plus courantes de ces ports série; - les interruptions 4, 3, 5, et 9 sont les lignes d'interruption - utilisées habituellement. Notez aussi que les ports série - ordinaires <emphasis>ne peuvent pas</emphasis> partager - d'interruption sur le bus ISA (les cartes multi-ports intègrent - l'électronique nécessaire pour permettre au 16550A de la carte de - partager une ou deux lignes d'interruption).</para> - </note> - - <para>Quand vous avez terminé de corriger votre fichier de - configuration du noyau, utilisez le programme - <command>config</command> en suivant la documentation fournie par - “Générer les noyaux Berkeley avec Config” et les pages - de manuel de - <citerefentry><refentrytitle>config</refentrytitle><manvolnum>8</manvolnum></citerefentry> - pour créer le répertoire de compilation du noyau, puis compilez, - intallez et testez votre nouveau noyau.</para> - - </sect2> - - <sect2> - <title>Fichiers spéciaux de périphérique</title> - - <para>La plupart des périphériques gérés par le noyau sont adressés - par l'intermédiaire de “fichiers spéciaux de - périphérique”, qui se trouvent dans le répertoire - <filename>/dev</filename>. Les périphériques - <devicename>sio</devicename> sont adressés via - <filename>/dev/ttyd<replaceable>?</replaceable></filename> (liaisons - entrantes) et - <filename>/dev/cua0<replaceable>?</replaceable></filename> (liaisons - sortantes). Avec les versions 1.1.5 et ultérieures de FreeBSD, - il y a aussi des fichiers spéciaux d'initialisation - (<filename>/dev/ttyid<replaceable>?</replaceable></filename> et - <filename>/dev/cuai0<replaceable>?</replaceable></filename>) et - des fichiers spéciaux de verrouillage - (<filename>/dev/ttyld<replaceable>?</replaceable></filename> et - <filename>/dev/cual0<replaceable>?</replaceable></filename>). Les - fichiers d'initialisation sont utilisés pour initialiser les - paramètres de communication du port chaque fois qu'il est ouvert, - comme <literal remap="tt">crtscts</literal> pour les modems qui - emploient les signaux <literal>CTS/RTS</literal> pour le contrôle - de flux. Les fichiers de verrouillage sont utilisés pour - verrouiller des indicateurs sur les ports pour empêcher les - utilisateurs ou les programmes de modifier certains paramètres; voyez - les pages de manuel de - <citerefentry><refentrytitle>termios</refentrytitle><manvolnum>4</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sio</refentrytitle><manvolnum>4</manvolnum></citerefentry> et - <citerefentry><refentrytitle>stty</refentrytitle><manvolnum>1</manvolnum></citerefentry> - pour plus d'informations sur le paramétrage des terminaux, le - verrouillage et l'initialisation des périphériques et la définition - des options pour les terminaux, respectivement.</para> - - <sect3> - <title>Créer les fichiers spéciaux de périphérique</title> - - <para>La procédure <command>MAKEDEV</command> du répertoire - <filename>/dev</filename> gère les fichiers spéciaux de - périphérique. (Les pages de manuel - <citerefentry><refentrytitle>MAKEDEV</refentrytitle><manvolnum>8</manvolnum></citerefentry> - de FreeBSD 1.1.5 comportent pas mal d'erreurs sur ce qui concerne - les ports <acronym>COM</acronym>, donc ignorez-les.) Pour utiliser - <command>MAKEDEV</command> pour créer les fichiers spéciaux de - périphérique pour les connexions sur - <devicename>COM1:</devicename> (port 0), allez avec - <command>cd</command> dans <filename>/dev</filename> et tapez la - commande <command>MAKEDEV ttyd0</command>. De même, pour créer - les fichiers spéciaux de périphérique pour - <devicename>COM2:</devicename> (port 1), utilisez - <command>MAKEDEV ttyd1</command>.</para> - - <para>La commande <command>MAKEDEV</command> ne crée pas uniquement - les fichiers - <filename>/dev/ttyd<replaceable>?</replaceable></filename>, - mais aussi les fichiers - <filename>/dev/cua0<replaceable>?</replaceable></filename> - (et tous les fichiers d'initialisation et de verrouillage à partir - de la version 1.1.5 de FreeBSD) - et supprime le fichier spécial pour le terminal physique - <filename>/dev/tty0<replaceable>?</replaceable></filename>, - s'il existe.</para> - - <para>Après avoir créé les nouveaux fichiers spéciaux de - périphérique, vérifiez les droits sur ces fichiers (en - particulier sur les fichiers <filename>/dev/cua*</filename>) - pour vous assurer que seuls les utilisateurs qui doivent y - accéder peuvent lire et écrire dessus - vous ne voulez - probablement pas que l'utilisateur ordinaire puisse utiliser - vos modems pour se connecter à l'extérieur. Les autorisations - par défaut sur les fichiers <filename>/dev/cua*</filename> - devraient suffire:</para> - - <informalexample> - <screen>crw-rw---- 1 uucp dialer 28, 129 Feb 15 14:38 /dev/cua01 -crw-rw---- 1 uucp dialer 28, 161 Feb 15 14:38 /dev/cuai01 -crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cual01</screen> - </informalexample> - - <para>Ces droits autorisent l'utilisateur <username>uucp</username> - et les utilisateurs du groupe <username>dialer</username> à se - servir des périphériques d'appel vers l'extérieur.</para> - - </sect3> - </sect2> - - <sect2> - <title>Fichiers de Configuration</title> - - <para>Il y a trois fichiers de configuration du système dans le - répertoire <filename>/etc</filename> que vous devrez probablement - éditer pour autoriser les accès téléphoniques à votre système - FreeBSD. Le premier, <filename>/etc/gettytab</filename>, contient - les informations de configuration pour le “démon” - <filename>/usr/libexec/getty</filename>. Le second, - <filename>/etc/ttys</filename> contient les informations qui disent - à <filename>/sbin/init</filename> sur quels périphériques - <filename>tty</filename> doivent s'exécuter des processus - <command>getty</command>. Enfin, vous pouvez mettre les commandes - d'initialisation de ports dans la procédure - <filename>/etc/rc.serial</filename> si vous utilisez FreeBSD - 1.1.5.1 ou ultérieurs; sinon, vous pouvez initialiser les ports - dans la procédure <filename>/etc/rc.local</filename>.</para> - - <para>Il y a deux écoles de pensée pour ce qui concerne la - configuration des modems sous Unix. La première préfère - configurer ses systèmes et ses modems de façon à ce que quelque - soit la vitesse à laquelle l'utilisateur se connecte, l'interface - RS-232 entre le système et le modem travaille toujours à la même - vitesse. L'avantage de cette méthode est que l'utilisateur distant - obtient toujours immédiatement l'invite de session. L'inconvénient - est que le système ne sait pas quelle est la vitesse réelle de la - connexion, de sorte que les programmes plein-écran comme Emacs - n'adaptent pas leur mode d'affichage pour améliorer leurs temps de - réponse avec des connexions lentes.</para> - - <para>L'autre école configure les interfaces RS-232 de ses modems de - façon à ce qu'elles adaptent leur vitesse en fonction de la vitesse - de la connexion de l'utilisateur. Par exemple, les connexions - V.32bis (14.4 Kbps) au modem feront fonctionner l'interface RS-232 - du modem à 19.2 Kbps, alors que les connexions à 2400 bps la feront - fonctionner à 2400 bps. Comme <command>getty</command> ne comprend - pas les informations que fournit le modem sur sa vitesse, - <command>getty</command> affiche le message <prompt>login:</prompt> - à la vitesse initiale et consulte la réponse qu'il reçoit. Si les - utilisateurs voient n'importe quoi, ils sont censés savoir qu'ils - doivent appuyer sur la touche <literal><Entrée></literal> - jusqu'à ce qu'ils obtiennent une invite lisible. Si les vitesses - ne correspondent pas, <command>getty</command> reçoit n'importe - quoi quoi que l'utilisateur tape, essaie de passer à la vitesse - suivante et renvoie l'invite <prompt>login:</prompt>. Cela peut - durer indéfiniment, mais il suffit normalement d'un ou deux essais - pour que l'utilisateur obtienne le message correct. Bien entendu, - cette méthode d'ouverture de session n'est pas aussi propre que la - première, mais un utilisateur dont la connexion est lente obtiendra - de meilleurs temps de réponse des logiciels plein-écran.</para> - - <para>L'auteur essaiera de donner des informations de configuration - objectives, mais la méthode qui consiste à ajuster la vitesse - du modem à celle de la connexion a sa préférence.</para> - - <sect3> - <title><filename>/etc/gettytab</filename></title> - - <para><filename>/etc/gettytab</filename> est un fichier de type - <citerefentry><refentrytitle>termcap</refentrytitle><manvolnum>5</manvolnum></citerefentry> - qui contient les informations de configuration de - <citerefentry><refentrytitle>getty</refentrytitle><manvolnum>8</manvolnum></citerefentry>. - Reportez-vous s'il vous plaît aux pages de manuel de - <citerefentry><refentrytitle>gettytab</refentrytitle><manvolnum>5</manvolnum></citerefentry> - pour une description complète du format de ce fichier et la liste - des fonctionnalités.</para> - - <sect4> - <title>Configuration à vitesse fixée</title> - - <para>Si vous verrouillez la vitesse de communication avec votre - modem à une valeur donnée, vous n'aurez probablement pas à - modifier le fichier <filename>/etc/gettytab</filename>.</para> - - </sect4> - - <sect4> - <title>Configuration avec adaptation de la vitesse</title> - - <para>Vous devrez définir une entrée dans - <filename>/etc/gettytab</filename> pour fournir à - <command>getty</command> des informations sur la vitesse à - laquelle vous voulez utiliser votre modem. Si vous avez un modem - 2400 bps, vous pouvez probablement utiliser l'entrée - <literal>D2400</literal>. Cette entrée existe déjà dans le - fichier <filename>gettytab</filename> de FreeBSD 1.1.5.1, vous - n'avez pas besoin de l'ajouter, à moins qu'elle n'existe pas - dans votre version de FreeBSD:</para> - - <programlisting> -# -# Terminaux (via téléphone) rapides -# sélection 2400/1200/300 (dans l'un ou l'autre sens) -# -D2400|d2400|Accès-Rapide-2400:\ - :nx=D1200:tc=2400-baud: -3|D1200|Accès-Rapide-1200:\ - :nx=D300:tc=1200-baud: -5|D300|Accès-Rapide-300:\ - :nx=D2400:tc=300-baud: - </programlisting> - - <para>Si vous avez un modem plus rapide, vous devrez certainement - ajouter une entrée à <filename>/etc/gettytab</filename>; voici - ce que vous pourriez utiliser pour un modem à 14.4 Kbps pour - une vitesse maximum de l'interface de 19.2 Kbps:</para> - - <programlisting> -# -# Ajouts pour un modem V.32bis -# -um|V300|Modem Grande Vitesse à 300,8-bit:\ - :nx=V19200:tc=std.300: -un|V1200|Modem Grande Vitesse à 1200,8-bit:\ - :nx=V300:tc=std.1200: -uo|V2400|Modem Grande Vitesse à 2400,8-bit:\ - :nx=V1200:tc=std.2400: -up|V9600|Modem Grande Vitesse à 9600,8-bit:\ - :nx=V2400:tc=std.9600: -uq|V19200|Modem Grande Vitesse à 19200,8-bit:\ - :nx=V9600:tc=std.19200: - </programlisting> - - <para>Avec FreeBSD 1.1.5 et ultérieurs, cela donnera une connexion - 8-bit sans contrôle de parité. Avec FreeBSD 1.1, ajoutez les - paramètres <literal>:np:</literal> aux entrées - <literal>std.<replaceable>xxx</replaceable></literal> - en début de fichier, pour 8 bits, sans parité; sinon, le - paramètrage par défaut est à 7 bits, parité paire.</para> - - <para>Avec l'exemple ci-dessus, la communication se fait - initialement à 19.2 Kbps (pour une connexion V.32bis), puis - passe à 9600 bps (pour V.32), 2400 bps, 1200 bps, 300 bps, et de - nouveau à 19.2 Kbps. Ce parcours des vitesses est implémenté - par la fonctionnalité <literal>nx=</literal> (“next - table” - table suivante). Chaque ligne - comporte une entrée <literal>tc=</literal> (“table - continuation” - suite de la table) pour utiliser - le reste de la configuration “standard” pour - une vitesse donnée.</para> - - <para>Si vous avez un modem à 28.8 Kbps modem et/ou voulez - profiter de la compression sur un modem à 14.4 Kbps, - vous devez utiliser une vitesse de communication supérieure à - 19.2 Kbps. Voici un exemple d'entrée - <filename>gettytab</filename> commençant à 57.6 Kbps:</para> - - <programlisting> -# -# Ajout pour un modem V.32bis ou V.34 -# On commence à 57.6 Kbps -# -vm|V300|Modem Très Grande Vitesse à 300,8-bit:\ - :nx=V19200:tc=std.300: -vn|V1200|Modem Très Grande Vitesse à 1200,8-bit:\ - :nx=V300:tc=std.1200: -vo|V2400|Modem Très Grande Vitesse à 2400,8-bit:\ - :nx=V1200:tc=std.2400: -vp|V9600|Modem Très Grande Vitesse à 9600,8-bit:\ - :nx=V2400:tc=std.9600: -vq|V57600|Modem Très Grande Vitesse à 57600,8-bit:\ - :nx=V2400:tc=std.9600: - </programlisting> - - <para>Si vous avez une CPU lente ou un système très chargé et pas - de port série à base de 16550, vous aurez peut-être des erreurs - “silo” de sio à 57.6 Kbps.</para> - - </sect4> - </sect3> - - <sect3 - id="dialup-ttys"> - <title><filename>/etc/ttys</filename></title> - - <para><filename>/etc/ttys</filename> est la liste des - <filename>ttys</filename> qu'<command>init</command> doit gérer. - <filename>/etc/ttys</filename> fournit aussi des informations - de sécurité à <command>login</command> (le super-utilisateur - <username>root</username> ne peut ouvrir de session que sur des - <filename>ttys</filename> mentionnés comme - <literal>secure</literal>). Voyez les pages de manuel de - <citerefentry><refentrytitle>ttys</refentrytitle><manvolnum>5</manvolnum></citerefentry> pour plus d'informations.</para> - - <para>Vous devrez soit modifier les lignes existantes de - <filename>/etc/ttys</filename>, soit ajouter de nouvelles lignes, - pour qu'<command>init</command> exécute automatiquement - les processus <command>getty</command> sur vos nouveaux ports - d'appel. Le format général de la ligne sera le même, que vous - utilisiez une configuration avec vitesse verrouilllée ou - non:</para> - - <programlisting> -ttyd0 "/usr/libexec/getty xxx" dialup on - </programlisting> - - <para>Le premier champ de la ligne ci-dessus est le fichier spécial - de périphérique pour cette entrée - <literal>ttyd0</literal> - signifie que <filename>/dev/ttyd0</filename> est le fichier que ce - <command>getty</command> surveillera. Le second champ, - <literal>"/usr/libexec/getty - <replaceable>xxx</replaceable>"</literal> - (<replaceable>xxx</replaceable> est à remplacer par la - fonctionnalité initiale de <filename>gettytab</filename>) est le - processus qu'<command>init</command> lancera pour ce périphérique. - Le troisième champ, <literal>dialup</literal>, est le type de - terminal par défaut. Le quatrième paramètre, - <literal>on</literal>, indique à <command>init</command> que cette - ligne est opérationnelle. Il peut y avoir un cinquième paramètre, - <literal>secure</literal>, mais il ne faut l'utiliser que pour - les terminaux qui sont physiquement “sécurisés”, - comme la console système.</para> - - <para>Le type de terminal par défaut (<literal>dialup</literal> dans - l'exemple précédent) peut dépendre de vos préférences. - <literal>dialup</literal> est le terminal - par défaut traditionnel pour les lignes téléphoniques, de façon - à ce que les utilisateurs puissent adapter leur procédure - d'ouverture de session pour qu'elle sache que c'est un terminal - <literal>dialup</literal> et ajuste en conséquence son type de - de terminal. L'auteur préfère quant à lui utiliser - <literal>vt102</literal> comme type de terminal par défaut sur - son site, car ses utilisateurs emploient l'émulation VT102 sur - leurs systèmes distants.</para> - - <para>Après avoir modifié - <filename>/etc/ttys</filename>, vous pouvez envoyer au processus - <command>init</command> un signal <acronym>HUP</acronym> - pour qu'il relise le fichier. Utilisez la commande:</para> - - <informalexample> - <screen>&prompt.root; <userinput>kill -1 1</userinput></screen> - </informalexample> - - <para>pour envoyer ce signal. Si c'est la première fois que vous - configurer ce système, vous pouvez toutefois attendre que vos - modems soient correctement configurés et connectés avant - d'envoyer un signal à <command>init</command>.</para> - - <sect4> - <title>Configuration à vitesse fixée</title> - - <para>Dans une configuration où la vitesse est fixée, il faut - une entrée destinée à <command>getty</command> dans le fichier - <filename>ttys</filename>. Avec un modem pour lequel la vitesse - du port série est fixée à 19.2 Kbps, l'entrée de - <filename>ttys</filename> ressemblera à:</para> - - <programlisting> -ttyd0 "/usr/libexec/getty std.19200" dialup on - </programlisting> - - <para>Si vous utilisez une vitesse différente, remplacez - l'entrée <literal>std.19200</literal> par l'entrée - <literal>std.<replaceable>vitesse</replaceable></literal> - appropriée à la vitesse de transmission de votre modem - d'après la définition qui en est donnée dans le fichier - <filename>/etc/gettytab</filename>.</para> - - </sect4> - - <sect4> - <title>Configuration avec adaptation de la vitesse</title> - - <para>Dans une configuration où la vitesse s'adapte à celle - de la connexion, l'entrée dans votre fichier - <filename>ttys</filename> doit faire référence à l'entrée - “auto-baud” (sic) initiale de - <filename>/etc/gettytab</filename>. Avec l'exemple donné - plus haut pour une configuration avec adaptation de la - vitesse commençant à 19.2 Kbps (entrée de - <filename>gettytab</filename> avec <literal>V19200</literal> - pour point de départ), l'entrée de - <filename>ttys</filename> ressemblera à:</para> - - <programlisting> -ttyd0 "/usr/libexec/getty V19200" dialup on - </programlisting> - </sect4> - </sect3> - - <sect3> - <title><filename>/etc/rc.serial</filename> ou - <filename>/etc/rc.local</filename></title> - - <para>Les modems à haut débit, comme les modems V.32, V.32bis, - et V.34, doivent utiliser le contrôle de flux matériel - (<filename>RTS/CTS</filename>). Vous pouvez ajouter des commandes - <command>stty</command> dans <filename>/etc/rc.serial</filename>, - pour FreeBSD 1.1.5.1 et ultérieurs, ou - <filename>/etc/rc.local</filename> pour FreeBSD 1.1, pour - positionner l'indicateur de contrôle de flux matériel du noyau - de FreeBSD sur les ports où sont les modems.</para> - - <para>Voici un extrait d'un fichier - <filename>/etc/rc.serial</filename> d'exemple pour un système - FreeBSD 1.1.5.1:</para> - - <programlisting> -#!/bin/sh -# -# Configuration initiale des ports série - -stty -f /dev/ttyid1 crtscts -stty -f /dev/cuai01 crtscts - </programlisting> - - <para>Cela positionne l'indicateur <literal>crtscts</literal> - de <literal>termios</literal> pour les fichiers spéciaux - d'initialisation des connexions entrantes et sortantes - sur le port série numéro 1 - (<devicename>COM2:</devicename>).</para> - - <para>Sur un vieux système FreeBSD 1.1, ces entrées devaient - être ajoutées au fichier <filename>/etc/rc.local</filename> pour - positionner l'indicateur <literal>crtscts</literal> pour les - périphériques:</para> - - <programlisting> -# Configurer les ports série pour utiliser le contrôle de flux RTS/CTS -stty -f /dev/ttyd0 crtscts -stty -f /dev/ttyd1 crtscts -stty -f /dev/ttyd2 crtscts -stty -f /dev/ttyd3 crtscts - </programlisting> - - <para>Comme il n'y avait pas de fichiers spéciaux d'initialisation - dans FreeBSD 1.1, il suffisait de positionner les indicateurs - pour les fichiers spéciaux de périphériques, et d'espérer qu'ils - ne seraient pas réinitialisés par un petit malin.</para> - - </sect3> - </sect2> - - <sect2> - <title>Configuration des modems</title> - - <para>Si vous avez un modem dont le paramétrage est enregistré en - mémoire RAM non volatile, vous devrez utiliser un programme de - terminal (comme Telix sous PC-DOS ou <command>tip</command> sous - FreeBSD) pour définir ces paramètres. Connectez-vous au modem à - la vitesse de communication initiale que - <command>getty</command> utilise et introduisez en mémoire RAM - non volatile des valeurs telles que:</para> - - <itemizedlist> - - <listitem> - <para>Le signal <abbrev>CD</abbrev> soit activé quand la - ligne est active,</para> - </listitem> - - <listitem> - <para>Le signal <abbrev>DTR</abbrev> soit activé en cours de - fonctionnement; quand le signal <abbrev>DTR</abbrev> tombe, la - ligne raccroche et le modem est réinitialisé,</para> - </listitem> - - <listitem> - <para>Le signal <abbrev>CTS</abbrev> soit activé en fin de - transmission,</para> - </listitem> - - <listitem> - <para>Le contrôle de flux <filename>XON/XOFF</filename> soit - désactivé,</para> - </listitem> - - <listitem> - <para>Le signal <abbrev>RTS</abbrev> soit activé en fin de - réception,</para> - </listitem> - - <listitem> - <para>Le modem soit en mode silencieux (pas de code - retour),</para> - </listitem> - - <listitem> - <para>Il n'y ait pas d'écho des commandes.</para> - </listitem> - - </itemizedlist> - - - <para>Lisez s'il vous plaît la documentation de votre modem - pour savoir quelles commandes et/ou quels positionnements des - cavaliers utiliser.</para> - - <para>Par exemple, pour passer ces paramètres à un modem externe - USRobotics Sportster 14.400, il faudrait lui passer les commandes - suivantes:</para> - - - <programlisting> -ATZ -AT&C1&D2&H1&I0&R2&W - </programlisting> - - <para>Vous pouvez aussi en profiter pour définir d'autres options - de configuration du modem, par exemple, s'il doit utiliser la norme - V.42bis et/ou la compression MNP5.</para> - - <para>Il y a aussi des cavaliers à positionner sur le modem externe - USR Sportster 14.400; pour d'autres modems, la configuration - suivante peut peut-être servir d'exemple:</para> - - <itemizedlist> - - <listitem> - <para>Cavalier 1: HAUT - DTR normal,</para> - </listitem> - - <listitem> - <para>Cavalier 2: Pas d'importance (Codes retour - explicites/numériques),</para> - </listitem> - - <listitem> - <para>Cavalier 3: HAUT - Pas de code retour,</para> - </listitem> - - <listitem> - <para>Cavalier 4: BAS - Pas d'écho, commandes hors-ligne,</para> - </listitem> - - <listitem> - <para>Cavalier 5: HAUT - Réponse automatique,</para> - </listitem> - - <listitem> - <para>Cavalier 6: HAUT - Détection de porteuse normale,</para> - </listitem> - - <listitem> - <para>Cavalier 7: HAUT - Charger les valeurs par défaut depuis - la NVRAM (mémoire non volatile),</para> - </listitem> - - <listitem> - <para>Cavalier 8: Pas d'importance (Mode - intelligent/passif).</para> - </listitem> - - </itemizedlist> - - - <para>Il vaut mieux désactiver les codes retours pour les connexions - entrantes pour éviter les problèmes qui peuvent se produire si - <command>getty</command> envoie une invite <prompt>login:</prompt> - alors que le modem est en mode commande et renvoie soit l'écho de - la commande soit un code retour. J'ai entendu dire que cela peut - engendrer une dialogue absurde et interminable entre - <command>getty</command> et le modem.</para> - - - <sect3> - <title>Configuration à vitesse fixée</title> - - <para>Pour une configuration à vitesse fixée, vous devrez - configurer le modem pour qu'il communique toujours à la - même vitesse avec l'ordinateur, quelle que soit la vitesse - de la ligne. Sur un modem externe USR Sportster - 14.400, les commandes suivantes figeront la vitesse - de communication entre le modem et l'ordinateur à la vitesse - utilisée pour envoyer ces commandes:</para> - - <programlisting> -ATZ -AT&B1&W - </programlisting> - </sect3> - - <sect3> - <title>Configuration avec adaptation de la vitesse</title> - - <para>Dans une configuration où la vitesse peut varier, vous - devrez configurer votre modem pour qu'il ajuste sa vitesse - de communication sur le port série à la vitesse de l'appel - entrant. Sur un modem externe USR Sportster 14.400, les - commandes suivantes figeront la vitesse de transmission avec - corrections d'erreur à la vitesse employée pour passer ces - mêmes commandes, mais autoriseront une vitesse variable pour - les connexions sans correction d'erreur:</para> - - <programlisting> -ATZ -AT&B2&W - </programlisting> - </sect3> - - <sect3> - <title>Vérifier la configuration des modems</title> - - <para>La plupart des modems à haut débit disposent de commandes - pour afficher leurs paramètres opérationnels courants sous - une forme plus ou moins lisible. Sur les modems externes - USR Sportster 14.400, la commande <command>ATI5</command> - affiche les valeurs stockées dans la RAM non volatile. Pour - voir les valeurs réellement utilisées (compte tenu de la - position des cavaliers), utilisez les commandes - <command>ATZ</command> suivie de <command>ATI4</command>.</para> - - <para>Si vous avez une autre marque de modem, consultez le manuel - de votre modem pour savoir comment vérifier les paramètres de - configuration de votre modem.</para> - - </sect3> - </sect2> - - <sect2> - <title>En cas de problème</title> - - <para>Voici différentes étapes à suivre pour vérifier le - fonctionnement des modems sur votre système.</para> - - <sect3> - <title>Tester le système FreeBSD</title> - - <para>Connectez le modem à votre système FreeBSD, redémarrez le - système, et, si votre modem a des voyants d'état lumineux, - regardez si le voyant <abbrev>DTR</abbrev> s'allume lorsque - l'invite <prompt>login:</prompt> s'affiche à la console - système - si c'est la cas, cela veut normalement dire que - FreeBSD a lancé un processus <command>getty</command> sur le port - de communication approprié et attend que le modem reçoive un - appel.</para> - - <para>Si le voyant <abbrev>DTR</abbrev> ne s'allume pas, ouvrez une - session à la console système et passez la commande - <command>ps ax</command> pour voir si FreeBSD essaie bien de - lancer un processus <command>getty</command> sur le bon port. - Parmi les processus affichés, vous devriez voir une ligne comme - celle-ci:</para> - - <informalexample> - <screen> 114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd0 - 115 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd1</screen> - </informalexample> - - <para>Si vous voyez autre chose, par exemple: - - <informalexample> - <screen> 114 d0 I 0:00.10 /usr/libexec/getty V19200 ttyd0</screen> - </informalexample> - - et que le modem n'a pas encore reçu d'appel, cela veut dire que - <command>getty</command> a déjà ouvert le port de communication. - Cela peut être dû à un problème de câblage ou à un modem mal - configuré, parce que <command>getty</command> ne devrait pas - pouvoir ouvrir le port de communication tant que le signal - <abbrev>CD</abbrev> (détection de porteuse) n'a pas été activé - par le modem.</para> - - <para>S'il n'y a pas de processus <command>getty</command> - prêt à ouvrir le port - <filename>ttyd<replaceable>?</replaceable></filename> voulu, - contrôlez vos entrées dans <filename>/etc/ttys</filename> pour - voir s'il n'y a pas d'erreur. Consultez aussi le fichier de trace - <filename>/var/log/messages</filename> pour voir s'il y a des - messages d'<command>init</command> ou de - <command>getty</command> indiquant un problème. S'il y a des - messages, revérifiez les fichiers de configuration - <filename>/etc/ttys</filename> et - <filename>/etc/gettytab</filename>, et les fichiers spéciaux - de périphériques <filename>/dev/ttyd?</filename> ad hoc, pour - voir s'il y a des erreurs, s'il manque des entrées ou des - fichiers spéciaux.</para> - - </sect3> - - <sect3> - <title>Essayer de se connecter</title> - - <para>Essayez d'ouvrir une connexion par téléphone sur le système; - Veillez à utiliser 8 bits, pas de contrôle de parité et - 1 bit stop sur le système distant. Si vous n'obtenez pas tout de - suite l'invite, ou obtenez n'importe quoi, essayez d'appuyer - plusieurs fois sur <literal><Entrée></literal>, environ une - fois par seconde. Si vous n'obtenez toujours pas l'invite - <prompt>login:</prompt>, essayez d'envoyer un - <command>Attn</command> (<command>BREAK</command>). Si vous - utilisez un modem à haut débit, réessayez de vous connecter - après avoir verrouillé la vitesse de l'interface du modem, - (via <command>AT&B1</command> sur un USR Sportster, par - exemple).</para> - - <para>Si cela ne marche toujours pas, vérifiez encore le fichier - <filename>/etc/gettytab</filename> et contrôlez que:</para> - - <itemizedlist> - - <listitem> - <para>Le nom de la fonctionnalité initiale de - <filename>/etc/ttys</filename> pour cette liaison correspond - bien à celui d'une fonctionnalité définie dans - <filename>/etc/gettytab</filename>,</para> - </listitem> - - <listitem> - <para>Il y a une fonctionnalité <filename>gettytab</filename> - de nom différent pour chaque entrée - <literal>nx=</literal>,</para> - </listitem> - - <listitem> - <para>Il y a une fonctionnalité <filename>gettytab</filename> - de nom différent pour chaque entrée - <literal>tc=</literal>,</para> - </listitem> - - </itemizedlist> - - <para>Si vous appelez mais que le modem sur le système FreeBSD ne - répond pas, assurez-vous que le modem est configuré pour répondre - au téléphone lorsque le signal <abbrev>DTR</abbrev> est actif. Si - le modem semble correctement configuré, vérifiez que le signal - <abbrev>DTR</abbrev> est actif en regardant les voyants lumineux - du modem (s'il en a).</para> - - <para>Si vous avez tout passé en revue plusieurs fois et que cela - ne marche toujours pas, faites une pause et reprenez plus tard. - Si vous en êtes toujours au même point, vous pouvez peut-être - envoyer un courrier électronique à la &a.questions; décrivant - votre modem et votre problème, et les bons samaritains de la - liste essaieront de vous aider.</para> - - </sect3> - </sect2> - - <sect2> - <title>Remerciements</title> - - <para>Merci aux personnes suivantes pour leurs conseils et leurs - commentaires:</para> - - <variablelist> - <varlistentry><term>&a.kelly;</term> - <listitem> - <para>pour nombre d'excellentes suggestions.</para> - </listitem> - </varlistentry> - </variablelist> - - - </sect2> - </sect1> - - <sect1 id="dialout"> - <title>Service d'appel sortant</title> - - <para><emphasis>Informations reprises de la FAQ.</emphasis></para> - - <para>Cette section fournit des indications pour connecter votre - machine à une autre machine par modem. Cela peut servir à ouvrir - une session sur une machine distante.</para> - - <para>C'est aussi utile pour vous connecter à un “BBS”.</para> - - <para>Ce type de connexion peut être très utile pour récupérer un - fichier sur l'Internet si vous avez des problèmes avec PPP. Si vous - avez besoin d'utiliser ftp et que PPP ne fonctionne pas, vous pouvez - le faire en lançant ftp sur la session terminal. Utilisez ensuite - zmodem pour recevoir le fichier sur votre machine.</para> - - <sect2> - <title>Pourquoi ne puis-je pas utiliser <command>tip</command> ou - <command>cu</command>?</title> - - <para>Sur votre système, les programmes <command>tip</command> - et <command>cu</command> ne sont probablement exécutables que par - l'utilisateur <username>uucp</username> et le groupe - <username>dialer</username>. Vous pouvez vous servir du groupe - <username>dialer</username> pour contrôler qui a accès à vos modems - et à vos systèmes distants. Ajoutez-vous donc au groupe - <username>dialer</username>.</para> - - <para>Vous pouvez aussi autoriser tout le monde à utiliser - <command>tip</command> et <command>cu</command> sur votre - système en tapant:</para> - - <informalexample> - <screen>&prompt.root; <userinput>chmod 4511 /usr/bin/tip</userinput></screen> - </informalexample> - - <para>Il est inutile de changer les droits sur la - commande <command>cu</command>, car <command>cu</command> n'est - qu'un lien physique sur <command>tip</command>.</para> - - </sect2> - - <sect2> - <title>Mon modem compatible Hayes n'est pas - supporté, que puis-je faire?</title> - - <para>En fait, les pages de manuel de <command>tip</command> - ne sont pas à jour. Le support générique Hayes y est déjà incorporé. - Mettez simplement <literal>at=hayes</literal> dans votre fichier - <filename>/etc/remote</filename>.</para> - - <para>Le pilote Hayes n'est pas assez intelligent pour reconnaître - les possibilités étendues des nouveaux messages des - modems - <literal>BUSY</literal>, - <literal>NO DIALTONE</literal>, ou <literal>CONNECT 115200</literal> ne feront que lui poser des problèmes. Vous devez désactiver ces - messages quand vous utilisez <command>tip</command> (avec - <command>ATX0&W</command>).</para> - - <para>Par ailleurs, le délai d'appel de <command>tip</command> - est de 60 secondes. Il devra être inférieur sur votre modem, sinon - tip pensera qu'il y a un problème de communication. Essayez - <command>ATS7=45&W</command>.</para> - - <para>Tel que livré, <command>tip</command> ne supporte pas - encore cela complètement. Pour y remédier, il faut éditer le fichier - <filename>tipconf.h</filename> du répertoire - <filename>/usr/src/usr.bin/tip/tip</filename>. Il vous faut - bien évidemment le source pour cela.</para> - - <para>Changez la ligne <literal>#define HAYES - 0</literal> en <literal>#define HAYES - 1</literal>. Puis <command>make</command> et - <command>make install</command>. Tout fonctionnera ensuite - sans problème.</para> - - </sect2> - - <sect2 - id="direct-at"> - <title>Comment dois-je entrer toutes ces commandes AT?</title> - - <para>Mettez ce que l'on appelle une entrée “directe” - dans le fichier <filename>/etc/remote</filename>. Par exemple, - si votre modem est sur le premier port série. - <filename>/dev/cuaa0</filename>, mettez la ligne suivante:</para> - - <programlisting> -cuaa0:dv=/dev/cuaa0:br#19200:pa=none - </programlisting> - - <para>Utilisez la vitesse en bps la plus rapide que votre modem - accepte avec la fonctionnalité br. Tapez alors - <command>tip cuaa0</command> et vous serez connecté à votre - modem.</para> - - <para>S'il n'y a pas de fichier spécial - <filename>/dev/cuaa0</filename> sur votre système, faites la - chose suivante:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cd /dev</userinput> -&prompt.root; <userinput>MAKEDEV cuaa0</userinput></screen> - </informalexample> - - <para>Ou utilisez cu en tant que super-utilisateur avec la - commande:</para> - - <informalexample> - <screen>&prompt.root; <userinput>cu -l<replaceable>ligne</replaceable> -s<replaceable>vitesse</replaceable></userinput></screen> - </informalexample> - - <para><replaceable>ligne</replaceable> est le port série - (e.g. <filename>/dev/cuaa0</filename>) - et <replaceable>vitesse</replaceable> est - la vitesse (e.g. <literal>57600</literal>). Quand vous avez fini - d'entrer vos commandes AT, tapez <command>~.</command> - pour quitter le programme.</para> - - </sect2> - - <sect2> - <title>Le signe <literal>@</literal> ne marche pas avec la fonctionnalité pn!</title> - - <para>Le signe <literal>@</literal> comme numéro de téléphone - dit à tip de lire le numéro de téléphone - dans <filename>/etc/phones</filename>. Mais - <literal>@</literal> est aussi un caractère spécial dans les - fichiers qui définissent des fonctionnalités, - comme <filename>/etc/remote</filename>. Faites-le - précéder d'une barre oblique inverse:</para> - - <programlisting> -pn=\@ - </programlisting> - - </sect2> - - <sect2> - <title>Comment puis-je appeler un numéro de téléphone depuis la - ligne de commande?</title> - - <para>Mettez ce que l'on appelle un entrée “générique” - dans votre fichier <filename>/etc/remote</filename>. Par - exemple:</para> - - <programlisting> -tip115200|Appeler un numéro de téléphone à 115200 bps:\ - :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du: -tip57600|Appeler un numéro de téléphone à 57600 bps:\ - :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du: - </programlisting> - - <para>Vous pouvez alors faire la chose suivante:</para> - - <informalexample> - <screen>&prompt.root; <userinput>tip -115200 5551234</userinput></screen> - </informalexample> - - <para>Si vous préférez <command>cu</command> à <command>tip</command>, - mettez une entrée générique pour cu: - - <programlisting> -cu115200|Utiliser cu pour appeler un numéro à 115200bps:\ - :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du: - </programlisting> - et tapez: - - <informalexample> - <screen>&prompt.root; <userinput>cu 5551234 -s 115200</userinput></screen> - </informalexample></para> - </sect2> - - <sect2> - <title>Dois-je préciser la vitesse en bauds à chaque fois?</title> - - <para>Mettez un entrée pour <literal>tip1200</literal> ou - <literal>cu1200</literal>, mais donnez-y la vitesse en bps - voulue avec la fonctionnalité br. <command>tip</command> pense - que 1200 bps est une valeur par défaut convenable et cherche donc - une entrée <literal>tip1200</literal>. Vous n'êtes cependant pas - obligé d'y mettre la vitesse de 1200 bps.</para> - - </sect2> - - <sect2> - <title>Je me connecte à plusieurs machines par l'intermédiaire d'un - concentrateur.</title> - - <para>Au lieu d'attendre d'être connecté et de taper - <command>CONNECT <hôte></command> à chaque fois, - utilisez la fonctionnalité <literal>cm</literal> de tip. Par - exemple, ces entrées dans <filename>/etc/remote</filename>: - - <programlisting> -pain|pain.deep13.com|la machine de Forrester:\ - :cm=CONNECT pain\n:tc=deep13: -muffin|muffin.deep13.com|la machine de Frank:\ - :cm=CONNECT muffin\n:tc=deep13: -deep13:le concentrateur de l'Institut Gizmonics:\ - :dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234: - </programlisting> - - vous permettent d'utiliser <command>tip pain</command> - ou <command>tip muffin</command> pour vous connecter aux machines - pain ou muffin; et <command>tip - deep13</command> pour accéder à l'autre concentrateur.</para> - - </sect2> - - <sect2> - <title>tip peut-il essayer d'appeler plusieurs numéros pour - se connecter à un même site?</title> - - <para>C'est un problème fréquent dans les universités qui ont une - batterie de modems et des milliers d'étudiants qui essayent de - s'en servir...</para> - - <para>Définissez une entrée pour votre université dans - <filename>/etc/remote</filename> et employez <literal>@</literal> - pour la fonctionnalité <literal>pn</literal>:</para> - - <programlisting> -super-universite:\ - :pn=\@:tc=dialout -dialout:\ - :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none: - </programlisting> - - <para>Mettez ensuite les numéros de téléphone de l'université dans - <filename>/etc/phones</filename>:</para> - - <programlisting> -super-universite 5551111 -super-universite 5551112 -super-universite 5551113 -super-universite 5551114 - </programlisting> - - <para><command>tip</command> essayera d'appeler chacun de ces numéros - dans l'ordre, puis abandonnera la tentative. Si vous voulez - continuer à essayer de vous connecter, exécutez - <command>tip</command> dans une boucle “tant - que”.</para> - - </sect2> - - <sect2> - <title>pourquoi dois-je taper CTRL+P deux fois pour envoyer un - seul CTRL+P?</title> - - <para>CTRL+P est le caractère - d'échappement - “force” par défaut, - pour dire à <command>tip</command> que le caractère suivant est à - comprendre tel quel. Vous pouvez changer de caractère d'échappement - avec la commande <command>~s</command>, qui signifie - “définir une variable.”</para> - - <para>Tapez <command>~sforce=<replaceable>caractère</replaceable></command> - suivie d'un saut de ligne. <replaceable>caractère</replaceable> peut - être n'importe quel caractère. Si vous n'indiquez pas de - <replaceable>caractère</replaceable>, alors le caractère - d'échappement est le caractère “nul”, qui s'obtient en - tapant CTRL+2 ou CTRL+barre d'espacement. Une bonne valeur - à donner à <replaceable>caractère</replaceable> est SHIFT+CTRL+6, - que je n'ai jamais vue utilisée ailleurs que sur certains - concentrateurs.</para> - - <para>vous pouvez aussi donner la valeur que vous voulez au caractère - d'échappement en mettant la ligne suivante dans votre fichier - <filename>$HOME/.tiprc</filename>:</para> - - <programlisting> -force=<caractère> - </programlisting> - - </sect2> - - <sect2> - <title>Tout ce que je tape s'affiche tout à coup en - MAJUSCULES?</title> - - <para>Vous avez appuyé sur CTRL+A, c'est le caractère - “majuscules” de <command>tip</command>, à l'usage - particulier de ceux dont la touche “Majuscules” ne - fonctionne pas. Utilisez <command>~s</command> comme précédemment et - donnez une valeur raisonnable à la variable - <literal>raisechar</literal>. Vous pouvez d'ailleurs lui donner la - même valeur qu'au caractère d'échappement, si vous n'avez pas - l'intention de les utiliser l'un et l'autre.</para> - - <para>Voici une exemple de fichier <filename>.tiprc</filename> idéal - pour les utilisateurs d'<command>Emacs</command> qui ont souvent - besoin de CTRL+2 et CTRL+A:</para> - - <programlisting> -force=^^ -raisechar=^^ - </programlisting> - - <para>^^ équivaut à SHIFT+CTRL+6.</para> - - </sect2> - - <sect2> - <title>Comment puis-je transférer des fichiers avec - <command>tip</command>?</title> - - <para>Si vous dialoguez avec un autre système Unix, - vous pouvez envoyer - et recevoir des fichiers avec <command>~p</command> - (“put”) et <command>~t</command> (“take”). - Ces commandes lancent - <command>cat</command> et <command>echo</command> sur le système - distant pour qu'il reçoive et envoie des fichiers. La syntaxe - est:</para> - - <cmdsynopsis> - <command>~p</command> - <arg choice="plain">fichier_local</arg> - <arg choice="opt">fichier_distant</arg> - </cmdsynopsis> - - <cmdsynopsis> - <command>~t</command> - <arg choice="plain">fichier_distant</arg> - <arg choice="opt">fichier_local</arg> - </cmdsynopsis> - - <para>Il n'y a aucun contrôle, vous devriez probablement utiliser un - autre protocole, comme zmodem.</para> - - </sect2> - - <sect2> - <title>Comment puis-je utiliser <command>zmodem</command> avec - <command>tip</command>?</title> - - <para>Pour récupérer des fichiers, lancez le programmes de transfert - sur la machine distante. Puis tapez <command>~C rz</command> pour - commencer à les recevoir.</para> - - <para>Pour transmettre des fichiers, lancer le programme de réception - sur la machine distante. Puis, tapez <command>~C sz - <replaceable>fichiers</replaceable></command> pour les lui - envoyer.</para> - - </sect2> - </sect1> - </chapter> -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-shorttag: nil - sgml-always-quote-attributes: t - sgml-minimize-attributes: max - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> diff --git a/fr_FR.ISO8859-1/books/handbook/staff/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/staff/chapter.sgml deleted file mode 100644 index 1a68a2c364..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/staff/chapter.sgml +++ /dev/null @@ -1,859 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: 1.17 ---> - -<!-- - Please try to keep the CVSROOT/avail file in sync with the list of - FreeBSD developers. ---> - -<chapter id="staff"> - <title>L'équipe du projet FreeBSD</title> - - <para>Le projet FreeBSD est géré et mis en oeuvre par les - groupes de personnes suivantes :</para> - - <sect1 id="staff-core"> - <title>L'équipe de base - FreeBSD - <foreignphrase>Core Team</foreignphrase></title> - - <para>L'équipe de base de FreeBSD constitue le “Comité - de Direction” du projet, responsable de définir les objectifs - et l'orientation du projet ainsi que de la gestion de - <link linkend="staff-who">sections spécifiques</link> de l'ensemble - du projet FreeBSD.</para> - - <para>(par ordre alphabétique de patronyme) :</para> - - <itemizedlist> - <listitem> - <para>&a.asami;</para> - </listitem> - - <listitem> - <para>&a.jmb;</para> - </listitem> - - <listitem> - <para>&a.ache;</para> - </listitem> - - <listitem> - <para>&a.bde;</para> - </listitem> - - <listitem> - <para>&a.gibbs;</para> - </listitem> - - <listitem> - <para>&a.dg;</para> - </listitem> - - <listitem> - <para>&a.jkh;</para> - </listitem> - - <listitem> - <para>&a.phk;</para> - </listitem> - - <listitem> - <para>&a.rich;</para> - </listitem> - - <listitem> - <para>&a.gpalmer;</para> - </listitem> - - <listitem> - <para>&a.jdp;</para> - </listitem> - - <listitem> - <para>&a.sos;</para> - </listitem> - - <listitem> - <para>&a.peter;</para> - </listitem> - - <listitem> - <para>&a.wollman;</para> - </listitem> - - <listitem> - <para>&a.joerg;</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="staff-committers"> - <title>Les développeurs FreeBSD</title> - - <para>Ce sont ceux qui ont les droits d'écriture et effectuent le - travail d'ingénierie sur l'arborescence des sources. Tous les - membres de l'équipe de base sont aussi développeurs.</para> - - <itemizedlist> - <listitem> - <para>&a.ugen;</para> - </listitem> - - <listitem> - <para>&a.mbarkah;</para> - </listitem> - - <listitem> - <para>&a.stb;</para> - </listitem> - - <listitem> - <para>&a.pb;</para> - </listitem> - - <listitem> - <para>&a.abial;</para> - </listitem> - - <listitem> - <para>&a.jb;</para> - </listitem> - - <listitem> - <para>&a.torstenb;</para> - </listitem> - - <listitem> - <para>&a.dburr;</para> - </listitem> - - <listitem> - <para>&a.charnier;</para> - </listitem> - - <listitem> - <para>&a.luoqi;</para> - </listitem> - - <listitem> - <para>&a.ejc;</para> - </listitem> - - <listitem> - <para>&a.kjc;</para> - </listitem> - - <listitem> - <para>&a.gclarkii;</para> - </listitem> - - <listitem> - <para>&a.archie</para> - </listitem> - - <listitem> - <para>&a.cracauer;</para> - </listitem> - - <listitem> - <para>&a.adam;</para> - </listitem> - - <listitem> - <para>&a.dillon;</para> - </listitem> - - <listitem> - <para>&a.dufault;</para> - </listitem> - - <listitem> - <para>&a.uhclem;</para> - </listitem> - - <listitem> - <para>&a.tegge;</para> - </listitem> - - <listitem> - <para>&a.eivind;</para> - </listitem> - - <listitem> - <para>&a.julian;</para> - </listitem> - - <listitem> - <para>&a.rse;</para> - </listitem> - - <listitem> - <para>&a.se;</para> - </listitem> - - <listitem> - <para>&a.sef;</para> - </listitem> - - <listitem> - <para>&a.fenner;</para> - </listitem> - - <listitem> - <para>&a.jfieber;</para> - </listitem> - - <listitem> - <para>&a.jfitz;</para> - </listitem> - - <listitem> - <para>&a.scrappy;</para> - </listitem> - - <listitem> - <para>&a.lars;</para> - </listitem> - - <listitem> - <para>&a.dirk;</para> - </listitem> - - <listitem> - <para>&a.shige;</para> - </listitem> - - <listitem> - <para>&a.billf;</para> - </listitem> - - <listitem> - <para>&a.gallatin;</para> - </listitem> - - <listitem> - <para>&a.tg;</para> - </listitem> - - <listitem> - <para>&a.brandon;</para> - </listitem> - - <listitem> - <para>&a.graichen;</para> - </listitem> - - <listitem> - <para>&a.jgreco;</para> - </listitem> - - <listitem> - <para>&a.rgrimes;</para> - </listitem> - - <listitem> - <para>&a.jmg;</para> - </listitem> - - <listitem> - <para>&a.hanai;</para> - </listitem> - - <listitem> - <para>&a.thepish;</para> - </listitem> - - <listitem> - <para>&a.jhay;</para> - </listitem> - - <listitem> - <para>&a.helbig;</para> - </listitem> - - <listitem> - <para>&a.ghelmer;</para> - </listitem> - - <listitem> - <para>&a.erich;</para> - </listitem> - - <listitem> - <para>&a.nhibma;</para> - </listitem> - - <listitem> - <para>&a.flathill;</para> - </listitem> - - <listitem> - <para>&a.foxfair;</para> - </listitem> - - <listitem> - <para>&a.hosokawa;</para> - </listitem> - - <listitem> - <para>&a.hsu;</para> - </listitem> - - <listitem> - <para>&a.mph;</para> - </listitem> - - <listitem> - <para>&a.itojun;</para> - </listitem> - - <listitem> - <para>&a.mjacob;</para> - </listitem> - - <listitem> - <para>&a.gj;</para> - </listitem> - - <listitem> - <para>&a.nsj;</para> - </listitem> - - <listitem> - <para>&a.ljo;</para> - </listitem> - - <listitem> - <para>&a.kato;</para> - </listitem> - - <listitem> - <para>&a.andreas;</para> - </listitem> - - <listitem> - <para>&a.motoyuki;</para> - </listitem> - - <listitem> - <para>&a.jkoshy;</para> - </listitem> - - <listitem> - <para>&a.kuriyama;</para> - </listitem> - - <listitem> - <para>&a.grog;</para> - </listitem> - - <listitem> - <para>&a.jlemon;</para> - </listitem> - - <listitem> - <para>&a.truckman;</para> - </listitem> - - <listitem> - <para>&a.imp;</para> - </listitem> - - <listitem> - <para>&a.smace;</para> - </listitem> - - <listitem> - <para>&a.mckay;</para> - </listitem> - - <listitem> - <para>&a.mckusick;</para> - </listitem> - - <listitem> - <para>&a.ken;</para> - </listitem> - - <listitem> - <para>&a.hm;</para> - </listitem> - - <listitem> - <para>&a.tedm;</para> - </listitem> - - <listitem> - <para>&a.amurai;</para> - </listitem> - - <listitem> - <para>&a.markm;</para> - </listitem> - - <listitem> - <para>&a.max;</para> - </listitem> - - <listitem> - <para>&a.alex;</para> - </listitem> - - <listitem> - <para>&a.newton;</para> - </listitem> - - <listitem> - <para>&a.rnordier;</para> - </listitem> - - <listitem> - <para>&a.davidn;</para> - </listitem> - - <listitem> - <para>&a.obrien;</para> - </listitem> - - <listitem> - <para>&a.danny;</para> - </listitem> - - <listitem> - <para>&a.ljo;</para> - </listitem> - - <listitem> - <para>&a.fsmp;</para> - </listitem> - - <listitem> - <para>&a.smpatel;</para> - </listitem> - - <listitem> - <para>&a.wpaul;</para> - </listitem> - - <listitem> - <para>&a.jmacd;</para> - </listitem> - - <listitem> - <para>&a.wes;</para> - </listitem> - - <listitem> - <para>&a.steve;</para> - </listitem> - - <listitem> - <para>&a.mpp;</para> - </listitem> - - <listitem> - <para>&a.dfr;</para> - </listitem> - - <listitem> - <para>&a.jraynard;</para> - </listitem> - - <listitem> - <para>&a.darrenr;</para> - </listitem> - - <listitem> - <para>&a.csgr;</para> - </listitem> - - <listitem> - <para>&a.martin;</para> - </listitem> - - <listitem> - <para>&a.paul;</para> - </listitem> - - <listitem> - <para>&a.roberto;</para> - </listitem> - - <listitem> - <para>&a.chuckr;</para> - </listitem> - - <listitem> - <para>&a.guido;</para> - </listitem> - - <listitem> - <para>&a.dima;</para> - </listitem> - - <listitem> - <para>&a.sada;</para> - </listitem> - - <listitem> - <para>&a.nsayer;</para> - </listitem> - - <listitem> - <para>&a.wosch;</para> - </listitem> - - <listitem> - <para>&a.ats;</para> - </listitem> - - <listitem> - <para>&a.jseger;</para> - </listitem> - - <listitem> - <para>&a.simokawa;</para> - </listitem> - - <listitem> - <para>&a.vanilla;</para> - </listitem> - - <listitem> - <para>&a.msmith;</para> - </listitem> - - <listitem> - <para>&a.des;</para> - </listitem> - - <listitem> - <para>&a.brian;</para> - </listitem> - - <listitem> - <para>&a.mks;</para> - </listitem> - - <listitem> - <para>&a.stark;</para> - </listitem> - - <listitem> - <para>&a.karl;</para> - </listitem> - - <listitem> - <para>&a.taoka;</para> - </listitem> - - <listitem> - <para>&a.dt;</para> - </listitem> - - <listitem> - <para>&a.cwt;</para> - </listitem> - - <listitem> - <para>&a.pst;</para> - </listitem> - - <listitem> - <para>&a.hoek;</para> - </listitem> - - <listitem> - <para>&a.nectar;</para> - </listitem> - - <listitem> - <para>&a.swallace;</para> - </listitem> - - <listitem> - <para>&a.dwhite;</para> - </listitem> - - <listitem> - <para>&a.nate;</para> - </listitem> - - <listitem> - <para>&a.yokota;</para> - </listitem> - - <listitem> - <para>&a.jmz;</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="staff-doc"> - <title>Le projet de documentation de FreeBSD</title> - - <para>Le <ulink URL="http://www.freebsd.org/docproj.html">Projet de - documentation de FreeBSD</ulink> est responsable d'une série de - services, chacun étant géré par une personne et ses - <emphasis>adjoints</emphasis> (le cas échéant) :</para> - - <variablelist> - <varlistentry> - <term>Gestion du projet de documentation</term> - - <listitem> - <para>&a.nik;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Webmestre</term> - - <listitem> - <para>&a.wosch;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Rédacteur en chef des Manuel de référence - & Foire Aux Questions</term> - - <listitem> - <para>&a.faq;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Rédacteur en chef pour les nouvelles</term> - - <listitem> - <para>&a.nsj;</para> - - <para><emphasis>Adjoint :</emphasis> &a.john;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Rédacteur en chef de la lettre d'information succinte de - FreeBSD</term> - - <listitem> - <para>Chris Coleman <email>chrisc@vmunix.com</email></para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Rédacteur en chef de la galerie</term> - - <listitem> - <para>&a.nsj;</para> - - <para><emphasis>Adjoint :</emphasis> &a.cawimm;</para> - - </listitem> - </varlistentry> - - <varlistentry> - <term>Rédacteur en chef commercial</term> - - <listitem> - <para>&a.mbarkah;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Rédacteur en chef pour les modifications au site Web</term> - - <listitem> - <para>&a.mbarkah;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Coordination du style (Polices) & graphisme</term> - - <listitem> - <para>&a.opsys;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Ingénieur base de données</term> - - <listitem> - <para>&a.mayo;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Ingénieur CGI</term> - - <listitem> - <para>&a.stb;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Finalisation</term> - - <listitem> - <para>&a.nsj;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Conversion de LinuxDoc à DocBook</term> - - <listitem> - <para>&a.nik;</para> - </listitem> - </varlistentry> - </variablelist> - </sect1> - - <sect1 id="staff-who"> - <title>Qui est responsable de quoi</title> - - <variablelist> - <varlistentry> - <term>Architecte principal</term> - - <listitem> - <para>&a.dg;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><ulink - url="http://www.freebsd.org/docproj/docproj.html">Gestionnaire du - projet de documentation</ulink></term> - - <listitem> - <para>&a.nik;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><link linkend="l10n">Internationalisation</link></term> - - <listitem> - <para>&a.ache;</para> - </listitem> - </varlistentry> - - <varlistentry><term>Réseau</term> - - <listitem> - <para>&a.wollman;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><link linkend="eresources-mail">Postmaster</link></term> - - <listitem> - <para>&a.jmb;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Coordination des versions</term> - - <listitem> - <para>&a.jkh;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Relations publiques & avec les entreprises˛</term> - - <listitem> - <para>&a.jkh;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><ulink url="http://www.freebsd.org/security/">Officier de - sécurité</ulink></term> - - <listitem> - <para>&a.imp;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><ulink url="http://www.freebsd.org/support.html#cvs">Gestionnaires - des archives CVS</ulink></term> - - <listitem> - <para>Principal : &a.peter;</para> - - <para>Assistant : &a.jdp;</para> - - <para>International (Crypto) : &a.markm;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><ulink url="http://www.freebsd.org/ports/">Gestionnaire du - catalogue des logiciels portés</ulink></term> - - <listitem> - <para>&a.asami;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Liaison avec XFree86 Project, Inc.</term> - - <listitem> - <para>&a.rich;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><link linkend="eresources-news">Support des forums de - discussion</link></term> - - <listitem> - <para>&a.joerg;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><ulink url="http://www.freebsd.org/support.html#gnats">Administrateur - GNATS</ulink></term> - - <listitem> - <para>&a.steve;</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><ulink - url="http://www.freebsd.org/internal/">Webmestre</ulink></term> - - <listitem> - <para>&a.wosch;</para> - </listitem> - </varlistentry> - </variablelist> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> - diff --git a/fr_FR.ISO8859-1/books/handbook/todo.sgml b/fr_FR.ISO8859-1/books/handbook/todo.sgml deleted file mode 100644 index e471e64082..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/todo.sgml +++ /dev/null @@ -1,9 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: n.nn ---> - -<para>*** A Traduire ***</para> diff --git a/fr_FR.ISO8859-1/books/handbook/x11/chapter.sgml b/fr_FR.ISO8859-1/books/handbook/x11/chapter.sgml deleted file mode 100644 index 9f8d633ade..0000000000 --- a/fr_FR.ISO8859-1/books/handbook/x11/chapter.sgml +++ /dev/null @@ -1,29 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD French Documentation Project - - $FreeBSD$ - Original revision: 1.5 ---> - -<chapter id="x11"> - <title>Le système X Window</title> - - <para>En attendant que la rédaction de ce chapitre soit - terminée, reportez-vous s'il vous plaît à la - documentation fournie par - <ulink URL="http://www.xfree86.org/">The XFree86 Project, - Inc</ulink>.</para> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../handbook.sgml" "part" "chapter") - End: ---> - |