Для чего предназначена папка «/ usr / local / src»?

29

Я хотел поместить свои рабочие файлы (код) /usr/local/src, но я думаю, что это уже папка, которая имеет другое семантическое значение.

Что это? Должен ли я поместить исходный код там, или есть лучшее место?

Изменить - я единственный пользователь и администратор компьютера, и я не хочу использовать мой домашний каталог, потому что он находится на диске NFS.

ripper234
источник

Ответы:

35

В соответствии с Linux FHS , /usrэто место, где размещаются элементы, основанные на распространении, и /usr/localместо, где вы бы поместили свои собственные локализованные изменения ( /usr/localбудут пустыми после базовой установки). Так, например, если вы хотите перекомпилировать пакет Ubuntu из исходного кода, их менеджер пакетов поместит источник пакета в /usr/src/{package dir}. Если вы загрузили программу, не управляемую вашим дистрибутивом, и хотели скомпилировать / установить ее, FHS предписывает вам сделать это в /usr/local/src.

РЕДАКТИРОВАТЬ: Короткий ответ, да, введите свой код /usr/local/src.

Шон С.
источник
10

Это зависит от того, что вы делаете с этим источником. Если это для справки, да, это хорошее место. /usr/localзарезервировано для программного обеспечения, установленного локально системным администратором. Итак, если вы хотите установить программное обеспечение вместе с исходными файлами (для использования другими программами или для просмотра людьми), это хорошо.

Это не значит, однако, чтобы быть рабочим пространством . Поскольку он локальный , вы, конечно, можете делать все, что захотите, но он не предназначен для того, чтобы помещать ваше дерево разработки программного обеспечения.

Это действительно должно быть в хранилище кода (возможно, в каком- /srv/sourcerepoто месте), и тогда разработчики будут проверять свои собственные рабочие копии в своих домашних каталогах.

mattdm
источник
Я второй, что Mattdm говорит выше. Я обычно использую /usr/local/srcв качестве хорошего места для загрузки стороннего исходного кода (например, для исправления и перекомпоновки пакетов), а не свой собственный исходный код, который, как говорит Мэтт, должен находиться в / srv / ... (хотя я обычно использую /srv/vcs/sourcerepo). И, конечно же, удаленное отражение.
Фахим Митха
@Faheem - мой домашний каталог находится на диске NFS, поэтому я определенно не работаю с моей исходной веткой, чтобы быть там (слишком медленно).
ripper234
Я думаю, что это лучший ответ. Мне, например, у меня есть веб-приложения в / srv / http и их репозитории в / srv / git. сейчас я ищу инструменты поддержки разработчиков. Я полностью опирался /usr/local/appnameили /usr/local/srcдаже лучше, пока я не прочитал это. Это дало мне причину, которую я знал в глубине души. Это действительно рабочее дерево, вы меня поймали. Итак, что, если я вместо этого положу его туда, затем клонирую в ~/srcсборку, а затем перенесу в восходящий поток, который является местом, которое добавлено / или в путь для запуска инструментов разработки. Мне просто не нравится идея / srv, так как она не обслуживается.
Брайан Томас
Что же тогда означает srv?
Шерил Хохман
1
@SherylHohman Это на самом деле ничего не значит (это не аббревиатура), но мы выбрали это, чтобы подразумевать «обслуживание». См. FHS, который гласит: «/ srv содержит специфичные для сайта данные, которые обслуживаются этой системой» .
mattdm