Je suis sur le point d'installer "leiningen" qui est un script bash pour le langage de programmation clojure avec beaucoup d'utilité ... ... mais je ne suis pas sûr de savoir où il est approprié de -put- un script exécutable sous Linux système de sorte qu’il soit disponible de manière permanente et stable.
Je ne pense pas que n'importe où dans / home ait du sens, mais je ne sais pas quel répertoire / quels répertoires sont supposés être utilisés pour cela.
/ usr / share?
Réponses:
(Note:
~
traduit comme/home/user
dans ce post)Personnellement, je mets tous mes scripts système personnalisés
/usr/local/bin
et tous mes scripts bash personnels dans~/bin
. Très peu de programmes que j'installe se placent dans des/usr/local/bin
répertoires, de sorte qu'ils ne sont pas très encombrés et que cela se trouvait déjà dans la$PATH
variable de la plupart de mes machines.Pour ajouter
/usr/local/bin
à votre chemin système (s'il n'y est pas déjà), ajoutez ceci à/etc/profile
:Pour ajouter
~/bin
au chemin de votre utilisateur, ajoutez ceci à~/.bash_profile
:Parfois , le défaut
.bash_profile
fichier aura une instruction if qui ajoute automatiquement~/bin
à$PATH
si elle existe, donc créer~/bin
et ouvrir un nouveau terminal pour voir si le vôtre fait déjà.la source
export
définir plusieurs fois une variable (et probablement votre système est déjà marquéPATH
pour l'exportation, vous n'avez donc pas à le faire vous-même)./ usr / local / est vraiment le bon endroit, alors que / opt est vraiment destiné aux applications tierces; "/ opt est réservé à l'installation de packages logiciels d'application supplémentaires." Cela fait partie de la norme de hiérarchie du système de fichiers.
Voir http://www.pathname.com/fhs/pub/fhs-2.3.html pour une discussion sur / opt.
Pour / usr / local /, c'est pour "utilisation par l'administrateur système". N'oubliez pas tout ce qu'il y a dedans - documentez-le.
la source
/usr/local
, comme son nom l’indique, correspond à l’administrateur local et/opt
aux éléments qui ne sont pas distribués officiellement, tels que les logiciels tiers commerciaux gérés par un processus similaire (pouvant être remplacés ou effacés lors d’une mise à niveau). en amont) mais non gérée par le gestionnaire de paquets de la distribution, ou peut-être réellement distribuée sous forme de RPM ou de.deb
paquets, mais non organisée et empaquetée conformément à toutes les politiques et conventions de la distribution./usr/local
plus tard dans le document.Historiquement, vous utiliseriez quelque chose comme / opt. Tout va bien tant qu'il est mis à jour dans $ PATH pour les utilisateurs supposés l'avoir (par conséquent, tout ce qui est dans / home est une mauvaise idée).
la source
/usr/share/clojure
semble être un lieu commun pour placer les fichiers binaires et les bibliothèques de clojure (pourquoi je ne sais pas, cela semble naturel pour)/usr/local/share/clojure
, aussi la création d’unsite
sous - répertoire sous ce répertoire pour ces scripts bash semble bien aller.L'idée générale est qu'il est plus logique d'organiser les scripts par fonction sans avoir tous les scripts bash au même endroit.
la source
/usr/share
pour cela. Tout d'abord, ilshare
faut entendre les fichiers indépendants de l'architecture (c'est-à-dire partagés entre les architectures). Pour cette raison, les bibliothèques et les exécutables n'appartiennent pas à unshare
répertoire. Deuxièmement, à part/usr/local
rien d'autre que le gestionnaire de paquet de distribution devrait écrire dans/usr
./usr/local
, Je pense qu’il ya une certaine confusion dans la signification de "local".Si je comprends bien, "local" ne signifie pas "en provenance de / sur la machine locale" mais, plus simplement, "spécifique à la machine locale", pouvant ou non provenir de la machine locale.
la source