Организация файловой системы Unix/Linux

Файловые системы в UNIX никогда не были хорошо организованы. Одновременно используется много разных, несовместимых соглашений об именовании файлов. Во многих случаях файлы группируются по выполняемым функциям, независимо от того, как часто они изменяются. Это затрудняет обновление операционной системы. Например, каталог /etc содержит ряд файлов, которые никогда не меняются, а также полностью локальные файлы. Как определить, какие файлы нельзя трогать при обновлении системы? Это нужно просто знать...

Несмотря на некоторые нововведения, как, например, каталог /var (в качестве места хранения системных данных), файлы систем UNIX и Linux все еще недостаточно Упорядочены. Впрочем, для всего находится место. Особенно важно не менять стандартную структуру файлового дерева, поскольку программные пакеты и их инсталляционные утилиты часто ищут те или иные файлы в строго определенных каталогах. А если вы попробуете усовершенствовать стандартную структуру, можете столкнуться с проблемами.

Корневая файловая система содержит корневой каталог и минимальный набор файлов и подкаталогов. Файл ядра находится в недрах корневой файловой системы, но не имеет стандартного имени или точного местоположения; в Solaris это даже не один файл, а, скорее, набор компонентов.

Частью корневой файловой системы являются также каталог /etc для критических системных файлов и файлов конфигурации, каталоги /sbin и /bin — для важных утилит и иногда каталог /tmp — для временных файлов. Каталог /dev — это обычно реальный каталог, который включен в корневую файловую систему, но он (частично или полностью) может перекрываться другими файловыми системами, если ваша система виртуализировала поддержку своих устройств.

Одни системы хранят совместно используемые библиотечные файлы и прочие важные программы (например, препроцессор языка С) в каталоге /lib. Другие переместили эти элементы в каталог /usr/lib, оставив для каталога /lib роль символьной ссылки.

Огромное значение имеют также каталоги /usr и /var. В первом хранится большинство стандартных программ и другие полезные компоненты, в частности интерактивная документация и библиотеки. Совсем не обязательно, чтобы каталог /usr был отдельной файловой системой, однако для удобства администрирования его, как правило, монтируют именно так. Для того чтобы система могла загрузиться в многопользовательском режиме, необходимы оба каталога — /usr и /var.

В каталоге /var содержатся буферные каталоги, журнальные файлы, учетная информация и прочие компоненты, специфичные для каждого компьютера. Поскольку при возникновении проблем журнальные файлы быстро разрастаются, рекомендуется помещать каталог /var в отдельную файловую систему.

Домашние каталоги пользователей чаще всего хранятся в отдельной файловой системе, которая обычно монтируется в корневом каталоге. Отдельные файловые системы можно использовать и для хранения больших информационных массивов, например библиотек исходных кодов программ и баз данных.

Во многих системах man-страница hier (man-страница файловой системы в Solaris) содержит общие рекомендации по формированию файловой системы. Но не стоит ожидать, что реальная система во всех отношениях согласует свои действия с "генеральным планом". Для получения полезной информации по данной теме советуем также обратиться к странице Википедии "UNIX directory structure" (Структура каталогов UNIX).

При написании стандарта Filesystem Hierarchy Standard для систем Linux (pathname. com/fhs) предпринимается попытка систематизировать и унифицировать стандартные каталоги, а также пояснить их назначение. Это прекрасный информационный ресурс, с которым можно сверяться при возникновении вопросов, куда инсталлировать тот или иной компонент.

Комментарии (0)

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.