WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
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-иерархии.

Структура каталогов

Файловая система в Ubuntu 14.04.

В FHS все файлы и каталоги находятся внутри корневого каталога, даже если они расположены на различных физических носителях. Однако некоторые из каталогов могут присутствовать только в случае, если установлено определённое программное обеспечение, такое как, например, X Window System. Большая часть этих каталогов существует во всех UNIX-подобных операционных системах и используется похожим образом.

Описание иерархии каталогов согласно FHS
Каталог Описание
/ Корневой каталог, содержащий всю файловую иерархию.
/bin
Основные утилиты, необходимые как в однопользовательском режиме, так и при обычной работе всем пользователям (например: cat, ls, cp).
/boot
Загрузочные файлы (в том числе файлы загрузчика, ядро, initrd, System.map). Часто выносится на отдельный раздел.
/dev
Основные файлы устройств (например, /dev/null, /dev/zero).
/etc
Общесистемные конфигурационные файлы (имя происходит от лат. et cetera).
/etc/opt
Файлы конфигурации для /opt.
/etc/X11
Файлы конфигурации X Window System версии 11.
/etc/sgml
Конфигурационные файлы SGML.
/etc/xml
Конфигурационные файлы XML.
/home
Содержит домашние каталоги пользователей, которые в свою очередь содержат персональные настройки и данные пользователя. Часто размещается на отдельном разделе.
/lib
Основные библиотеки, необходимые для работы программ из /bin и /sbin.
/media
Точки монтирования для сменных носителей, таких как CD-ROM, DVD-ROM (впервые описано в FHS-2.3).
/mnt
Содержит временно монтируемые файловые системы.
/opt
Дополнительное программное обеспечение.
/proc
Виртуальная файловая система, представляющая состояние ядра операционной системы и запущенных процессов в виде файлов.
/root
Домашний каталог пользователя root.
/run
Информация о системе с момента её загрузки, в том числе данные, необходимые для работы демонов (pid-файлы, UNIX-сокеты и т.д.)[1].
/sbin
Основные системные программы для администрирования и настройки системы, например, init, iptables, ifconfig.
/srv
Данные для сервисов, предоставляемых системой (например, www или ftp).
/sys
Содержит информацию об устройствах, драйверах, а так же некоторых свойствах ядра.[2]
/tmp
Временные файлы (см. также /var/tmp).
/usr
Вторичная иерархия для данных пользователя. Содержит большинство пользовательских приложений и утилит, используемых в многопользовательском режиме. Может быть смонтирована по сети только для чтения и быть общей для нескольких машин[3].
/usr/bin
Дополнительные программы для всех пользователей, не являющиеся необходимыми в однопользовательском режиме.
/usr/include
Стандартные заголовочные файлы.
/usr/lib
Библиотеки для программ, находящихся в /usr/bin и /usr/sbin.
/usr/local
Третичная иерархия для данных, специфичных для данного хоста. Обычно содержит такие подкаталоги, как bin, lib, share[4].
/usr/sbin
Дополнительные системные программы (такие как демоны различных сетевых сервисов).
/usr/share
Архитектурно-независимые общие данные.
/usr/src
Исходные коды (например, здесь располагаются исходные коды ядра).
/var
Изменяемые файлы, такие как файлы регистрации, временные почтовые файлы, файлы спулеров.
/var/cache
Кэш приложений. Такие данные генерируются локально в результате ресурсозатратных вычислений или операций ввода-вывода. Приложение обязано уметь регенерировать эти данные. Данные файлы могут быть удалены без потери данных.
/var/lib
Информация о состоянии. Постоянные данные, изменяемые программами в процессе работы (например, базы данных, метаданные пакетного менеджера и др.).
/var/lock
Файлы блокировки, указывающие на занятость некоторого ресурса.
/var/log
Различные файлы регистрации.
/var/mail
Почтовые ящики пользователей.
/var/run
Каталог для хранения информации о системе с момента её загрузки, на данный момент устарел. Допускается делать его ссылкой на /run. Каталог оставлен для обратной совместимости с программами, которые всё ещё используют каталог /var/run[5].
/var/spool
Задачи, ожидающие обработки (например, очереди печати, непрочитанные или неотправленные письма).
/var/spool/mail
Местоположение пользовательских почтовых ящиков (устаревшее).
/var/tmp
Временные файлы, которые должны быть сохранены между перезагрузками.

Разделение на системные и пользовательские каталоги

Разделение на системные (например, /etc, /bin) и пользовательские каталоги необходимо для следующих целей.

  • Упрощение резервного копирования. Системные файлы обычно просто установлены с дистрибутива ОС и наибольшую ценность представляют личные файлы пользователя.
  • Безопасность. Обычно пользователь имеет доступ на запись только в домашний каталог, так что в случае запуска «червя» он не сможет заразить системные файлы.
  • Совместный доступ из разных ОС:
    • можно установить несколько систем на один компьютер, назначив им один домашний надкаталог;
    • можно хранить системные файлы на отдельном сервере, а на тонком клиенте хранить только каталог /home;
    • можно обеспечить сотруднику доступ с любого компьютера фирмы, разместив каталог /home на сервере с домашними каталогами всех сотрудников.

Домашний каталог суперпользователя (root) находится в /root, а не в /home/root, так как учётная запись суперпользователя предназначена исключительно для администрирования операционной системы. Это помогает повысить надёжность системы: /root обычно располагается на том же разделе, где и система, что позволяет производить обслуживание и настройку операционной системы, смонтировав лишь корневой раздел.

Заметки

  1. 3.15. /run : Run-time variable data. refspecs.linuxfoundation.org. Проверено 19 марта 2018.
  2. /sys : Kernel and system information virtual filesystem. Filesystem Hierarchy Standard. Проверено 4 июня 2017.
  3. Filesystem Hierarchy Standard  (англ.)
  4. Исторически и строго следуя стандарту, /usr/local является хранилищем данных, которые должны храниться на локальном хосте (в противоположность /usr, которая может монтироваться по сети). Однако обычно /usr редко монтируется удалённо, а /usr/local чаще используется для установки программного обеспечения и данных, которые не являются частью дистрибутива (в этом случае /usr должен содержать программы и данные только из стандартного дистрибутива). Возможно, в будущем стандарт FHS будет изменён для отражения этой устоявшейся ситуации.
  5. 5.13. /var/run : Run-time variable data. refspecs.linuxfoundation.org. Проверено 19 марта 2018.

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии