J'ai un exécutable pour le client de contrôle de version perforce (p4
). Je ne peux pas le placer dans /opt/local
car je n'ai pas les privilèges root. Existe-t-il un emplacement standard où il doit être placé sous $HOME
?
La hiérarchie du système de fichiers a-t-elle une convention qui dit que les exécutables/binaires locaux doivent être placés dans $HOME/bin
?
Je n'ai pas trouvé une telle convention mentionnée dans l'article de Wikipedia pour le FHS.
De plus, s'il existe effectivement une convention, devrais-je inclure explicitement le chemin vers le $HOME/bin
répertoire ou quel que soit l'emplacement du bin
répertoire est ?
Réponse acceptée :
En général, si un binaire non installé et maintenu sur le système doit être accessible à plusieurs utilisateurs à l'échelle du système, il doit être placé par un administrateur dans /usr/local/bin
. Il existe une hiérarchie complète sous /usr/local
qui est généralement utilisé pour les progiciels compilés et installés localement.
Si vous êtes le seul utilisateur d'un binaire, installez-le dans $HOME/bin
est l'endroit approprié puisque vous pouvez l'installer vous-même et vous serez le seul consommateur. Si vous compilez un progiciel à partir des sources, il convient également de créer une hiérarchie locale partielle ou complète dans votre $HOME
annuaire. La hiérarchie locale complète ressemblerait à ceci.
$HOME/bin
Fichiers binaires locaux$HOME/etc
Configuration système spécifique à l'hôte pour les fichiers binaires locaux$HOME/games
Fichiers binaires du jeu local$HOME/include
Fichiers d'en-tête C locaux$HOME/lib
Bibliothèques locales$HOME/lib64
Bibliothèques 64 bits locales$HOME/man
Manuels en ligne locaux$HOME/sbin
Fichiers binaires du système local$HOME/share
Hiérarchie indépendante de l'architecture locale$HOME/src
Code source local
Lors de l'exécution de configure
, vous devez définir votre hiérarchie locale pour l'installation en spécifiant $HOME
comme préfixe pour les valeurs par défaut de l'installation.
./configure --prefix=$HOME
Maintenant, quand make && make install
sont exécutés, les binaires compilés, les packages, les pages de manuel et les bibliothèques seront installés dans votre $HOME
hiérarchie locale. Si vous n'avez pas créé manuellement un $HOME
hiérarchie locale, make install
créera les répertoires nécessaires au progiciel.
Une fois installé dans $HOME/bin
, vous pouvez soit ajouter $HOME/bin
à votre $PATH
ou appelez le binaire en utilisant le $PATH
absolu . Certaines distributions incluront $HOME/bin
dans votre $PATH
par défaut. Vous pouvez tester cela soit par echo $PATH
et voir si $HOME/bin
est là, ou mettez le binaire dans $HOME/bin
et en exécutant which binaryname
. S'il revient avec $HOME/bin/binaryname
, alors il est dans votre $PATH par défaut.