Корневая файловая система должна содержать все необходимые компоненты для загрузки, восстановления или ремонта операционной системы.
Для корректной загрузки системы в корневом разделе должны быть установлены утилиты и конфигурационные файлы, обеспечивающие подключение других файловых систем. Это включает загрузчик, системные утилиты и прочие данные, требуемые для начальной загрузки. Каталоги /usr, /opt и /var спроектированы таким образом, что их можно разместить на отдельных разделах или файловых системах. Для восстановления системы в корневом каталоге должны присутствовать инструменты, позволяющие опытному администратору диагностировать и исправлять повреждения. Также в корневой файловой системе должны быть средства для восстановления системы из резервных копий, хранящихся на различных носителях, таких как дискеты или магнитные ленты.
Обоснование: Минимальные требования к корневой файловой системе должны быть максимально скромными, но при этом обеспечивать необходимый уровень функциональности. Многим пользователям не требуется сложная структура разделов, однако возможность уменьшения размера корневой файловой системы важна по нескольким причинам:
- Корневую файловую систему часто монтируют на небольших носителях.
- Корневой каталог содержит множество специфичных файлов конфигурации, таких как ядро системы и имя хоста, что делает его непригодным для совместного использования в сетевых системах.
- Ограничение размера корневой файловой системы на серверах в сетевых системах позволяет уменьшить потери дискового пространства из-за файлов, недоступных для сетевого использования.
- Это также позволяет использовать рабочие станции с меньшими локальными дисками.
- Даже если у вас большая корневая файловая система, найдутся пользователи с меньшими разделами. Избыточное количество файлов может вызвать проблемы совместимости с другими системами, использующими корневые файловые системы меньшего размера.
- Для разработчиков важно учитывать, что ошибки на диске, повреждающие корневую файловую систему, могут привести к серьезным проблемам. Небольшая корневая файловая система менее подвержена повреждениям при сбоях системы.
Приложения не должны создавать или требовать специальных файлов или подкаталогов в корневом каталоге, так как другие уровни файловой иерархии предоставляют достаточную гибкость для размещения пакетов.
Создание новых подкаталогов в корневой файловой системе имеет несколько негативных последствий:
- Это занимает место в корневом разделе, которое системный администратор может захотеть сделать компактным и простым в использовании для повышения производительности или безопасности.
- Это противоречит правилам распределения стандартных файловых иерархий по различным томам, которые мог установить системный администратор.
- Дистрибутивы должны тщательно анализировать возможные последствия создания новых каталогов в корневой иерархии, включая влияние на переносимость приложений.
bin — Основные двоичные файлы команд
boot — Статические файлы загрузчика
dev — Файлы устройств
etc — Конфигурация системы для конкретного хоста
lib — Основные разделяемые библиотеки и модули ядра
media — Точка крепления для съемных носителей
mnt — Точка подключения для временного монтирования файловой системы
opt — Дополнительные пакеты прикладного программного обеспечения
run — Данные, относящиеся к запущенным процессам
sbin — Основные системные двоичные файлы
srv — Данные об услугах, предоставляемых этой системой
tmp — Временные файлы
usr — Вторичная иерархия
var — Переменные данные
Следующие каталоги или символические ссылки на каталоги должны находиться в /, если установлена соответствующая подсистема:
home — Домашние каталоги пользователей (необязательно)
lib — Необходимые разделяемые библиотеки альтернативного формата (необязательно)
root — Домашняя директория для пользователя root (необязательно)