|
GNU Hurd Est-ce que ça marche ? Peut-on l'installer ?
12 mai 2025
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 :
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.
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.
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.
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é.
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.
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]](//webcounter.theraphit.com/scripts/Count.cgi?dd=B&ft=1&df=revue.dat)
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
|