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 distrib?
De mon côté, je suis habitué à installer dans/opt. Mais depuis, j'ai vu ce document sur Internet: http://www.pathname.com/fhs/ . Maintenant, je suis confus: apparemment,/usr/local serait également une possibilité.
Quelle est la différence entre les deux? Des bonnes pratiques à partager?
Merci
SirFabel
/usr/local
/opt
Juste comme autres informations intéressantes: La signification originale de /usr/local
est que si /usr
est monté sur le réseau (unique /usr
partagé sur plusieurs ordinateurs), /usr/local
serait un système de fichiers distinct local à l’ordinateur (partition sur disque local).
Et même sur ce sujet, même si cela ne correspond pas à la question: S'il y a plusieurs ordinateurs avec des architectures différentes, il y aura naturellement un /usr
pour chaque Arch, mais /usr/share
serait un autre système de fichiers séparé partagé entre les architectures (d'où 'share ').
La façon dont je le fais est que si cela nécessite un préfixe lui-même OR c'est un paquet binaire, je choisis l'option/opt (ce qui est à peu près la méthode Solaris). Si je compile à partir de la source/usr/local, c'est comme ça que je vais.
Je mets tout dans un répertoire privé, puis j'utilise GNU stow .
Donc, je vais installer le package X.ver à /BASE/stow/X.ver
. GNU stow va alors combiner tous les paquets (avec des liens symboliques) dans /BASE/bin
, /BASE/lib
, etc.
Les conflits et la suppression de paquets sont beaucoup plus faciles à gérer.
Voici comment j'interprète la norme FHS:
/ usr/local est destiné aux fichiers construits localement ou installés localement, qu'ils soient empaquetés ou non et qui font en quelque sorte partie de cette instance du système d'exploitation.
/ opt est un emplacement pour installer des packages "étrangers" ne faisant pas partie du système d'exploitation.
Tant que vous n'utilisez que des fichiers sur le seul système où vous les construisez,/usr/local convient, et constitue donc le répertoire de base par défaut de la grande majorité des logiciels open source.
Si vous envisagez de redistribuer votre paquet, nous vous recommandons d'utiliser un répertoire de base personnalisé tel que/opt/myPackage.
Solaris a beaucoup utilisé/opté. De nombreuses distributions Linux modernes attendent maintenant des paquets dans/usr/local /. L'idée est la même: créer un logiciel permettant à cette machine de faire ce qu'elle fait, contrairement au système d'exploitation. C'est à peu près analogue à "Program Files" sur un système Windows.
Choisissez-en un et respectez-le. Il est assez facile de faire un lien symbolique/opt to/usr/local.
Si vous recompilez un logiciel fourni par la distribution de votre système d'exploitation, utilisez/usr/local pour tirer parti de plusieurs avantages d'architecture spécifiques à votre propre machine.
Si vous ajoutez un logiciel provenant de sources autres que la distribution de votre système d'exploitation, mettez-le dans/opt.