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

Python : niveau avancé à expert
GNU/Linux-Magazine Hors-série N°73
Python : niveau avancé à expert
Ligne de commandes
GNU/Linux-Magazine Hors-série N°72
Ligne de commandes
Je programme
GNU/Linux-Magazine Hors-série N°71
Je programme
Langage C
GNU/Linux-Magazine Hors-série N°70
Langage C
Exploiter au mieux votre projet open source
GNU/Linux-Magazine Hors-série N°69
Exploiter au mieux votre projet open source

Les derniers articles Premiums

Les derniers articles Premium

Donnez une autre dimension à vos logs avec Vector

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Avoir des informations précises et détaillées sur ce qu’il se passe dans une infrastructure, et sur les applications qu'elle héberge est un enjeu critique pour votre business. Cependant, ça demande du temps, temps qu'on préfère parfois se réserver pour d'autres tâches jugées plus prioritaires. Mais qu'un système plante, qu'une application perde les pédales ou qu'une faille de sécurité soit découverte et c'est la panique à bord ! Alors je vous le demande, qui voudrait rester aveugle quand l'observabilité a tout à vous offrir ?

Du graphisme dans un terminal ? Oui, avec sixel

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

On le voit de plus en plus, les outils en ligne de commandes s'étoffent peu à peu d'éléments graphiques sous la forme d'émojis UTF8. Plus qu'une simple décoration, cette pointe de « graphisme » dans un monde de texte apporte réellement un plus en termes d'expérience utilisateur et véhicule, de façon condensée, des informations utiles. Pour autant, cette façon de sortir du cadre purement textuel d'un terminal n'est en rien une nouveauté. Pour preuve, fin des années 80 DEC introduisait le VT340 supportant des graphismes en couleurs, et cette compatibilité existe toujours...

Game & Watch : utilisons judicieusement la mémoire

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Au terme de l'article précédent [1] concernant la transformation de la console Nintendo Game & Watch en plateforme de développement, nous nous sommes heurtés à un problème : les 128 Ko de flash intégrés au microcontrôleur STM32 sont une ressource précieuse, car en quantité réduite. Mais heureusement pour nous, le STM32H7B0 dispose d'une mémoire vive de taille conséquente (~ 1,2 Mo) et se trouve être connecté à une flash externe QSPI offrant autant d'espace. Pour pouvoir développer des codes plus étoffés, nous devons apprendre à utiliser ces deux ressources.

Body