Quelles sont les "normes" - devrais-je mettre une application (pas seulement binaire, mais toute la distribution) vers / usr / local ou / usr / local / share.
Par exemple scala ou weka - il contient des exemples, des binaires, des bibliothèques, etc. Ce serait donc
/usr/local/scala-2.9.1
ou
/usr/local/share/scala-2.9.1
Comme je suis le seul administrateur, ce n'est pas un gros problème pour moi, mais je préfère utiliser quelque chose qui est largement utilisé, pas avec mes propres coutumes.
Important: je ne demande pas de renseignements sur les cas où vous devez diviser l'application en / usr / local / bin, / usr / local / lib et ainsi de suite. Je demande plutôt au sujet du cas où vous devez conserver un répertoire principal pour toute l'application.
software-installation
directory-structure
application
greenoldman
la source
la source
/opt
est en effet la bonne réponse, mais elle n'est pas "largement utilisée" par les logiciels Unix / Linux traditionnels. Il y a de bonnes raisons de diviser vos fichiers en plusieurs répertoires, et aussi de les différencier/usr
de/usr/local
/usr/bin
(ou/usr/local/bin
) permet à votre $ PATH d'atteindre tous les logiciels sans avoir besoin de le modifier pour chaque logiciel, un concept qui n'existe pas dans WindowsRéponses:
Je pense que / opt est plus standard dans ce genre de contexte. La section pertinente de la norme de hiérarchie du système de fichiers est citée ci-dessous.
la source
Vous ne devez utiliser que
/usr/local/share
pour les fichiers qui ne sont pas spécifiques à une version particulière de l'architecture / du système d'exploitation.Après cela, c'est à vous de décider si vous distribuez les fichiers entre les sous-répertoires existants de
/usr/local
ou si vous créez un nouveau répertoire dédié dans/usr/local
(mais ce dernier n'existera pas déjà sur l'exécutablePATH
, leLD_LIBRARY_PATH
, ni leMANPATH
).Jetez un œil au FHS
la source
bin
,share
,lib
, etcJusqu'à ce qu'il
/opt
devienne courant, l'endroit habituel était/usr/local/lib/<package>
.la source
Lors de l'installation des applications locales, il existe plusieurs options selon la façon dont vous souhaitez accéder et mettre à jour. Il convient également de noter que certaines méthodes ressemblent davantage au système que vous avez déjà et que certaines sont plus ponctuelles. Je dirais que les «meilleures» solutions sont celles qui facilitent la gestion.
J'ai divisé cette réponse en fonction du nombre de packages pour lesquels effectuer des installations personnalisées. Le fractionnement est basé sur mes propres expériences. Ces expériences pèsent sur le temps nécessaire pour gérer les colis et les risques de gâcher quelque chose. Je ne veux pas dire que j'ai la connaissance de normes communes, mais je veux dire cela comme un point de référence à regarder lors de la prise de décision.
Pour seulement quelques packages , je voudrais mettre des packages supplémentaires
/opt
, où ils sont à l'écart de tout le reste afin que rien ne puisse les gâcher et qu'ils puissent gâcher autre chose. C'est la méthode que j'utilise sur mon NAS. Cette méthode garde cependant les binaires hors de votre PATH, vous devrez donc les ajouter manuellement. Cela fonctionne bien s'il n'y a que quelques packages à installer, mais devient un vrai gâchis s'il y en a beaucoup.La mise à jour ici est assez facile car vous écrasez simplement le répertoire.
Avantages:
Les inconvénients:
PATH
air désordonnéPour plus de quelques packages , je recommanderais d'utiliser le
/usr/local/<your package>
et la liaison sym de l'exécutable à partir de/usr/local/bin
ou/usr/local/sbin
selon si vous avez besoin des privilèges root. Cela vous évite de changer votre PATH chaque fois que quelque chose de nouveau est ajouté pour que le PATH reste propre. C'est la méthode que j'utilise sur mon ordinateur portable Arch pour tous les packages non pacman et les packages AUR.La mise à jour se fait en écrasant le répertoire du package et en vérifiant que le lien symbolique est toujours valide et en corrigeant s'il ne l'est pas.
Avantages
PATH
désordreLes inconvénients:
Pour de nombreux packages . Comme ce n'est pas le cas que vous voulez, je serai bref. Je recommande le fractionnement du paquet dans
bin
,lib
,share
, etc. , et de les installer sur/usr/local
. C'est pour garder la structure propre. Vous pouvez également spécifier qui peut écrire où et plus encore. Par exemple, vous ne voulez pas que des personnes autres que root modifient l'exécutable.Ici, la mise à jour devient un peu plus délicate car vous devez écrire dans plusieurs répertoires. Je recommanderais d'emballer le tout et de laisser le gestionnaire de paquets s'occuper du reste.
Le partage
Le
share
répertoire est lui - même pour les fichiers indépendants de l' architecture comme indiqué dans Faheem de lien et les fichiers dépendants de l' architecture devrait allerlib
,lib32
,lib64
, etc.la source