À quoi sert le dossier «/ usr / local / src»?

29

Je voulais mettre mes fichiers de travail (code) /usr/local/src, mais je pense que c'est déjà un dossier qui a une autre signification sémantique.

Qu'est-ce que c'est? Dois-je y mettre du code source ou existe-t-il un meilleur endroit?

Modifier - Je suis le seul utilisateur et administrateur de la machine, et je ne veux pas utiliser mon répertoire personnel car il se trouve sur un lecteur NFS.

ripper234
la source

Réponses:

35

Selon Linux FHS , /usrest l'emplacement où les éléments basés sur la distribution sont placés et /usr/localest l'endroit où vous placeriez vos propres modifications localisées ( /usr/localsera vide après une installation de base). Ainsi, par exemple, si vous vouliez recompiler un paquet Ubuntu à partir de la source, leur gestionnaire de paquets placerait la source du paquet dans /usr/src/{package dir}. Si vous avez téléchargé un programme non géré par votre distribution et que vous vouliez le compiler / installer, FHS vous oblige à le faire dans /usr/local/src.

EDIT: Réponse courte, oui, entrez votre code /usr/local/src.

Sean C.
la source
10

Cela dépend de ce que vous faites avec cette source. Si c'est pour référence, oui, c'est un bon endroit. /usr/localest réservé aux logiciels installés localement par l'administrateur système. Donc, si vous voulez installer des logiciels avec des fichiers sources (pour d'autres programmes à utiliser ou pour que les gens les regardent), c'est bien.

Il ne s'agit cependant pas d'un espace de travail . Puisqu'il est local , vous pouvez faire ce que vous voulez, bien sûr, mais ce n'est pas conçu pour être l'endroit idéal pour mettre votre arbre de développement logiciel.

Cela devrait vraiment être dans un référentiel de code (éventuellement dans /srv/sourcerepoou quelque chose), puis les développeurs vérifieraient leurs propres copies de travail dans leurs répertoires personnels.

mattdm
la source
J'appuie ce que mattdm dit ci-dessus. J'utilise généralement /usr/local/srccomme un bon endroit pour télécharger du code source tiers (par exemple pour patcher et reconstruire des packages), pas mon propre code source, qui, comme dit Matt, devrait être sous / srv / ... (bien que j'utilise habituellement /srv/vcs/sourcerepo). Et en miroir à distance, bien sûr.
Faheem Mitha
@Faheem - mon répertoire personnel se trouve sur un lecteur NFS, donc je ne travaille définitivement pas ma branche source pour y être (trop lente).
ripper234
Je pense que c'est la meilleure réponse. Moi par exemple, j'ai des applications web dans / srv / http, et leurs repos dans / srv / git. maintenant je cherche des outils de support de dev. Je m'appuyais totalement /usr/local/appnameou /usr/local/srcmême mieux, jusqu'à ce que je lise ceci. Cela m'a donné la raison que je connaissais au fond de mon esprit. C'est en effet un worktree, tu m'as rattrapé. Alors, que se passe-t-il si je le mets à la place, puis le clone dans le ~/srcconstruire là-bas, puis et le pousse vers son amont qui est l'endroit qui est ajouté / ou-dans le chemin pour exécuter les outils de développement. Je n'aime tout simplement pas l'idée de / srv, car elle n'est pas servie.
Brian Thomas
Que signifie alors srv?
SherylHohman
1
@SherylHohman Il ne représente vraiment rien (ce n'est pas un acronyme) mais nous l'avons choisi pour impliquer "service". Voir le FHS qui dit "/ srv contient des données spécifiques au site qui sont servies par ce système" .
mattdm