Файловая система Linux

2184
pufferfish

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

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

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

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

/ дом (дом)

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

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

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

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

/ USR / SRC

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

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

/ бен

/ USR / бен

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

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

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

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

13

4 ответа на вопрос

14
Nikhil Chelliah

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

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

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

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

6
Mark Turner

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

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

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

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

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

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

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

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

5
n00ki3

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

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

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

3
Tadeusz A. Kadłubowski

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

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