stringtranslate.com

Стандарт иерархии файловой системы

Стандарт иерархии файловой системы ( FHS ) — это справочник, описывающий соглашения, используемые для компоновки Unix-подобных систем. Он стал популярным благодаря использованию в дистрибутивах Linux, но он также используется и в других Unix-подобных системах. [1] Он поддерживается Linux Foundation . Последняя версия — 3.0, выпущенная 3 июня 2015 г. [2]

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

Типичная иерархия файловой системы Ubuntu

В FHS все файлы и каталоги отображаются в корневом каталоге / , даже если они хранятся на разных физических или виртуальных устройствах. Некоторые из этих каталогов существуют только в конкретной системе, если установлены определенные подсистемы, такие как X Window System .

Большинство этих каталогов существуют во всех Unix-подобных операционных системах и обычно используются одинаково; однако приведенные здесь описания используются специально для FHS и не считаются авторитетными для платформ, отличных от Linux.

Соответствие требованиям FHS

Большинство дистрибутивов Linux следуют стандарту иерархии файловой системы и объявляют его собственной политикой обеспечения соответствия FHS. [14] [15] [16] [17] GoboLinux [18] и NixOS [19] предоставляют примеры намеренно несовместимых реализаций файловой системы.

Некоторые дистрибутивы в целом соответствуют стандарту, но в некоторых областях отклоняются от него. FHS является «конечным стандартом» и поэтому документирует распространенные практики на определенный момент времени. Конечно, времена меняются, а цели и потребности распределения требуют экспериментов. Некоторые распространенные отклонения включают в себя:

Современные дистрибутивы Linux включают /runкаталог в качестве временной файловой системы ( tmpfs ), в котором хранятся изменчивые данные времени выполнения, в соответствии с FHS версии 3.0. Согласно версии FHS 2.3, такие данные хранились в /var/run, но в некоторых случаях это было проблемой, поскольку этот каталог не всегда доступен при ранней загрузке. В результате этим программам приходилось прибегать к ухищрениям, таким как использование /dev/.udev, или каталогов /dev/.mdadm, хотя каталог устройства не предназначен для таких данных. [24] Помимо других преимуществ, это упрощает обычное использование системы с корневой файловой системой, смонтированной только для чтения. Например, ниже приведены изменения , внесенные Debian в выпуск Wheezy 2013 года: [25]/dev/.systemd/dev/.mount

История

Имяusr

/usrпервоначально означало «пользователь». [26] Это был артефакт раннего программирования для Unix. В частности, когда Кен Томпсон и Деннис Ритчи переносили Unix на PDP-11, /bin, /libпапки ..., которые должны были быть первыми папками, которые должны были монтироваться при запуске и должны были содержать все необходимое для функционирования ОС, стали больше, чем привод RK05 . Вот и поставили некоторые из них в первый RK05, в том числе и те, которые необходимы для загрузки второго диска RK05. Остальные положили в /usrпапку. [27] Когда у них появился третий диск, файлы пользователей были перемещены в новую папку с именем /home. [28]

FHS был создан как FSSTND (сокращение от «Стандарт файловой системы» [29] ), во многом основанный на аналогичных стандартах для других Unix-подобных операционных систем. Яркими примерами являются: описание структуры файловой системы hier(7) , [30] которое существовало с момента выпуска версии 7 Unix (в 1979 году); [31] файловая система SunOS (7) [32] и ее преемница, файловая система Solaris (7) . [33] [34]

История выпусков

Смотрите также

Примечания

  1. ^ Исторически и строго в соответствии со стандартом /usr/localпредназначен для данных, которые должны храниться на локальном хосте (в отличие от /usrфайлов , которые можно монтировать по сети). Большую часть времени /usr/localиспользуется для установки программного обеспечения/данных, которые не являются частью стандартного дистрибутива операционной системы (в таком случае /usrони будут содержать только программное обеспечение/данные, которые являются частью стандартного дистрибутива операционной системы). Вполне возможно, что стандарт FHS в будущем будет изменен, чтобы отразить это фактическое соглашение.

Рекомендации

  1. Ссылки _ Wiki Фонда Linux . Проверено 4 января 2022 г.
  2. ^ "lsb:fhs-30 [Вики]" . wiki.linuxfoundation.org . Проверено 22 февраля 2023 г.
  3. ^ «hier(7) — страница руководства Linux» . man7.org . Проверено 6 января 2021 г.
  4. ^ Дж. ДеФелик (17 марта 1972 г.). «Е.0». Предварительный выпуск документа о реализации UNIX (PDF) . п. 8. ИМО.1-1.
  5. ^ "/etc: Конфигурация системы для конкретного хоста". Стандарт иерархии файловой системы 2.3 . Проверено 18 февраля 2016 г.
  6. Define - /etc?, Автор: Клифф, 3 марта 2007 г. — Slashdot.
  7. ^ "/opt: Дополнительные пакеты прикладного программного обеспечения" . Стандарт иерархии файловой системы 2.3 . Проверено 18 февраля 2016 г.
  8. ^ «/sys: виртуальная файловая система ядра и системной информации». Стандарт иерархии файловой системы 3.0 . Проверено 4 июня 2017 г.
  9. ^ "Глава 4. Иерархия /usr" . Стандарт иерархии файловой системы 2.3 .
  10. ^ «Глава 4. Иерархия /usr, раздел 4.1 Цель» . Стандарт иерархии файловой системы 3.0 .
  11. ^ "/var/run: Данные переменных времени выполнения". Стандарт иерархии файловой системы 2.3 .
  12. ^ «5.13. /var/run: переменные данные времени выполнения». Стандарт иерархии файловой системы 3.0 .
  13. ^ «Стандарт файловой системы» (PDF) . Фонд Linux. п. 5.11.1.
  14. ^ Справочное руководство Red Hat по структуре файловой системы.
  15. ^ SuSE Linux Enterprise Server Administration, авторизованные учебные курсы Novell, Джейсон В. Эккерт, Novell; Курсовая технология, 2006; ISBN 1-4188-3731-8 , ISBN 978-1-4188-3731-0 .  
  16. ^ Политика Debian в отношении соответствия FHS.
  17. ^ Обзор дерева файловой системы Ubuntu Linux — Документация Ubuntu сообщества.
  18. ^ Хишам Мухаммад (9 мая 2003 г.). «Переосмысление дерева Unix: введение в GoboLinux» . Проверено 4 октября 2016 г.
  19. ^ Долстра, Э.; Лё, А. (сентябрь 2008 г.). NixOS: чисто функциональный дистрибутив Linux (PDF) . ICFP 2008: 13-я Международная конференция ACM SIGPLAN по функциональному программированию. Виктория, Британская Колумбия, Канада. стр. 367–378.
  20. ^ «5.3 О виртуальной файловой системе /sys» . docs.oracle.com . Оракул. Архивировано из оригинала 8 июля 2016 года . Проверено 8 июля 2016 г.
  21. ^ Лехи, Грег (май 2003 г.). Полная версия FreeBSD: Документация из источника (Четвертое изд.). О'Рейли Медиа, Инкорпорейтед. стр. 188, 609. ISBN. 9780596005160.
  22. ^ Аллан Макрей. «Arch Linux – Новости: каталог /lib становится символической ссылкой». Archlinux.org . Архивировано из оригинала 9 сентября 2014 года . Проверено 14 декабря 2019 г.
  23. ^ Аллан Макрей. «Arch Linux – Новости: двоичные файлы перемещаются в /usr/bin, требуя обновления». Archlinux.org . Архивировано из оригинала 10 сентября 2014 года . Проверено 15 декабря 2019 г.
  24. Леннарт Пёттеринг (30 марта 2011 г.). «Что этот каталог /run делает в моей системе и откуда он?». [email protected] (список рассылки).
  25. ^ "ReleaseGoalsRunDirectory" . Дебиан Вики .
  26. ^ "/usr". tldp.org . Проверено 10 декабря 2023 г.
  27. ^ Доктор медицины Макилрой (1987). «Исследовательская программа для чтения Unix: аннотированные выдержки из Руководства программиста, 1971–1986» (PDF) . Лаборатории Белла. ЦСТР 139.
  28. Лэндли, Роб (9 декабря 2010 г.). «Понимание разделения bin, sbin, usr/bin, usr/sbin». busybox (список рассылки).
  29. ^ «Страница часто задаваемых вопросов FSSTND» . Проверено 10 мая 2016 г.
  30. ^ hier(7)  –  Руководство по разной информации по FreeBSD .
  31. ^ hier(7)  -  Руководство программиста Unix версии 7.
  32. ^ Страница руководства SunOS 4.1.3 для файловой системы (7), датированная 10 января 1988 г. (из библиотеки страниц руководства FreeBSD).
  33. ^ filesystem(7)  -  Справочное руководство по стандартам, средам, макросам, наборам символов и прочему Solaris 11.4 .
  34. ^ "Страница руководства по файловой системе - Страницы руководства Solaris 10, 11/06" . Архивировано из оригинала 4 июля 2007 года . Проверено 15 октября 2011 г.
  35. ^ "Индекс /pub/Linux/docs/fsstnd/old/fsstnd-1.0/". Ибиблио.орг . Проверено 16 октября 2012 г.
  36. ^ "Индекс /pub/Linux/docs/fsstnd/old/fsstnd-1.1/". Ибиблио.орг . Проверено 16 октября 2012 г.
  37. ^ "Индекс /pub/Linux/docs/fsstnd/old/". Ибиблио.орг . Проверено 16 октября 2012 г.
  38. ^ «Объявление о FHS 2.0» . Имя пути.com . Проверено 16 октября 2012 г.
  39. ^ Куинлан, Дэниел (14 марта 2012 г.) [1997], «Объявление FHS 2.0», BSD, Linux, Unix и Интернет - исследование Кеннета Р. Саборио , Сан-Хосе, Коста-Рика: Кеннет Р. Саборио, заархивировано из оригинала 5 марта 2016 г. , дата обращения 18 февраля 2016 г..
  40. ^ "Индекс /pub/Linux/docs/fsstnd/". Ибиблио.орг . Проверено 16 октября 2012 г.
  41. ^ «Объявление FHS 2.1» . Имя пути.com . Проверено 16 октября 2012 г.
  42. ^ «Выпущена FHS 2.1» . Lists.debian.org. 13 апреля 2000 г. Проверено 16 октября 2012 г.
  43. Куинлан, Дэниел (12 апреля 2000 г.). «Стандарт иерархии файловой системы - версия 2.1, Группа стандартов иерархии файловой системы» (PDF) . Учебные пособия по Acadia Linux . Вольфвилл, Новая Шотландия, Канада: Школа компьютерных наук Джодри, Университет Акадии . Архивировано из оригинала (PDF) 27 марта 2012 года . Проверено 18 октября 2012 г.
  44. ^ Рассел, Расти ; Куинлан, Дэниел, ред. (23 мая 2001 г.). «Стандарт иерархии файловой системы - последняя версия группы стандартов иерархии файловой системы» (PDF) . Стандарт иерархии файловой системы . Проверено 18 февраля 2016 г.
  45. ^ Рассел, Расти ; Куинлан, Дэниел; Да, Кристофер, ред. (28 января 2004 г.). «Стандарт иерархии файловой системы — группа стандартов иерархии файловой системы» (PDF) . Проверено 29 ноября 2014 г.
  46. ^ Да, Кристофер; Рассел, Расти; Куинлан, Дэниел, ред. (19 марта 2015 г.). «Стандарт иерархии файловой системы» (PDF) . Фонд Linux . Проверено 20 мая 2015 г.

Внешние ссылки