Bonjour, voici la mise à jour de hurd-faq avec les propositions de Brice. Cordialement.
#use wml::debian::template title="Debian GNU/Hurd --- Documentation" NOHEADER="yes" #use wml::debian::translation-check translation="1.10"
#include "$(ENGLISHDIR)/ports/hurd/menu.inc" <h1> Debian GNU/Hurd</h1> <h2> Foire Aux Questions (FAQ)</h2> <p> Notez que cette FAQ n'est pas seulement 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 de mettre en place des éléments d'un système d'exploitation aussi exitant! <p> <b> Question</b>: Est-ce que ça tourne ? <p> <b> Réponse</b>: Oui. <p> <b> Question</b>: Qu'est ce que le Hurd ? <p> <b> Réponse</b>: Hurd signifie Hird of Unix Replacing Daemons (« Hird des démons de remplacement d'Unix ») alors que Hird signifie Hurd of Interfaces Representing Depth (« Hurd des couches de remplacement d'interfaces »). <p> Hurd est une série de serveurs fonctionnants sur un micronoyau et fournissants un environnement compatible Unix. <h3> L'installation</h3> <p> <b> +Question</b>: Quel type de matériel est supporté par Hurd ? <p> <b> Réponse</b>: Veuillez lire le <a href="http://www.urbanophile.com/arenn/hacking/hurd/hurd-hardware.html">guide de compatibilité matérielle</a> pour la réponse à votre question. <p> <b> Question</b>: Quel type de partition dois-je utiliser pour ma partition GNU/Hurd ? <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 cetteFAQ à 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> 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> 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> 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> <b> Question</b>: Comment puis-je ajouter une partition de pagination ? <p> <b> Réponse</b>: Il suffit d'ajouter cette partition de pagination dans <code>/etc/fstab</code>, 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> 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 <code>/boot/servers.boot</code>. 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 <code>$(add-raw-paging-file)</code>, <code>$(add-linux-paging-file)</code>, <code>$(add-paging-file)</code>. 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 <code>/etc/fstab</code>. <p> <b> Question</b>: J'obtiens l'erreur <code>Operation not permitted</code> à l'installation ! <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 informationssupplé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> <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> <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> <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 maisnous gardons un oeil sur ce problème. Si <code>tar</code> supportait les traducteurs, nous n'aurions pas ce problème. <p> <b> Question</b>: Pourquoi <code>/usr</code> est-il un lien symbolique sur <code>.</code> ? <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, parce que nous pensons avoir trouvé une solution plus souple, les systèmes de fichiers cachés. Malheureusement les systèmes de fichiers cachés ne sont pas encore implémentés. <p> <b> Question</b>: Comment puis-je configurer ma carte réseau ? Elle a été autodetectée par GNU Mach. <p> <b> Réponse</b>: Configurez le serveur <a href="hurd-doc-server"> <code>pfinet</code></a>. N'oubliez pas non plus de configurer <code>/etc/resolv.conf</code>, <code>/etc/hosts</code>, etc. <p> Vous n'avez bien sûr besoin de le faire que si la routine d'installation ne le fait pas à votre place. <p> <b> Question</b>: Les pipes ne marchent pas! <p> <b> Réponse</b>: <code>settrans -fgc /servers/socket/1 /hurd/pflocal</code> devrait améliorer les choses. <p> <b> Question</b>: Lorsque l'APM du BIOS stoppe mes disques durs, Hurd n'arrive pas à les relancer ! <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> <b> Question</b>: Et X ? <p> <b> Réponse</b>: Il fonctionne ! Les paquets sont disponibles sur tout mirroir ftp Debian. XFree86 4.0.2 est disponible, de même que quelques serveurs v3. Les instructions sur la manière d'utiliser les paquets sont sur les archives de la liste de diffusion (les liens seront fournis plus tard). <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. <h3> Utilisation de Hurd</h3> <p> <b> Question</b>: Qu'est-ce qu'un traducteur ? <p> <b> Réponse</b>: Il existe un <a href="hurd-doc-translator">texte sur les traducteurs</a> disponible. Lisez-le et vous pourrez poser les questions qui vous restent manquent sur la liste de diffusion. <p> <b> Question</b>: Pourquoi ne puis-je pas faire de <code>read()</code> sur un répertoire ? <p> <b> Réponse</b>: Il est important de comprendre qu'il n'y a rien de spécial sur les répertoires avec Hurd, c'est simplement un autre fichier. C'est adapté au concept de traducteur où ce dernier peut apparaître comme un répertoire et fournir aussi un fichier. <p><b>Question</b>: Comment puis-je passer des option à <code>serverboot</code> depuis la ligne de commande de GRUB ? <p> <b> Réponse</b>: Il suffit de les passer au noyau, qui fera suivre à <code>serverboot</code>. <p> <b> Question</b>: Puis-je utiliser la version Linux de <code>e2fsck</code> sur ma partition Hurd ? <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> <b> Question</b>: <code>ps aux</code> ne me donne pas le résultat que j'attends. <p> <b> Réponse</b>: Essayez <code>ps Aux</code>. <p> <b> Question</b>: Que sont ces pids 2 et 4 étranges ? <p> <b> Réponse</b>: 2 est le noyau, 3 est la pagination par défaut. 4 est le système de fichiers racine. <p> <b> Question</b>: Où se trouve ... <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> <b> Question</b>: Y-a-t'il un système de fichiers <code>/proc</code> ? <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 (<code>base-files</code>). Vous pouvez rechercher les périphériques présents avec l'utilitaire <a href="hurd-doc-utils#devprobe">devprobe</a>. <p> <b> Question</b>: Quel est le shell de connexion ? <p> <b> Réponse</b>: Hurd soutient le concept de non-connexion pour les utilisateurs. Cela signifie que l'utilisateur n'a pas de uids. Ce concept provient du fait que Hurd supporte les jeux d'uid et une possibilité de précaution est le jeu vide. Au lieu de simplement refuser l'accès dans de tels cas, le système de fichiers Hurd offre un jeu de permissions pour l'extérieur (rwx) qui est utilisé pour déterminer les privilèges (par défaut, cela tombe alors dans les jeux de permissions des « autres » utilisateurs). <p> Le shell de connexion de Hurd est un shell fonctionnant avec des uids et gids vides. Pour restreindre l'accès à vos fichiers, changez le quatrième jeu de permissions ou changez le shell de connexion de l'utilisateur « connecté » dans le fichier de mots de passes à <code>/bin/loginpr</code> qui implémente l'invite de connexion standard. <h3> Lorsque quelque chose casse</h3> <p> <b> Question</b>: Qu'est-ce qu'un <code>default pager</code>, <code>paging</code>, ou une <code>pager request</code> ? <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 toujours une partition de pagination. <p> <b> Question</b>: Que signifie <code>Gratuitous error</code> ? <p> <b> Réponse</b>: Cela vient de <code>strerror(EGRATUITOUS)</code>. D'après la documentation de glibc, c'est un code d'erreur qui ne sert pas <code>:)</code>. 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 précisément, <code>EGRATUITOUS</code> 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ù <code>EGRATUITOUS</code> est retourné alors qu'un autre code serait plus approprié. </blockquote> <p> 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 à <code>/dev/fd</code>, nous connaissons ce cas. <p> <b> Question</b>: Pourquoi <code>df</code> ne fonctionne-t-il pas ? <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 (vous aurez au moins besoin de <code>fileutils 4.0-2.1</code> pour cette fonctionalité). <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> <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éamorcer le système. <h3>Développement</h3> <p> <b> Question</b>: Où puis-je récupérer les sources? <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> <b> Question</b>: Par où dois-je commencer à lire les sources de Hurd ? <p> <b> Réponse</b>: Commencez par les sources du serveur <code>auth</code>. <p> <b> Question</b>: Existe-t-il des programmes d'exemple qui font usage des fonctionnalités propres à Hurd ? <p> <b> Réponse</b>: Dans le répertoire <code>utils/</code> des sources de Hurd. <p> <b> Question</b>: <code>ps</code> se bloque et j'ai besoin de vérifier sa sortie ! <p> <b> Réponse</b>: Arrêtez-le et démarrez-le avec <code>-M</code>.