Jump to content

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

(Перенаправлено из /var/run )

Стандарт иерархии файловой системы
Аббревиатура ФХС
Статус Опубликовано
Год начался 14 февраля 1994 г .; 30 лет назад ( 14.02.1994 )
Последняя версия 3.0
3 июня 2015 г .; 9 лет назад ( 03.06.2015 )
Организация Linux Фонд
Домен Структура каталогов
Веб-сайт Официальный сайт
Официальный сайт (Исторический)

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

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

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

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

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

Каталог Описание
/ Корень первичной иерархии и корневой каталог всей иерархии файловой системы.
/bin Основные двоичные файлы команд , которые должны быть доступны в однопользовательском режиме , в том числе для запуска системы или ее восстановления, [ 3 ] для всех пользователей (например, cat , ls , cp ).
/boot загрузчика Файлы (например, ядра , initrd ).
/dev Файлы устройства (например, /dev/null, /dev/disk0, /dev/sda1, /dev/tty, /dev/random).
/etc общесистемной конфигурации для конкретного хоста Файлы .

Были споры по поводу значения самого имени. В ранних версиях документа по реализации UNIX от Bell Labs /etc называется и так далее каталогом , [ 4 ] поскольку в этом каталоге исторически хранилось все, что не принадлежало другим местам (однако FHS ограничивает /etc в статические файлы конфигурации и не могут содержать двоичные файлы). [ 5 ] С момента публикации ранней документации имя каталога объяснялось по-разному. Недавние интерпретации включают такие обратные названия , как «Конфигурация редактируемого текста» или «Расширенный ящик для инструментов». [ 6 ]

/etc/opt Файлы конфигурации для дополнительных пакетов, хранящиеся в /opt.
/etc/sgml Файлы конфигурации, такие как каталоги, для программного обеспечения, обрабатывающего SGML .
/etc/X11 Файлы конфигурации для системы X Window , версия 11.
/etc/xml Файлы конфигурации, такие как каталоги, для программного обеспечения, обрабатывающего XML .
/home пользователей Домашние каталоги , содержащие сохраненные файлы, личные настройки и т. д.
/lib Библиотеки, необходимые для двоичных файлов в /bin и /sbin.
/lib<qual> Основные библиотеки альтернативного формата. Обычно они используются в системах, поддерживающих более одного формата исполняемого кода, например в системах, поддерживающих 32-битные и 64-битные версии набора команд . Такие каталоги не являются обязательными, но если они существуют, к ним предъявляются некоторые требования.
/media Точки монтирования съемных носителей, таких как компакт-диски (появились в FHS-2.3 в 2004 г.).
/mnt Временно смонтированные файловые системы.
/opt Дополнительные прикладного программного обеспечения пакеты . [ 7 ]
/proc Виртуальная файловая система, предоставляющая информацию о процессах и ядре в виде файлов. В Linux соответствует монтированию procfs . Как правило, автоматически генерируется и заполняется системой «на лету».
/root Домашний каталог для пользователя root .
/run Переменные данные времени выполнения: информация о работающей системе с момента последней загрузки, например, о вошедших в систему пользователях и запущенных демонах . Файлы в этом каталоге должны быть либо удалены, либо усечены в начале процесса загрузки, но это не обязательно в системах, которые предоставляют этот каталог в качестве временной файловой системы ( tmpfs ) (появилась в FHS-3.0 в 2015 году).
/sbin Основные системные двоичные файлы (например, fsck , init , маршрут ).
/srv Данные, специфичные для сайта, обслуживаемые этой системой, такие как данные и сценарии для веб-серверов, данные, предлагаемые FTP- серверами, и репозитории для систем контроля версий (появились в FHS-2.3 в 2004 году).
/sys Содержит информацию об устройствах, драйверах и некоторых функциях ядра. [ 8 ]
/tmp Каталог для временных файлов (см. также /var/tmp). Часто не сохраняются между перезагрузками системы и могут иметь серьезные ограничения по размеру.
/usr Вторичная иерархия для пользовательских данных, доступных только для чтения; содержит большинство ( много )пользовательских утилит и приложений. Должен быть доступен для совместного использования и доступен только для чтения. [ 9 ] [ 10 ]
/usr/bin Необязательные двоичные файлы команд (не нужны в однопользовательском режиме ); для всех пользователей.
/usr/include Стандартные включаемые файлы .
/usr/lib Библиотеки для двоичных файлов в /usr/bin и /usr/sbin.
/usr/libexec Двоичные файлы, запускаемые другими программами, которые не предназначены для непосредственного выполнения пользователями или сценариями оболочки (необязательно).
/usr/lib<qual> Библиотеки альтернативного формата (например, /usr/lib32 для 32-битных библиотек на 64-битной машине (необязательно)).
/usr/local Третичная иерархия для локальных данных, специфичных для этого хоста. Обычно имеет дополнительные подкаталоги (например, bin, lib, share). [ Примечание 1 ]
/usr/sbin Необязательные системные двоичные файлы (например, демоны для различных сетевых служб ).
/usr/share Независимые от архитектуры (общие) данные.
/usr/src Исходный код (например, исходный код ядра с его заголовочными файлами).
/usr/X11R6 X Window System , версия 11, выпуск 6 (до FHS-2.3, опционально).
/var Файлы переменных: файлы, содержимое которых, как ожидается, будет постоянно меняться во время нормальной работы системы, например журналы, файлы буферизации и временные файлы электронной почты.
/var/cache Данные кэша приложения. Такие данные генерируются локально в результате трудоемкого ввода-вывода или вычислений. Приложение должно иметь возможность регенерировать или восстанавливать данные. Кэшированные файлы можно удалить без потери данных.
/var/lib Государственная информация. Постоянные данные, изменяемые программами во время их запуска (например, базы данных, метаданные системы упаковки и т. д.).
/var/lock Блокировка файлов. Файлы, отслеживающие ресурсы, используемые в данный момент.
/var/log Файлы журналов. Различные журналы.
/var/mail Файлы почтового ящика. В некоторых дистрибутивах эти файлы могут находиться в устаревшем каталоге. /var/spool/mail.
/var/opt Переменные данные из дополнительных пакетов, которые хранятся в /opt.
/var/run Переменные данные времени выполнения. Этот каталог содержит системные информационные данные, описывающие систему с момента ее загрузки. [ 11 ]

В ФХС 3.0 /var/run заменяется на /run; система должна либо продолжать обеспечивать /var/run каталог или предоставить символическую ссылку из /var/run к /run для обратной совместимости. [ 12 ]

/var/spool Буфер для задач, ожидающих обработки (например, очереди печати и очереди исходящей почты).
/var/spool/mail Устаревшее расположение почтовых ящиков пользователей. [ 13 ]
/var/tmp Временные файлы, которые необходимо сохранять между перезагрузками.

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

[ редактировать ]

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

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

  • Современные дистрибутивы Linux включают в себя /sys каталог как виртуальную файловую систему ( sysfs , сравнимую с /proc, который является procfs ), который хранит и позволяет изменять устройства, подключенные к системе, [ 20 ] тогда как многие традиционные Unix-подобные операционные системы используют /sys как символическую ссылку на дерево исходного кода ядра . [ 21 ]
  • Многие современные Unix-подобные системы (например, FreeBSD через систему портов ) устанавливают сторонние пакеты в /usr/local, сохраняя при этом код, считающийся частью операционной системы, в /usr.
  • Некоторые дистрибутивы Linux больше не различают /lib и /usr/lib и иметь /lib символическая ссылка на /usr/lib. [ 22 ]
  • Некоторые дистрибутивы Linux больше не различают /bin и /usr/bin и между /sbin и /usr/sbin. Они могут использовать символическую ссылку /bin к /usr/bin и /sbin к /usr/sbin. Другие дистрибутивы предпочитают объединять все четыре, символически связывая их с /usr/bin. [ 23 ]

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

  • /dev/.*/run/*
  • /dev/shm/run/shm
  • /dev/shm/*/run/*
  • /etc/* (файлы, доступные для записи) → /run/*
  • /lib/init/rw/run
  • /var/lock/run/lock
  • /var/run/run
  • /tmp/run/tmp

/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.0. 1994-02-14 ФССТНД [ 35 ]
Старая версия, больше не поддерживается: 1.1. 1994-10-09 ФССТНД [ 36 ]
Старая версия, больше не поддерживается: 1.2. 1995-03-28 ФССТНД [ 37 ]
Старая версия, больше не поддерживается: 2.0. 1997-10-26 FHS 2.0 является прямым преемником FSSTND 1.2. Название стандарта было изменено на «Стандарт иерархии файловой системы». [ 38 ] [ 39 ] [ 40 ]
Старая версия, больше не поддерживается: 2.1. 2000-04-12 ФХС [ 41 ] [ 42 ] [ 43 ]
Старая версия, больше не поддерживается: 2.2. 2001-05-23 ФХС [ 44 ]
Старая версия, больше не поддерживается: 2.3. 2004-01-29 ФХС [ 45 ]
Текущая стабильная версия: 3.0. 2015-05-18 ФХС [ 46 ]
Легенда:
Старая версия
Older version, still maintained
Последняя версия
Latest preview version
Future release

См. также

[ редактировать ]

Примечания

[ редактировать ]
  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 . Проверено 6 июня 2024 г.
  5. ^ «/etc: Конфигурация системы, специфичная для хоста» . Стандарт иерархии файловой системы 2.3 . Проверено 18 февраля 2016 г.
  6. ^ Определить - /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 делает в моей системе и откуда он?» . [электронная почта защищена] (список рассылки).
  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 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2618725ebc30aa5425ab2836a504d50f__1721307540
URL1:https://arc.ask3.ru/arc/aa/26/0f/2618725ebc30aa5425ab2836a504d50f.html
Заголовок, (Title) документа по адресу, URL1:
Filesystem Hierarchy Standard - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)