Bon, puisqu'il faut tout justifier pour ne pas passer pour un trolleur, allons-y.
Je suis confronte tous les jours a FreeBSD puisque mon boulot consiste justement a administrer une cinquantaine de machines sous FreeBSD.
La stabilite de FreeBSD? Bof. Sur nos serveurs d'hebergement, tous les heberges sont chrootes, et histoire de ne pas avoir a dupliquer les modules Perl et de rendre accessible Qmail aux scripts PHP, j'ai essaye d'utiliser mount_null (l'equivalent de mount --bind sous Linux) . Ca s'est solde par un kernel panic chaque fois que quelqu'un tentait d'envoyer le moindre mail. D'apres le "man", mount_null date de BSD 4.4, ca doit donc faire 10 ans que cette commande elementaire n'a jamais fonctionne correctement.
Il n'y a pas de filesystem journalise. Quand tu dois attendre comme un con la fin d'un fsck avant que ton firewalls ne se remette a router le moindre paquet, ce n'est pas terrible du tout. Et pour un serveur de fichiers, FreeBSD est a exclure de fait.
L'absence de lock NFS est aussi _tres_ chiante. On a des softs qui fonctionnaient parfaitement sur les machines de developpement (Linux), et qui se sont mis a merder en beaute des qu'on les a passe sur les serveurs de prods (FreeBSD) a cause de ca. C'est d'ailleurs documente dans le man rpc.lockd :
"The current implementation provides only the server side of the protocol (ie. clients running other OS types can establish locks on a FreeBSD fileserver, but there is currently no means for a FreeBSD client to establish locks)."
Cette page de "man" date du 24 Septembre 1995, et rien n'a change depuis...
Niveau securite, FreeBSD n'a rien de terrible. Pas d'audit de code comme OpenBSD. Une bonne vieille pile executable. On reste en securelevel 0 par defaut (ca m'a aide pour passer root, sortir d'un chroot et relancer un SSH plante sur un serveur de hosting. N'importe qui peut inserer des modules dans le noyau par defaut, meme si le module se situe dans une jail ou un chroot, wow) . Rien d'equivalent a Grsecurity. La necessite pour la plupart des demons de tourner en root...
Il parait que la pile IP de FreeBSD est vachement solide. Bon. Recupere un petit programme nomme stream2.c qui traine sur le net, lance-le avec l'IP d'une passerelle FreeBSD, et hop, la passerelle est morte, la charge du CPU passe a 100% et elle ne route plus rien. Toujours pas corrige.
Il parait que c'est bien pour un systeme multi-utilisateurs. Bon. Recupere ftp://ftp.42-networks.com/tmp/bsd-crash.c , lance-le (meme pas sous root), et la machine FreeBSD est morte, le reseau ne fonctionne plus.
Pour un firewall ce n'est pas la mort non plus. IPFilter n'a aucune limitation de memoire, il est tres facile de lui faire bouffer tout le pool de memoire reserve au reseau en creeant un grand nombre de states. Apres, le firewall ne laisse plus passer aucun paquet. On obtient dans le log un truc disant d'augmenter NMBCLUSTERS, mais ca ne corrige en rien le probleme. IPFW est lent, lent, lent, horriblement lent. Pour chaque paquet, toutes les regles sont evaluees. Au boulot, je devais filtrer une cinquantaine de pays, ca donnait environ 5000 reseaux a filtrer, donc 5000 regles. Le firewall n'a pas tenu plus de 2 secondes avant de planter. J'ai du reecrire une partie d'ipfw pour consulter une liste de reseau/masques dans des tables de hash pour que ca fonctionne.
Cote performances, bof. On a recemment remplace un serveur MySQL sous FreeBSD qui tournait sur un bipro par un autre serveur sous Linux qui tourne avec un seul CPU. Bein c'est quasiment deux fois plus rapide maintenant. Les raw partitions pour InnoDB semblent ne rien apporter sous FreeBSD, alors que sous Linux, vroommm.
On a une serie de serveurs destines a servir rapidement du contenu statique (images et videos). Pour decharger le Netapp, on a foutu des disques supplementaire dans chaque serveur pour repliquer le contenu. Sous FreeBSD, on a essaye avec des systemes style ssync, ca a completement merde, c'etait beaucoup trop lent. On n'a rien trouve sur FreeBSD pour maintenir synchronises des filesystems repartis sur plusieurs machines. On a passe ces machines sous Linux avec Intermezzo, c'etait torche dans l'apres-midi, et ca fonctionne parfaitement. Je ne vois pas en quoi FreeBSD peut se vanter d'etre fiable s'il ne dispose d'aucun mecanisme pour assurer une tolerance de panne.
Bon, ca, c'est au boulot... chez moi j'ai essaye d'installer FreeBSD deux fois. La premiere fois c'etait une 4.3 je crois. Au premier demarrage de X, ca a plante, j'ai du rebooter a la barbare. Le fsck m'a sortie une pile d'erreurs (malgre les softupdates) . Je me suis retrouve avec un repertoire qui faisait rebooter la machine des qu'on essayait de faire un "ls" dedans (et un des scripts en cron s'y baladait, donc impossible d'avoir plus de 24h d'uptime) . Apres 10 fsck, impossible de corriger l'erreur. J'ai du reformatter.
Recemment j'ai essaye d'installer une 4.7 et une 5-current. Comme explique plus haut, absolument rien n'est reconnu sur ma carte mere, meme pas le reseau. Alors dans ces conditions je veux bien comprendre que certains apprecient FreeBSD, mais pour ma part, c'est un peu difficile, vu qu'a part le lecteur de disquettes il ne sait rien utiliser sur ma machine...
Et puis bon... au niveau des softs, tout ce qui existe sous FreeBSD existe sous Linux, mais l'inverse est loin d'etre vrai. Il a fallu attendre longtemps avant d'avoir OpenOffice sous FreeBSD (et pour StarOffice on peut toujours attendre) . Certes, il y a une emulation Linux, mais je ne vois pas l'interet d'installer FreeBSD si c'est pour lancer une Redhat en emulation. Et l'emulation est loin d'etre parfaite. Par exemple aucun des outils de Codeweaver ne fonctionne. Et le coup de l'emulation c'est chiant au quotidien, par exemple pour utiliser des plug-ins Linux (car des plug-ins proprios FreeBSD il n'y en a pas), il faut que les softs correspondants tournent en emulation Linux, la version native d'un browser ne fonctionnera pas. Bref, c'est chiant.
Et puis bon, au niveau des ports, c'est certes tres sympa sur les BSD, mais la Gentoo est un cran au dessus a mon avis (ne serait-ce qu'au niveau de la cohabitation de plusieurs versions des softs) .
---------------
C'est en forgeant qu'on devient con comme un forgeron.