53 votes

/usr/local ou /opt ?

Comment procédez-vous généralement pour vos installations de paquets sous Linux, pour les paquets qui ne font pas partie des dépôts de votre distribution ?

Pour ma part, j'ai l'habitude d'installer dans /opt. Mais depuis, j'ai vu cette doc sur Internet : http://www.pathname.com/fhs/ . Maintenant je suis confus : apparemment /usr/local serait aussi une possibilité.

Quelle est la différence entre les deux ? Y a-t-il des bonnes pratiques à partager ?

Gracias

SirFabel

44voto

Ehsan mahmood Points 11
  • Tout ce qui doit être compilé et installé Style Unix et est conforme à la norme FHS -> /usr/local
  • Tout le reste (par exemple, une application web Java qui est livrée avec son propre serveur d'application et des tas de ressources dans une archive zip -> /opt

25voto

Il s'agit d'une information supplémentaire intéressante : La signification originale de /usr/local est que si /usr est monté en réseau (simple /usr partagés entre plusieurs ordinateurs), /usr/local serait un système de fichiers distinct local à l'ordinateur (partition sur le disque local).

Et tant qu'à faire, même si c'est hors sujet par rapport à la question : S'il y a plusieurs ordinateurs avec des architectures différentes, il y en aurait naturellement un /usr pour chaque arche, mais /usr/share serait encore un autre système de fichiers distinct partagé entre les architectures (d'où le terme "share").

8voto

Lee Points 181

La façon dont je procède est la suivante : si un préfixe est requis pour lui-même OU s'il s'agit d'un paquetage binaire, je choisis /opt (ce qui est à peu près la façon de procéder de Solaris). Si je compile à partir des sources, j'utilise /usr/local.

6voto

R Samuel Klatchko Points 476

Je place le tout dans un répertoire privé et j'utilise ensuite GNU stow .

J'installerai donc le paquet X.ver dans /BASE/stow/X.ver . GNU stow combinera alors tous les paquets (avec les liens symboliques) en /BASE/bin , /BASE/lib , etc.

Les conflits et la suppression de paquets sont beaucoup plus faciles à gérer.

4voto

jlliagre Points 13539

Voici comment j'interprète la norme FHS :

/usr/local est destiné aux fichiers construits ou installés localement, qu'ils soient emballés ou non et qu'ils fassent en quelque sorte partie de cette instance du système d'exploitation.

/opt est un endroit où l'on peut installer des paquets "étrangers" qui ne font pas partie du système d'exploitation.

Tant que vous n'utilisez les fichiers que sur le seul système où vous les compilez, /usr/local convient, et c'est donc le répertoire de base par défaut de la grande majorité des logiciels libres.

Si vous prévoyez de redistribuer votre paquet, je vous recommande d'utiliser un répertoire de base personnalisé comme /opt/myPackage.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X