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, /dev/.systemdили /dev/.mountкаталогов, даже если каталог устройства не предназначен для таких данных. [24] Среди других преимуществ, это упрощает обычное использование системы с корневой файловой системой, смонтированной только для чтения. Например, ниже приведены изменения, внесенные Debian в свой выпуск Wheezy 2013 года: [25]

История

Имяusr

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

FHS был создан как FSSTND (сокращение от "Filesystem Standard" [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. ^ "FHS". Linux Foundation Wiki . Получено 4 января 2022 г.
  2. ^ "lsb:fhs-30 [Wiki]". wiki.linuxfoundation.org . Получено 22 февраля 2023 г. .
  3. ^ "hier(7) - Страница руководства Linux". man7.org . Получено 6 января 2021 г. .
  4. ^ J. DeFelicc (17 марта 1972 г.). "E.0". Предварительный выпуск документа по внедрению UNIX (PDF) . стр. 8. IMO.1-1 . Получено 6 июня 2024 г.
  5. ^ "/etc : Конфигурация системы, зависящая от хоста". Filesystem Hierarchy Standard 2.3 . Получено 18 февраля 2016 .
  6. ^ Определить - /etc?, Опубликовано Клиффом, 3 марта 2007 г. - Slashdot.
  7. ^ "/opt : Дополнительные пакеты прикладного программного обеспечения". Filesystem Hierarchy Standard 2.3 . Получено 18 февраля 2016 .
  8. ^ "/sys : Виртуальная файловая система с информацией о ядре и системе". Filesystem Hierarchy Standard 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 Foundation. стр. 5.11.1.
  14. ^ Справочное руководство Red Hat по структуре файловой системы.
  15. ^ SuSE Linux Enterprise Server Administration, авторизованный Novell учебный курс, Джейсон В. Экерт, Novell; Course Technology, 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. ^ Dolstra, E.; Löh, A. (сентябрь 2008 г.). NixOS: чисто функциональный дистрибутив Linux (PDF) . ICFP 2008: 13-я международная конференция ACM SIGPLAN по функциональному программированию. Виктория, Британская Колумбия, Канада. стр. 367–378.
  20. ^ "5.3 О виртуальной файловой системе /sys". docs.oracle.com . Oracle. Архивировано из оригинала 8 июля 2016 г. Получено 8 июля 2016 г.
  21. ^ Лехи, Грег (май 2003 г.). Полная версия FreeBSD: документация из источника (четвертое издание). O'Reilly Media, Incorporated. стр. 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". Debian Wiki .
  26. ^ "/usr". tldp.org . Получено 10 декабря 2023 г. .
  27. ^ МД Макилрой (1987). «Исследовательский ридер Unix: аннотированные выдержки из Руководства программиста, 1971–1986» (PDF) . Bell Labs. CSTR 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 для filesystem(7) от 10 января 1988 г. (из библиотеки FreeBSD Man Pages).
  33. ^ filesystem(7)  –  Справочное руководство по стандартам, средам, макросам, наборам символов и прочему Solaris 11.4 .
  34. ^ "страница руководства по файловой системе – Solaris 10 11/06 Man Pages". Архивировано из оригинала 4 июля 2007 г. Получено 15 октября 2011 г.
  35. ^ "Индекс /pub/Linux/docs/fsstnd/old/fsstnd-1.0/". Ibiblio.org . Получено 16 октября 2012 г. .
  36. ^ "Индекс /pub/Linux/docs/fsstnd/old/fsstnd-1.1/". Ibiblio.org . Получено 16 октября 2012 г. .
  37. ^ "Индекс /pub/Linux/docs/fsstnd/old/". Ibiblio.org . Получено 16 октября 2012 г. .
  38. ^ "FHS 2.0 Announcement". Pathname.com . Получено 16 октября 2012 г. .
  39. Куинлан, Дэниел (14 марта 2012 г.) [1997], «Объявление о FHS 2.0», BSD, Linux, Unix и Интернет – Исследование Кеннета Р. Саборио , Сан-Хосе, Коста-Рика: Кеннет Р. Саборио, архивировано из оригинала 5 марта 2016 г. , извлечено 18 февраля 2016 г..
  40. ^ "Индекс /pub/Linux/docs/fsstnd/". Ibiblio.org . Получено 16 октября 2012 г. .
  41. ^ "FHS 2.1 Announcement". Pathname.com . Получено 16 октября 2012 г. .
  42. ^ "FHS 2.1 выпущен". Lists.debian.org. 13 апреля 2000 г. Получено 16 октября 2012 г.
  43. ^ Куинлан, Дэниел (12 апреля 2000 г.). «Filesystem Hierarchy Standard – Version 2.1, Filesystem Hierarchy Standard Group» (PDF) . Учебники Acadia Linux . Вольфвилл, Новая Шотландия, Канада: Школа компьютерных наук Джодри, Университет Акадия . Архивировано из оригинала (PDF) 27 марта 2012 г. . Получено 18 октября 2012 г. .
  44. ^ Рассел, Расти ; Куинлан, Дэниел, ред. (23 мая 2001 г.). "Filesystem Hierarchy Standard – Version 2.2 final Filesystem Hierarchy Standard Group" (PDF) . Filesystem Hierarchy Standard . Получено 18 февраля 2016 г. .
  45. ^ Рассел, Расти ; Куинлан, Дэниел; Йео, Кристофер, ред. (28 января 2004 г.). "Filesystem Hierarchy Standard - Filesystem Hierarchy Standard Group" (PDF) . Получено 29 ноября 2014 г.
  46. ^ Йео, Кристофер; Рассел, Расти; Куинлан, Дэниел, ред. (19 марта 2015 г.). "Filesystem Hierarchy Standard" (PDF) . Linux Foundation . Получено 20 мая 2015 г. .

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