FHS | |
---|---|
Создатель | The Linux Foundation |
Опубликован | 14 февраля 1994 |
Последняя версия | |
Официальный сайт |
wiki.linuxfoundation.org/… pathname.com/fhs/ |
FHS (англ. Filesystem Hierarchy Standard, «стандарт иерархии файловой системы») — стандарт, унифицирующий местонахождение файлов и каталогов с общим назначением в файловой системе UNIX. На данный момент большинство UNIX-подобных систем в той или иной степени следует этим правилам. Например, обычная база данных о пользователях всегда хранится в файле /etc/passwd
.
Текущая версия стандарта — 3.0, анонсирована 3 июня 2015 года.
Для получения справки об используемой в ОС системе каталогов иногда существует команда hier
, либо man hier
Процесс разработки стандарта иерархии файловой системы начался в августе 1993 года с попыток упорядочить структуру каталогов и файлов в операционной системе GNU/Linux. 14 февраля 1994 года был выпущен FSSTND (Filesystem Standard), стандарт файловой системы, специфичной для GNU/Linux. Последующие версии были выпущены 9 октября 1994 года и 28 марта 1995 года.
В начале 1996 года сообщество разработчиков BSD присоединилось к разработке новой версии FSSTND с целью разработать стандарт, пригодный для всех UNIX-подобных операционных систем. Имя стандарта при этом было изменено на Filesystem Hierarchy Standard.
FHS поддерживается Free Standards Group — некоммерческой организацией, в составе которой находятся крупные разработчики программного и аппаратного обеспечения, такие как HP, Red Hat, IBM и Dell. Однако основная часть разработчиков дистрибутивов, включая и тех, кто входит в состав Free Standards Group, не следуют стандарту полностью. В частности, пути, специально созданные группой, такие как /srv
, практически нигде не используются. Некоторые Linux-системы отвергают FHS и следуют своему собственному стандарту, как, например, GoboLinux.
Так как FHS начиналась как инициатива Linux-сообщества, другие UNIX и UNIX-подобные операционные системы полностью игнорируют её в пользу своих собственных систем, которые иногда распространены довольно широко. Например, Mac OS X использует такие имена, как /Library/
, /Applications/
и /Users/
вместе с традиционными именами UNIX-иерархии.
В FHS все файлы и каталоги находятся внутри корневого каталога, даже если они расположены на различных физических носителях. Однако некоторые из каталогов могут присутствовать только в случае, если установлено определённое программное обеспечение, такое как, например, X Window System. Большая часть этих каталогов существует во всех UNIX-подобных операционных системах и используется похожим образом.
Каталог | Описание |
---|---|
/ |
Корневой каталог, содержащий всю файловую иерархию. |
Основные утилиты, необходимые как в однопользовательском режиме, так и при обычной работе всем пользователям (например: cat, ls, cp). | |
Загрузочные файлы (в том числе файлы загрузчика, ядро, initrd , System.map ). Часто выносится на отдельный раздел. | |
Основные файлы устройств (например, /dev/null , /dev/zero ). | |
Общесистемные конфигурационные файлы (имя происходит от лат. et cetera). | |
|
Файлы конфигурации для /opt . |
|
Файлы конфигурации X Window System версии 11. |
|
Конфигурационные файлы SGML. |
|
Конфигурационные файлы XML. |
Содержит домашние каталоги пользователей, которые в свою очередь содержат персональные настройки и данные пользователя. Часто размещается на отдельном разделе. | |
Основные библиотеки, необходимые для работы программ из /bin и /sbin . | |
|
Точки монтирования для сменных носителей, таких как CD-ROM, DVD-ROM (впервые описано в FHS-2.3). |
|
Содержит временно монтируемые файловые системы. |
|
Дополнительное программное обеспечение. |
Виртуальная файловая система, представляющая состояние ядра операционной системы и запущенных процессов в виде файлов. | |
Домашний каталог пользователя root. | |
|
Информация о системе с момента её загрузки, в том числе данные, необходимые для работы демонов (pid-файлы, UNIX-сокеты и т.д.)[1]. |
|
Основные системные программы для администрирования и настройки системы, например, init, iptables, ifconfig. |
|
Данные для сервисов, предоставляемых системой (например, www или ftp). |
|
Содержит информацию об устройствах, драйверах, а так же некоторых свойствах ядра.[2] |
|
Временные файлы (см. также /var/tmp ). |
Вторичная иерархия для данных пользователя. Содержит большинство пользовательских приложений и утилит, используемых в многопользовательском режиме. Может быть смонтирована по сети только для чтения и быть общей для нескольких машин[3]. | |
|
Дополнительные программы для всех пользователей, не являющиеся необходимыми в однопользовательском режиме. |
|
Стандартные заголовочные файлы. |
|
Библиотеки для программ, находящихся в /usr/bin и /usr/sbin . |
|
Третичная иерархия для данных, специфичных для данного хоста. Обычно содержит такие подкаталоги, как bin , lib , share [4]. |
|
Дополнительные системные программы (такие как демоны различных сетевых сервисов). |
|
Архитектурно-независимые общие данные. |
|
Исходные коды (например, здесь располагаются исходные коды ядра). |
Изменяемые файлы, такие как файлы регистрации, временные почтовые файлы, файлы спулеров. | |
|
Кэш приложений. Такие данные генерируются локально в результате ресурсозатратных вычислений или операций ввода-вывода. Приложение обязано уметь регенерировать эти данные. Данные файлы могут быть удалены без потери данных. |
|
Информация о состоянии. Постоянные данные, изменяемые программами в процессе работы (например, базы данных, метаданные пакетного менеджера и др.). |
|
Файлы блокировки, указывающие на занятость некоторого ресурса. |
|
Различные файлы регистрации. |
|
Почтовые ящики пользователей. |
|
Каталог для хранения информации о системе с момента её загрузки, на данный момент устарел. Допускается делать его ссылкой на /run . Каталог оставлен для обратной совместимости с программами, которые всё ещё используют каталог /var/run [5]. |
|
Задачи, ожидающие обработки (например, очереди печати, непрочитанные или неотправленные письма). |
|
Местоположение пользовательских почтовых ящиков (устаревшее). |
|
Временные файлы, которые должны быть сохранены между перезагрузками. |
Разделение на системные (например, /etc, /bin) и пользовательские каталоги необходимо для следующих целей.
Домашний каталог суперпользователя (root) находится в /root
, а не в /home/root
, так как учётная запись суперпользователя предназначена исключительно для администрирования операционной системы. Это помогает повысить надёжность системы: /root
обычно располагается на том же разделе, где и система, что позволяет производить обслуживание и настройку операционной системы, смонтировав лишь корневой раздел.
/usr/local
является хранилищем данных, которые должны храниться на локальном хосте (в противоположность /usr
, которая может монтироваться по сети). Однако обычно /usr
редко монтируется удалённо, а /usr/local
чаще используется для установки программного обеспечения и данных, которые не являются частью дистрибутива (в этом случае /usr
должен содержать программы и данные только из стандартного дистрибутива). Возможно, в будущем стандарт FHS будет изменён для отражения этой устоявшейся ситуации.Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .