J'ai mis à jour mon serveur, j'ai installé FreeBSD 6.0-RELEASE.

Le FreeBSD Project a sorti FreeBSD 6.0-RELEASE vendredi dernier. Je me suis précipité pour mettre à jour mon serveur. Les échos de la liste de diffusion freebsd-stable étaient porteurs de bonne nouvelle en ce qui concerne la stabilité et les performances du système.

J'ai utilisé les instructions du Handbook pour la mise à jour, qui s'est bien passée, sans problèmes. Mais j'avais quand même un peu peur, comme à chaque fois, au cas où le système foire...

Ensuite, j'ai mis à jour les ports, les programmes applicatifs de tierce partie, tel Apache, ou Python. Et ça a pris beaucoup de temps. Tout ça parce que la version des ports d'openssl, que beaucoup de ports utilisent, ne compile pas la version 6 de libcrypto, et donc que libcrypto.so.6 n'existe pas dans /usr/local/lib. Du coup tous les ports qui ont besoin de cette bibliothèque recompilent openssl pour installer la bibliothèque. et la réinstallation d'openssl rate, parce qu'il est déjà installé. Et comme un prérequis est manquant, l'installation du port rate. Rate et perd du temps à recompiler un openssl complet...

Je me rappelle qu'il y un moyen de définir si les programmes doivent utiliser l'openssl de base du système ou se servir de la version des ports. Et j'ai dû prendre celui des ports. Mais je me rappelle plus comment on change ça... 🙂 Et j'ai dû mal chercher, j'ai pas retrouvé... (j'ai pas trop cherché non plus 🙂)

Au final j'ai juste fait un symlink du libcrypto.so.6 de l'openssl de base (situé dans /lib), dans /usr/local/lib, et hop ça marche. 🙂 Je sens que je vais au devant de moult problèmes à l'avenir, quand le openssl des ports va effectivement fournir cette bibliothèque et que les versions des openssl de base et des ports vont changer... Mais bon, si je le sais, je peux le réparer. Je recompilerai les ports dépendant d'openssl quand il sera mis à jour. Puis on change pas de version d'openssl tous les jours.

Du coup mon serveur est complètement frais et à jour, base et ports. Ça a mis dans les 15 h (4 h pour le système, cvsup et mergemaster inclus, et 11 h de compilation de ports). Mais beaucoup de temps a été perdu dans les recompilations inutiles d'openssl. Maintenant je vais attendre de voir les réactions sur la liste freebsd-stable, et le comportement de mon serveur avant de m'attaquer aux machines du boulot. On a des machines multi-processeurs qui pourraient profiter des nouvelles optimisations du noyau.

Quand je vois mon enthousiasme pour les évolutions de FreeBSD, je comprends l'engouement de mon chef pour suivre l'actualité de Plone, et sa volonté d'avoir les dernières versions en production sur les sites du boulot. Je n'approuve pas forcément, parce que les développeurs de Plone ont tendance à tout remettre à plat toutes les deux versions, et à casser plein de dépendances et de compatibilité, sans forcément documenter les changements, contrairement à FreeBSD qui évolue plus en douceur, et qui documente sérieusement quand des modifications majeures sont faites. Mais je comprends. C'est l'appel du bleeding edge, on ne peut pas y résister... 😉