11. Стандарт FHS на расположение файлов и каталогов в ОС Linux.
Этот стандарт называется Filesystem Hierarchy Standard («стандартная структура файловых систем»).
Дерево каталогов в Linux
Команда ls вывела список подкаталогов корневого каталога. Этот список будет таким же или почти таким же в любом дистрибутиве Linux. В корневом каталоге Linux-системы обычно находятся только подкаталоги со стандартными именами. Более того, не только имена, но и тип данных, которые могут попасть в тот или иной каталог, также регламентированы этим стандартом.
Опишем кратко, что находится в каждом из подкаталогов корневого каталога
/bin - В этом каталоге находятся исполняемые файлы самых необходимых утилит. Сюда попадают такие программы, которые могут понадобиться системному администратору или другим пользователям для устраненения неполадок в системе или при восстановлении после сбоя.
/boot - загрузка системы. В этом каталоге находятся файлы, необходимые для самого первого этапа загрузки: загрузки ядра и, обычно, само ядро. Пользователю практически никогда не требуется непосредственно работать с этими файлами.
/dev - В этом каталоге находятся все имеющиеся в системе файлы особого типа, предназначенные для обращения к различным системным ресурсам и устройствам.
/etc - Каталог для системных конфигурационных файлов. Здесь хранится информация о специфических настройках данной системы: информация о зарегистрированных пользователях, доступных ресурсах, настройках различных программ.
/home - Здесь расположены каталоги, принадлежащие пользователям системы — домашние каталоги. Отделение всех файлов, создаваемых пользователями, от прочих системных файлов даёт очевидное преимущество: серьёзное повреждение системы или необходимость обновления не затронет наиболее ценной информации — пользовательских файлов.
/lib - это собрания наиболее стандартных функций, необходимых многим программам: операций ввода/вывода, рисования элементов графического интерфейса и проч. В этом каталоге содержатся библиотеки, необходимые для работы наиболее важных системных утилит (размещённых в /bin и /sbin).
/mnt - Каталог для монтирования - временного подключения файловых систем, например, на съёмных носителях (CD-ROM и др.).
/proc - В этих файлах содержится информация о программах (процессах), выполняемых в данный момент в системе.
/root - Домашний каталог администратора системы — пользователя root. Смысл размещать его отдельно от домашних каталогов остальных пользователей состоит в том, что /home может располагаться на отдельном устройстве, которое не всегда доступно (например, на сетевом диске), а домашний каталог root должен присутствовать в любой ситуации.
/tmp - Этот каталог предназначен для временных файлов
/usr - Здесь можно найти такие же подкаталоги bin, etc, lib, sbin, как и в корневом каталоге. Однако в корневой каталог попадают только утилиты, необходимые для загрузки и восстановления системы в аварийной ситуации, все остальные программы и данные располагаются в подкаталогах /usr. Прикладных программ в современных системах обычно установлено очень много, поэтому этот раздел файловой системы может быть очень большим.
/var - Название этого каталога — сокращение от «variable» («переменные» данные). Здесь размещаются те данные, которые создаются в процессе работы разными программами и предназначены для передачи другим программам и системам (очереди печати и электронной почты и др.) или для сведения системного администратора (системные журналы, содержащие протоколы работы системы). В отличие от каталога /tmp сюда попадают те данные, которые могут понадобиться после того, как создавшая их программа завершила работу.
Стандартное размещение файлов позволяет и человеку, и даже программе предсказать, где находится тот или иной компонент системы. Для человека это означает, что он сможет быстро сориентироваться в любой системе Linux
По типу использования файлов их можно разделить на следующие группы:
-пользовательские/системные файлы
Пользовательские файлы — это все файлы, созданные пользователем и не принадлежащие ни одному из компонентов системы.
-изменяющиеся/неизменные файлы
К неизмененным файлам относятся все статические компоненты программного обеспечения: библиотеки, исполняемые файлы и др. — всё, что не изменяется само без вмешательства системного администратора. Изменяющиеся — это те, которые изменяются без вмешательства человека в процессе работы системы: системные журналы, очереди печати и пр.
-разделяемые/неразделяемые файлы
Это разграничение становится полезным, если речь идёт о сети, в которой работает несколько компьютеров. Значительная часть информации при этом может храниться на одном из компьютеров и использоваться всеми остальными по сети (к такой информации относятся, например, многие программы и домашние каталоги пользователей). Однако часть файлов нельзя разделять между системами (например, файлы для начальной загрузки системы).