Le Sun, Aug 22, 1999 at 01:20:01AM +0200, Jerome Abela a ecrit: > J'ai l'intention de traduire les pages suivantes: > [...]
Suite à des problèmes de connectivité réseau, ce mail est resté bloqué sur ma machine 24h. Donc ce n'est plus tout à fait une intention, c'est en partie déjà fait, voici les premiers fichiers. Jerome.
#use wml::debian::template title="Debian GNU/Hurd" NOHEADER="yes" <!--translation 1.5--> <!-- Translated by : Jerome Abela <[EMAIL PROTECTED]> --> [ <a href="..">Ports</a> ] [ <b>Debian GNU/Hurd</b> ] [ <a href="hurd-news">News</a> ] [ <a href="hurd-install">Installation</a> ] [ <a href="hurd-doc">Documentation</a> ] [ <a href="hurd-devel">Développement</a> ] [ <a href="hurd-links">Liens</a> ] [ <a href="hurd-contact">Contacts</a> ]<p> <h1>Debian GNU/Hurd</h1> <h2>Introduction</h2> <P> <A HREF="http://www.gnu.org/software/hurd/hurd.html">Hurd</A> est un ensemble de traducteurs s'appuyant sur le micronoyau GNU Mach. Ensemble, ils forment la base du système d'exploitation <A HREF="http://www.gnu.org/">GNU</A>. </P> <P> Actuellement, Debian n'est disponible que pour Linux. Mais avec Debian GNU/Hurd, nous avons aussi commencé à fournir Hurd en tant que plateforme de développement. Debian GNU/Hurd n'est pas encore officiellement sorti, et ne sortira pas avant quelques temps. </P> <H2>Developpement</H2> <P> Ce délai, c'est tout simplement parceque Hurd est en cours de développement, et n'atteint pas les performances et la stabilité que vous pourriez attendre d'un système en production. De plus, le nombre de paquets Debian portés pour Hurd ne représente qu'une fraction d'une distribution Debian complète (environ 10%). Il y a encore beaucoup de travail à accomplir avant que nous puissions sortir une release. </P> <P> D'ici là, vous pouvez participer au développement. Suivant votre expérience et votre temps disponible, vous pouvez nous aider de plein de façons différentes. Par exemple, nous avons besoins de développeurs C expérimentés pour le développement et l'écriture de nouvelles fonctionnalités, nous avons aussi besoin de développeurs C pour corriger des bogues ou tracer des problèmes. Si vous n'avez pas beaucoup d'expérience en programmation C, vous pouvez quand même apporter votre aide: soit en testant les logiciels existants et en remontant des bugs, soit en essayant de compiler de nouveau logiciels que vous connaissez bien. L'écriture de documentation est également importante, ainsi que la maintenance des pages web. </P> <H2>Comment puis-je participer ?</H2> <P> Pour développer dans Hurd, vous devriez commencer par <A HREF="hurd-install">installer Hurd</A>, et vous y habituer. De plus, vous pouvez vous inscrire sur la <A HREF="hurd-contact">liste de discussion</A> et vous faire une idée de l'état du développement. Offrez votre aide, et nous vous dirons ce qui manque. Il existe également de nombreuses <A HREF="hurd-task">listes de tâches</A>. </P>
#use wml::debian::template title="Debian GNU/Hurd --- News" NOHEADER="yes" <!--translation 1.4--> <!-- Translated by : Jerome Abela <[EMAIL PROTECTED]> --> [ <a href="..">Ports</a> ] [ <a href="index">Debian GNU/Hurd</a> ] [ <b>News</b> ] [ <a href="hurd-install">Installation</a> ] [ <a href="hurd-doc">Documentation</a> ] [ <a href="hurd-devel">Développement</a> ] [ <a href="hurd-links">Liens</a> ] [ <a href="hurd-contact">Contacts</a> ]<p> <h1>Debian GNU/Hurd</h1> <h2>News</h2> <h3>5 Août 1999</h3> <p> Les NMU sources de <code>passwd</code> (<code>shadow</code>) devraient corriger tous les problèmes restant dans ce paquet. Avec ces modifications, l'installation devrait se faire plus en douceur.</p> <h3>27 Juillet 1999</h3> <p> Les nouveaux paquets du coeur du système sont maintenant terminés. Hurd a une nouvelle méthode d'amorçage (pour la partie qui suit le lancement de init, cf <code>/libexec/runsystem</code>). Ce changement était nécessaire pour le paquet <code>sysvinit</code>, qui est presque terminé. Une petite bogue corrigée dans GNU Lib C et une autre dans GNU Mach. L'autodetection de toutes les cartes réseau devrait maintenant fonctionner, mais peut-être qu'il faudra encore ajuster un peu son ordonancement (3c5x9 avant 3c59x).</p> <h3>22 Juillet 1999</h3> <p> <code>cpio 2.4.2-25</code> corrige les derniers problèmes de compatibilité Hurd, et peut maintenant être compilé tel quel. Merci Brian!</p> <h3>5 Juillet 1999</h3> <P> Les patchs pour Perl 5.005.03 ont été envoyés au responsable. Le code original était déjà corrigé (merci, Mark!), mais les scripts du paquet Debian étaient spécifiques à Linux. </P>
#use wml::debian::template title="Debian GNU/Hurd --- Links" NOHEADER="yes" <!--translation 1.7--> <!-- Translated by : Jerome Abela <[EMAIL PROTECTED]> --> [ <a href="..">Ports</a> ] [ <a href="index">Debian GNU/Hurd</a> ] [ <a href="hurd-news">News</a> ] [ <a href="hurd-install">Installation</a> ] [ <a href="hurd-doc">Documentation</a> ] [ <a href="hurd-devel">Développement</a> ] [ <b>Liens</b> ] [ <a href="hurd-contact">Contacts</a> ]<p> <h1>Debian GNU/Hurd</h1> <h2>Liens</h2> <P> Il existe de nombreuses ressources sur le web à propos de Debian GNU/Hurd et des projets qui tournent autour. Si vous en trouvez d'autres ou si certaines informations sur cette page sont incorrectes, faites-le moi savoir. Notez que la plupart des liens de cette page pointent sur des domaines hors de Debian, et ni Debian, ni SPI, ni l'auteur de cette page n'est responsable de leurs contenus. </P> <P> <UL> <LI>Debian <UL> <LI><A HREF="http://www.debian.org">Page de départ de Debian</A></LI> <LI><A HREF="http://www.debian.org/ports/">Portages de Debian</A> vers d'autres architectures</LI> <LI><A HREF="http://www.debian.org/ports/hurd/">Debian GNU/Hurd</A></LI> <LI><A HREF="http://www.debian.org/distrib/ftplist">Serveurs FTP Debian</A> pour télécharger les logiciels Debian</LI> <LI><A HREF="http://www.debian.org/Lists-Archives">Archives des listes Debian</A> où vous pouvez faire des recherches et naviguer dans les listes de discussion de Debian GNU/Hurd</LI> </UL> <LI>GNU/Hurd <UL> <LI><A HREF="http://www.gnu.org">Page de départ de GNU</A></LI> <LI><A HREF="http://www.gnu.org/software/hurd/hurd.html">Site web officiel de Hurd</A> par GNU. Il y a aussi de nombreux liens sur ces pages qui ne sont pas reproduits ici. Vous pouvez aussi essayer les nouvelles <A HREF="http://www.gnu.org/software/hurdtest/navigation.html">pages web expérimentales</A>, plus à jour.</LI> <LI><A HREF="http://www.gnu.org/software/devel.html">Ressources de développement GNU</A> donne des informations sur les accès par CVS anonyme aux logiciels Hurd, sur les listes de discussion, le serveur FTP, etc.</LI> <li><a href="http://www.urbanophile.com/arenn/hacking/hurd/hurd-hardware.html">Guide de compatibilité matérielle</a> </li> </UL> <LI>GRUB <UL> <LI><A HREF="http://www.uruk.org/grub/">GRUB</A>, qui est un chargeur d'amorçage écrit par Erich Boleyn.</LI> <LI>Gordon Matzigkeit et son équipe travaillent beaucoup sur GRUB: <a href="http://www.gnu.org/software/grub/grub.html">GNU Grub web page</a>. Il y a aussi une <a href="hurd-contact#bug-grub">liste de discussion</a> dont le sujet est le développement de GNU Grub.</li> </UL> <LI>Micronoyaux <UL> <LI><A HREF="http://www.cs.utah.edu/projects/flexmach/mach4/html/Mach4-proj.html">Mach 4</A>, la version de Mach par l'universite de l'Utah, sur laquelle GNU Mach est basé.</LI> <LI><A HREF="http://www.cs.cmu.edu/afs/cs.cmu.edu/project/mach/public/www/mach.html">Page du projet informatique Mach de CMU</A>, l'origine de Mach. Allez-y si vous êtes intéressé par GNU Mach, elle contient toute la documentation bas-niveau pour les bricoleurs de noyaux.</LI> <LI><A HREF="http://www.cs.utah.edu/projects/flexmach/">Flex</A>, le successeur de Mach 4</LI> <LI><A HREF="http://os.inf.tu-dresden.de/L4/">L4</A>, un micronoyau pour puristes</LI> <LI><A HREF="http://os.inf.tu-dresden.de/fiasco">Fiasco</A>, un clone de L4</LI> </UL> <LI>Pages web personnelles <UL> <LI><A HREF="http://duff.kuicr.kyoto-u.ac.jp/~okuji/">OKUJI Yoshinori</A> travaille actuellement sur GRUB et GNU Mach, et a (entre autres) des liens intéressants sur les micronoyaux sur sa page.</LI> <LI><A HREF="http://f77.nop.or.jp/">UCHIYAMA Yasushi</A> a fait fonctionner X Free 86 sur Hurd et a travaillé sur le support SMP de GNU Mach.</LI> <LI><A HREF="http://www.lares.dti.ne.jp/~jargon/">YAMASHITA</A> travaille sur la documentation de Hurd en japonnais, aussi bien des traductions de documents existants que de nouveaux document.</LI> <LI><A HREF="http://www.cs.pdx.edu/~trent/">Trent Fisher</A>. Ses pages sont incontournables si vous êtes intéressé par l'histoire de Hurd. Trent a quelques liens intéressants sur des annonces historiques sur Hurd, et d'anciens courriers de discussion. Bien que la plupart de ces informations sont disponibles directement depuis les pages web officielles, il y a quelques perles qui méritent d'être creusées.</LI> </UL> </UL> </P>
#use wml::debian::template title="Debian GNU/Hurd --- Installation" NOHEADER="yes" <!--translation 1.10--> <!-- Translated by : Jerome Abela <[EMAIL PROTECTED]> --> [ <a href="..">Ports</a> ] [ <a href="index">Debian GNU/Hurd</a> ] [ <a href="hurd-news">News</a> ] [ <b>Installation</b> ] [ <a href="hurd-doc">Documentation</a> ] [ <a href="hurd-devel">Développement</a> ] [ <a href="hurd-links">Liens</a> ] [ <a href="hurd-contact">Contacts</a> ]<p> <h1>Debian GNU/Hurd</h1> <h2>Matériel</h2> <p> Vérifiez le <a href="http://www.urbanophile.com/arenn/hacking/hurd/hurd-hardware.html">Guide de compatibilité matérielle</a> pour connaître quels équipements sont supportés par Hurd. </p> <H2>Installer Debian GNU/Hurd</H2> <P> Il existe un excellent document, le <A HREF="http://www.pick.ucam.org/~mcv21/hurd.html">Guide Facile</A> par Matthew Vernon, que vous devez absolument lire. Sur cette page, vous ne trouverez que des informations très succintes, juste de quoi commencer si vous êtes un développeur ou un utilisateur expérimenté. </P> <P> Il y a deux façons d'installer un système Debian GNU/Hurd. La première rend possible l'installation directement depuis les paquets Debian, mais vous aurez besoin de <TT>dpkg</TT>, le gestionnaire de paquets Debian, pour y arriver. Cela peut être difficile si vous utilisez un autre distribution Linux que la Debian, ou si vous n'avez pas de Linux du tout. Il exite donc une deuxième méthode, qui utilise un fichier d'archive tar. Après l'avoir installé, vous pouvez mettre à jour votre système avec les dernières versions des paquets Debian en utilisant les fonctions natives. Ces deux méthodes sont décrites plus bas. </P> <H3>Préparatifs communs</H3> <P> Pour démarrer l'installation, créez la partition Hurd avec <TT>mke2fs -o hurd /dev/PARTITION</TT>, où <TT>PARTITION</TT> est la partition du disque dur que vous allez consacrer à Hurd. Notez que cette partition ne doit pas dépasser 1Go pour le moment, à cause d'une limitation connue dans Hurd. </P> <P> Ensuite, montez votre partition à un endroit sûr. J'utilise <TT>/gnu</TT> comme point de montage, principalement parceque c'est le chemin par défaut pour la compilation croisée. Toute autre place fait aussi bien l'affaire, de même qu'une installation sur une image disque sur un autre système de fichiers. A partir de maintenant, je vais supposer que vous utilisez <TT>/gnu</TT>. Si ce n'est pas le cas, pensez à modifier les commandes en conséquence. </P> <H3>Deux alternatives</H3> <H4>Installation à partir des paquets Debian</H3> <P> Pour installer Debian GNU/Hurd, vous devez récupérer quelques paquets Debian et mes scripts d'installation. Téléchargez d'abord les scripts suivants: <UL> <LI><A HREF="extra-files/cross-install"><TT>cross-install</TT></A> - Installation d'un stock de paquets pour Linux</LI> <LI><A HREF="extra-files/native-install"><TT>native-install</TT></A> - Configuration du nouveau système</LI> <LI><A HREF="extra-files/dpkg-hurd"><TT>dpkg-hurd</TT></A> - Utilisez dpkg sur la partition Hurd depuis Linux</LI> </UL> </P> <P> Si vous n'avez pas une distribution Debian, vous aurez également besoin d'un version de <TT>dpkg</TT> pour votre système. </P> <P> Enfin, le plus important, les paquets Debian. Ils se trouvent sur tout <A HREF="../../distrib/ftplist">miroir FTP Debian</A>, dans le répertoire <TT>debian/dists/unstable/main/binary-hurd-i386/</TT>. La liste des paquets indispensables se trouve au début du script <TT>dpkg-hurd</TT>. Vous pouvez sauver ces paquets dans un unique répertoire, ou dans les mêmes sous-répertoire que ceux utilisés sur le site FTP. </P> <P> Maintenant, <TT>cd</TT> vers le répertoire contenant vos scripts et les paquets Debian. Si vous utilisez un unique répertoire, il doit contenir tous les fichiers. Si vous utilisez l'organisation FTP des paquets, assurez-vous que les scripts sont en haut de l'arborescence pour qu'ils puissent trouver les paquets dans <TT>base/</TT> etc. Lancez <TT>./cross-install /gnu</TT>. Répondez <TT>y</TT> à la question à propos du lien symbolique sur <TT>/usr</TT>. Maintenant continuez avec le <A HREF="#reboot">Réamorçage du système</A>. </P> <H4>Installation à partir du fichier d'archive tar</H4> <P> De temps en temps, je dépose une image à jour du système de base sur <tt><a href="ftp://alpha.gnu.org/pub/gnu/hurd/contrib/marcus/">ftp://alpha.gnu.org/pub/gnu/hurd/contrib/marcus/</a></tt> Ces fichiers s'appellent <TT>gnu-YYYYMMDD.tar.gz</TT>, où <TT>YYYYMMDD</TT> est la date de l'image. Ils vous permettent d'installer Hurd même si vous n'avez jamais touché à un système Debian. La procédure décrite ici ne fonctionne pas pour <TT>gnu-19990104.tar.gz</TT>, donc il vous faut une version plus récente que celle-ci. </P> <P> Téléchargez le fichier tar dont la date est la plus récente. C'est le seul fichier dont vous aurez besoin pour avoir un système qui tourne (à part GRUB). <TT>cd /gnu</TT> pour être en haut de la partition Hurd. Maintenant, lancez l'extraction du fichier tar avec la commande <TT>tar -xpzf /quelquepart/gnu-YYYYMMDD.tar.gz</TT> en utilisant le chemin et la date corrects. </P> <p><B>IMPORTANT:</B>Si vous utilisez la version 19990505, remplacez le script <tt>native-install</tt> du fichier tar avec sa version la plus à jour. </p> <A NAME="reboot"><H3>Réamorçage du système</H4></A> <P> Maintenant, réamorcez le système et utilisez GRUB pour amorcer la partition Hurd. Je ne vous donne pas plus d'information sur GRUB et le plan de nommage des partitions, vous trouvez ces informations et bien d'autres dans le <A HREF="http://www.pick.ucam.org/~mcv21/hurd.html">Guide facile</A> de M. C. Vernon. </P> <P> Après le réamorçage, vous devez seulement lancer <TT>./native-install</TT> pour terminer l'installation. Amusez-vous bien ! </P> </BODY> </HTML>
#use wml::debian::template title="Debian GNU/Hurd --- Documentation" NOHEADER="yes" <!--translation 1.10--> <!-- Translated by : Jerome Abela <[EMAIL PROTECTED]> --> [ <a href="..">Ports</a> ] [ <a href="index">Debian GNU/Hurd</a> ] [ <a href="hurd-news">News</a> ] [ <a href="hurd-install">Installation</a> ] [ <a href="hurd-doc">Documentation</a> ] [ <a href="hurd-devel">Développement</a> ] [ <a href="hurd-links">Liens</a> ] [ <a href="hurd-contact">Contacts</a> ]<p> <h1>Debian GNU/Hurd</h1> <h2>Foire Aux Questions (FAQ)</h2> <p> Notez que cette FAQ n'est pas destinée à ne contenir que des questions fréquemment posées, mais plus généralement tout sujet intéressant abordé dans les listes de discussion Hurd. Mon intention est d'utiliser ce document comme fourre-tout en attendant que chaque information ait sa propre place. <h3>Général</h3> <p> <b>Question</b>: Hurd est-il en cours de développement, ou bien est-ce un projet mort ?</p> <p><b>Réponse</b>: Hurd est en développement très actif ces derniers temps. Nous corrigeons des bogues pour atteindre une meilleure stabilité, et pour porter la plupart des paquets standards. Nous ajoutons également de nouvelles fonctionnalités, mais rien de majeur. Nous aimerions avoir plus de développeurs à bord. Il y a de nombreuses fonctionnalités très intéressantes à implémenter, et vous aurez rarement l'occasion de concevoir et d'implémenter des éléments d'un système d'exploitation aussi exitant!</p> <p><b>Question</b>: Est-ce que ça tourne ?</p> <p><b>Réponse:</b> Oui. </p> <h3>L'installation</h3> <P> <B>Question</B>: Quel type de partition dois-je utiliser pour ma partition GNU/Hurd ?</P> <p><b>Réponse</b>: Choisissez un système de fichier ext2. L'autre solution est d'utiliser ufs, dans le style BSD. Le numéro de type de partition pour ext2fs est 0x83 (le même que pour Linux), <em>et pas</em> 0x63 (GNU Hurd). Thomas explique pourquoi 0x63 n'est pas le bon choix: <blockquote> Un jour, nous créerons peut-être un nouveau format de système de fichier, qui s'appellera probablement le système de fichier GNU Hurd, et pourrait bien utiliser ce code de partition. Mais de toute façon, il est toujours erroné d'utiliser ce code pour une partition ext2fs, comme le fait remarquer Roland. </blockquote> <p><b>Question</b>: Quel est le nom et le numéro de ma partition ?</p> <p><b>Réponse</b>: Je savais que vous poseriez cette question. Si je devais réduire cette FAQ à une seule question, je choisirais celle-ci. C'est plutôt simple, mais vous devez savoir qu'il y a en réalité trois convention de nomage.</p> <p> Toutes les conventions de nommage utilisent <code>hd</code> pour IDE et <code>sd</code> pour les disques SCSI. C'est tout pour les points communs. Maintenant les différences.</p> <p> Pour commencer, le numéro du disque. Si c'est un disque SCSI, vous devez trouver son numéro dans la chaîne SCSI. Si c'est un disque IDE, vous devez trouver sur quel contrôleur il est, et s'il est maître ou esclave. Avec Linux, le disque maître du contrôleur primaire a la lettre "a", et le disque esclave la lettre "b". Le maître et l'esclave du contrôleur secondaire ont respectivement les lettres "c" et "d". Hurd utilise la notation BSD, et les nomme "0", "1", "2" et "3" au lieu de "a", "b", "c" et "d". Vous avez donc <code>/dev/hdc</code> sous Linux, mais <code>/dev/hd2</code> sous Hurd. C'est clair ? Bien. GRUB fait encore différemment! GRUB fait comme le BIOS, il énumère tous les disques installés sur lesquels il peut amorcer le système en commençant à 0 et par incrément de 1. Donc "hd(0,?)" est une partition sur le premier disque sur lequel il peut amorcer le système, indépendamment de sa situation de maître ou esclave ou autre. Le deuxième disque qu'il trouve est "hd(1,?)", etc. Heureusement, le BIOS fait sa recherche dans l'ordre bien précis contrôleur primaire maître/esclave, contrôleur secondaire maître/esclave.</p> <p> Maintenant, le numéro de partition. Le numéro de partition (pour les partitions primaires, comme sous DOS) est le même sous Linux et sous Hurd, excepté que Hurd utilise la notation BSD avec un séparateur "s" (NDT: du mot anglais "slice", tranche). On a donc <code>/dev/hdc3</code> sous Linux, mais <code>/dev/hd2s3</code> sous Hurd. Si vous travaillez sous BSD, vous connaissez donc déjà le nom Hurd de cette partition. GRUB, une fois de plus, fait les choses différemment: il commence à compter à partir de "0", donc <code>/dev/hd0s3</code> est <code>hd(0,2)</code> pour GRUB, <em>pas</em> <code>hd(0,3)</code>!</p> <p><b>Question</b>: Comment puis-je ajouter une partition de pagination ?</p> <p><b>Réponse</b>: Il suffit d'ajouter cette partition de pagination dans <tt>/etc/fstab</tt>, comme vous le feriez sous Linux. Vous pouvez paginer sur une partition de pagination Linux, et Hurd respectera sa signature (dans ses deux versions). Mais Hurd sera ravi de paginer sur tout autre espace disque et écrasera tout ce qu'il y trouvera, donc faites attention !</p> <p>Si vous préférez paginer sur un fichier, ou être certain qu'il vérifie la signature de pagination Linux avant d'écraser les données qui s'y trouvent, vous devez modifier <tt>/boot/servers.boot</tt>. La syntaxe est le nom de fichier spécial de la partition, suivi éventuellement du nom du fichier de pagination sur un ext2fs, suivi d'un espace et au choix <tt>$(add-raw-paging-file)</tt>, <tt>$(add-linux-paging-file)</tt>, ou <tt>$(add-paging-file)</tt>. Le premier fonctionne avec n'importe quel fichier ou partition, et ne respecte aucune signature. Le deuxième fait une vérification de sécurité, et ne fonctionne que si une signature de pagination linux est trouvée. Le troisième recherche une signature de pagination (et la respecte le cas échéant), mais passe en pagination brute s'il n'en trouve pas. C'est le fonctionnement par défaut des entrées de <tt>/etc/fstab</tt>. </p> <p><b>Question</b>: J'obtiens l'erreur <code>Operation not permitted</code> à l'installation !</p> <p><b>Réponse</b>: Vous avez oublié d'indiquer que le propriétaire du système de fichiers de la partition Hurd est <code>hurd</code>. Hurd utilise des informations supplémentaires dans les inodes pour positionner les traducteurs, donc la partition doit être marquée comme "appartenant à hurd". Vous pouvez le faire à la création de la partition avec <code>mke2fs -o hurd /dev/XXX</code> ou bien plus tard avec le script <code>e2os</code>.</p> <p><b>Question</b>: Quelle est la signification de cette erreur ? <pre> /hurd/ext2fs.static: cannot vm_map whole disk: (os/kern) no space available </pre></p> <p><b>Réponse</b>: Cela signifie que votre partition fait plus de 1Go. De telles partitions ne sont pas encore supportées, désolé.</p> <p><b>Question</b>: Après la fin de <code>native-install</code>, j'étais obligé d'écrire ccoommmmee cceeccii. En particulier, j'ai dû taper <code>rreebboooott</code> pour réamorcer le système. <p><b>Réponse</b>: C'est rigolo, hein ? Malencontreusement, deux serveurs <code>term</code> sont lancés et se partagent les entrées clavier. Après un réamorçage, le problème disparait. Il n'y a pas encore de solution connue, mais nous gardons un oeil sur ce probleme. Si <code>tar</code> supportait les traducteurs, nous n'aurions pas ce problème.</p> <p><b>Question</b>: Pourquoi <code>/usr</code> est-il un lien symbolique sur <code>.</code> ?</p> <p><b>Réponse</b>: La distinction entre <code>/</code> et <code>/usr</code> a une justification historique, du temps où les systèmes Unix étaient amorcés à partir de deux bandes, une petite bande root et un plus grosse bande usr. Ajourd'hui, il est toujours pratique d'avoir des partitions séparées pour ces deux espaces. Hurd se débarasse de ces rebus historiques, parceque nous pensons avoir trouvé une solution plus souple, les systèmes de fichiers cachés. Malheureusement <code>shadowfs</code> n'est pas encore implémenté.</p> <p><b>Question</b>: Comment puis-je configurer ma carte réseau ? Elle a été autodetectée par GNU Mach.</p> <p><b>Réponse</b>: <code>settrans -fgc /servers/socket/2 /hurd/pfinet --interface=eth0 --address=AA.BB.CC.DD --netmask=EE.FF.GG.HH --gateway=II.JJ.KK.LL</code> où les divers <code>WW.XX.YY.ZZ</code> sont respectivement votre adresse IP, votre masque réseau et l'adresse de votre passerelle. N'oubliez pas non plus de configurer <code>/etc/resolv.conf</code>, <code>/etc/hosts</code>, etc.</p> <p><b>Question</b>: Les pipes ne marchent pas!</p> <p><b>Réponse</b>: <code>settrans -fgc /servers/socket/1 /hurd/pflocal</code> devrait améliorer les choses.</p> <p><b>Question</b>: Lorsque l'APM du BIOS stoppe mes disques durs, Hurd n'arrive pas à les relancer !</p> <p><b>Réponse</b>: L'APM n'est pas supporté dans la version actuelle de GNU Mach, désolé. Désactivez l'APM dans la configuration de votre BIOS.</p> <p><b>Question</b>: Et X11 ? <p><b>Réponse</b>: Ne m'en parlez pas.</p> <p><b>Question</b>: Pourquoi ? <p><b>Réponse</b>: Le problème n'est pas X11, presque tout X11 est porté. La totalité de la distribution X11 compile et les programmes fonctionnent. Même le serveur semble tourner correctement. Cependant, nous devons porter les périphériques caractères de Linux sous GNU Mach, pour avoir un serveur de clavier, le support des souris PS/2, etc. D'ici là, les serveurs ne servent à rien. Mais vous pouvez lancer les clients sur un écran distant.</p> <p><b>Question</b>: Mes clients X11 ne marchent pas ! <p><b>Réponse</b>: Essayez <code>export LD_LIBRARY_PATH=/usr/X11R6</code>. C'est un problème de résolution de liens. Hurd utilise <code>RPATH</code>, tandis que Debian l'évite. Désolé, il n'y a pas encore de solution à ce problème à part mettre une liste de tous les répertoires contenant des bibliothèques dans <code>LD_LIBRARY_PATH</code>.</p> <h3>Utilisation de Hurd</h3> <p><b>Question</b>: Qu'est-ce qu'un traducteur ?</p> <p><b>Réponse</b>: Il existe un <a href="hurd-doc-translator">texte sur les traducteurs</a> disponible. </p> <p><b>Question</b>: Comment puis-je passer des option à <code>serverboot</code> depuis la ligne de commande de GRUB ?</p> <p><b>Réponse</b>: Il suffit de les passer au noyau, qui fera suivre à <code>serverboot</code>. </p> <p><b>Question</b>: Puis-je utiliser la version Linux de <code>e2fsck</code> sur ma partition Hurd ?</p> <p><b>Réponse</b>: Oui, depuis <code>e2fsprogs-1.05</code>. Vérifiez au préalable la version avec <code>e2fsck -V</code>.</p> <p><b>Question</b>: <code>ps aux</code> ne me donne pas le résultat que j'attends.</p> <p><b>Réponse</b>: Essayez <code>ps Aux</code>.</p> <p><b>Question</b>: Lorsque je lance <code>ls -l /dev/</code>, ça affiche <code>fd: Gratuitous error</code>. Que se passe-t-il ?</p> <p><b>Réponse</b>: Le serveur <code>magic</code> n'offre pas de support pour ces opérations de système de fichier. L'idéal serait qu'il réagisse comme un répertoire (probablement un répertoire vide), mais il faut l'implémenter. Pour le moment, vous pouvez simplement ignorer ce message d'erreur, il n'est pas dangereux. Pour approfondir le sujet, vous pouvez lire les informations sur le <a href="hurd-doc-server#magic">serveur <code>magic</code></a>.</p> <p><b>Question</b>: Où se trouve ...</p> <p><b>Réponse</b>: <ul><li><code>fdisk</code>, <code>dmesg</code> ne sont pas encore portés.</li> <li>A la place de <code>free</code>, utilisez <code>vmstat</code> et <code>vminfo</code>. </ul></p> <p><b>Question</b>: Y-a-t'il un système de fichiers <code>/proc</code> ?</p> <p><b>Réponse</b>: Non. Peut-être qu'il y aura une émulation un jour pour les programmes qui en ont besoin. Pour ce qui est du <code>/proc</code> vide, c'est juste un relicat d'un paquet Debian GNU/Linux (<tt>base-files</tt>).</p> <h3>Lorque quelque chose casse</h3> <p><b>Question</b>: Qu'est-ce qu'un <tt>default pager</tt>, <tt>paging</tt>, ou une <tt>pager request</tt> ?</p> <p><b>Réponse</b>: Le gestionnaire de pagination (default pager) gère l'allocation de mémoire virtuelle. S'il ne peut pas allouer une nouvelle page par manque de mémoire, des choses terribles peuvent arriver. Lorsque vous obtenez ce type d'erreur, soit vous avez besoin de plus de mémoire, soit vous avez découvert une fuite de mémoire. Ajoutez une partition de pagination. </p> <p><b>Question</b>: Que signifie <tt>gratuitous error</tt> ?</p> <p><b>Réponse</b>: Cela vient de <tt>strerror(EGRATUITOUS)</tt>. D'après la documentation de glibc, c'est un code d'erreur qui ne sert pas <tt>:)</tt>. Ce n'est pas tout à fait vrai. En fait, cette erreur peut arriver losqu'une anomalie grave s'est produite. Les explications de Thomas: <blockquote> Plus pécisément, EGRATUITOUS signifie officellement qu'un serveur a répondu d'un façon impossible, ou qui ne respectait pas le protocole. Il y a des cas dans Hurd où EGRATUITOUS est retourné alors qu'un autre code serait plus approprié. </blockquote> Si vous pouvez reproduire ce message, faites un rapport de bug. Mais <em>ne faites pas</em> de rapport de bug à propos de l'accès à <tt>/dev/fd</tt>, nous connaissons ce cas. </p> <p><b>Question</b>: Pourquoi <code>df</code> ne fonctionne-t-il pas ?</p> <p><b>Réponse</b>: <code>df</code> essaye d'obtenir une liste de tous les systèmes de fichiers montés. Une telle liste centralisée n'existe pas sous Hurd. Vous pouvez lancer <code>df /</code> pour obtenir l'espace disponible sur le système de fichiers racine ou sur d'autres systèmes de fichiers, mais cela ne marche pas avec certaines versions de <code>fileutils</code> (par exemple, en ce moment, été 1999, ça ne marche pas).</p> <p><b>Question</b>: Lorsque le système plante, GNU Mach se réamorce automatiquement. Mais c'est trop rapide, je n'ai pas le temps de recopier le message d'erreur.</p> <p><b>Réponse</b>: Donnez l'option <code>-H</code> à init (ajoutez-la sur la ligne de commande d'amorçage), et init demandera à Mach d'entrer en déboguage noyau au lieu de se réamorcer. A l'invite du débogueur, vous pouvez taper <code>db> reboot</code> pour réamocer le système.</p> <h3>Développement</h3> <p><b>Question</b>: Où puis-je récupérer les sources?</p> <p><b>Réponse</b>: Les sources de tous les paquets Debian sont disponible sur tous les <a href="../../distrib/ftplist">miroir FTP Debian</a>. Pour GNU Mach et Hurd, il existe également un <a href="http://www.gnu.org/software/devel">accès CVS anonyme</a> disponible. </p> <p><b>Question</b>: Par où dois-je commencer à lire les sources de Hurd ?</p> <p><b>Réponse</b>: Commencez par les sources du serveur <code>auth</code>.</p> <p><b>Question</b>: Existe-t-il des programmes d'exemple qui font usage des fonctionnalités propres à Hurd ?</p> <p><b>Réponse</b>: Dans le répertoire <code>utils/</code> des sources de Hurd.</p>
#use wml::debian::template title="Debian GNU/Hurd --- Documentation" NOHEADER="yes" <!--translation 1.8--> <!-- Translated by : Jerome Abela <[EMAIL PROTECTED]> --> [ <a href="..">Ports</a> ] [ <a href="index">Debian GNU/Hurd</a> ] [ <a href="hurd-news">News</a> ] [ <a href="hurd-install">Installation</a> ] [ <b>Documentation</b> ] [ <a href="hurd-devel">Développement</a> ] [ <a href="hurd-links">Liens</a> ] [ <a href="hurd-contact">Contacts</a> ]<p> <h1>Debian GNU/Hurd</h1> <h2>Documentation</h2> <P> La documentation de Hurd est encore incomplète, et si vous êtes compétant en programmation et en rédaction technique, vous êtes invité à améliorer le manuel de référence de Hurd ou à écrire d'autres documentations sur Hurd. </P> <UL> <LI><a href="hurd-faq">Foire Aux Questions</a> avec leurs réponses, bien sûr.</li> <li>Introduction au <a href="hurd-doc-translator">concept de traducteur</a>.</li> <LI>Le <a href="hurd-port">portage de paquets</a> exige souvent des modifications dans le logiciel d'origine ou dans les scripts des paquets Debian. </li> <LI>Le <A HREF="reference-manual/hurd_toc.html">manuel de référence Hurd</a> au format HTML couvre à la fois les aspects utilisateur et développeur de Hurd. Il est également disponible sous la forme d'un <a href="reference-manual/hurd.html">fichier unique</a>.</LI> <LI>La <A HREF="hurd-doc-server">description de l'interface utilisateur preliminaire</A> contient une liste des serveurs Hurd disponibles et le résultat de leur <tt>--help</tt>.</LI> <LI>Quelques informations sur certains <A HREF="hurd-doc-utils">utilitaires</A>.</LI> </UL> </P>
#use wml::debian::template title="Debian GNU/Hurd --- Documentation" NOHEADER="yes" <!--translation 1.3--> <!-- Translated by : Jerome Abela <[EMAIL PROTECTED]> --> [ <a href="..">Ports</a> ] [ <a href="index">Debian GNU/Hurd</a> ] [ <a href="hurd-news">News</a> ] [ <a href="hurd-install">Installation</a> ] [ <a href="hurd-doc">Documentation</a> ] [ <a href="hurd-devel">Développement</a> ] [ <a href="hurd-links">Liens</a> ] [ <a href="hurd-contact">Contacts</a> ]<p> <h1>Debian GNU/Hurd</h1> <h2>Traducteurs</h2> <ul> <li><a href="#concept" name="TOC_concept">Concept</a></li> <li><a href="#examples" name="TOC_examples">Exemples</a></li> <li><a href="#actpas" name="TOC_actpas">Traducteurs passifs, traducteurs actifs</a></li> <li><a href="#manage" name="TOC_manage">Gestion des traducteurs</a></li> </ul> <a href="#TOC_concept" name="concept"><h3>Concept</h3></a> <p> Avant d'étudier en détail les traducteurs, voyons le fonctionnement d'un système de fichiers traditionnel. Un système de fichiers est une zone de données organisée en un arbre hiérarchique de répertoires et de fichiers. Ces répertoires et fichiers sont désignés par une chaîne de caractères spéciale, le <em>chemin</em>. D'autres données que de simples fichiers ou répertoires peuvent être présents dans cet arbre:</p> <ul><li>des liens symboliques, qui permettent de référencer un fichier depuis d'autres endroits de l'arbre,</li> <li>des liens physiques, qui désignent un même fichier unique depuis plusieurs emplcements,</li> <li>des fichiers spéciaux de périphériques, qui permettent de communiquer avec les pilotes de périphériques du noyau,</li> <li>des points de montage, qui permettent d'inclure d'autres systèmes de fichiers dans l'arborescence,</li> <li>ainsi que d'autres objets obscurs comme les fifos ou les sockets.</li></ul> <p> Malgré les grandes différences qui existent entre ces objets, ils partagent certaines propriétés générales, par exemple, ils ont tous un propriétaire et un groupe qui leur est associé, ainsi que des droits d'accès (permissions). Ces informations sont conservées dans des inodes. Voilà encore une propriété partagée: chacun de ces objets a exactement un inode qui lui est associé (à l'exception des liens physiques qui sont plusieurs à partager le même inode). Quelques fois, l'inode contient un peu plus d'informations. Par exemple, il peut contenir la destination d'un lien symbolique.</p> <p> Cependant, ces ressemblances ne sont généralement pas exploitées dans les implémentations, malgré une interface de programmation commune. Tous les inodes peuvent être accédés pas des appels POSIX standards, par exemple <code>read()</code> et <code>write()</code>. Mais pour ajouter un nouveau type d'objet (par exemple un nouveau type de lien) sur un noyau unix monolitique classique, il faut modifier le code de chaque système de fichiers séparément.</p> <p> Avec Hurd, les choses sont différentes. Bien sûr, lorsqu'un système de fichiers particulier (comme ext2fs) ajoute à un object standard (comme le lien symbolique) une propriété particulière (comme le lien rapide), Hurd l'implémente dans un serveur de système de fichiers spécifique. Mais sa grande force est de posséder une interface générique permettant d'ajouter de telles fonctionnalités sans modifier le code existant.</p> <p> L'astuce consiste à permettre à un programme de s'insérer entre le contenu effectif du fichier et l'utilisateur qui accède à ce fichier. Un tel programme s'appelle un traducteur, parcequ'il est capable de traiter et transformer des requêtes de plein de façons différentes. En d'autres termes, un traducteur est un serveur Hurd qui implémente l'interface de base des système de fichiers.</p> <p> Les traducteurs ont des propriétés très intéressantes. Vu du noyau, ce ne sont que des processus comme les autres, qui peuvent être lancés par n'importe quel utilisateur. Vous n'avez pas besoin des privilèges de root pour installer ou modifier un traducteur, il suffit des droits d'accès à l'inode auquel est rattaché ce traducteur. De nombreux traducteurs n'ont pas besoin d'un fichier concret pour fonctionner, il fournissent des informations par leurs propres moyens. C'est pourquoi les informations sur les traducteurs sont associées aux inode.</p> <p> Un traducteur a pour responsabilité de répondre à toutes les requêtes de système de fichiers qui agissent sur l'inode auquel il est rattaché. Comme il n'est pas limité aux objets habituels (lien, fichier spécial de périphérique, etc), il est libre de retourner tout ce qui peut avoir un sens. On pourrait immagine un traducteur qui se comporte comme un répertoire lorsqu'on y accède par <code>cd</code> ou <code>ls</code> et en même temps comme un fichier lorsqu'on y accède par <code>cat</code>.</p> <a href="#TOC_examples" name="examples"><h3>Exemples</h3></a> <h4>Point de montage</h4> <p> Un point de montage peut être vu comme un inode avec un traducteur spécial qui lui est rattaché. Son utilité est de traduire les opérations de système de fichiers sur le point de montage en opérations sur d'autres données, par exemple une autre partition.</p> <p> C'est en effet ainsi que les systèmes de fichiers sont implémentés sur Hurd. Un système de fichiers est un traducteur. Ce traducteur prend en argument un périphérique de stockage, et effectue de façon transparente toutes les opération de système de fichiers.</p> <h4>Fichier spécial de périphérique</h4> <p> Il existe de très nombreuses sortes de fichiers de périphérique, et dans un système avec un noyau monolithique, ils sont tous gérés par le noyau lui-même. Dans Hurd, tous les fichiers de périphérique sont gérés par des traducteurs. Un même traducteur peut gérer de nombreux fichiers de périphériques similaires, par exemple toutes les partitions de disques durs. Ainsi, le nombre réel de traducteurs nécessaires est réduit. En revanche, chaque fois qu'un fichier de périphérique est utilisé, un nouveau thread est lancé dans le traducteur. Comme Hurd est hautement multi-thread, cette opération n'est pas coûteuse du tout.</p> <p> Lorsqu'il doit accéder à du matériel, un traducteur se met à communiquer avec le noyau pour transférer des données. Mais si aucun accès au matériel n'est nécessaire, le noyau n'est plus du tout concerné. Par exemple, <code>/dev/zero</code> ne nécessite aucun accès matériel, donc il est entièrement implémenté dans l'espace utilisateur.</p> <h4>Lien symbolique</h4> <p> Un lien symbolique peut être vu comme un traducteur. L'accès à un lien symbolique lancerait le traducteur, qui ferait suivre les requêtes vers le système de fichiers contenant le fichier vers lequel le lien pointe.</p> <p> Cependant, pour de meilleures performances, les systèmes de fichiers qui ont un support natif des liens symboliques peuvent en tirer avantage et les implémenter différemment. En interne, l'accès à un lien symbolique ne lance pas un nouveau thread de traducteur, mais pour l'utilisateur tout se passe comme si un traducteur passif était présent (voyez plus bas pour une explication sur les traducteurs passifs).</p> <p> Comme Hurd fournit un traducteur de lien symbolique, tout serveur de système de fichiers qui supporte les traducteurs supporte automatiquement les liens symboliques (et les firmlinks, et les fichiers de périphériques, etc) ! Cela signifie que vous pouvez faire tourner une nouveau type de système de fichiers très rapidement, et ajouter le support natif des liens symbolique et d'autres fonctionnalités plus tard.</p> <a href="#TOC_actpas" name="actpas"><h3>Traducteur passif, traducteur actif</h3></a> <p> Il y a deux types de traducteurs, les traducteurs passifs, et les traducteurs actifs. Ce sont réellement deux choses différentes, qu'il ne faut pas mélanger, mais ces deux types des traducteurs sont en étroite relation. </p> <h4>Traducteur actif</h4> <p> Un traducteur actif est un processus de traducteur qui tourne, comme expliqué plus haut. Vous pouvez ajouter ou retirer un traducteur actif en utilisant la commande <a href="reference-manual/hurd_7.html#SEC49"><code>settrans -a</code></a>. L'option <code>-a</code> est nécessaire pour indiquer à <code>settrans</code> que vous désirez agir sur un traducteur actif.</p> <p> La commande <code>settrans</code> prend trois catégories d'arguments. Premièrement, les options propres à la commande <code>settrans</code> elle-même, comme <code>-a</code> pour modifier le traducteur actif. Ensuite, vous précisez l'inode à modifier. Rappelez-vous qu'un traducteur est toujours rattaché à un inode dans une hiérarchie de répertoires. Vous ne pouvez modifier qu'un seul inode à la fois. Si vous n'indiquez pas plus d'arguments, <code>settrans</code> essayera d'enlever le traducteur existant. L'énergie qu'il y mettra dépend des options spécifiées (si le traducteur est en cours d'utilisation, vous aurez un message d'erreur "device or resource busy" à moins de forcer sa suppression).</p> <p> Mais si vous précisez d'autres arguments, ils seront interprétés comme une ligne de commande de lancement du traducteur. Cela signifie que l'argument qui suit est le nom de l'exécutable du traducteur et que les suivants sont ses options, et non celles de la commande <code>settrans</code>.</p> <p> Par exemple, pour monter une partition ext2fs, il suffit de lancer <code>settrans -a -c /mnt /hurd/ext2fs /dev/hd2s5</code>. L'option <code>-c</code> créera le point de montage s'il n'existe pas déjà. Notez que ce point de montage n'est pas nécessairement un répertoire. Pour démonter cette partition, il suffit de faire <code>settrans -a /mnt</code>.</p> <h4>Traducteur passif</h4> <p> Un traducteur passif est positionné ou modifié par la même syntaxe que pour un traducteur actif (il suffit de retirer le <code>-a</code>), donc tout ce qui a été dit précédemment est applicable aux traducteurs passifs. Cependant, il y a une différence: les traducteurs passifs ne sont pas lancés immédiatement.</p> <p> Cela correspond finalement au sens que vous voulez donner à un traducteur. Vous ne voulez pas que la partition soit montée à moins d'accéder réellement à cette partition. Vous ne voulez pas lancer le réseau tant qu'il n'y a pas de trafic, etc.</p> <p> Au lieu de cela, au premier accès au traducteur passif, un traducteur actif est lancé à partir de la ligne de commande stockée dans l'inode. Ce mécanisme est un peu similaire à l'automounter de Linux. La différence, c'est qu'il ne s'agit d'un petit plus à mettre en place manuellement, mais d'une partie intégrante du système. La mise en place de traducteurs passifs repousse donc le lancement de ces traducteurs au moment où ils seront réellement nécessaires. Par ailleurs, si un traducteur actif meurt pour une quelconque raison, il est relancé au premier accès qui suit à l'inode.</p> <p> Il y a une autre différence: les traducteurs actifs peuvent mourir ou se perdre. Dès qu'un traducteur est tué (par exemple, parceque la machine est réamorcée), il est perdu pour toujours. Les traducteur passifs sont conservés dans les inodes pendant les réamorçages jusqu'à ce que vous les modifiez par le programme <code>settrans</code>, ou que vous effaciez les inodes auxquels ils sont attachés. Cela signifie que vous n'avez pas de fichier de configuration à tenir à jour pour vos points de montage.</p> <p> Un dernier point: même si vous avez mis en place un traducteur passif, vous pouvez toujours lancer un traducteur actif différent. Ce n'est que dans le cas où aucun traducteur n'est actif au moment où l'inode est utilisé qu'un traducteur est lancé automatiquement par le traducteur passif.</p> <a href="#TOC_manage" name="manage"><h3>Gestion des traducteurs</h3></a> <p> Comme indiqué plus haut, vous pouvez utiliser <a href="reference-manual/hurd_7.html#SEC49"><code>settrans</code></a> pour lancer ou modifier les traducteurs passifs et actifs. Il existe de nombreuses options pour changer le comportement de <code>settrans</code> en cas d'erreur, ou pour conditionner son action. Voici quelques utilisations classiques:</p> <ul><li><code>settrans -c /mnt /hurd/ext2fs /dev/hd2s5</code> monte une partition, et le traducteur restera permanent.</li> <li><code>settrans -a /mnt /hurd/ext2fs ~/dummy.fs</code> monte un système de fichiers dans un fichier de données, et le montage disparaîtra si le traducteur meurt. <li><code>settrans -fg /nfs-data</code> force un traducteur à disparaître.</li> </ul> <p> Vous pouvez utiliser la commande <a href="hurd-doc-utils#showtrans"><code>showtrans</code></a> pour voir si un traducteur est attaché à un inode. Cette commande n'affichera cependant que le traducteur passif.</p> <p> Vous pouvez changer les options d'un traducteur actif (de système de fichiers), avec la commande <code>fsysopts</code> sans le relancer. C'est vraiment pratique. Par exemple, vous pouvez faire l'équivalent d'un "remontage de partion en lecture seule" sous Linux en lançant simplement <code>fsysopts /point_de_montage --readonly</code>. Le traducteur actif changera son comportement dans la mesure du possible. <code>fsysopts /point_de_montage</code> sans autre paramètre affiche l'état courant du traducteur.</p> <h4>Exemples</h4> <p> Je vous recommande de commencer par lire la commande <code>/bin/mount</code>, c'est juste un petit script. Comme la mise en place de traducteurs de systèmes de fichiers est similaire au montage de partitions, vous pourrez ainsi facilement maitriser ce concept. Faites une image d'un système de fichiers avec <code>dd if=/dev/zero of=dummy.fs bs=1024k count=8; mke2fs dummy.fs</code> et montez-la avec <code>settrans -c dummy /hurd/ext2fs `pwd`/dummy.fs</code>. Notez que le traducteur n'est pas encore lancé, il n'y a pas de nouveau processus <code>ext2fs</code> qui tourne (verifiez avec <code>ps Aux</code>). Vérifiez que tout est correct en utilisant <code>showtrans</code>.</p> <p> Maintenant, tapez <code>ls dummy</code>, vous remarquerez un court délai pendant que le traducteur démarre. Après cela, il n'y aura plus de délais pour accéder à dummy. Sous Linux, on aurait dit que vous avez automonté un système de fichiers <code>loop</code>. Vérifiez avec <code>ps Aux</code> qu'il y a un processus <code>ext2fs dummy</code> qui tourne. Maintenant, mettez quelques fichiers dans ce nouveau répertoire. Essayez de passer ce système de fichier en lecture seule avec <code>fsysopts</code>. Notez que de nouvelles tentatives d'écriture échouent maintenant. Essayez de tuer le traducteur actif avec <code>settrans -g</code>.</p> <p> Vous devriez commencer à comprendre ce qui se passe. Maintenant, rappelez-vous, ce n'est qu'un seul serveur, le serveur Hurd ext2fs. Il existe de nombreux autres serveurs dans le répertoire <code>/hurd</code>. Certains sont pour des systèmes de fichiers. Certains sont nécessaires pour des fonctionnalités des systèmes de fichiers, comme les liens. Certains sont nécessaires pour les fichiers de périphériques. Certains sont nécessaires pour le réseau. Imaginez que vous montez un serveur FTP avec <code>settrans</code> et que vous téléchargez des fichiers en utilisant simplement la commande <code>cp</code> standard. Ou bien que vous éditez votre site web avec la commande <code>emacs /ftp/homepage.my.server.org/index.html</code> !</p>