Корневая файловая система должна содержать все, что необходимо для того, чтобы
загрузить операционную систему, а также восстановить ее после
сбоев и аварийных ситуаций или переустановить систему из резервной копии.
Для загрузки системы необходимо, чтобы в корневом разделе диска
было все необходимое для монтирования других файловых систем. Здесь же
должны быть необходимые утилиты, файлы конфигурации, информация, необходимая
загрузчику, и другие данные, используемые на этапе старта системы.
Содержимое каталогов /usr, /opt и /var
формируется таким образом, чтобы они могли размещаться в других
разделах или даже в файловых системах других типов.
Для того, чтобы обеспечить возможность восстановления системы
после сбоев, в корневой файловой системе должны присутствовать все
утилиты, необходимые опытному администратору для диагностирования проблем
и реконструкции системы после любой аварийной систуации.
Для восстановления системы с резервной копии в корневой файловой системе
должны иметься все утилиты, необходимые для работы с резервными носителями
(дискетами, магнитными лентами и так далее).
НАЧАЛО ПОЯСНЕНИЙ
В противовес изложенным соображениям, в силу которых очень многое требуется
разместить в корневой каталоговой системе, стоит подумать о том, чтобы
поддерживать размер корневой файловой системы настолько малым, насколько это
только возможно. Желание сохранить размер корневой файловой системы разумно
малым возникает по нескольким причинам:
Она может располагаться на носителях очень малого объема.
Корневая файловая система содержит много конфигурационных
файлов с данными, относящимися только к данной конкретной системе.
Примерами таких данных может служить ядро, которое является специфичным
для данной системы, индифидуальное имя хоста и так далее. Отсюда следует, что
корневая файловая система не должна быть разделяемой, то есть доступной с
других компьютеров сети. Поддержание малого размера корневой файловой системы
на серверах сети минимизирует количество потерь дискового пространства,
возникающих из-за необходимости хранить неразделяемые по сети файлы.
Кроме того, появляется возможность использовать рабочие станции
с малыми по объему локальными жесткими дисками.
Даже если вы имеете возможность разместить корневую файловую систему
в большом разделе диска, и можете заполнить ее любыми данными по своему
усмотрению, стоит помнить и о том, что у некоторых людей корневой раздел
имеет меньший размер. Если у вас в ней установлено много файлов, вы можете
натолкнуться на несовместимость с другими системами, в которых корневая файловая
система размещена в разделе меньшего объема. Если вы разработчик,
тогда вы можете превратить ваше допущение в проблему для большого числа
пользователей.
Сбои диска, вследствии которых разрушается корневая файловая система,
представляют бОльшую проблему, чем сбой в любом другом разделе. Малая
корневая файловая система менее подвержена разрушению в результате
системных сбоев.
Программы или приложения никогда не должны создавать или предполагать
наличие каких-то файлов или подкаталогов в корневой директории. Другие
области файловой иерархии FHS предоставляют более чем достаточно места
для любого пакета.
Существует несколько причин, по которым создание нового подкаталога
в корневой файловой системе запрещено:
Создание каталога требует выделения пространства в корневом разделе
диска, а системный администратор может иметь желание поддерживать
этот раздел малым и по возможности простым, либо из соображений безопасности,
либо для повышения производительности.
Это приводит к тому, что разрушает порядок, который системный администратор
заводит для того, чтобы иметь возможность устанавливать единую
структуру каталогов на монтируемых томах.
(It evades whatever discipline the system administrator may have set up
for distributing standard file hierarchies across mountable volumes.)