La dernière version de la distribution Debian propose en option l'utilisation d'un noyau FreeBSD en lieu et place du classique noyau Linux. Si vous suivez ce blog, vous savez tout le bien que je pense de ce noyau BSD. On se retrouve donc avec une distribution Debian GNU/kFreeBSD (k comme kernel) qui, sur le papier, a de quoi séduire...
Nous allons donc dans ce billet détailler l'installation de cette distribution sur une machine virtuelle VirtualBox afin de vous faire une propre idée.
Installation de Debian GNU/kFreeBSD
On commence par récupérer l'image ISO:
wget -O debian-6.0-kfreebsd-i386.iso http://ftp.nl.debian.org/debian/dists/squeeze/main/installer-kfreebsd-i386/current/images/netboot/mini.iso
L'image ISO ne fait que 9 Mo. C'est donc une procédure d'installation minimale (netinstall) qui va télécharger les paquets nécessaires sur Internet. Il faut donc compter une petite heure d'installation avec une liaison Internet correcte.
On créé ensuite une machine virtuelle (1+ Go de RAM et 6+ Go de disque) en utilisant cette image. Pour me simplifier la vie, j'ai choisi une installation par défaut dans le premier menu: "Default install"
Le wizard d'installation va vous poser les questions habituelles (nom et domaine de la machine, partition ou installer le système, mot de passe root, compte utilisateur par défaut, clavier...), bref rien de compliqué.
Lors de mon test je me suis retrouvé avec un clavier qwerty pendant cette installation, faites donc attention lorsque vous allez saisir le mot de passe root...
Une fois la procédure d'installation terminée, il faut rebooter sur le disque système. J'ai rencontré l'erreur critique suivante durant le démarrage:
Mmmmhhhh pas glop...
Pour résoudre ce problème j'ai du forcer l'ordre de démarrage des disques dans VirtualBox en mettant le disque système en premier:
Le démarrage se passe ensuite sans problème ! Glop...
On a donc dans les main un système Debian GNU 6.0 avec un noyau FreeBSD 8.1 !
Mais ou est le rc.conf ?
Pour diablotins qui souhaiteraient passer du coté obscur, il va falloir perdre certaines habitudes. En effet, même si on utilise un noyau FreeBSD, tout l'écosystème de cette distribution reste une Debian GNU. Ainsi l'organisation des fichiers de configuration reste la même que sur une Debian "classique" (voir la documentation ici). Point donc du si pratique fichier rc.conf qui permet de configurer l'ensemble des processus lancés au démarrage de votre machine et se contenter d'une gestion par des scripts dans le répertoire /etc/init.d.
Et mes ports ?
Là encore, point de répertoire /usr/ports. En effet, le gestionnaire de paquets est apt-get (ou aptitude). Dommage j'aime bien le principe de compilation à l'installation de nouveaux logiciels.
Voilà PF !
Tout comme Linux, le noyau FreeBSD est de type monolitique modulaire (je vous conseille de lire ce wiki pour voir de quoi je parle). On peut ainsi charger des fonctions complémentaires "à chaud".
C'est par exemple le cas du module PF qui ajoute un firewall intégré vraiment très puissant (de mon humble avis, l'un des principal avantages du noyau FreeBSD part rapport à Linux).
Il n'est pas activé par défaut dans le noyau fourni par la distribution Debian. Il faut donc pour l'activer, saisir les commandes suivante qui permette de charger le bon module:
su -
kldload pf.ko
pfctl -e
Pour une petite introduction à PF vous pouvez lire un billet que j'avais écrit il y a maintenant deux ans (ou bien RTFM...).
On peut également s'amuser à customiser le stack IP FreeBSD, réputé pour sa fiabilité et sa performance, en utilisant la commande sysctl.
Conclusion
C'est fini pour cette rapide introduction à Debian GNU/kFreeBSD. Je trouve l'initiative intéressante pour contre balancer l'hégémonie du noyau Linux dans les systèmes libres.