FreeBSD est un OS très « compartimenté », et c’est là l’une des clés de sa stabilité. Voyez plutôt. Dans la version « classique » de FreeBSD, celle où aucune interface graphique n’est pré-installée, on distingue 3 compartiments :

Les documents des utilisateurs sont isolés dans le dossier /usr/home/. Si vous n’êtes pas l’administrateur du système, vous ne pouvez écrire que dans ce compartiment-là.
L’administrateur du système est le seul à pouvoir installer des applications supplémentaires. Il n’utilise pas pour cela des paquets PBI (spécifiques à PC-BSD) mais des paquets TBZ. Cela ne change pas grand-chose mais comprenez simplement que ce n’est pas le même format de paquet. Il peut aussi se servir des ports, nous verrons ça. L’important, pour l’instant, c’est que toutes ces applications ne sont pas mélangées, en vrac, avec le système de base de FreeBSD. Elles sont rangées dans le dossier /usr/local/. Elles ne risquent donc pas d’endommager ce système de base ou d’entrer en conflit avec lui en voulant installer tel ou tel fichier dans un dossier ou existe déjà un fichier du même nom.
Voyons maintenant la version PC-BSD. PC-BSD, c’est un FreeBSD pré-configuré, sur lequel un certain nombre d’applications sont déjà installées. Il y a donc un étage supplémentaire, au dessus du système de base de FreeBSD, que j’appellerai le « système de base de PC-BSD ».On y trouve par exemple l’environnement graphique X.org, le gestionnaire de fenêtres Fluxbox, l’AppCafé, la Bouée de sauvetage, et plein d’autres programmes. On y trouve aussi les applications que vous avez cochées pendant l’installation de PC-BSD : KDE, par exemple.

Les éléments de ce « système de base de PC-BSD » sont installés sous forme de paquets TBZ et donc tout logiquement rangés dans le dossier /usr/local/. Eux non plus ne risquent donc pas de comprommettre le « vrai » système de base (celui de FreeBSD).
Mais si l’administrateur veut ensuite ajouter des logiciels supplémentaires dans le même dossier/usr/local/, le principe de compartimentation n’est plus respecté. Techniquement, il peut le faire : les outils classiques de FreeBSD sont toujours là. Mais ce n’est pas malin : d’abord parce qu’un administrateur inexpérimenté court ainsi le risque de provoquer un conflit entre les applications qu’il installe et le « système de base de PC-BSD ». Et aussi parce qu’à la prochaine mise à jour de PC-BSD, tous les logiciels installés de cette manière seront supprimés.
Pour installer des applications sous PC-BSD, on utilise donc plutôt les paquets PBI, et on les range dans un autre dossier : /usr/pbi/. Cette opération n’est d’ailleurs pas réservée à l’administrateur : tous les utilisateurs membres du groupe operator peuvent ouvrir l’AppCafé et installer, supprimer ou mettre à jours des applications PBI. Bien entendu, c’est l’administrateur qui décide qui il inscrit dans le groupe operator. Par défaut, le premier utilisateur créé pendant l’installation y est inscrit d’office.
Le problème, c’est que, pour l’instant, il y a encore beaucoup moins d’applications disponibles en PBI qu’en paquet TBZ, et je ne parle même pas des ports.
Ça veut dire qu’on est condamnés à n’utiliser qu’une petite partie des logiciels FreeBSD existants ?
Heureusement, non !
Vous avez peut-être remarqué la mention « SYSTEME PRINCIPAL » sur les schémas ci-dessus. En effet, on peut créer des systèmes secondaires. Autant qu’on veut. Une prison, c’est un peu (un peu seulement) comme un deuxième ordinateur : elle peut avoir des utilisateurs différents de ceux du système principal, un administrateur différent, des programmes installés différents, une configuration différente, un système de fichiers différents, etc. Et les programmes qui s’exécutent dans la prison ne peuvent pas interférer avec ceux du système principal, à moins de se connecter à lui comme le ferait un autre ordinateur.
Pour plus de théorie approfondie sur les prisons, il faudra attendre le chapitre La prison, dans laPartie 5 du tutoriel. Mais nous allons tout de suite voir un cas pratique.
