Le contexte

Plusieurs choix se sont offerts à moi:

  1. Utiliser une quelconque distribution Linux.
  2. Utiliser un *BSD dont je venais tout juste d'entendre parler.

Dans les deux cas, je n'avais aucune expérience dans le domaine de ces deux systèmes : j'avais bien essayé auparavant quelques distributions Linux, expériences qui étaient restées dans le domaine du système de bureau (n'ayant pas Internet à l'époque, et une unique machine, l'idée de monter un serveur ne risquait pas de me venir), et ces expériences n'avaient jamais duré plus de deux semaines (sans jeux, je m'ennuyait un peu). J'ai donc demandé conseil à un ami, dont je connaissais les compétences dans les systèmes Unix-like, ce qu'il en pensait. Mon choix n'était pas innocent, je savais qu'il serait apte à me dépanner en cas de problèmes, donc dès l'insertion du CD d'installation. Celui ci m'a donc conseillé FreeBSD.

Pourquoi FreeBSD et non pas un autre *BSD ou même un Linux ?

Depuis ce temps, d'autres machines sont venues intégrer le réseau: une première pour alléger le serveur originel et accueillir le service mail, le service DNS et la base de donnés MySQL, elle aussi sous FreeBSD. Plus tard est venu une 3ème machine qui allait s'occuper de la connexion Internet uniquement, et libérer la première machine de cette tâche. Cette troisième machine est sous OpenBSD. Enfin, devrait arriver un jour ou l'autre une dernière machine, mon ex poste fixe, qui va finir serveur de fichier lui aussi sous FreeBSD.

Mais quels peuvent bien être les choix qui me poussent à choisir FreeBSD plutôt qu'un autre système ? Par ordre de préférence personnelle, en voici la liste:

  1. FreeBSD est un système que je connais bien: une fois que j'ai la machine vierge entre les mains, je peux y installer très rapidement un système fonctionnel sans perdre de temps à comprendre comment ça marche.
  2. FreeBSD est un système que je trouve propre (comparé à un Linux) : le système de base est une chose, les applications tierces (paquetages) en sont une autre. Le système de base forme un tout, dont les parties userland et kernel land évoluent de manière synchrone entre chaque version de FreeBSD. Au contraire, une distribution Linux est un ensemble d'applications et outils systèmes, plus un noyau, qui peuvent évoluer indépendamment les uns des autres, et qui mis bout à bout forment un système. Pour moi, ça fait un peu bricolage, et des fois je me demande comment ça arrive à ne pas s'écrouler (quand ça ne s'écroule effectivement pas).
  3. FreeBSD sépare proprement système de base et applications tierces : /usr/local/ pour les applications tierces, le reste pour le système de base (pour l'installation et les fichiers de configuration, les données pouvant se trouver n'importe où, au gré de la fantaisie de l'utilisateur). Pour un système Linux, pas de séparation nette entre le système de base et le reste, tout est ensemble et mélangé.
  4. FreeBSD fait ce que je veux, ce qui est vrai aussi pour les autres systèmes. C'est pour cela que cette raison a la priorité la plus basse.

Le seul accroc à cette règle du FreeBSD partout sur les machines non utilisateur est la passerelle sous OpenBSD. Le choix a été fait parce que celui ci intégrait par défaut pf comme pare-feu, au contraire de FreeBSD qui intégrait ipfw. Ce n'est plus vrai maintenant avec FreeBSD 5.3, mais je ne vais pas changer de système pour si peu. De plus, la passerelle avait à l'époque un petit disque de 1 Go (en plus d'un ensemble peu performant : Cyrix PR-200 suivi d'un Pentium MMX 233), et il me fallait un système de préférence léger en terme d'occupation mémoire et disque. J'aurais pu faire avec un NetBSD, mais celui ci me paraissait (et me parait toujours) un peu trop brut de fonderie en sortie d'installation (et puis c'est la mode de coller un OpenBSD sur un routeur, faut savoir être in dans la vie, n'est ce pas :) ).

Conclusion

Si j'ai choisi FreeBSD, ce n'est pas principalement pour des raisons techniques, mais parce que j'ai l'habitude de l'utiliser. En effet, le meilleurs système d'exploitation pour une tâche donnée est avant tout celui que l'on maitrise le mieux, de façon à accomplir cette tâche le plus facilement possible, et en faisant le moins d'erreurs possibles. En revanche, ces choix ont été effectués dans le domaine de machine destinées à utilisation serveur. Dans le domaine du poste de travail, je n'ai aucune expérience de l'utilisation d'un quelconque *BSD. Peut-être sont-ils mieux adaptés qu'un autre Unix-like libre (comprendre Linux), peut être moins. Le seul truc qui me retiendrait d'utiliser un *BSD pour ça est la compatibilité matérielle moins étendue que Linux. Encore qu'il doit être possible de s'en sortir en choisissant soigneusement les éléments composant sa machine.