13

Каковы соглашения о расположении файлов в Linux? Пока мне удалось вывести:

/proc (ссылки на запущенные процессы)

/dev (ссылки на все оборудование)

/etc (файлы конфигурации)

/ дом (дом)

/mnt (навесные устройства)

/ носители (съемные устройства, такие как компакт-диски, USB-диски)

... но другие части все еще неясны, например:

Куда мне положить скачанный исходник?

/ USR / SRC

/ USR / местные / SRC

Где я могу разместить скомпилированные программы?

/ бен

/ USR / бен

/ USR / местные / бен

В чем разница между /bin и /sbin?

Чем отличаются дистрибутивы?

Я понимаю, что это не один вопрос, но мне кажется, что на все они должны быть даны ответы вместе. Надеюсь, другие тоже запутались.

4 ответа4

14

Возможно, вы захотите прочитать Стандарт иерархии файловой системы ; это полезная ссылка.

Ваш домашний каталог - это то, куда нужно идти. Притворись, что ты не сисадмин; представьте, что вы еще один человек с учетной записью в системе. В вашем домашнем каталоге, например /home/pufferfish , вы можете делать все, что захотите. /home/pufferfish/bin , /home/pufferfish/lib и /home/pufferfish/src - все это обычные варианты, но ни один из них не имеет значения.

Для скомпилированных программ, какой бы каталог / каталоги вы не использовали, убедитесь, что он / они находятся / находятся в переменной PATH, чтобы вы могли фактически запустить их, не вводя сценарий или полный путь к исполняемому файлу.

Распределения на самом деле не сильно отличаются. Я обнаружил, что менеджер пакетов на одном из них может устанавливать двоичные файлы в /usr/bin , в то время как некоторые библиотеки могут находиться в другом месте, а другая система может устанавливать объекты в другом месте. Как правило, мне нужно провести какое-то исследование, чтобы каждый раз находить, что происходит.

6

Так уж сложилось, что в мире Unix-подобных ОС существует стандарт, называемый стандартом иерархии файловых систем, который объясняет лучшие практики, которым следуют большинство поставщиков Unix. Это хорошее чтение, и его стоит прочитать, если вы проводите много времени в среде * nix.

Стандарт иерархии файловой системы

Ответы на ваши вопросы:

Оба /usr /src и /usr /local /src работают. Твой выбор. Просто продолжай в том же духе.

/bin для обязательных команд для пользователей. Я бы НЕ размещал там пользовательские двоичные файлы.

/sbin - для системных двоичных файлов (обычно это сисадмин). Он содержит материалы для загрузки и утилиты fs.

В /usr /bin находится большинство пользовательских команд, и вы обычно обнаружите, что большинство систем управления пакетами Linux размещают здесь двоичные файлы или, по крайней мере, символические ссылки на двоичные файлы.

/usr/local/bin - безопасное место для хранения собственного скомпилированного кода, уникального для этой машины.

6

Может быть, вы должны взглянуть на это:

альтернативный текст

альтернативный текст

3

/usr/local/ для программного обеспечения, скомпилированного в этой системе. Он похож на /usr/, просто он не был установлен из пакетов.

/sbin/ vs / bin / (и / usr /sbin/ vs / usr / bin): s обозначает суперпользователя. Программы, о которых обычные пользователи не должны заботиться и часто не должны иметь разрешения на запуск

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .