Unix libre : les BSD(s)

ArticleCategory:

Forum

AuthorImage:

Georges Tarbouriech

TranslationInfo:

original in en Georges Tarbouriech 

en to fr Georges Tarbouriech 

AboutTheAuthor:

Georges est un vieil utilisateur d'Unix. Il aime beaucoup les variantes BSD libres de cet extraordinaire système.

Abstract:

La généalogie d'Unix est un peu complexe. Avec le temps, de plus en plus de branches ont été ajoutées à l'arbre. Aujourd'hui, il n'y a plus que deux familles principales : BSD et System V. La branche BSD propose plusieurs versions d'Unixes libres. Chacune possède ses propres spécificités offrant un large choix aux utilisateurs. Essayons de présenter brièvement ces excellents systèmes.

ArticleIllustration:

[]

ArticleBody:

La généalogie

BSD signifie Berkeley Software Distribution. Le nom est apparu pour la première fois en 1977 lorsque des chercheurs de Berkeley ont commencé à proposer du code source à des compagnies possédant des licences AT&T. C'est-à-dire, le but consistait à améliorer le code et les caractéristiques d'AT&T V6 (et de V7 un peu plus tard).
La première mouture se nommait 1BSD, la seconde 2BSD. A partir de là, nous avons déjà une deuxième branche : l'une continue à améliorer le code AT&T jusqu'à la dernière version V10 et elle porte la numérotation 2.7, 2.8, 2.9 jusqu'à 2.11, alors que l'autre commence à la version 3BSD et évolue en 4.0, 4.1, jusqu'à la 4.4 qui est la version actuelle. Cette deuxième branche est celle qui tente de créer un système entier libre de tout code AT&T. 4.4BSD est la première distribution sans code AT&T. La version Alpha apparaît en 1992 et la version finale en 1993.
Toutefois, à partir de la version 4.3, nous avons quelques nouvelles branches : 4.3BSD Tahoe, 4.3BSD Net/1, 4.3BSD Reno et 4.3BSD Net/2, en 1988 pour la première jusqu'en 1991 pour la dernière.
1991 est l'année de la première tentative de portage de BSD sur processeur 386. Elle se nomme BSD/386 et elle est l'oeuvre de Berkeley Software Design, Inc. 386BSD apparaît en 1992 et c'est le point de départ des versions libres de BSD.
NetBSD 0.8 apparaît début 1993 et FreeBSD à la fin de la même année. 1994 voit la naissance de BSD Lite et ce dernier devient la base des futures versions libres que ce soit pour NetBSD ou FreeBSD. Au même moment BSD/386 devient BSD/OS.
En 1996 OpenBSD présente sa première version nommée OpenBSD 2.0 et en 1997, Apple lance Rhapsody.
Ceci est un résumé abrégé et j'espère n'avoir pas fait d'erreurs ! Si vous voulez connaître l'histoire complète, allez lire ftp://ftp.freebsd.org/pub/FreeBSD/branches/-current/src/share/misc/bsd-family-tree
Au moment d'écrire ces lignes, les versions stables actuelles sont les suivantes : 4.7 pour FreeBSD, 1.6 pour NetBSD et 3.2 pour OpenBSD.

FreeBSD

Comme LinuxFocus a déjà publié un article sur FreeBSD, nous ne nous attarderons pas trop sur ce dernier. Vous pouvez lire l'article en suivant ce lien.
En bref, nous pouvons dire que FreeBSD est simple et "propre". Il est facile à installer et à configurer. La documentation est très bien organisée et aidera vraiment le nouveau-venu. Elle est de plus disponible en plusieurs langues.
FreeBSD fournit aux utilisateurs des tonnes d'applications dans tous les domaines.
Toutefois, le réseau et la sécurité sont parmi les points forts du système. IPv6 (standard sous FreeBSD) et IPSec permettent à l'administrateur de gérer facilement un Réseau Privé Virtuel (VPN). Le projet KAME a fait un très beau travail et nous propose d'excellentes fonctionnalités de "tunneling".
De nombreux outils de sécurité font partie du système de base : pare-feu, proxy, cryptographie, scanner de ports, etc. Par exemple, vous pouvez choisir entre deux programmes de filtrage de paquets : ipfw et IPFilter. Certes, ils ne sont pas actifs par défaut et vous devrez reconfigurer et recompiler votre noyau.
Comme déjà indiqué dans l'article mentionné ci-dessus, FreeBSD fonctionne avec les processeurs Alpha et Intel. C'est un système rapide et le système de base est plutôt de petite taille. La mémoire est très bien gérée et protégée.
FreeBSD peut être utilisé de nombreuses façons : en tant que système personnel, dans un réseau et bien évidemment comme serveur. Dans ce dernier cas, FreeBSD est un excellent ami puisqu'il vous fournit tout le nécessaire. Par exemple, nous n'avons pas parlé de "jail" qui est un "chroot" amélioré.
Nous devons aussi mentionner le projet TrustedBSD destiné à l'amélioration de la sécurité. Le résutat de ses travaux sera intégré à FreeBSD.
Encore une fois, FreeBSD est un très bon système qui mérite bien plus qu'un essai.

NetBSD

NetBSD est la preuve absolue de la philosophie originelle d'Unix : "nous nous moquons du processeur". C'est incroyable : NetBSD fonctionne avec plus de 50 processeurs... et ce n'est pas fini !!! Il peut fonctionner sur des machines aussi "étranges" qu'une Playstation ou une Dreamcast.
Imaginez simplement le nombre de pilotes nécessaires pour permettre un tel exploit. NetBSD est sans doute l'un des plus impressionnants projets de logiciel libre. Je ne connais aucun équivalent (libre ou commercial) d'un tel projet.
Cela dit, NetBSD fonctionne aussi avec des processeurs très modernes.
Comme FreeBSD, c'est un système "propre" et simple. Il est facile à installer même s'il n'offre pas d'interface graphique comme c'est la "mode" avec de nombreuses distributions de Linux. Il est également facile à configurer et la documentation est vraiment très bonne (et disponible en de nombreuses langues). Comme le nombre de plates-formes supporté est "plutôt" élevé, NetBSD fournit une documentation spécifique pour chaque cas. Beau travail !
Le logiciel pour NetBSD est disponible sous forme de paquetages et bien sûr sous forme d'archives de code source. Autrement dit, vous pouvez télécharger ce que vous voulez depuis n'importe quel endroit comme vous le feriez pour Linux, par exemple. Un système d'émulation autorise la compatibilité binaire de logiciel. Du logiciel commercial est également disponible.
Comme pour FreeBSD, un gros effort a été réalisé dans le domaine du réseau et de la sécurité. Par exemple, NetBSD est également capable d'utiliser IPv6.
En fait, nous pouvons dire que NetBSD est très proche de FreeBSD. Les deux partagent une grande quantité de code. La principale différence vient du nombre de plates-formes disponibles.
NetBSD est la meilleure solution si vous voulez un Unix libre pour autre chose qu'une machine Intel ou Alpha (même s'il fonctionne avec celles-ci). Par exemple, certaines stations SPARC n'acceptent pas Linux : NetBSD y remédie. Cela vous permet par exemple, d'utiliser ce type de station comme passerelle au lieu de vous en débarrasser. Ce n'est qu'un exemple et vous pouvez faire beaucoup plus avec NetBSD.
La station mentionnée ci-dessus pourrait aussi devenir un serveur de bases de données dans un réseau local. Pourquoi cet exemple : parce que NetBSD ne réclame pas des processeurs "de course" ou des tonnes de ressources.
Comme autre exemple, j'ai utilisé NetBSD (1.0 et 1.1) sur un Amiga 3000T équipé d'un processeur Motorola 68030/25Mhz et 8 Mo de mémoire (avant d'en ajouter 8 de plus)... et il exécutait X sur une carte graphique de 2Mo !!! Il n'a jamais "planté" ! Certes, il était peut-être un peu lent comparé aux monstres d'aujourd'hui.
Encore une fois, ces exemples ne signifient pas que NetBSD ne fonctionne que sur des "rossignols". Il permet la même chose que FreeBSD, c'est-à-dire, de l'utiliser comme système personnel, de l'intégrer dans un réseau existant ou de l'installer comme serveur de confiance sur des ordinateurs récents, quelle que soit la marque du processeur.
Une fois de plus, très beau travail !
De toute évidence, il ne s'agit que d'un survol et NetBSD mérite beaucoup mieux. Essayez-le. Comme la plupart des distributions d'Unix libre vous pouvez l'obtenir sur leur site web ou en achetant un CD-Rom.

OpenBSD

OpenBSD est la référence absolue lorsqu'on parle de sécurité. C'est le premier système Unix à être conçu en pensant à la sécurité.
S'il vous faut un serveur hautement sécurisé (et qui n'en a pas besoin ?), c'est le système approprié. Bien sûr, je ne veux pas dire que les deux précédents sont des passoires ou que la plupart des distributions Linux sont pleines de vulnérabilités. Je veux seulement dire qu'OpenBSD est le tout premier à proposer un système "sûr" dès l'installation. Le seul équivalent que je puisse citer est la distribution Linux EnGarde, puisque l'idée sous-jacente est la même : la sécurité.
Avec OpenBSD, vous avez tout. Tous les outils de sécurité sont disponibles, la cryptographie est partie intégrante du système (la même équipe développe OpenSSH), et enfin, ces gens-la ont beaucoup travaillé sur l'amélioration de l'audit de code. Ainsi, l'équipe d'OpenBSD a contribué à la découverte et à la correction de nombreuses vulnérabilités d'Unix. Ceci inclut également les problèmes de sécurité découverts dans des logiciels tiers, au bénéfice de la communauté Unix (libre ou propriétaire).
De plus, puisqu'OpenBSD est issu de NetBSD, il peut fonctionner sur bien d'autres plates-formes que les Alpha ou Intel (bien sûr, pas autant que NetBSD !). Pour l'instant une dizaine de plates-formes sont capables d'utiliser OpenBSD.
Nous n'étions pas habitué à la philosophie "sûr par défaut" avant l'avènement d'OpenBSD. Aucun éditeur d'Unix ne pensait de cette manière (libre ou propriétaire) et ces éditeurs proposaient des systèmes réclamant un gros travail (et quelques connaissances !) de sécurisation. Par exemple, l'idée de démarrer un système sans démons actifs par défaut ne semble pas encore avoir été comprise. Pour de nombreux éditeurs, il semble au contraire que l'idée consiste à activer le plus de services possible par défaut. Parfois, vous avez même les pires services lancés au démarrage. Des "trucs" comme telnetd, rshd, ftpd, etc, sont actifs par défaut. A peine croyable !
Toutefois, si la plupart des éditeurs reconnaissent qu'OpenBSD est une espèce de modèle... pour une fois, ils n'essaient pas de "copier". Pour l'instant, il semble que seule la famille des BSD libres ait compris le problème. Merci à eux !
Par conséquent, si vous voulez un serveur bien sécurisé, offrant une haute disponibilité, OpenBSD semble le choix évident. Bon, si vous voulez l'utiliser chez vous, pourquoi pas ? Bien sûr, il s'intègrera facilement dans votre réseau local aussi. De plus, si vous regardez comment il fonctionne, vous apprendrez beaucoup sur la sécurité : ce qu'il faut faire, ne pas faire, etc. Vous pourrez ensuite appliquer cela aux autres systèmes. Les bases restent les mêmes : moins vous avez de services actifs, mieux c'est, moins vous avez de ports ouverts, mieux c'est. N'utilisez pas, si vous pouvez (et vous devriez !) des protocoles ou des démons qui transfèrent les données en texte clair (mots de passe inclus). Si vous ne pouvez pas (allons !), utilisez alors un tunnel SSH pour envoyer et recevoir les données. Accordez des permissions restreintes aux répertoires et aux fichiers sensibles. Contrôlez les programmes SUID et SGID. Ainsi de suite.
OpenBSD fait tout ce travail pour vous, alors que par exemple, de nombreux Unixes propriétaires activent par défaut un serveur web pour lire la documentation en ligne !
Maintenant vous savez où trouver le bon système pour vos serveurs ;-)

Darwin

A une époque où Apple rejoint le monde Unix, nous ne pouvons pas oublier de mentionner le coeur de Mac OS X : Darwin. Darwin est issu de 4.4BSD-Lite2 et utilise un micro-noyau Mach 3.0 (développé à l'origine par l'université de Carnegie-Mellon et amélioré par l'OSF, devenu depuis The Open Group). La version actuelle est la 6.0.1 alors que la version du noyau de l'OS est 6.2 et c'est celle que vous trouvez dans Mac OS X 10.2.
En fait, FreeBSD a été le point de départ du développement de Darwin. Mais NetBSD et OpenBSD ont aussi été utilisés. Par exemple, la cryptographie intégrée à Darwin vient d'OpenBSD ainsi que l'incontournable OpenSSH. De nombreuses commandes et de nombreux outils viennent de NetBSD.
Le noyau se nomme XNU (oui, comme un autre acronyme bien connu) et il repose à la fois sur Mach et BSD. Mach prend en charge la gestion de la mémoire, l'IPC et les messages, le kit d'entrée/sortie (les pilotes de périphériques) pendant que BSD gère les utilisateurs et les permissions, la pile réseau, le VFS (Virtual File System) et la couche de compatibilité POSIX.
En conséquence, Darwin bénéficie du travail des BSD susmentionnés. C'est-à-dire que lorsqu'une vulnérabilité a été découverte, Apple propose une mise à jour très rapidement après qu'elle soit apparue dans la communauté BSD libre.
Signalons également que comme les BSD libres, Mac OS X est l'un des rares Unixes à être livré sans services actifs par défaut.
Certes, Darwin a été conçu à l'origine pour les processeurs Motorola PPC, mais comme il est "open source", il existe aussi une version Intel GNU-Darwin.
Ce qu'on trouve au-dessus de Darwin, à savoir la superbe interface Aqua, n'est évidemment pas "open source". Toutefois, grâce à la communauté BSD libre, Apple propose l'Unix le plus convivial jamais vu. Certes, il devient alors un Unix propriétaire, mais il montre la grande qualité du logiciel libre BSD. De plus, proposer Unix au monde entier me semble une grande idée. NeXT a fait la même chose 15 ans plus tôt mais a échoué (malheureusement). J'espère vraiment que Mac OS X réussira où son "père" n'a pas pu.

Alors quoi ?

Chaque entité de la famille des BSD libres partage son travail avec les autres. Ils sont vraiment libres dans tous les sens du terme. Ils sont plus sûrs par défaut que n'importe quel autre Unix. Ils fonctionnent sur la plupart des plates-formes. Les distributions ne sont pas surchargées et le système de base est plutôt de petite taille. Il sont capables d'exécuter la plupart des logiciels disponibles. Etc.
Toutefois, la plupart des Unixes propriétaires sont basés sur System V. Ils semblent ne plus s'intéresser du tout à BSD. Pourtant, ils ont tous des paquetages de compatibilité BSD et certains d'entre eux ont d'abord été basés sur BSD.
Malheureusement, ces Unixes propriétaires perdent de plus en plus de parts de marché. Leur politique me paraît étrange. Ils semblent tous très intéressés par Linux. Qu'espèrent-ils ? Le vendre au même prix que leurs propres systèmes ? J'ai peur que ça ne marche pas. Pensent-ils vendre leurs machines en remplaçant leurs systèmes par Linux ? Très cher à mon avis à moins de vendre du bas de gamme, auquel cas la "solution" Intel reste moins chère. Et de toute manière, comment vont-ils compenser le manque à gagner ? Oui, je connais la réponse : en vendant des services ! Combien de temps ça va durer ? Et quid de leurs solutions existantes ? Voudront-ils les remplacer petit à petit par Linux contre beaucoup d'argent ?
Toutefois, cette année, la plupart de ces sociétés ont licencié des milliers de personnes ! Où ça mène ? Vers une hégémonie de Microsoft tous les jours plus forte... et vers un plus grand nombre d'individus au chômage. Très, très triste !
Bien sûr, je ne suis pas en train de dire que le problème serait résolu en utilisant BSD à la place de System V. Je ne comprends tout simplement pas la politique de ces gros fabricants. Je ne comprends pas non plus pourquoi ils ont laissé BSD de côté s'ils sont si intéressés par l'Unix libre.
Ceci peut sembler hors-sujet, mais ce n'est pas le cas. L'Unix propriétaire a besoin de l'Unix libre... mais la réciproque est vraie. Chacun reçoit quelque chose de l'autre. Un jour ou l'autre chaque Unix propriétaire utilise du logiciel libre, les compilateurs, par exemple. L'Unix libre bénéficie de ce qui a été donné à la communauté par l'Unix propriétaire. Un bon exemple : OpenGL. Merci SGI.
C'est une bonne manière de partager et elle crée une émulation. OpenBSD, apporte sa pierre à l'édifice en montrant la voie vers des systèmes plus sûrs. Par exemple, OpenSSH est disponible pour la plupart des Unixes propriétaires. Comme déjà dit, les BSD libres sont très importants pour Apple. Je n'ai pas souvenir d'Apple se préoccupant de sécurité avant l'apparition de Mac OS X !
Tout cela pour dire que la "mode" Linux est en train de pervertir beaucoup de choses. J'aime Linux mais je n'aime pas son "évolution". Je ne partage pas l'idée du "clonage" de Windos et de ses logiciels. Je n'apprécie pas le fait que les principales distributions deviennent de plus en plus grosses... et de plus en plus "commerciales". Je ne veux pas un monopole pour en remplacer un autre (ce à quoi je ne crois pas de toutes façons !). Pour l'instant, Microsoft ne craint pas vraiment Linux ou les autres Unixes. Le jour où le "danger" deviendra réel, Microsoft a le pouvoir de tout verrouiller, en particulier Internet, et ce dans un délai très court. Je sais, ça peut sembler paranoïaque et j'espère que ça n'arrivera pas, mais... Cela dit, ne vous inquiétez pas : je ne détiens pas la vérité et je ne suis pas un inconditionnel de la prospective.
Nous avons besoin d'un véritable choix : plus il y aura de systèmes d'exploitation, mieux ce sera. Pourquoi parler de "domination du monde" ? A part Microsoft, qui s'en soucie ? Ce qu'il nous faut défendre, c'est la liberté de choix. Je sais, j'ai déjà dit tout ça :-(
La famille BSD libre contribue beaucoup à cette liberté. Ces gens continuent à partager et cela permet d'aboutir à d'excellents systèmes. Merci beaucoup à eux.
Au fait, Mr. RMS vous n'avez pas "recommandé" de dire GNU/FreeBSD ou GNU/NetBSD ou GNU/OpenBSD (d'accord, nous avons GNU-Darwin !) : avez-vous oublié BSD comme les gros éditeurs d'Unix, ou est-ce que vous trouvez que les gens de BSD n'utilisent pas "assez" de logiciels GNU ? Bien sûr, je plaisante, mais la liberté d'expression existe aussi, au moins pour l'instant... et je n'ai pas envie de dire (ou d'écrire) GNU/Linux !

Alors, on ne vit pas une époque formidable ?

Références

Vous trouverez là des miroirs, des zones de téléchargement, de la documentation en plusieurs langues, etc :



Ressources :