GNU Hurd
Est-ce que ça marche ? Peut-on l'installer ?

12 mai 2025


[Logo GNU]


Réponse rapide : OUI



Réponse plus élaborée - Toutes les informations dans cet article !


[Historique GNU] [Présentation du Hurd]

[Matériel compatible] [Installation du Hurd] [Modifications TheRaphit]

[Quel avenir pour le Hurd ?]




Retrouvez également mes autres guides concernant les systèmes UNIX sur TheRaphit.com




Bref historique du projet GNU


Le projet GNU, dont
Richard Matthew Stallman (souvent appelé par ses initiales, RMS) est le fondateur, avait pour objectif initial la création d'un système d'exploitation libre suivant sa vision de pionnier de l'informatique : code disponible, autorisation de le modifier et de le redistribuer à partir du moment où cette même autorisation est préservée.

Au début des années 1980, alors que l'informatique se professionnalise, les toutes jeunes sociétés du secteur commencent à ne plus divulguer les sources de leurs logiciels, afin de préserver leur avantage concurrentiel. Jusqu'à présent, l'informatique était surtout une curiosité, et la communauté naissante des programmeurs s'échangeaient bien volontiers code et astuces. La fin de cette époque agace particulièrement RMS qui souhaiterait que l'informatique reste un milieu contributif bénéficiant au plus grand nombre, et où chacun peut adapter les logiciels à ses besoins.

GNU signifie GNU is not UNIX (acronyme récursif), car si aujourd'hui, « UNIX » est passé dans le langage courant, à cette époque il s'agit encore d'une marque déposée de AT&T qui est à l'origine du tout premier système de ce type. RMS souhaitait que son système ne soit pas propriétaire et fermé tout en étant compatible UNIX, déjà largement répandu à l'époque, et éprouvé en tant que système robuste.

Le système GNU Hurd


Le développement d'UNIX s'est échelonné tout au long des années 1970. La création d'un nouveau système d'exploitation à partir de rien est donc une lourde tâche... Puisque l'objectif est d'obtenir un système compatible, RMS va commencer à développer toute la partie « utilitaires » de son futur OS sur les systèmes UNIX existants.

C'est de là que vont nous venir les premiers outils GNU tels que gcc, gdb, make et bash, programmés, compilés puis tout d'abord utilisés sur des UNIX propriétaires. Le développement du noyau du système d'exploitation, très dépendant du matériel, est remise à plus tard.

Au début des années 1990, l'apparition du noyau Linux, développé indépendamment, permet l'assemblage des outils GNU avec celui-ci afin d'obtenir un système d'exploitation libre complet et fonctionnel, appelé dès lors GNU Linux. Pour beaucoup de programmeurs de la communauté open-source, le développement du noyau GNU n'est donc plus une priorité. Cependant celui-ci se poursuit, essentiellement car l'idée de RMS avec GNU est aussi de remplacer les noyaux monolithiques UNIX, vus comme trop rigides, par un micronoyau n'intégrant que les fonctions qui ne peuvent pas être exécutées ailleurs que dans le noyau. Le reste du système fonctionne alors dans l'espace utilisateur, ce qui permet d'obtenir un ensemble bien plus souple, et auquel un grand nombre de personnes peuvent contribuer indépendamment les unes des autres.

Tout cela a fini par aboutir à ce qui est désigné comme « le système GNU » véritable. La collection de programmes intermédiaires (appelés « serveurs ») entre le micronoyau (appelé GNU Mach) et les utilitaires GNU, quant à elle, est appelée « le Hurd » - avec l'article défini (the Hurd en anglais). Cependant on désigne le plus souvent par GNU Hurd l'entièreté du système, plutôt que simplement GNU, pour le distinguer justement de GNU Linux.

Hurd est lui-même un double acronyme récursif, signifiant « Hird of Unix-Replacing Daemons » et Hird voulant dire « Hurd of Interfaces Representing Depth. »

GNU Hurd est-il un UNIX ?
Techniquement non, ce n'en n'est pas un, comme le rappelle l'acronyme GNU. Mais GNU Hurd est un système POSIX, partageant donc un grand nombre de caractéristiques avec les systèmes UNIX d'origine, et les OS libres modernes *BSD et Linux.

Concrètement, les grands principes d'UNIX sont les suivants :
  • un noyau multitâche préemptif, adapté au multi-utilisateur en offrant la possibilité de gérer différents niveaux de privilèges
  • une interface standardisée permettant de dialoguer avec la machine : shell et gestion des terminaux
  • une collection d'utilitaires remplissant chacun une tâche simple, mais commutables entre eux
A ce titre, l'utilisation du Hurd est parfaitement similaire en pratique à celle de GNU Linux puisque l'interface de dialogue avec la machine (le shell bash) et les utilitaires sont les mêmes. De plus, le Hurd a été pensé pour être compatible UNIX dès le départ : le code source d'un logiciel écrit pour un système POSIX doit pouvoir se compiler avec gcc sous le Hurd.
Et en pratique, est-ce que GNU Hurd fonctionne vraiment ? Peut-on l'installer sur un PC ?
Oui, cela fonctionne ! Il est possible d'installer un système complet, la théorie du paragraphe précédent ayant bien été mise en pratique : il existe une distribution Debian GNU/Hurd où 75 % des packages Debian existant sous Linux ont été compilés pour le Hurd et y sont disponibles à l'installation via l'outil apt.

Néanmoins plusieurs restrictions s'appliquent concernant le Hurd :
  • il s'agit d'un système 32 bits, sur lequel il n'est donc pas possible d'exploiter plus de 4 Go de RAM
  • le système est mono-processeur, sur un CPU moderne il ne va donc utiliser qu'un seul coeur
  • la liste du matériel compatible est assez restreinte, et sur un PC récent ça va être compliqué
  • bien que très stable, les performances en terme d'entrées-sorties (disque et/ou réseau) sont en retrait par rapport à un système moderne
Le Hurd a fortement pâti du manque de développeurs suite à l'engoûment qu'a connu Linux, cet enthousiasme ayant ensuite plutôt débordé vers le développement d'autres UNIX libres déjà existants - plus proches de Linux que ne l'est GNU Hurd - et d'interfaces utilisateur telles que KDE ou GNOME. Car le but d'une machine faisant fonctionner un système d'exploitation libre, c'est tout de même qu'elle soit pratique à utiliser par les humains !
Cependant il reste tout à fait possible de tenter l'expérience et d'installer GNU Hurd sur un PC compatible ou sur une machine virtuelle sans problèmes. Je dispose moi-même d'une petite machine sous GNU Hurd, sur lequel j'ai installé un serveur Web.

C'est même accessible publiquement ici : iryanne.noellys.net ! (⚠ HTTP uniquement, donc votre navigateur peut râler...)

Tenté ? Suivez le guide !

La configuration matérielle - Machine virtuelle ou PC x86


Le mieux est probablement d'effectuer l'installation dans une machine virtuelle. Si vous disposez déjà d'un PC sous Linux, vous pouvez installer une interface de gestion de KVM telle que
Xen, pour vous faciliter la tâche. Mais vous pouvez également, si vous avez une version « Pro » de Windows 10 ou supérieur, utiliser le système de virtualisation HyperV de Microsoft, en l'installant via l'ajout de composants Windows.

Avec KVM, vous pouvez utiliser les paramètres « hardware virtuel » suivants :


[Configuration Proxmox VE]


Ici, il s'agit d'une configuration sur la distribution Linux
Proxmox VE dédiée à la virtualisation. Comme indiqué plus haut, inutile de mettre plus qu'un vCPU et 4 Go de RAM. Au niveau espace disque, vous pouvez vous contenter de bien moins, par exemple 12 Go. Il vaut mieux spécifier qemu32 comme type de CPU virtuel, c'est à dire passer par une couche d'émulation d'un processeur 32 bits plutôt qu'utiliser nativement le CPU de l'hôte. En effet, l'exécution d'un système 32 bits sur un processeur 64 bits récent peut provoquer ce qu'on appelle des « problèmes d'alignement mémoire » et potentiellement des crashs.

Pour les vrais de vrais, ceux qui ont des poils et de grosses roupettes spatio-temporelles déformant le continuum, vous pouvez aussi vous passer totalement d'une interface pour KVM et suivre le guide d'installation et de configuration officiel pour tout faire en ligne de commande.





Si vous souhaitez plutôt sortir un vieux PC de la cave, vous pouvez donc plus ou moins vous caler sur cette configuration virtuelle pour vérifier que vous serez en mesure d'effectuer l'installation. En particulier, il vaut mieux que votre PC dispose d'un BIOS à l'ancienne plutôt que d'un firmware UEFI moderne. GNU Hurd utilise le bootloader GRUB tout comme Linux, mais à ce que j'en ai lu, il y a quelques problèmes avec l'UEFI, notamment avec les firmware les plus récents. De plus, le Hurd ne supporte pas le boot sur clé USB. Il vous faudra graver un bon vieux CD, à l'ancienne ! Néanmoins, vous pouvez peut-être vous en sortir avec un boot via réseau (PXE) mais je ne l'ai pas testé.

Au niveau de la carte réseau d'ailleurs, si vous disposez d'une carte Intel - ou d'un port Ethernet sur une carte-mère à chipset Intel - ça ne devrait donc pas poser de soucis. Le modèle E spécifié dans le modèle de configuration KVM est le dernier de la famille E1000, et il est reconnu par GNU Hurd.

Globalement, on parle toutefois de hardware âgé d'environ 10 à 12 ans à la date de rédaction de cet article. A moins que cela ne corresponde parfaitement, partez plutôt sur une machine virtuelle, c'est désormais très facile avec KVM et le résultat sera garanti.

L'installation du Hurd


GNU Hurd ne dispose pas, pour l'instant, d'un logiciel d'installation aussi élaboré que ce qu'on peut trouver avec les distributions Linux récentes orientées « utilisateur » (plutôt qu'administrateur système) telles qu'Ubuntu. Il est donc recommandé d'être à l'aise avec la ligne de commande, et avec des outils tels que vim pour ajuster des paramètres post-installation si c'est nécessaire. Mais bon je suppose que c'est votre cas si vous êtes arrivés jusqu'à cette page. :-)





Egalement, le Hurd est un système considéré comme étant en plein développement, et ne dispose pas à ce jour d'une release à proprement parler. Régulièrement, il est donc effectué des « snapshots » par la team de développement, lorsque l'état actuel de la distribution a acquis une certaine stabilité. C'est ce que j'utilise sur mon serveur, et c'est ce que je vous recommande d'installer aussi.

En l'occurence je vous propose d'installer le snapshot de juin 2023. Il est est plutôt satisfaisant, même si le côté « système en développement » se fait tout de même sentir. Au cas où il ne serait plus disponible sur le site officiel au moment où vous liriez cet article, j'en ai conservé une copie que vous pouvez télécharger directement :
Debian GNU Hurd i386 2023 (ISO) - 365 Mo
Si vous vous rendez sur le site officiel (cf. plus haut) vous verrez qu'il existe une release 64 bits depuis peu. Cependant pour l'avoir testée, elle n'est pas encore au point... Et elle est toujours mono-processeur. Si vous souhaitez tester dans de bonnes conditions - cet OS reste une curiosité, et n'est pas prêt pour la production - je vous recommande plutôt d'installer le snapshot 32 bits de 2023 ci-dessus. A ce jour, il s'agit toujours du dernier disponible.





C'est parti pour l'installation !

Si vous êtes coutumier de la distribution Debian de Linux, vous allez vous sentir chez vous. L'installation graphique fonctionne, néanmoins j'ai une préférence pour l'installation en mode texte, plus commode à mon sens.


[Boot sur l'ISO du Hurd]


Les premiers écrans sont assez classiques. A noter que les fichiers de layout pour votre modèle de clavier pourraient ne pas être présents, et vous pourriez avoir à effectuer l'installation en mode QWERTY.

Pour le réseau, j'ai eu quelques soucis avec la configuration DHCP. Comme c'est l'option par défaut, je vous recommande - si vous avez un serveur DHCP sur votre LAN tel qu'une box de fournisseur d'accès - de revenir à l'étape précédente et de configurer le réseau manuellement.


[Installation du Hurd : choix langue] [Installation du Hurd : choix nom d'hôte]


Votre périphérique de stockage doit apparaître lors de la phase « partitionnement » qui suit la configuration réseau, s'il est correctement reconnu par le Hurd. Ici en l'occurence, /dev/hd2 correspond au CD-ROM, tandis que /dev/sd0 est le disque SATA virtuel de 32 Go correspondant à la configuration KVM proposée dans la partie Matériel.

Vous pouvez bien sûr choisir le partitionnement que vous souhaitez à l'écran suivant, cependant je vous recommande de laisser le swap. Je n'ai pas testé sans, par contre je sais que le système fonctionne bien en laissant 1 Go comme proposé par défaut.


[Installation du Hurd : choix du disque] [Installation du Hurd : partitionnement]


Pendant l'installation du système de base, vous pourriez voir apparaître certaines erreurs, c'est normalement sans conséquence. ;) Une fois celui-ci copié, vous pouvez installer GRUB sur le disque comme proposé puisque vous n'avez pas d'autre boot loader ou de système déjà installé.


[Installation du Hurd : copie du système de base] [Installation du Hurd : installation de GRUB]


La dernière partie consiste en l'installation d'une sélection de packages, il vous faudra au moins installer SSH pour accéder à la machine à distance de manière commode. Vous pouvez même installer l'environnement graphique, toutefois je ne l'ai pas testé.

Il se pourrait que vous rencontriez des erreurs pendant cette phase, suivant le miroir vers lequel vous avez été redirigé, et notamment s'il ne contient plus les données du snapshot. En cas de pépin, normalement avec snapshot.debian.org cela doit fonctionner.

Vous aurez peut-être reconnu la barre de statuts figurant en haut de l'écran sur ces différentes captures. Oui, le programme d'installation tourne dans GNU Screen ! Cela signifie que vous pouvez utiliser les combinaisons classiques avec [Ctrl]+[a] pour naviguer entre différentes fenêtres qui proposent un shell et l'affichage des logs du programme d'installation. Cela peut vous aider pour le dépannage si besoin.

Une fois tout le système installé, il n'y a plus qu'à effectuer le redémarrage final. Le système devrait être alors prêt à l'emploi.


[Installation du Hurd : fin de l'installation] Premier démarrage du système]


La première chose à vérifier, c'est que le réseau fonctionne. L'outil ping fait partie du système de base, vérifiez donc que votre passerelle vers Internet (routeur / box) répond bien depuis la machine Hurd, par exemple avec un :
$ ping 192.168.0.1
Si cela répond, vous pouvez tenter de vous connecter en SSH avec le nom d'utilisateur que vous avez créé pendant l'installation, et le mot de passe associé. Si tout se passe bien, c'est que l'installation est un succès. Vous pouvez passer à la suite !





Si vous n'avez pas de réponse ou bien une erreur, il est possible que la configuration réseau ne se soit pas correctement effectuée, ou que votre carte réseau ne soit pas reconnue.

Dans ce cas il est aussi possible que le serveur SSH n'ait pas pu s'installer. Si le problème n'est que logiciel, je vais vous guider dans les étapes permettant de le résoudre.

Dépannage du réseau
Partant du principe que l'adresse de votre routeur est 192.168.0.1 et l'adresse que vous avez allouée à la machine Hurd est 192.168.0.200, commencez par entrer la commande suivante en tant que root :
# settrans -fgap /servers/socket/2 /hurd/pfinet -i /dev/eth0 -a 192.168.0.200 -g 192.168.0.1 -m 255.255.255.0
Ah oui, là on voit de suite qu'on est dans un autre monde, et que c'est not UNIX. Si vous n'avez pas d'erreur après l'exécution de cette commande, c'est que votre carte réseau est correctement reconnue. Vérifiez alors avec un ping 192.168.0.1 que vous atteignez bien votre routeur.

Par suite, vous pouvez vérifier le contenu du fichier /etc/network/interfaces (là c'est comme sous Linux), qui doit ressembler à :
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto /dev/eth0
iface /dev/eth0 inet static
        address 192.168.0.200/24
        gateway 192.168.0.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 192.168.0.1
        dns-search domaine.local
Vérifiez enfin que votre fichier /etc/resolv.conf comprend bien la déclaration de votre serveur DNS. Ici j'ai supposé que c'est votre routeur qui remplit cette tâche, donc le fichier doit simplement contenir :
domain domaine.local
nameserver 192.168.0.1
Si SSH s'était correctement installé, vous pouvez alors le redémarrer avec un service ssh restart.
A partir du moment où le réseau fonctionne, le plus dur est fait ! Les choses sérieuses vont pouvoir commencer. :-)





La première chose à faire après l'installation, c'est de configurer le repository de packages pour pouvoir vous permettre d'en installer. Ici c'est parfaitement similaire à Debian GNU/Linux, cela se fait dans le fichier /etc/apt/sources.list. En termes d'éditeurs en mode terminal, vous avez le choix entre vim, nano et pico qui sont tous installés par défaut. Choisissez votre préféré et modifiez le fichier comme suit :
#deb cdrom:[Debian GNU/Hurd sid _Sid_ - Unofficial hurd-i386 NETINST 20230607-23:25]/ sid local main

deb [check-valid-until=no trusted=yes] http://snapshot.debian.org/archive/debian-ports/20230606T000000Z/ sid main
deb [check-valid-until=no trusted=yes] http://snapshot.debian.org/archive/debian-ports/20230606T000000Z/ unreleased main
La première ligne devrait être déjà présente, elle correspond au CD d'installation. Il vous suffit donc juste de la commenter avec un # en tête de ligne. Les deux lignes suivantes ajoutent les repositories Debian du snapshot.

Une fois ceci fait, vous devriez pouvoir mettre à jour la liste des packages avec un :
# apt update
Exactement comme avec une distribution Debian de Linux. Il y aura des warnings car les repositories ne sont pas signés, d'où la présence du trusted=yes dans les déclarations (sans, cela produira une erreur, et un échec de la mise à jour). Vous devriez pouvoir désormais installer vos premiers packages !





La première chose à faire est bien sûr d'installer SSH, si vous aviez rencontré un souci lors de l'installation. Le package ssh contient à la fois le client et le serveur, et l'installation démarrera automatiquement le serveur :
# apt install ssh
Lors de vos premiers pas avec le Hurd, vous aller trouver une ressemblance assez forte avec les anciennes distributions Linux architecturées autour des noyaux 2.6.x. Globalement, on dirait plus ou moins une Debian Linux pre-systemd.

Néanmoins, GNU Hurd n'étant pas un UNIX, dès que vous allez vous « aventurer » plus profondément dans le système, vous allez percevoir les différences. Notamment la commande ps à laquelle vous êtes habitué, bien que présente, ne produira pas du tout le résultat auquel vous vous attendez. La notion de « processus » est différente sous le Hurd, bien qu'il y ait des similitudes. Vous pouvez faire un kill -1 <pid> après modification de la configuration d'un daemon par exemple, encore faut-il connaître le PID...

Aussi je vous recommande d'installer de suite htop, qui fonctionne très bien sous le Hurd de ce snapshot, et avec le support de la souris. Bien évidemment je vous recommande aussi d'installer tmux (à propos duquel j'ai écrit un
guide complet dans un précédent article de La Revue) parfaitement fonctionnel aussi. Un must-have !





Précision importante : vu que cette installation est issue d'un snapshot, (un « freeze » si vous préférez) il est inutile de relancer apt update après la première utilisation, ou de vouloir faire un apt upgrade. Cela signifie notamment que vous ne pourrez pas bénéficier des mises à jour de sécurité, raison pour laquelle il ne serait pas raisonnable d'utiliser cette installation en production. Ce snapshot étant stable, il est idéal pour découvrir GNU Hurd mais il faut bien avoir conscience des limites.

Si toutefois vous êtes le même genre d'animal que je suis, et que vous souhaitez « lâcher » le serveur en adresse IP publique sur Internet (il faut avouer que le test en situation réelle, c'est quand même plus rigolo), veillez quand même à mettre en place un minimum de filtrage, et plutôt sur votre routeur - bien qu'il y ait un firewall de disponible dans le Hurd.

Enfin bien évidemment, vous pouvez toujours changer la liste des repositories et passer sur les dernières versions des packages. Pour cela vous pouvez vous référer à nouveau au guide de configuration officiel qui indique comment procéder. Je l'ai tenté, ça fonctionne et le système se met à jour correctement. Le problème est que, comme tout système en développement, cela peut « casser » certaines choses. En l'occurence, lorsque j'ai testé les dernières mises à jour, htop ne fonctionnait plus, entre autres. J'ai préféré restaurer une sauvegarde.

Vu que je l'ai fait, je partage donc mon expérience sur le sujet. Vous savez à quoi vous attendre si vous tentez le coup.

Les petites modifications TheRaphit


Comme toujours, cet article serait bien incomplet si je me contentais de collecter des informations pour simplement vous les synthétiser. La patte TheRaphit, c'est de vous proposer ce que vous ne trouvez pas ailleurs, aussi je vais vous livrer mes petites modifications ou correctifs !

Rétablir un système de fichiers temporaires classique (si nécessaire)
Le seul véritable souci que j'ai rencontré avec le snapshot de juin 2023, c'est que le tmpfs (gérant le système de fichiers temporaires en mémoire, comme sous Linux) a tendance à planter. Là où ceci pourrait conduire à un kernel panic sur un noyau monolithique, sur le système GNU ce n'est que le serveur /hurd/tmpfs qui cesse de fonctionner, n'impactant que ce qui lui est lié directement.

Ce peut toutefois être un peu pénible car le contenu du répertoire /run est alors perdu, et notamment les PID file des différents daemons. Utiliser une commande telle que service ssh reload, pour faire relire au serveur SSH sa configuration, devient alors impossible. Egalement, il n'est plus possible de voir quels sont les utilisateurs connectés à la machine, parmi d'autres petites choses.

Vous pourriez très bien ne pas rencontrer le problème, auquel cas je vous conseille de ne pas appliquer les modifications de cette partie. Par contre si cela se produit également chez vous, il y a moyen de corriger le dysfonctionnement en se passant tout simplement du tmpfs pour utiliser un système de fichiers temporaires classique, sur disque.

En admettant que votre /hurd/tmpfs ait cessé de fonctionner, commencez par rétablir les sous-répertoires de /run avec les bons droits :
# mkdir -p /run/lock
# chmod 0755 /run
# chmod 1777 /run/lock
Vérifiez également que les liens symboliques dans /var vers ces répertoires sont également présents, et que les autres répertoires temporaires disposent aussi des bons droits :
# ln -sf /run/lock /var/lock
# ln -sf /run /var/run
# mkdir -p /var/tmp
# chmod 1777 /tmp /var/tmp
Vous pouvez désormais désactiver l'initialisation du tmpfs lors du démarrage. Cela se fait en modifiant le script /etc/init.d/mountall.sh - au début de celui-ci, vous trouverez les lignes :
PATH=/sbin:/bin
. /lib/init/vars.sh
. /lib/init/tmpfs.sh
L'astuce consiste alors à simplement commenter cette troisième ligne, en la faisant précéder d'un # :
#. /lib/init/tmpfs.sh
Après cela, il vous faudra redémarrer la machine. Le serveur /hurd/tmpfs ne se lancera plus, et le contenu de /run ne sera donc pas remplacé par le ramdisk. Tous les daemons et autres services vont alors créer les différents fichiers dont ils ont besoin directement sur le disque dur sous /run.

Problème réglé !
Activer l'IPv6 sur GNU Hurd : la méthode qui fonctionne à tous les coups !
Le programme d'installation ne propose pas de configurer IPv6.

Le snapshot intègre cependant un support complet d'IPv6, parfaitement fonctionnel. Cependant la difficulté c'est de parvenir à faire la configuration, car aucun script de démarrage n'a été prévu pour. N'espérez donc pas qu'il vous suffira de modifier le fichier /etc/network/interfaces pour y coller une configuration IPv6 Linux, cela ne fonctionnera pas.

Vous pouvez trouver plusieurs ressources sur Internet vous expliquant comment configurer les fameux translators du Hurd afin d'activer IPv6 mais... Si vous ne faites que ce qui est indiqué, cela ne marche pas non plus. Au prix de pas mal de tests et de redémarrages, j'ai fini par mettre au point une méthode de configuration qui, elle, fonctionne systématiquement.

Supposons que votre adresse IPv6 est 2001:db8:1412:1::200/64 et que votre passerelle est 2001:db8:1412:1::1. Lorsqu'on configure IPv6, il est nécessaire aussi de rappeler la configuration IPv4, et pour cela je reprends les mêmes adresses que dans la partie
dépannage du réseau. La première étape consiste à créer un script enforce-settrans.sh au contenu suivant :
#!/bin/sh

settrans -p /servers/socket/26 /hurd/pfinet -4 /servers/socket/2 -i /dev/eth0 \
-a 192.168.0.200 -m 255.255.255.0 -g 192.168.0.1 \
-A 2001:db8:1412:1::200/64 -G 2001:db8:1412:1::1
Avec les caractères '\', tout ceci est normalement traité comme une unique ligne de commande. C'était plus clair pour la présentation sur cette page, mais dans le véritable fichier il est plus sûr de ne pas utiliser de retours à la ligne. Personnellement j'ai placé ce script dans le répertoire /usr/local/sbin. Il n'est pas nécessaire de le rendre exécutable.

Modifiez maintenant le script post-initialisation /etc/rc.local pour y ajouter les lignes suivantes :
# IPv6
settrans -fgp /servers/socket/2 /hurd/pfinet -6 /servers/socket/26 -i /dev/eth0 \
-a 192.168.0.200 -m 255.255.255.0 -g 192.168.0.1 -A 2001:db8:1412:1::200/64 \
-G 2001:db8:1412:1::1

settrans -p /servers/socket/26 /hurd/pfinet -4 /servers/socket/2 -i /dev/eth0 \
-a 192.168.0.200 -m 255.255.255.0 -g 192.168.0.1 \
-A 2001:db8:1412:1::200/64 -G 2001:db8:1412:1::1

/bin/sh /usr/local/sbin/enforce-settrans.sh

service ssh restart
Il n'y a pas d'erreur, il y a bien une répétition de certaines commandes entre le rc.local et le script précédent. Pour une raison que j'ignore, c'est la seule façon que j'ai trouvé pour que l'IPv6 soit activé correctement et que cela persiste après un redémarrage. De plus, cela ne fonctionne que si la commande répétée se trouve elle-même dans un autre script, d'où le nom que je lui ai donné. La méthode paraît « clunky » pour sûr, mais vous pouvez me faire confiance, cela fonctionne très bien.

Une remarque concernant le redémarrage de SSH à la fin du rc.local : c'est nécessaire pour que celui-ci passe en écoute sur l'adresse IPv6 globale que vous venez d'ajouter sur votre interface. En effet, les scripts d'initialisation du système qui démarrent SSH s'exécutent avant le rc.local. Vous devrez ajouter un redémarrage de tous les autres services avec lesquels vous souhaitez utiliser IPv6, par exemple si vous avez installé un serveur HTTP, vous devrez le redémarrer également ici.
N'hésitez pas à partager vos propres expériences si cela peut améliorer cette partie.

Have fun with the Hurd !

Quel avenir pour le Hurd ?


Il n'y a malheureusement pas de secrets, un projet ne peut évoluer sans humains qui y contribuent. Le Hurd a pris trop de retard pour se retrouver un jour employé massivement en production comme l'est Linux aujourd'hui. Il faut savoir que même des projets très anciens et dynamiques comme FreeBSD, OpenBSD et NetBSD sont aujourd'hui en retard par rapport à Linux. Le modèle libre garantit la diffusion mais pas la pointe de l'innovation.

Concrètement, le Hurd peut avoir un avenir dans le milieu de l'embarqué, grâce au modèle micronoyau. Il serait également un excellent système d'exploitation pour la virtualisation, de type « hyperviseur bare metal. » VMWare ESXi fonctionne également avec un micronoyau, et finalement KVM est en quelque sorte un « micronoyau » hyperviseur dans le noyau Linux.

Cela n'empêche pas qu'aujourd'hui, le Hurd existe bien, et dispose d'une version utilisable ! Je lis régulièrement des forums Internet divers et variés où les posteurs s'interrogent à propos du Hurd, se demandant si « ça existe vraiment, ou ce n'est qu'un vague projet ? » si « ce n'est pas abandonné ? » ou si « c'est finalement sorti ? » ou bien encore si « il y a moyen de voir à quoi cela ressemble ? »

J'ai écrit cette page pour répondre à toutes ces questions, et désormais vous avez les réponses. N'hésitez pas à en parler autour de vous. :-)

La Revue de TheRaphit.com

[Compteur]
Nombre de visiteurs
depuis le 13 mai 1997.


[Article précédent]

[Accueil] Dernier article [Les archives]

TheRaphit's Web Site - La dernière homepage du Web


[(Tout)2 Evangelion] Webzine : La Revue [Pink Zone 2025] [Mathématiques]

[Nouveautés] [Zone de téléchargement]


Site créé le 16 janvier 1997
©1997-2025 by TheRaphit

www.theraphit.com