GNU/Linux Magazine Hors-série N°
Numéro
74

Les systèmes BSD

Temporalité
Septembre/Octobre 2014
Image v3
Les systèmes BSD
Article mis en avant

Résumé

Huit ans. Huit ans se sont écoulés depuis les deux derniers numéros hors-séries BSD et le mook que vous tenez entre les mains. Il y a huit ans, il est probable qu'une bonne partie d'entre vous n'avait même jamais touché un système UNIX/Linux, et réalisait plutôt son grand œuvre Lego(c)(tm).

Pendant ces huit années, le monde du Libre a proprement explosé, il est partout, omniprésent sur vos mobiles, vos tablettes, votre télé ou votre point d'accès Wi-Fi ; et si des sociétés telles que Google ne se cachent pas d'utiliser le système GNU/Linux comme socle entre l'espace utilisateur et le matériel, d'autres, sans totalement le masquer, ne font pas étalage des technologies libres constituant la pierre angulaire de leurs systèmes. En tête de liste notons particulièrement la société Apple, dont l'espace utilisateur du système d'exploitation Mac OS X est directement issu de FreeBSD.

Dans ce numéro...


« Salut, je voudrais installer *BSD, vous me conseillez quoi ? »Cette phrase, lue et relue des centaines, des milliers de fois, est fondamentalement incorrecte. *BSD n'existe pas. Plus important, lorsque l'on souhaite mettre le pied à l'étrier d'un système BSD, un minimum de contexte est nécessaire, car chacun des héritiers de BSD UNIX suit une philosophie bien définie, et si chacun d'entre eux s'avère éminemment versatile, certains seront plus adaptés et faciles d'accès fonction de l'utilisation souhaitée. Nous allons ici faire connaissance avec les trois systèmes BSD les plus connus, NetBSD, FreeBSD et OpenBSD et évoquer leurs forces et faiblesses afin de guider votre choix de façon la plus objective possible.
Pourquoi jouer sous un *BSD qui n'est pas vraiment conçu pour cela ? Pourquoi ne pas coder simplement ? Parce que nous sommes des êtres humains et que, parfois, jouer un peu ça fait tout simplement du bien !
Derrière ce titre se cache beaucoup de magie. En effet, autour des commandes de base utilisées pour manipuler les paquets sous OpenBSD (telles que pkg_add, pkg_info, pkg_delete...) se trouve un ensemble d'outils pour chercher, vérifier, récupérer, signer, et que sais-je encore faire avec les paquets, ainsi qu'une API Perl. Oui, les pkg_tools sont écrits en Perl. Pas en Python, ni en Ruby, ni en Go, ni en Fortran, ni en Scala, ni en Swift, ni en Dart.... Le bon vieux Perl qui fait chaud aux yeux quand on lit son code.
Pour des raisons X ou Y, il se trouve que des fois on ne veut pas utiliser les paquets fournis par les miroirs officiels OpenBSD. On peut être en environnement fermé/paranoïaque/NSA-compliant, et vouloir re-construire soi-même tous les paquets ou alors (et c'est le cas d'utilisation que je vais exposer ici), on peut vouloir faire des builds de tout le ports-tree avec des diffs non encore validés, mais pouvant impacter une bonne partie de l'arbre (par exemple, une mise à jour majeure de glib/gtk, ou de WebKit, ou de Python...).
Si vous avez déjà joué avec un BSD, vous devez certainement connaître (et apprécier) Packet Filter (PF), le firewall développé sur OpenBSD. Si ce n'est pas le cas, on a déjà sûrement dû vous en vanter la syntaxe claire par rapport à celle incompréhensible d'iptables (certes, au bout de la 15ème fois qu'on utilise une commande, on commence à se rappeler à quoi sert l'obscure option -machin). Mais quid du queueing avec PF ?
Dans la vie, on a tous besoin d'un firewall. Il existe dans le monde du libre grosso modo deux familles : Packet Filter (PF) côté BSD (existe en différents parfums) et Netfilter côté Linux, avec le célèbre iptables comme interface de pilotage. Dans cet article, nous parlerons d'un frontend à PF nommé pfSense.
« The Original UNIX », c'est pour cette punchline que j'avais voté lorsque le groupe chargé du marketing chez NetBSD cherchait une approche différente du classique « of course it runs NetBSD » ; néanmoins, s'il est l'héritier le plus direct des travaux du CSRG [1] et l'un des plus grands défenseurs de la portabilité du code, le projet NetBSD n'est certainement pas un système d'exploitation du passé, loin s'en faut. Bénéficiant des avancées standards d'autres OS, NetBSD dispose en outre d'avantages uniques dont l'administrateur système aguerri saura faire usage. Dans cet article, nous allons monter un serveur web articulé autour de briques modernes, et allons dans notre périple découvrir l'ensemble des éléments nécessaires au déploiement d'un système aussi réactif que respectueux des standards.
Bhyve est l'hyperviseur de FreeBSD disponible à partir de sa version 10.0. C'est un hyperviseur de niveau 2, c'est-à-dire qu'il s'agit d'un logiciel, s'exécutant sur un système d'exploitation hôte, qui simule une machine physique. On peut ainsi exécuter un ou plusieurs système(s) d'exploitation invité(s) sur une même machine.
En ces temps de cloud et virtualisation à tout va, il devient plus rentable financièrement et d'un point de vue de la sécurité d'utiliser des containers situés soit sur une machine dédiée, soit sur un serveur virtuel. On peut noter que Linux dispose de LXC [1] depuis un certain temps, ainsi que d'une surcouche à celui-ci nommée Docker [2] et disposant de moultes fonctionnalités supplémentaires. Nous allons voir ici la solution de FreeBSD répondant à ce problème, les Jails [3].

Magazines précédents

Les derniers contenus premiums