Есть ли в Linux стандартное расположение для хранения исходных файлов, например OpenSSL . Я строю Nginx из исходного кода с не по умолчанию версией OpenSSL. Мне нужно скачать и распаковать OpenSSL, и я сделал это в домашнем каталоге. Теперь мне интересно, есть ли в Linux стандартное расположение /opt
?
directory-structure
source
user3448600
источник
источник
Ответы:
Всякий раз, когда вы спрашиваете себя о чем-то подобном, ознакомьтесь со стандартом иерархии файловой системы (FHS). Там вы найдете следующую запись:
Таким образом, вы можете поместить свои исходные файлы в подкаталоги
/usr/src
. Тем не менее, это необязательный каталог, так что вы можете хранить его где угодно. Исходный код не имеет значения после того, как вы скомпилировали его в исполняемый файл, поэтому система никогда не потребует, чтобы источник чего-либо был доступен в определенном месте.В заключение:
/usr/src
это довольно стандартное место, но вы можете выбрать свой собственный, если хотите.источник
/usr/src
на , не -Linux системы. По умолчанию BSD хранит свои базовые системные источники, и вы не хотите смешивать их со сторонним программным обеспечением. Просто$HOME
/usr/src
производных Debian, если у вас установлены определенные пакеты (gcc-6-source
,binutils-source
пакеты DKMS, заголовки ядра и т. Д.). В Debian есть хорошая функция, где вы можете добавить себя вsrc
группу, которой владеете/usr/src
, а затем просто написать там как вы сами (без необходимостиsudo
или чего-то еще)./usr/src/debug
и/usr/src/kernels
(AFAICS)./usr
ни одной системы. Вы должны положить вещи/usr/local
. BSDs против использования/usr/local/src
?/usr/local/src
безопасное место для хранения исходного кода и его сборки. FHS говорит :а также
Непонятно, что означает «Локальный исходный код», но ясно, что система не будет пытаться помещать что-либо, в
/usr/local/src
отличие от этого/usr/src
, поэтому, кажется, есть небольшой недостаток в размещении кода там.На самом деле, у меня есть моя отдельная файловая система:
Примечание: по крайней мере в Debian, ваш пользователь должен быть добавлен в
staff
группу, чтобы писать в/usr/local
.источник
/usr/local/src
то время как другие ответы только обсуждают/usr/src
/usr/local
(в теории). Так что по сути это означает именно то, что вы описали.Если под «стандартным» вы подразумеваете обычный, то местом для распаковки и сборки исходного кода является ваш домашний каталог. Ожидается, что такие файлы будут временными, удалятся, когда вы закончите, или сохранены, если хотите, организованы так, как вам удобно. Ваш домашний каталог - ваша область, где можно поиграть со всем этим.
Если вы хотите сохранить их впоследствии, для справки , « Стандарт иерархии файловой системы » рекомендует
/usr/src
. Тем не менее, это руководство, а не закон; и, если вы привыкнете к этой привычке, а затем решитесь на систему, отличную от Linux, вы, вероятно, будете создавать проблемы, следуя ей. Например, в системе BSD хранятся исходные системные источники, и вы действительно не хотите с ними связываться. Даже в Linux вы можете рискнуть смешаться с любым источником, сохраненным менеджерами пакетов, что нежелательно.Я бы порекомендовал избегать в
/usr/src
целом. Нет ничего очевидного в том, чтобы что-то там держать, и нет потенциального риска, если вы запутаете его предполагаемое значение.источник
Вы можете использовать
/usr/src
это как разумное место, а дистрибутивы на основе rpm используют его для хранения содержимого пакетов srpm. Но в любом другом месте , как/opt
,/usr/local
,~/src
хорошоисточник