Existe-t-il un emplacement standard sous Linux pour contenir les fichiers source, par exemple OpenSSL . Je construis Nginx à partir des sources avec une version non par défaut d'OpenSSL. J'ai besoin de télécharger et de décompresser OpenSSL et je l'ai fait dans le répertoire personnel. Maintenant, je me demande s'il y a peut /opt
- être un emplacement standard sous Linux ?
directory-structure
source
user3448600
la source
la source
Réponses:
Chaque fois que vous vous demandez quelque chose comme ça, consultez le Filesystem Hierarchy Standard (FHS). Vous y trouverez l'entrée suivante:
Vous pouvez donc placer vos fichiers source dans des sous-répertoires de
/usr/src
. Cela dit, il s'agit d'un répertoire facultatif, vous pouvez donc vraiment les conserver où vous le souhaitez. Le code source n'est plus pertinent une fois que vous l'avez compilé dans un exécutable, le système n'exigera donc jamais que la source de quelque chose soit accessible à un emplacement spécifique.En conclusion:
/usr/src
c'est un emplacement assez standard mais n'hésitez pas à choisir le vôtre si vous préférez.la source
/usr/src
un système non Linux. Les BSD y conservent leurs sources de système de base par défaut et vous ne voulez pas les mélanger avec des logiciels tiers. Il suffit de construire$HOME
quelque part .../usr/src
sur dérivés de Debian, si vous avez certains paquets installés (gcc-6-source
,binutils-source
, DKMS paquets, les en- têtes , etc. noyau). Sur Debian, il y a une fonctionnalité intéressante où vous pouvez vous ajouter ausrc
groupe qui en est propriétaire/usr/src
, puis y écrire comme vous-même (sans avoir besoin desudo
quoi que ce soit)./usr/src/debug
et/usr/src/kernels
(AFAICS)./usr
à aucun système. Vous devriez y mettre des choses/usr/local
. Les BSD vous dérangent-ils d'utiliser/usr/local/src
?/usr/local/src
est un endroit sûr pour conserver le code source et le construire aussi. La FHS dit :et aussi
Ce n'est pas clair ce que signifie "code source local", mais il est clair que le système n'essaiera pas de placer quoi que ce soit
/usr/local/src
, contrairement à/usr/src
, donc il semble y avoir peu d'inconvénients à y mettre du code.En fait, j'ai le mien sur un système de fichiers séparé:
Remarque: au moins sur Debian, votre utilisateur doit être ajouté au
staff
groupe pour pouvoir y écrire/usr/local
.la source
/usr/local/src
tandis que les autres réponses ne discutent que/usr/src
/usr/local
(en théorie). Donc, cela signifie essentiellement ce que vous avez décrit.Si par "standard" vous voulez dire conventionnel, alors l'endroit pour décompresser et construire le code source est votre répertoire personnel. Ces fichiers devraient être transitoires, supprimés lorsque vous avez terminé, ou conservés si vous le souhaitez, organisés comme bon vous semble. Votre répertoire personnel est votre espace pour jouer avec tout ce genre de choses.
Si vous souhaitez les conserver par la suite, pour référence , le " Filesystem Hierarchy Standard " recommande
/usr/src
. Cependant, il s'agit d'un guide et non d'une loi; et, si vous deviez prendre cette habitude puis vous aventurer sur un système non Linux, vous êtes susceptible de causer des problèmes en la suivant. Par exemple, sur un système BSD, les sources du système de base y sont conservées et vous ne voulez vraiment pas les déranger. Même sous Linux, vous risquez de vous mêler à n'importe quelle source stockée par les gestionnaires de packages, ce qui n'est pas souhaitable.Je recommanderais d'éviter
/usr/src
globalement. Il n'y a aucun avantage évident à conserver quoi que ce soit, et un risque potentiel si vous confondez sa signification.la source
Vous pouvez utiliser
/usr/src
comme cet endroit un son raisonnable et les distributions basées sur rpm l'utilisent pour y stocker le contenu des packages srpm. Mais tout autre lieu comme/opt
,/usr/local
,~/src
est bonla source