Иерархия файловых систем
В корневой файловой системе должна находиться информация для загрузчика и основные файлы, необходимые в процессе старта системы (например, ядро). Здесь же должны размещаться файлы конфигурации и все, что необходимо для монтирования других файловых систем, включая такие утилиты, как mount. Чтобы обеспечить возможность восстановления системы после сбоев, в корневой файловой системе должны присутствовать все утилиты, необходимые администратору для диагностирования проблем и реконструкции системы после любой аварийной ситуации. Здесь же должны быть расположены и те утилиты, которые необходимы для восстановления данных с резервных копий.
По ряду причин размер корневой файловой системы желательно сделать достаточно малым.
Иногда приходится монтировать корневую файловую систему с носителя малого объема. Корневая файловая система обычно содержит неразделяемые файлы, специфичные для конкретной системы. Разделяемые файлы можно разместить на сетевых дисках. Это позволяет использовать в качестве рабочих станций в сети компьютеры с маленькими по объему локальными жесткими дисками. Маленькая корневая файловая система менее подвержена разрушению в случае сбоев. Из стандарта можно сделать вывод о том, что в корневой файловой системе обязательно должны целиком располагаться каталоги /bin, /dev, /etc, /lib, /sbin и, возможно, /root. Каталог /boot в силу аппаратных ограничений может оказаться необходимым разместить на отдельном разделе диска, расположенном целиком в пределах первых 1024 цилиндров загрузочного диска. Остальные подкаталоги корневого каталога (home, mnt, opt, tmp, usr, var) могут размещаться в других файловых системах (на других разделах или дисках). Более того, в стандарте явно постулируется, что в каталогах /usr, /opt и /var размещаются такие файлы, которые могут располагаться в других разделах диска или в других файловых системах. Разработчики стандарта советуют в том случае, когда /var не может быть размещен в отдельном разделе диска, переместить каталог /var из корневого раздела в раздел с каталогом /usr. Однако /var нельзя делать ссылкой на /usr потому что это затрудняет разделение /usr и /var и может привести к конфликту имен, лучше уж сделать /var ссылкой на /usr/var.
Отметим, что в статье речь идет только о требованиях и рекомендациях стандарта FHS, разработанного с ориентацией на операционные системы Linux и BSD. Даже конкретные дистрибутивы Linux не во всем следуют этому стандарту. Так, в Red Hat Linux версий 7.3 и 8.0 каталог /etc/opt хотя и создан, но пуст, а конфигурационные каталоги пакетов размещаются непосредственно в /etc. Можно указать и другие отклонения от стандарта. Но все же в основном структура каталогов выдерживается в соответствии с FHS, так что знакомство с этим стандартом, безусловно, полезно всем пользователям Linux, а тем более разработчикам.
Содержание раздела