Niveau :      
Résumé : /srv /opt /media

FHS

Un standard a plusieurs buts. Tout d'abord il vous propose une solution réfléchie à un problème, laquelle surpassera nécessairement la première idée qui vous passe par la tête. Ensuite, il permet de faire en sorte que tout le monde utilise les mêmes outils ou les mêmes méthodes. L'intérêt est de permettre à monsieur Y de ne pas être perdu lorsqu'il passe d'un système à un autre.

La FHS (Filesystem Hierarchy Standard) définit comment les fichiers devraient être organisés sur un système unix. Elle se base sur des pratiques établies depuis longtemps, c'est pourquoi récent ici signifie environ 10 à 20 ans.

Évitons de parler des hyper connus /etc /bin /lib ... Intéressons-nous plutôt à ceux qui sont plus rares ou plus récents.

/media vs /mnt

/media est une invention relativement "récente", il sert à héberger les points de montage des media temporaires comme un CD ou une clé usb. On peut aussi y trouver des points de montage un peu moins temporaires comme une partition de stockage de données.

Cette fonction a pendant quelque temps été attribuée à /mnt qui contenait des sous répertoire pour ces points de montage. Mais /mnt a été créé pour fournir un point de montage temporaire, par exemple pour tester un disque. Il doit donc rester vide lorsqu'il n'est pas monté.

/opt vs /usr/local

/opt est aussi une invention "récente", contrairement à /usr/local.

/usr/local à pour but de laisser à l'administrateur le choix d'installer des paquets qui ne sont pas gérés par sa distribution tout en gardant la hiérarchie habituelle d'une distribution. C'est pourquoi on trouve dans /usr/local la même arborescence que dans /usr. C'est à ça que sert l'option --prefix= lorsque vous utilisez un script ./configure pour compiler vos outils.

/opt lui ressemble dans le principe, installer un paquet non géré par la distribution, mais il est différent dans le fonctionnement. /opt à été pensé pour le vendeur de logiciel. Chaque paquet doit s'installer dans /opt/<paquet> ou /opt/<vendeur> et ainsi être totalement indépendant. Un tel paquet ne peut et ne doit pas interférer avec les autres paquets du système.

Cette non interférence permet par exemple d'installer plusieurs fois le même logiciel dans une version différente, chacun dans son répertoire.

/srv vs /var vs /data

/var est un système bien établi qui contient les données de fonctionnement de la machine, par exemple les mails en attente, le contenu d'un site web ou d'une base de données.

Pour ne pas interférer avec /var qui est assez limitatif, par exemple avec les sites web (seul /var/www est défini), certains choisissent de se créer un /data ou /TRUC ... qui ont l'inconvénient d'être différents un peu partout.

Pourtant il existe /srv pour cet usage. Son utilisation est totalement libre bien que certains conseils soient donnés. /srv doit contenir des données pour un service, donc pas tout le contenu de /var. Par exemple ce n'est pas le bon endroit pour stocker les fichiers de lock ou de logs (sauf si on est sur un serveur de log). Par contre il est parfaitement adapté pour les bases de données, les sites web ...

Un exemple de hiérarchie conseillée :

/srv/ftp/ftp.fr.net/
/srv/ftp/youpi.fr.net/
/srv/http/ww.fr.net/