FHS
Материал из Википедии — свободной энциклопедии
FHS — сокращение от Filesystem Hierarchy Standard, что в переводе означает «Стандарт иерархии файловой системы». Этот стандарт принят для унификации местонахождения файлов и директорий с общим назначением в файловой системе ОС UNIX. На данный момент большинство UNIX-подобных систем в той или иной степени следует этим правилам. Например, обычная база данных о пользователях всегда хранится в файле /etc/passwd.
Текущая версия стандарта — 2.3, анонсирована 29 января 2004 г.
Содержание |
[править] Основные сведения
Процесс разработки стандарта иерархии файловой системы начался в августе 1993 года с попыток упорядочить структуру директорий и файлов в операционной системе GNU/Linux. 14 февраля 1994 года был выпущен FSSTND (Filesystem Standard), стандарт файловой системы, специфичной для GNU/Linux. Последующие версии были выпущены 9 октября 1994 года и 28 марта 1995 года.
В начале 1996 года сообщество разработчиков BSD присоединилось к разработке новой версии FSSTND с целью разработать стандарт, пригодный для всех Unix-подобных операционных систем. Имя стандарта при этом было изменено на Filesystem Hierarchy Standard (FHS).
FHS поддерживается Free Standards Group — некоммерческой организацией, в составе которой находятся крупные разработчики программного и аппаратного обеспечения, такие как HP, Red Hat, IBM и Dell. Однако основная часть разработчиков дистрибутивов, включая и тех, кто входит в состав Free Standards Group, не следуют стандарту на 100%. В частности, пути, специально созданные группой, такие как /srv/, практически нигде не используются. Некоторые Linux-системы отвергают FHS и следуют своему собственному стандарту, как, например, GoboLinux. Так как FHS начиналась как инициатива Linux-сообщества, другие UNIX и UNIX-подобные операционные системы полностью игнорируют её в пользу своих собственных систем, которые иногда распространены довольно широко. Например, Mac OS X использует такие имена, как /Library/, /Applications/ и /Users/ вместе с традиционными именами UNIX-иерархии.
[править] Структура директорий
В FHS все файлы и директории находятся внутри корневой директории, даже если они расположены на различных физических носителях. Однако некоторые из директорий могут присутствовать только в случае, если установлено определённое программное обеспечение, такое как, например, X Window System. Большая часть этих директорий существует во всех UNIX-подобных операционных системах и используется похожим образом.
| Директория | Описание |
|---|---|
| / | Корневая директория, содержащая всю файловую иерархию. |
| /bin/ | Основные утилиты, необходимые как в однопользовательском режиме, так и при обычной работе всем пользователям (например: cat, ls, cp). |
| /boot/ | Загрузочные файлы (в том числе файлы загрузчика, ядро, initrd, System.map). Часто выносится на отдельный раздел. |
| /dev/ | Основные файлы устройств (например, /dev/null, /dev/zero). |
| /etc/ | Общесистемные конфигурационные файлы (имя происходит от et cetera). |
|
Файлы конфигурации для /opt/. |
|
Файлы конфигурации X Window System версии 11. |
|
Конфигурационные файлы SGML. |
|
Конфигурационные файлы XML. |
| /home/ | Содержит домашние директории пользователей, которые в свою очередь содержат персональные настройки и данные пользователя. Часто размещается на отдельном разделе. |
| /lib/ | Основные библиотеки, необходимые для работы программ из /bin/ и /sbin/. |
| /media/ | Точки монтирования для сменных носителей, таких как CD-ROM, DVD-ROM (впервые описано в FHS-2.3). |
| /mnt/ | Содержит временно монтируемые файловые системы. |
| /opt/ | Дополнительное программное обеспечение. |
| /proc/ | Виртуальная файловая система, представляющая состояние ядра операционной системы и запущенных процессов в виде файлов. |
| /root/ | Домашняя директория пользователя root. |
| /sbin/ | Основные системные программы для администрирования и настройки системы, например, init, iptables, ifconfig. |
| /srv/ | Данные, специфичные для окружения системы. |
| /tmp/ | Временные файлы (см. также /var/tmp). |
| /usr/ | Вторичная иерархия для данных пользователя; содержит большинство пользовательских приложений и утилит, используемых в многопользовательском режиме. Может быть смонтирована по сети только для чтения и быть общей для нескольких машин. [1] |
|
Дополнительные программы для всех пользователей, не являющиеся необходимыми в однопользовательском режиме. |
|
Стандартные заголовочные файлы. |
|
Библиотеки для программ, находящихся в /usr/bin/ и /usr/sbin/. |
|
Дополнительные системные программы (такие как демоны различных сетевых сервисов). |
|
Архитектурно-независимые общие данные. |
|
Исходные коды (например, здесь располагаются исходные коды ядра). |
|
X Window System, версии 11, релиз 6. |
|
Третичная иерархия для данных, специфичных для данного хоста. Обычно содержит такие поддиректории, как bin/, lib/, share/.[2] |
| /var/ | Изменяемые файлы, такие как файлы регистрации (log-файлы), временные почтовые файлы, файлы спулеров. |
|
Информация о состоянии. Постоянные данные, изменяемые программами в процессе работы (например, базы данных, метаданные пакетного менеджера и др.). |
|
Лок-файлы, указывающие на занятость некоторого ресурса. |
|
Различные файлы регистрации (log-файлы). |
|
Почтовые ящики пользователей. |
|
Информация о запущенных программах (в основном, о демонах). |
|
Задачи, ожидающие обработки (например, очереди печати, непрочитанные или неотправленные письма). |
|
Местоположение пользовательских почтовых ящиков (устаревшее). |
|
Временные файлы, которые должны быть сохранены между перезагрузками. |
[править] Заметки
- ↑ http://www.pathname.com/fhs/pub/fhs-2.3.html (англ.)
- ↑ Исторически и строго следуя стандарту, /usr/local/ является хранилищем данных, которые должны хранится на локальном хосте (в противоположность /usr/, которая может монтироваться по сети). Однако обычно /usr/ редко монтируется удалённо, а /usr/local/ чаще используется для инсталляции программного обеспечения и данных, которые не являются частью дистрибутива (в этом случае /usr/ должен содержать программы и данные только из стандартного дистрибутива). Возможно, в будущем стандарт FHS будет изменён для отражения этой устоявшейся ситуации.
[править] См. также
- Linux Standard Base
- GoboLinux — дистрибутив, сильно отличающейся иерархией каталогов от стандарта FHS
[править] Ссылки
- Официальный сайт Filesystem Hierarchy Standard (англ.)
- Filesystem Hierarchy Standard 2.3 (англ.) (January 29, 2004)

