[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

mise à jour evec relecture



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&gt; 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>.


Reply to: