FreeBSD : fonctionnement et usages pratiques
Auteur : Rédaction Domeny.ForSale Publié le
En bref : FreeBSD est un système d’exploitation libre de type Unix, développé comme un ensemble cohérent : noyau, outils de base et documentation. Le projet bénéficie du soutien de FreeBSD Foundation, mais il est dirigé par la communauté des développeurs. FreeBSD dispose de solides atouts pour les usages réseau. Affirmer que sa pile réseau est toujours meilleure que celle de Linux reste toutefois trop général : les résultats dépendent du matériel, de la configuration et du type de trafic.
En quoi FreeBSD diffère-t-il de Linux ?
FreeBSD est issu de la famille BSD, pour Berkeley Software Distribution, historiquement liée au développement d’Unix à l’Université de Californie à Berkeley. L’expression « système de type Unix » désigne un modèle de fonctionnement similaire : utilisateurs et permissions, système de fichiers hiérarchique, processus et outils que l’on peut combiner dans des scripts. Elle n’implique pas automatiquement une certification officielle sous la marque UNIX.
La principale différence d’organisation concerne le périmètre du projet. Linux est un noyau, c’est-à-dire la partie du système qui gère le processeur, la mémoire et les périphériques. Les distributions, telles que Debian ou Ubuntu, l’associent à des outils et à des logiciels issus de nombreux projets. FreeBSD développe conjointement le noyau et le système de base en espace utilisateur, ce qui facilite la cohérence de la documentation et des règles de configuration.
Cela ne signifie pas que toutes les applications sont développées au sein du projet FreeBSD. Les serveurs web, les bases de données et les environnements graphiques s’installent généralement sous forme de paquets prêts à l’emploi à l’aide de l’outil pkg. Une autre possibilité est la collection Ports : des recettes permettant de compiler des logiciels supplémentaires à partir de leur code source.
Le code de FreeBSD est en grande partie distribué sous des licences BSD permissives. Celles-ci autorisent l’utilisation et la modification du code, y compris dans des produits propriétaires, à condition de respecter les exigences de la licence concernée. Il ne faut toutefois pas supposer que tous les composants du système et tous les paquets supplémentaires sont soumis aux mêmes conditions.
Qui développe le système et quel est le rôle de la fondation ?
FreeBSD est un projet communautaire. Des développeurs travaillent sur son code, dont certains disposent des droits nécessaires pour intégrer des modifications aux dépôts. La Core Team participe à la gouvernance du projet et est élue par les développeurs habilités à voter. Les versions du système et les différents domaines techniques disposent également de leurs propres équipes de maintenance.
FreeBSD Foundation est une organisation à but non lucratif qui soutient le projet. Elle finance notamment des travaux de développement, fournit une infrastructure, soutient la formation et la promotion du système et apporte une aide sur les questions juridiques. Ce n’est ni une entreprise qui vend FreeBSD ni un organe qui tranche seul toutes les décisions techniques.
Cette distinction est importante pour un déploiement en entreprise. Pouvoir télécharger gratuitement le système ne signifie pas bénéficier d’un contrat d’assistance ou d’un délai de réponse garanti. Si une entreprise a besoin de tels engagements, elle doit disposer des compétences nécessaires en interne ou trouver un prestataire adapté.
D’où vient la réputation de sa pile réseau ?
La pile réseau est la partie du système qui prend en charge les communications : notamment les protocoles TCP/IP, la transmission des paquets, les connexions et les interactions avec les pilotes des cartes réseau. Sa qualité peut être évaluée selon le débit, la latence, l’utilisation du processeur, la résistance aux surcharges et la facilité de diagnostic des problèmes. Aucun indicateur unique ne couvre toutes ces caractéristiques.
La réputation de FreeBSD repose sur la longue histoire du développement des fonctions réseau dans la famille BSD et sur l’utilisation du système dans des serveurs et des équipements réseau. La cohérence du système de base, des outils de diagnostic et de la documentation constitue également un atout. Ce sont des raisons d’envisager FreeBSD, et non la preuve de sa supériorité dans tous les usages.
Linux dispose lui aussi d’une pile réseau activement développée, d’une large prise en charge du matériel et de mécanismes tels que eBPF et XDP. Ceux-ci permettent notamment de programmer le traitement et l’observation du trafic ; XDP permet de traiter les paquets très tôt dans le chemin de réception. La comparaison des systèmes actuels ne peut donc pas reposer uniquement sur la réputation historique de BSD.
Par exemple, un serveur qui envoie de gros fichiers via HTTPS n’a pas les mêmes exigences qu’un routeur qui traite une multitude de petits paquets. Dans le premier cas, le chiffrement, le serveur web et la lecture des données comptent également ; dans le second, ce sont la cadence de traitement des paquets, les files d’attente et le pilote de la carte réseau. Même un bon résultat à un test TCP ne permet pas de déterminer quel système fera le meilleur pare-feu.
Quels sont les usages pratiques de FreeBSD ?
FreeBSD peut servir de serveur web, de serveur de fichiers, d’hôte pour des bases de données ou de base pour un équipement réseau. Les jails constituent une fonctionnalité importante : ce sont des environnements qui isolent les processus et leurs ressources tout en partageant un même noyau. Ils permettent de séparer les services, mais ne sont pas équivalents à des machines virtuelles disposant chacune de leur propre noyau.
Le système prend également en charge OpenZFS, qui associe la gestion de l’espace de stockage à des fonctions telles que les instantanés et le contrôle de l’intégrité des données. Ces possibilités sont utiles pour les serveurs de fichiers, même si un instantané conservé sur le même périphérique ne remplace pas une sauvegarde indépendante.
Sur un ordinateur personnel, FreeBSD peut fonctionner avec un environnement graphique. Avant l’installation, il faut cependant vérifier la prise en charge de la carte Wi-Fi, du matériel graphique et des applications nécessaires. Un logiciel disponible pour Linux n’a pas forcément de version fonctionnant sur FreeBSD.
Comment vérifier s’il convient à votre projet ?
Plutôt que de choisir un système sur la seule promesse d’un « meilleur réseau », préparez un test simple :
- Vérifiez dans la documentation officielle la prise en charge du matériel, la disponibilité des applications et la durée de support de la version choisie.
- Faites fonctionner le service prévu sur FreeBSD et sur la distribution Linux envisagée, dans des conditions matérielles comparables.
- Mesurez le débit, la latence sous charge, l’utilisation du CPU et le comportement en cas de surcharge.
- Évaluez aussi les mises à jour, la supervision, la restauration des données et les compétences de l’équipe.
Pour commencer, installez FreeBSD dans une machine virtuelle et entraînez-vous à configurer un service dont vous avez besoin. Si vous évaluez les performances réseau, effectuez ensuite un test sur le matériel cible : la couche de virtualisation peut modifier les résultats.
À lire aussi : Qu’est-ce que AZURE ?
