Стандарт FHS предлагает создать в корневом каталоге следующие подкаталоги
Таблица 2. Основные подкаталоги корневого каталога
bin |
Файлы основных команд (утилит), которые необходимы, когда никакая другая файловая система еще не смонтирована (например, в однопользовательском режиме). |
boot |
Неизменяемые файлы, необходимые для загрузки системы |
dev |
Файлы устройств |
etc |
Файлы конфигурации системы на данном компьютере |
home |
Домашние каталоги пользователей |
lib |
Основные разделяемые библиотеки и модули ядра |
lib<alt> |
Основные разделяемые библиотеки для альтернативных форматов исполняемых файлов |
mnt |
Точка монтирования для временно подключаемых файловых систем |
root |
Домашний каталог суперпользователя root |
opt |
Дополнительные пакеты программного обеспечения |
sbin |
Основные системные исполняемые файлы |
tmp |
Временные файлы |
usr |
Иерархия второго уровня |
var |
Переменные данные |
Это не означает, что все содержимое перечисленных каталогов должно размещаться в корневой файловой системе. Указанные каталоги могут являться просто точками монтирования для других файловых систем или ссылками на такие системы. Более того, в стандарте явно рекомендуется размещать в каталогах /usr, /opt и /var такие файлы, которые могут располагаться в других разделах диска или в других файловых системах. Впрочем, давайте отложим рассмотрение вопроса о том, как разместить каталоги по разным файловым системам, до последнего раздела настоящей статьи, а пока вернемся к рассмотрению тех требований, которые стандарт FHS предъявляет к корневому каталогу.
В соответствии с требованиями стандарта приложения не должны создавать файлов и каталогов или требовать наличия каких-то специальных файлов и каталогов (кроме перечисленных выше) в корневой директории. Существует несколько причин, по которым это запрещено:
размер корневой файловой системы желательно сохранять по возможности малым из соображений безопасности и удобства использования;
если придерживаться данного соглашения, проще решаются проблемы монтирования других файловых систем, расположенных на других устройствах;
и, наконец, стандарт FHS обеспечивает достаточную гибкость и удобство размещения файлов, не попавших в корневую систему, в других файловых системах и подкаталогах.
Обратите внимание на то, что некоторые подкаталоги корневого каталога помечены значком (optional). Это означает, что стандарт не требует обязательного наличия таких каталогов в системе. Но уж если они существуют, то должны размещаться в корневом каталоге (но не обязательно в корневой файловой системе).
А теперь последовательно рассмотрим назначение каждого из основных подкаталогов корневого каталога.