Wofür ist der Ordner "/ usr / local / src" gedacht?

29

Ich wollte meine Arbeitsdateien (Code) einfügen /usr/local/src, aber ich denke, es ist bereits ein Ordner, der eine andere semantische Bedeutung hat.

Was ist das? Soll ich dort den Quellcode einfügen, oder gibt es einen besseren Ort?

Bearbeiten - Ich bin der einzige Benutzer und Administrator des Computers und möchte mein Basisverzeichnis nicht verwenden, da es sich auf einem NFS-Laufwerk befindet.

ripper234
quelle

Antworten:

35

Linux Laut FHS , /usrist der Ort , an dem Verteilung-basierte Elemente platziert werden und /usr/localist der Ort , an dem Sie Ihre eigenen lokalisierten Veränderungen würde ( /usr/localwird leer sein , nachdem eine Basisinstallation). Wenn Sie beispielsweise ein Ubuntu-Paket aus dem Quellcode neu kompilieren möchten, wird der Quellcode für das Paket im Paketmanager abgelegt /usr/src/{package dir}. Wenn Sie ein Programm heruntergeladen haben, das nicht von Ihrer Distribution verwaltet wird und das kompiliert / installiert werden soll, schreibt FHS dies vor /usr/local/src.

EDIT: Kurze Antwort, ja, geben Sie Ihren Code ein /usr/local/src.

Sean C.
quelle
10

Es hängt davon ab , was Sie tun mit dieser Quelle. Wenn es als Referenz dient, ist das ein guter Ort. /usr/localist für lokal vom Systemadministrator installierte Software reserviert. Wenn Sie also Software zusammen mit Quelldateien installieren möchten (für andere Programme oder zum Anschauen), ist das gut.

Es ist jedoch nicht als Arbeitsbereich gedacht . Da es lokal ist , können Sie natürlich tun, was Sie wollen, aber dies ist nicht der Ort, an dem Sie Ihren Softwareentwicklungsbaum ablegen können.

Das sollte sich eigentlich in einem Code-Repository befinden (möglicherweise in /srv/sourcerepooder so), und dann checken Entwickler ihre eigenen Arbeitskopien in ihre Home-Verzeichnisse aus.

mattdm
quelle
Ich stimme dem zu, was mattdm oben sagt. Ich verwende normalerweise /usr/local/srceinen guten Ort zum Herunterladen von Quellcode von Drittanbietern (z. B. zum Patchen und Neuerstellen von Paketen), nicht meinen eigenen Quellcode, der, wie Matt sagt, unter / srv / ... stehen sollte (obwohl ich normalerweise verwende /srv/vcs/sourcerepo). Und natürlich aus der Ferne gespiegelt.
Faheem Mitha
@Faheem - mein Home-Verzeichnis befindet sich auf einem NFS-Laufwerk, daher arbeite ich definitiv nicht an meinem Quell-Zweig, um dort zu sein (zu langsam).
Ripper234
Ich denke das ist die bessere Antwort. Ich habe zum Beispiel Webanwendungen in / srv / http und deren Repos in / srv / git. jetzt bin ich auf der suche nach dev support tools. Ich habe mich total angelehnt /usr/local/appnameoder /usr/local/srcnoch besser, bis ich das gelesen habe. Dies gab mir den Grund, den ich im Hinterkopf kannte. Das ist in der Tat ein Arbeitsbaum, du hast mich erwischt. Was ist, wenn ich es stattdessen dorthin lege, dann klone, ~/srcum es dort zu bauen, und schiebe es auf den Upstream, der der Ort ist, der hinzugefügt / oder in den Pfad, um die Entwicklerwerkzeuge auszuführen. Ich mag die Idee von / srv einfach nicht, da sie nicht serviert wird.
Brian Thomas
Wofür steht dann srv?
SherylHohman
1
@SherylHohman Es steht nicht wirklich für irgendetwas (es ist kein Akronym), aber wir haben es ausgewählt, um "Service" zu implizieren. Lesen Sie die FHS, die besagt, dass "/ srv standortspezifische Daten enthält, die von diesem System bereitgestellt werden" .
Mattdm