Gibt es einen Standard - Standort in Linux für Quelldateien zum Beispiel hält OpenSSL . Ich baue Nginx aus dem Quellcode mit einer nicht standardmäßigen Version von OpenSSL. Ich muss OpenSSL herunterladen und entpacken und habe es im Home-Verzeichnis gemacht. Nun, ich frage mich, gibt es vielleicht einen Standardspeicherort in Linux /opt
?
directory-structure
source
user3448600
quelle
quelle
Antworten:
Wenn Sie sich so etwas fragen, lesen Sie den Filesystem Hierarchy Standard (FHS). Dort finden Sie den folgenden Eintrag:
So können Sie Ihre Quelldateien in Unterverzeichnisse von ablegen
/usr/src
. Das heißt, dies ist ein optionales Verzeichnis, so dass Sie sie wirklich behalten können, wo immer Sie möchten. Der Quellcode ist nicht relevant, nachdem Sie ihn in eine ausführbare Datei kompiliert haben, sodass das System niemals verlangt, dass die Quelle von etwas an einem bestimmten Ort verfügbar ist.Fazit:
/usr/src
Ist ein ziemlich normaler Ort, aber Sie können Ihren eigenen wählen, wenn Sie es vorziehen.quelle
/usr/src
einem Nicht- Linux-System herumspielen möchten. Die BSDs behalten ihre Basissystemquellen standardmäßig dort und Sie möchten sie nicht mit Software von Drittanbietern vermischen. Bauen Sie einfach$HOME
irgendwo ein .../usr/src
auf Debian - Derivaten, wenn Sie bestimmte Pakete installiert haben (gcc-6-source
,binutils-source
, DKMS - Pakete, die Kernel - Header etc.). Unter Debian gibt es eine nette Funktion, mit der Sie sich dersrc
Gruppe hinzufügen können, deren Eigentümer Sie sind/usr/src
, und dort einfach als Sie selbst schreiben können (ohne dass Sie dazusudo
oder was auch immer brauchen )./usr/src/debug
und/usr/src/kernels
(AFAICS) berühren ./usr
System wirklich berühren . Sie sollten Dinge in setzen/usr/local
. Haben BSDs etwas dagegen, dass Sie verwenden/usr/local/src
?/usr/local/src
ist ein sicherer Ort, um Quellcode aufzubewahren und zu erstellen. Die FHS sagt :und auch
Es ist nicht klar, was "lokaler Quellcode" bedeutet, aber es ist klar, dass das System nicht versuchen wird, irgendetwas darin
/usr/local/src
abzulegen/usr/src
, im Gegensatz zu , also scheint es wenig nachteilig zu sein, Code dort abzulegen.Tatsächlich habe ich meins auf einem separaten Dateisystem:
Hinweis: Zumindest unter Debian muss Ihr Benutzer zur
staff
Gruppe hinzugefügt werden, um schreiben zu können/usr/local
.quelle
/usr/local/src
während die anderen Antworten nur diskutieren/usr/src
/usr/local
(theoretisch). Es bedeutet also im Wesentlichen genau das, was Sie beschrieben haben.Wenn Sie mit "Standard" konventionell meinen, dann ist der Ort, an dem Sie den Quellcode entpacken und erstellen, Ihr Home-Verzeichnis. Es wird erwartet, dass solche Dateien vorübergehend sind, gelöscht werden, wenn Sie fertig sind, oder wenn Sie möchten, aufbewahrt werden, ganz wie Sie möchten. Ihr Heimatverzeichnis ist Ihr Bereich, in dem Sie mit all diesen Dingen spielen können.
Wenn Sie sie später als Referenz behalten möchten, empfiehlt der " Filesystem Hierarchy Standard "
/usr/src
. Dies ist jedoch ein Leitfaden, kein Gesetz. Und wenn Sie sich an diese Gewohnheit gewöhnen und sich auf ein Nicht-Linux-System begeben, können Sie Probleme verursachen, wenn Sie es befolgen. Auf einem BSD-System werden beispielsweise die Quellen des Basissystems dort aufbewahrt, und Sie möchten wirklich nicht mit diesen herumspielen. Selbst unter Linux besteht die Gefahr, dass Sie sich mit einer von Paketmanagern gespeicherten Quelle vermischen, was nicht wünschenswert ist.Ich würde
/usr/src
insgesamt vermeiden empfehlen . Es hat keinen offensichtlichen Vorteil, irgendetwas dort zu belassen, und es besteht ein potenzielles Risiko, wenn Sie die beabsichtigte Bedeutung verwechseln.quelle
Sie können
/usr/src
diesen Platz für vernünftige Klänge verwenden und RPM-basierte Distributionen verwenden ihn, um den Inhalt von srpm-Paketen zu speichern. Aber an jedem anderen Ort wie/opt
,/usr/local
,~/src
ist gutquelle