Версия для печати

Архив документации на OpenNet.ru / Раздел "Документация для Linux" (Многостраничная версия)

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

Редакторы П.Рассел (Paul 'Rusty' Russell) и Д.Квинлан (Daniel Quinlan)

Filesystem Hierarchy Standard Group

Перевод на русский язык - В.А.Костромин, январь 2003 г. (Смотри предисловие переводчика).
Оригинал перевода: http://linux-ve.net/MyLDP/file-sys/fhs-2.2-rus/

Abstract

Настоящий стандарт состоит из набора требований и рекомендаций по размещению файлов и каталогов для UNIX-подобных операционных систем. Целью этих рекомендаций является обеспечение совместимости приложений и различных скриптов, средств системного администрирования и разработки, а также достижение единообразия в документации на разные системы.

Все торговые знаки и авторские права принадлежат их обладателям, если только специально не оговорено противное. Использование термина в этом документе не должно расцениваться как покушение на какой-либо торговый знак или фирменные знаки (Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark).


Copyright й 1994-2001 Daniel Quinlan

Copyright й 2001 Paul `Rusty' Russell

Permission is granted to make and distribute verbatim copies of this standard provided the copyright and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this standard under the conditions for verbatim copying, provided also that the title page is labeled as modified including a reference to the original standard, provided that information on retrieving the original standard is included, and provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this standard into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the copyright holder.


Оглавление


Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы (Filesystem Hierarchy Standard)

1 Введение

1.1 Назначение

Этот стандарт необходим для того, чтобы:

Мы достигаем этих целей тем, что

Настоящий стандарт используется для того, чтобы

1.2 Обозначения

Мы рекомендуем вам читать версию этого документа, набранную с использованием различных шрифтов, а не простой текстовый вариант. В версии, использующей различные шрифты, имена файлов и каталогов набраны шрифтом фиксированной ширины.

Компоненты имен файлов, которые могут изменяться, представляются описанием соответствующего компонента, заключенным угловые скобки "<" и ">", <вот так>. Адреса электронной почты тоже заключаются в "<" и ">", но они изображаются обычным шрифтом.

Необязательные компоненты имен файлов заключаются квадратные скобки "[" и "]", причем оба этих условных обозначения могут комбинироваться. Например, если имя файла может иметь расширение или не иметь такового, это представляется следующим образом: <filename>[.<extension>].

Произвольная подстрока в имени каталога или файла обозначается символом "*".


Next: Файловая система
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы (Filesystem Hierarchy Standard)

2 Файловая система

В настоящем стандарте предполагается, что операционная система, использующая FHS-совместимую файловую систему, поддерживает обычные для большинства UNIX-систем средства обеспечения безопасности (the same basic security features found in most UNIX filesystems).

Можно определить два независимых критерия разбиения множества файлов на независимые типы (прим.переводчика: математик сказал бы - на непересекающиеся подмножества): разделяемые файлы в противоположность неразделяемым и неизменяемые (статические) файлы как противоположность изменяемым файлам.

Разделяемые данные - это те, к которым может быть разрешен доступ с различных хостов; неразделяемые - те, которые являются специфическими для данного хоста. Например, домашние каталоги пользователей содержат разделяемые данные, а файлы блокирования устройств (device lock files) являются неразделяемыми.

Неизменяемые (или статические) данные - это исполняемые файлы, библиотеки, документация, и все, что не должно изменяться без вмешательства системного администратора; изменяемые данные - это все, что может изменяться без участия системного администратора.

Должно существовать простое и понятное соответствие между каталогами и типом данных, которые в этом каталоге размещаются: каталоги могут являться точками монтирования для других файловых систем, характеристики которых отличаются от характеристик той файловой системы, в которую они монтируются.

Начало пояснений
Различать разделяемые и неразделяемые файлы необходимо по следующим причинам:

Выделение "разделяемых" данных может использоваться, например, для:

Различие между "статическими" и "изменяемыми" данными оказывает влияние на структуру файловой системы по двум основным направлениям:

Приведем пример того, как должны распределяться данные для того, чтобы файловая система могла считаться совместимой со стандартом FHS (еще раз повторим, что это только пример, можно привести и другие примеры того, как размещать данные для обеспечения FHS-совместимости).

Разделяемые Неразделяемые
Статические /usr /etc
/opt /boot
Изменяемые /var/mail /var/run
/var/spool/news /var/lock

Таблица 2.1


Конец пояснений


Previous: Введение
Next: Корневая файловая система. Назначение.
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы (Filesystem Hierarchy Standard)

3 Корневая файловая система

3.1 Назначение

Корневая файловая система должна содержать все, что необходимо для того, чтобы загрузить операционную систему, а также восстановить ее после сбоев и аварийных ситуаций или переустановить систему из резервной копии.
НАЧАЛО ПОЯСНЕНИЙ

В противовес изложенным соображениям, в силу которых очень многое требуется разместить в корневой каталоговой системе, стоит подумать о том, чтобы поддерживать размер корневой файловой системы настолько малым, насколько это только возможно. Желание сохранить размер корневой файловой системы разумно малым возникает по нескольким причинам:

Программы или приложения никогда не должны создавать или предполагать наличие каких-то файлов или подкаталогов в корневой директории. Другие области файловой иерархии FHS предоставляют более чем достаточно места для любого пакета.

Существует несколько причин, по которым создание нового подкаталога в корневой файловой системе запрещено:

КОНЕЦ ПОЯСНЕНИЙ


Previous: Файловая система
Next: Требования
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы (Filesystem Hierarchy Standard)

3.10 /lib<qual> : Основные разделяемые библиотеки альтернативных форматов (optional)

3.10.1 Назначение

Более одного варианта каталога /lib может существовать в системах, поддерживающих более одного формата исполняемых файлов, когда для каждого формата требуется свой отдельный вариант разделяемых библиотек. [примечание 12]

3.10.2 Требования

Если одна или несколько таких директорий существует, требования к их содержимому те же самые, что и к обычному каталогу /lib, за исключением того, что /lib<qual>/cpp не требуется.[примечание 13]

[12] Обычно это используется для поддержки 64-битного или 32-битного формата в системах, поддерживающих несколько форматов исполняемых файлов, и требующих библиотек с одним и тем же названием. В этом случае /lib32 и /lib64 могут быть библиотечными каталогами, а /lib - символической ссылкой на один из них.

[13] Наличие /lib<qual>/cpp все же допускается: тем самым допускаются случаи, когда /lib и /lib<qual> есть фактически одно и то же (один из них является символической ссылкой на другой).


Previous: /lib : Основные разделяемые библиотеки и модули ядра
Next: /mnt : Точка монтирования для временно монтируемых файловых систем
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы (Filesystem Hierarchy Standard)

3.11 /mnt : Точка монтирования для временно монтируемых файловых систем

3.11.1 Назначение

Эта директория предназначена для того, чтобы системный администратор мог временно монтировать файловые системы по мере необходимости. Содержимое этого каталога индивидуально для каждой системы и не должно никаким образом влиять на работу запускаемых программ.

Этот каталог не должен использоваться программами инсталляции: для создания и хранения временных файлов на этапе инсталляции ПО должны использоваться временные каталоги, не используемые системой.


Previous: /lib<qual> : Основные разделяемые библиотеки альтернативных форматов (optional)
Next: /opt : Дополнительные пакеты программного обеспечения
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы (Filesystem Hierarchy Standard)

3.12 /opt : Дополнительные пакеты программного обеспечения

3.12.1 Назначение

Каталог /opt зарезервирован для установки дополнительных пакетов программного обеспечения.

Пакет, который устанавливается в каталог /opt, должен размещать свои статические файлы в отдельной каталоговой структуре /opt/<package>, где <package> - название соответствующего пакета программного обеспечения.

3.12.2 Требования

"/opt"
<package>
"Дополнительные пакеты программного обеспечения"
Статические объекты пакета

Дерево 3.12.2.1

Каталоги /opt/bin, /opt/doc, /opt/include, /opt/info, /opt/lib и /opt/man зарезервированы для использования локальным системным администратором. Пакеты могут предоставлять "front-end" файлы, которые локальный системный администратор может разместить в этих зарезервированных каталогах (либо путем копирования, либо установив ссылку), но любой пакет должен нормально функционировать и в случае отсутствия этих зарезервированных директорий.

Программы, вызываемые на исполнение пользователем, должны располагаться в каталоге /opt/<package>/bin. Если пакет ПО содержит в своем составе страницы обычного в UNIX интерактивного руководства man, они должны устанавливаться в каталог /opt/<package>/man, который должен иметь такую же структуру, как и каталог /usr/share/man.

Файлы пакета, которые являются переменными (изменяемыми при выполнении стандартных операций), должны устанавливаться в /var/opt. Дополнительную информацию ищите в разделе о каталоге /var/opt.

Специфичные для хоста конфигурационные данные должны устанавливаться в /etc/opt. Дополнительную информацию ищите в разделе о каталоге /etc.

Никакие файлы пакета не должны размещаться вне каталогов /opt, /var/opt и /etc/opt, кроме тех файлов, которые должны оказаться в других местах по той причине, что иначе пакет не сможет функционировать нормально. Например, файлы блокирования устройств должны располагаться в /var/lock, а файлы устройств должны располагаться в /dev.

Дистрибутивы могут устанавливать программное обеспечение в каталог /opt, но не должны модифицировать или удалять ПО, установленное местным системным администратором, без разрешения этого самого администратора.

НАЧАЛО ПОЯСНЕНИЯ
Использование каталога /opt для дополнительного ПО является широко распространенной практикой в сообществе UNIX. The System V Application Binary Interface [AT&T 1990], основанный на System V Interface Definition (Third Edition), предлагает придерживаться для /opt структуры очень похожей на ту, которая определена здесь.

Стандарт Intel Binary Compatibility Standard v. 2 (iBCS2) тоже предполагает подобную структуру для /opt.

Как правило все данные, необходимые для поддержки функционирования пакета, должны присутствовать в каталоге /opt/<package>, включая файлы, копируемые в /etc/opt/<package> и /var/opt/<package> а также специально создаваемые для пакета каталоги в /opt.

Небольшие ограничения на дистрибутивы, использующие /opt, необходимы из-за возможности возникновения конфликтов между ПО, устанавливаемым из дистрибутива, и локально устанавливаемого ПО, особенно в том случае, когда бинарные пакеты используют фиксированные имена каталогов и файлов.

КОНЕЦ ПОЯСНЕНИЙ


Previous: /mnt : Точка монтирования для временно монтируемых файловых систем
Next: /root : Домашний каталог для пользователя root (optional)
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы (Filesystem Hierarchy Standard)

3.13 /root : Домашний каталог пользователя root (optional)

3.13.1 Назначение

Домашний каталог пользователя root может быть задан разработчиком или определен при инсталляции системы, но рекомендуемое место его расположения по умолчанию - каталог /root.[примечание 14]

[14] Если домашний каталог суперпользователя расположен не в корневом разделе диска, необходимо убедиться, что если он не будет найден, то по умолчанию таковым будет назначен каталог /. (Примечание переводчика. Я не совсем уверен, что вышеприведенное предложение является правильным переводом следующего текста: "If the home directory of the root account is not stored on the root partition it will be necessary to make certain it will default to / if it can not be located.")

Мы не рекомендуем использовать бюджет пользователя root для выполнения задач, которые могут быть выполнены непривилегированным пользователем. Бюджет суперпользователя должен использоваться исключительно для системного администрирования. По этой причине мы не рекомендуем размещать подкаталоги для почты и других приложений в домашнем каталоге пользователя root. Почта для таких администраторских ролей как root, postmaster и webmaster должна пересылаться соответствующему пользователю.


Previous: /opt : Дополнительные пакеты программного обеспечения
Next: /sbin : Системные утилиты
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы (Filesystem Hierarchy Standard)

3.14 /sbin : Системные утилиты

3.14.1 Назначение

Утилиты для выполнения задач системного администрирования (и другие команды, используемые только пользователем root) размещаются в /sbin, /usr/sbin и /usr/local/sbin. Каталог /sbin содержит исполняемые файлы, необходимые для загрузки системы и ее воссстановления в различных ситуациях (restoring, recovering, and/or repairing the system) и не попавшие в каталог /bin.[примечание 15]

3.14.2 Требования

Следующие команды или символические ссылки обязательно должны присутствовать в /sbin.

shutdown Команда остановки системы.

Таблица 3.14.2.1

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

Следующие команды или символические ссылки должны быть размещены в /sbin, если только соответствующие пакеты установлены в системе:

fastboot Команда перезагрузки системы без проверки дисков (optional)
fasthalt Команда остановки системы без проверки дисков (optional)
fdisk Программа переразбиения диска (optional)
fsck Утилита для проверки и восстановления файловых систем (optional)
fsck.* Утилиты для проверки и восстановления отдельных типов файловых систем (optional)
getty Программа getty (optional)
halt Команда остановки системы (optional)
ifconfig Утилита конфигурирования сетевых интерфейсов (optional)
init Первоначальный процесс (optional)
mkfs Команда создания файловой системы (optional)
mkfs.* Команда создания файловой системы конкретного типа (optional)
mkswap Команда создания файла или раздела подкачки (swap-раздела) (optional)
reboot Команда перезагрузки системы (optional)
route Утилита определения таблицы статической IP-маршрутизации (optional)
swapon Утилита подключения механизма свопинга (optional)
swapoff Утилита отключения свопинга (optional)
update Демон периодической очистки системных буферов (optional)

Таблица 3.14.3.2

[15] Когда-то исполняемые файлы, размещаемые теперь в /sbin, помещались в /etc. Программы, которые выполняются после того, когда смонтирован каталог /usr (если монтирование прошло без проблем) обычно размещаются в /usr/sbin. Локально устанавливаемые программы для системного администрирования должны быть размещены в /usr/local/sbin. [примечание 16]

[16] Принять решение о том, какие программы разместить в каталогах "sbin", довольно просто: если обычный пользователь (не системный администратор) когда-либо запускает программу, она должна размещаться в одном из каталогов "bin". Обычные пользователи не должны указывать каталоги sbin в списке путей, просматриваемых по умолчанию (в своей переменной PATH).

Такие, к примеру, файлы, как chfn, которые пользователи запускают очень редко и только в особых случаях, должны, тем не менее, размещаться в /usr/bin. Команда ping, хотя она абсолютно необходима суперпользователю для решения задач сетевой диагностики и восстановления сети, часто используется и рядовыми пользователями, и по этой причине должна размещаться в /bin.

Мы рекомендуем предоставить всем пользователям право на чтение и выполнение для всех файлов, расположенных в /sbin, кроме, может быть тех программ, для которых установлены биты setuid и setgid. Разделение каталогов /bin и /sbin делается не из соображений безопасности и не для того, чтобы лишить пользователей возможности видеть системные утилиты. Целью такого деления является установление явного различия между исполняемыми файлами, которые используются всеми, и теми утилитами, которые в основном используются для решения административных задач. С точки зрения безопасности нет никаких преимуществ в том, чтобы сделать /sbin недоступным для пользователей.


Previous: /root : Домашний каталог пользователя root (optional)
Next: /tmp : Временные файлы
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

3.15 /tmp : Временные файлы

3.15.1 Назначение

Каталог /tmp должен быть доступен для программ, которым необходимы временные файлы.

Программы не должны предполагать, что какой-либо файл в каталоге /tmp сохранится при следующем запуске программы.

НАЧАЛО ПОЯСНЕНИЙ
Стандарт IEEE P1003.2 (POSIX, part 2) выдвигает требования, аналогичные сформулированным выше.

Хотя данные, сохраняемые в каталоге /tmp могут удаляться по правилам, специфичным для каждого хоста, рекомендуется удалять все файлы и каталоги в /tmp при каждой загрузке системы.

FHS вводит последнюю рекомендацию на основе исторических прецедентов и общей практики, но не считает ее обязательным требованием, поскольку вопросы системного администрирования не являются предметом настоящего стандарта.

КОНЕЦ ПОЯСНЕНИЙ


Previous: /sbin : Системные утилиты
Next: Каталоговая структура /usr
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы (Filesystem Hierarchy Standard)

3.2 Требования

Следующие каталоги или символические ссылки на каталоги должны иметься в /.

"/"
bin
boot
dev
etc
lib
mnt
opt
sbin
tmp
usr
var
"Корневой каталог"
Основные исполняемые команды
Статические файлы для загрузчика
Специальные файлы устройств
Специфичные для данного хоста конфигурационный данные
Основные разделяемые библиотеки и модули ядра
Точка монтирования для временно подключаемых файловых систем
Дополнительные пакеты программного обеспечения
Основные системные утилиты
Временные файлы
Каталоговая структура второго уровня
Переменные данные

Дерево 3.2.1

Каждый каталог из перечисленных выше подробно рассматривается далее в отдельном разделе. Каждому из каталогов /usr и /var посвящен целый раздел в этом документе в силу сложности этих каталогов.


Previous: Назначение
Next: Рекомендации
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы (Filesystem Hierarchy Standard)

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

Следующие каталоги или символические ссылки на каталоги должны иметься в /, если соответствующие подсистемы установлены:

"/"
home
lib<qual>
root
"Корневой каталог"
Домашние каталоги пользователей (optional)
Основные разделяемые библиотеки для альтернативных форматов (optional)
Домашний каталог пользователя root (optional)

Дерево 3.3.1

Каждый из перечисленных выше каталогов рассматривается в отдельной секции настоящего документа.


Previous: /: Требования
Next: /bin : Основные исполняемые файлы (доступные всем пользователям)
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы (Filesystem Hierarchy Standard)

3.4 /bin : Основные исполняемые файлы (доступные всем пользователям)

3.4.1 Назначение

Каталог /bin содержит команды, которые могут использоваться как системным администратором, так и рядовыми пользователями, причем только те команды, которые необходимы, когда никакая другая файловая система еще не смонтирована (например, в однопользовательском режиме). В этом каталоге могут также содержаться команды, которые используются не напрямую пользователем, а через скрипты.[примечание 1]

3.4.2 Требования

В каталоге /bin не должно быть подкаталогов.

В /bin должны иметься следующие команды или символические ссылки на соответствующие команды:

cat утилита для конкатенации файлов с отображением результата на стандартный вывод
chgrp утилита для изменения аттрибута принадлежности файла группе
chmod утилита для изменения прав доступа к файлу
chown утилита для изменения владельцев файла
cp утилита для копирования файлов и каталогов
date утилита для вывода или изменения системной даты и времени
dd утилита для для преобразования и копирования файлов
df утилита, информирующая об использовании дискового пространства в файловых системах
dmesg утилита для вывода сообщений, записанных в буфере ядра
echo утилита для отображения строки текста
false утилита, не выполняющая никаких действий и возращающая статус завершения "не успешно"
hostname утилита, показывающая или устанавливающая системное имя хоста
kill утилита для посылки сигналов процессам
ln утилита для задания ссылок на файлы
login утилита, открывающая сессию работы пользователя в системе
ls утилита для вывода списка файлов в каталоге
mkdir утилита для создания каталогов
mknod утилита для создания специальных файлов устройств блочного или символьного типов
more утилита для постраничного вывода текста
mount утилита для монтирования файловых систем
mv утилита для перемещения/переименования файлов
ps утилита, возвращающая статус выполняющихся процессов
pwd утилита, возвращающая имя текущего рабочего каталога
rm утилита удаления файлов или каталогов
rmdir утилита удаления пустых каталогов
sed потоковый редактор `sed'
sh командная оболочка Борна
stty утилита для изменения установок или вывода информации об установках терминальной линии
su утилита смены идентификатора пользователя
sync утилита для сброса на диск содержимого буферов кеш-памяти
true утилита, не выполняющая никаких действий и возращающая статус завершения "успешно"
umount утилита для размонтирования файловых систем
uname утилита для получения информации о системе

Таблица 3.4.2.1

Если /bin/sh не является настоящей оболочкой Борна, это должна быть жесткая или символическая ссылка на реальную программу оболочки.

Обе команды [ и test должны быть расположены вместе, либо в каталоге /bin, либо в /usr/bin.

НАЧАЛО ПОЯСНЕНИЙ

Команда bash работает по-разному в зависимости от того, была ли она вызвана как sh или как bash. Кроме того, использование символической ссылки позволяет пользователям легко увидеть, что /bin/sh не является настоящей оболочкой Борна.

Требование того, чтобы команды [ и test включались в этот каталог как отдельные исполняемые файлы (даже если они реализованы как встроенные команды оболочки) присутствует также в стандарте POSIX.2.

КОНЕЦ ПОЯСНЕНИЙ

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

Следующие программы или символические ссылки на программы должны находиться в каталоге /bin если только соответствующие пакеты установлены в системе:

csh оболочка C-shell (optional)
ed редактор `ed' (optional)
tar утилита архивации tar (optional)
cpio утилита архивации cpio (optional)
gzip утилита сжатия (компрессии), разработанная в рамках проекта GNU (optional)
gunzip утилита декомпрессии, разработанная в рамках проекта GNU (optional)
zcat утилита декомпрессии, разработанная в рамках проекта GNU (optional)
netstat утилита сетевой статистики (optional)
ping утилита тестирования сети с помощью протокола ICMP (optional)

Таблица 3.4.3.2

Если файлы gunzip и zcat существуют, они должны быть символическими или жесткими ссылками на gzip. /bin/csh может быть символической ссылкой либо на /bin/tcsh, либо на /usr/bin/tcsh.

НАЧАЛО ПОЯСНЕНИЙ

Команды tar, gzip и cpio необходимы для восстановления системы (в предположении, что каталог / доступен).

Если же необходимость восстановления системы из корневого раздела отсутствует (например, в случае загрузки бездисковых рабочих станций, когда каталог /usr монтируется посредством протокола NFS) эти команды могут отстутствовать и в каталоге /bin. Если восстановление системы планируется проводить по сети, то файлы программ ftp или tftp (вместе со всем, что необходимо для установления соединения по протоколу ftp) должны быть размещаться в корневом разделе диска.

КОНЕЦ ПОЯСНЕНИЙ

[1] Исполняемые файлы, которые не так важны, чтобы быть расположенными в каталоге /bin, должны размещаться в каталоге /usr/bin. Те утилиты, которые необходимы только рядовым пользователям (файлы системы X Window, chsh, и так далее) обычно не так необходимы, чтобы размещаться в корневой файловой системе (в корневом разделе диска).


Previous: /: Рекомендации
Next: /boot : Статические файлы для загрузчика
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы (Filesystem Hierarchy Standard)

3.5 /boot : Статические файлы для системного загрузчика

3.5.1 Назначение

Этот каталог содержит все, что необходимо в процессе загрузки, исключая конфигурационные файлы и the map installer. Таким образом, в /boot хранятся данные, которые используются до того, как ядро начинает исполнять программы пользователя. Здесь же находятся резервные сохраненные копии главной загрузочной записи (master boot sectors), sector map files, и другие данные, которые не подлежат прямому редактированию. [примечание 2]

3.5.2 Specific Options

Ядро операционной системы должно быть расположено либо в корневом каталоге /, либо в /boot.[примечание 3]

[2] Программы, необходимые загрузчику для организации загрузки файлов, должны быть расположены в /sbin. Конфигурационные файлы загрузчика должны размещаться в /etc.

[3] На некоторых i386 компьютерах в силу аппартаных ограничений может оказаться необходимым разместить каталог /boot на отдельном разделе диска, расположенном целиком в пределах первых 1024 цилиндров загрузочного диска.

Certain MIPS systems require a /boot partition that is a mounted MS-DOS filesystem or whatever other filesystem type is accessible for the firmware. This may result in restrictions with respect to usable filenames within /boot (only for affected systems).


Previous: /bin : Основные исполняемые файлы (доступные всем пользователям)
Next: /dev : Файлы устройств
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы (Filesystem Hierarchy Standard)

3.6 /dev : Специальные файлы устройств

3.6.1 Назначение

Каталог /dev - это место расположения специальных файлов устройств.

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

Если может потребоваться создавать файлы устройств в /dev вручную, каталог /dev должен содержать команду MAKEDEV, которая может создать файл устройства в случае необходимости. Он может также содержать MAKEDEV.local для любых локальных устройств.

Если требуется, MAKEDEV должен иметь возможность создания любого устройства, которое может быть установлено в системе, а не только тех устройств, которые устанавливаются при какой-либо конкретной реализации.


Previous: /boot : Статические файлы для системного загрузчика
Next: /etc : Специфичная для данного хоста конфигурационная информация
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы (Filesystem Hierarchy Standard)

3.7 /etc : Специфичная для данного хоста конфигурационная информация

3.7.1 Назначение

Каталог /etc содержит конфигурационные файлы и каталоги, специфичные для данной конкретной системы.[прим. 4]

3.7.2 Требования

В каталоге /etc не должно быть бинарных файлов.

Следующие каталоги или символические ссылки на каталоги должны быть расположены в /etc:

"/etc"
opt
"Конфигурационная информация для данного хоста"
Конфигурация для /opt

Дерево 3.7.2.1

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

Следующие каталоги либо символические ссылки на них должны быть расположены в /etc, если соответствующие пакеты установлены в системе:

"/etc"
X11
sgml
"Конфигурационная информация для данного хоста"
Конфигурация системы X Window (optional)
Конфигурация для SGML и XML (optional)

Дерево 3.7.3.2

Следующие файлы либо символические ссылки на них должны быть расположены в /etc, если соответствующие пакеты установлены в системе: [примечание 5]

csh.login Общесистемный инициализационный файл для оболочки C-shell (optional)
exports Список контроля доступа для сетевой файловой системы NFS (optional)
fstab Постоянная информация для монтирования файловых систем (optional)
ftpusers Список контроля доступа для демона FTP (optional)
gateways Файл, содержащий список шлюзов для демона routed (optional)
gettydefs Установки терминала, используемые демоном getty (optional)
group Файл, определяющий списки групп пользователей в системе (optional)
host.conf Файл конфигурации для системы разрешения имен (optional)
hosts Постоянная информация об именах хостов (optional)
hosts.allow Список хостов, с которых разрешен доступ в систему (optional)
hosts.deny Список хостов, с которых запрещен доступ в систему (optional)
hosts.equiv Список доверенных хостов для rlogin, rsh, rcp (optional)
hosts.lpd Список доверенных (разрешенных) имен хостов для демона печати lpd (optional)
inetd.conf Конфигурационный файл для демона inetd (optional)
inittab Конфигурационный файл для init (optional)
issue Сообщение, выдаваемое системой до регистрации пользователя (optional)
ld.so.conf Список дополнительных каталогов для поиска разделяемых библиотек (optional)
motd Сообщение, выдаваемое системой после регистрации пользователя (optional)
mtab Динамически изменяющаяся информация о смонтированных файловых системах (optional)
mtools.conf Конфигурационный файл для mtools (optional)
networks Статическая информация о сетевых именах (optional)
passwd Файл паролей (optional)
printcap База данных с настройками принтеров для lpd (optional)
profile Общесистемный файл инициализации для оболочки, запускаемой при входе пользователя в систему (optional)
protocols Перечень IP-протоколов (optional)
resolv.conf Конфигурационный файл для системы разрешения имен (optional)
rpc Перечень протоколов удаленного вызова процедур (RPC) (optional)
securetty Файл со списком устройств, с которых может заходить пользователь root (optional)
services Имена портов для сетевых сервисов (optional)
shells Список путей доступа для имеющихся в системе оболочек (optional)
syslog.conf Конфигурационный файл для демона syslogd (optional)

Таблица 3.7.3.1

Файл mtab не соответствует неизменяемой природе файлов, размещенных в /etc: он помещен в данный каталог в виде исключения по историческим причинам.[примечание 6]

3.7.4 /etc/opt : Конфигурационные файлы для /opt

3.7.4.1 Назначение

Специфичные для данного хоста конфигурационные файлы для дополнительных пакетов прикладного программного обеспечения должны устанавливаться в каталоги /etc/opt/<package>, где <package> - имя поддерева в /opt, в котором хранятся статические данные для этого пакета.

3.7.4.2 Требования

Никаких ограничений на внутреннюю структуру каталога /etc/opt/<package> не какладывается.

Если конфигурационный файл должен располагаться в ином месте для того, чтобы пакет или система функционировали должным образом, этот файл может помещаться в каталог, отличный от /etc/opt/<package>.

НАЧАЛО ПОЯСНЕНИЙ
Смотри пояснения к /opt.
КОНЕЦ ПОЯСНЕНИЙ

3.7.5 /etc/X11 : Конфигурация для системы X Window (optional)

3.7.5.1 Назначение

/etc/X11 - это место размещения всех конфигурационных данных для X11, специфичных для данного хоста. Эта директория необходима для того, чтобы обеспечить локальное управление системой X Window в том случае, когда файловая система /usr монтируется только на чтение.

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

Следующие файлы или символические ссылки должны находиться в /etc/X11, если только соответствующая система установлена:

Xconfig Конфигурационный файл для ранних версий XFree86 (optional)
XF86Config Конфигурационный файл для XFree86 версий 3 и 4 (optional)
Xmodmap Глобальный файл модификации клавиатуры в X11 (optional)

Таблица 3.7.5.2.2

Среди подкаталогов в /etc/X11 могут находиться отдельные подкаталоги с конфигурационной информацией для xdm и других программ (например, для оконнных менеджеров), которые в такой информации нуждаются. [примечание 7]

3.7.6 /etc/sgml : Конфигурационные файлы для SGML и XML (optional)

3.7.6.1 Назначение

Здесь устанавливаются исходные конфигурационные файлы, определяющие параметры верхнего уровня SGML- или XML-систем. Файлы с именами *.conf - это исходные (generic) конфигурационные файлы. Файлы с именами *.cat - это DTD-специфичные централизованные (centralized) каталоги, содержащие ссылки ко всем другим каталогам, необходимым для использования какого-то конкретного DTD. Файл супер-каталога catalog содержит ссылки на все централизованные каталоги.

[4] Размещение командных скриптов запуска может осуществляться в соответствии с моделями, принятыми в System V, BSD, или какими-то другими моделями. Более точные спецификации в этой области могут быть установлены будущими версиями настоящего стандарта.

[5] Системы, в которых используются теневые пароли, создают дополнительные конфигурационные каталоги и файлы в /etc (/etc/shadow и другие), а также размещают программы в каталоге /usr/sbin (useradd, usermod и другие).

[6] В некоторых Linux-системах это может быть символическая ссылка на /proc/mounts; в этом случае исключение не требуется.

[7] /etc/X11/xdm содержит конфигурационные файлы для xdm. В большинстве случаев это файлы, которые раньше размещались в /usr/lib/X11/xdm. Неоторые локальные переменные данные для xdm хранятся в /var/lib/xdm. Мы рекомендуем, чтобы оконные менеджеры с одним единственным конфигурационным файлом, который обычно по умолчанию имеет имя .*wmrc, переименовали его в system.*wmrc (если только нет общепринятого альтернативного названия) и не использовать подкаталог. Любой подкаталог для оконного менеджера должен называться так же, как называется исполняемый файл оконного менеджера.


Previous: /dev : Файлы устройств
Next: /home : Домашние каталоги пользователей (optional)
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы (Filesystem Hierarchy Standard)

3.8 /home : Домашние каталоги пользователей (optional)

3.8.1 Назначение

Наличие каталога /home - это достаточно стандартное решение, очевидно только, что этот каталог является специфичным для каждого отдельного компьютера.[примечание 8]

[8] Разные люди предпочитают размещать пользовательские каталоги в разных местах. Данная секция описывает только предлагаемые варианты размещения домашних каталогов пользователей; тем не менее мы рекомендуем, чтобы все FHS-совместимые дистрибутивы использовали именно каталог /home как место размещения домашних каталогов.

В маленьких системах каждый пользовательский каталог является одним из многих подкаталогов каталога /home, таких как /home/smith, /home/torvalds, /home/operator и так далее. В больших системах (особенно когда каталоги /home являются разделяемыми между многими хостами посредством NFS) полезно объединить домашние каталоги в группы, введя подкаталоги групп такие как /home/staff, /home/guests, /home/students и так далее. Но как бы то ни было структура домашних каталогов различается от хоста к хосту. Следовательно, никакая программа не должна полагаться на какие-то предположения о структуре домашних каталогов.[примечание 9]

[9] Если вы хотите разыскать домашний каталог пользователя, вы должны использовать библиотечную функцию getpwent(3), а не полагаться на запись в /etc/passwd, потому что информация о пользователях может храниться на удаленных хостах, используя такие системы, как NIS.


Previous: /etc : Специфичная для данного хоста конфигурационная информация
Next: /lib : Основные разделяемые библиотеки и модули ядра
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

3.9 /lib : Основные разделяемые библиотеки и модули ядра

3.9.1 Назначение

Каталог /lib содержит те разделяемые библиотеки, которые необходимы для загрузки системы и запуска команд, расположенных в корневой файловой системе, то есть в каталогах /bin и /sbin. [примечание 10]

3.9.2 Требования

По крайней мере один из файлов, соответствующих каждому из следующих шаблонов, должен найтись в данном каталоге (это могут быть либо реальные файлы, либо символические ссылки):

libc.so.* Динамически подсоединяемые библиотеки C (optional)
ld* Компоновщик/загрузчик времени выполнения (The execution time linker/loader) (optional)

Таблица 3.9.2.1

Если препроцессор языка Си установлен, /lib/cpp должен быть ссылкой на него, по историческим причинам.[примечание 11]

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

Следующие каталоги или символические ссылки на каталоги должны находиться в /lib, если соответствующая подсистема установлена:

"/lib"
modules
"Основные разделяемые библиотеки и модули ядра"
Загружаемые модули ядра (optional)

Дерево 3.9.3.1

[10] Разделяемые библиотеки, которые необходимы только исполняемым файлам, расположенным в /usr (таким как бинарные файлы системы X Window) НЕ должны располагаться в /lib. Только те разделяемые библиотеки, которые необходимы для запуска программ из /bin и /sbin могут располагаться здесь. В частности, библиотека libm.so.* может быть расположена в /usr/lib, если она не требуется никаким программам из /bin или /sbin.

[11] Обычное местоположение этого бинарного файла - /usr/lib/gcc-lib/<target>/<version>/cpp. /lib/cpp может быть либо прямой ссылкой на этот файл, либо ссылкой на любой другой указатель этого файла, существующий в файловой системе. (Например, часто используется /usr/bin/cpp).


Previous: /home : Домашние каталоги пользователей (optional)
Next: /lib<qual> : Основные разделяемые библиотеки альтернативных форматов (optional)
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандартная иерархия файловых систем
(Filesystem Hierarchy Standard)

4 Иерархия /usr

4.1 Назначение

Каталог /usr - это второй главный раздел файловой системы (is the second major section of the filesystem). /usr содержит разделяемые данные, предназначенные только для чтения. Это означает, что /usr может быть доступен с различных FHS-совместимых хостов и права записи в него не должно быть. Любая информация, которая является специфичной для конкретного хоста или может изменяться со временем, должна записываться в другое место.

Большие программные пакеты не должны использовать непосредственно подкаталоги каталога /usr в этой иерархии. (Large software packages must not use a direct subdirectory under the /usr hierarchy.)


Previous: /tmp : Временные файлы
Next: Требования
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

4.10 /usr/sbin : Не обязательные стандартные системные команды

4.10.1 Назначение

Этот каталог содержит любые не обязательные системные команды, используемые исключительно системным администратором. Программы для выполнения задач системного администрирования, которые необходимы для восстановления системы, монтирования /usr, или для других самых важных системных задач, должны размещаться в /sbin.[примечание 24]

[24] Локально устанавливаемые программы для системного алминистрирования должны размещаться в /usr/local/sbin.


Previous: /usr/local : Каталог для локального ПО
Next: /usr/share : Архитектурно-независимые данные
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

4.11 /usr/share : Архитектурно-независимые данные

4.11.1 Назначение

Каталоговая структура /usr/share предназначена для всех файлов, которые предназначены только для чтения и не зависят от архитектуры. [примечание 25]

Эта каталоговая структура предназначена для того, чтобы хранить файлы, используемые всеми архитектурными платформами данной ОС. Так, например, компьютеры на платформах i386, Alpha и PPC могут поддерживать один общий каталог /usr/share, который монтируется на отдельных компьютерах. Заметим, однако, что /usr/share обычно не предназначен для того, чтобы быть разделяемым различными операционными системами или различными версиями одной и той же ОС (or by different releases of the same OS).

Любая программа или пакет, который содержит или требует данных, не подлежащих модификации, должны хранить эти данные в каталоге /usr/share (или /usr/local/share, если пакет установлен локально). Рекомендуется использовать для этих целей подкаталоги каталога /usr/share.

Данные игровых программ, сохраняемые в /usr/share/games, должны быть чисто статическими данными. Любые модифицируемые файлы, такие как файлы результатов игр (score files), протоколы игр и так далее, должны размещаться в каталоге /var/games.

4.11.2 Требования

Следующие каталоги или символические ссылки на каталоги должны присутствовать в /usr/share

"/usr/share"
man
misc
"Архитектурно-независимые данные"
Онлайновые руководства
Различные архитектурно-независимые данные

Дерево 4.11.2.1

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

Следующие каталоги или символические ссылки на каталоги должны иметься в /usr/share, если соответствующие подсистемы установлены:

"/usr/share"
dict
doc
games
info
locale
nls
sgml
terminfo
tmac
zoneinfo
"Архитектурно-независимые данные"
Словари (optional)
Различная документация (optional)
Файлы статических данных для /usr/games (optional)
Основная директория для системы GNU Info (optional)
Локальная информация (optional)
Каталоги сообщений для поддержки языков (Native language support) (optional)
Данные для SGML и XML (optional)
Каталог базы данных для terminfo (optional)
Макросы для troff, не распространяемые с groff (optional)
Конфигурационные файлы и информация о временной зоне (optional)

Дерево 4.11.3.2

Рекомендуется размещать здесь создаваемые приложениями, архитектурно-независимые каталоги. К такого рода каталогам относятся groff, perl, ghostscript, texmf и kbd (Linux) или syscons (BSD). Они могут, однако, из соображений обратной совместимости, располагаться в /usr/lib, at the distributor's discretion. Подобным же образом в дополнение к каталогу /usr/share/games может создаваться каталог /usr/lib/games если разработчик желает разместить тут какие-то данные для своей игры.

4.11.4 /usr/share/dict : Словари (optional)

4.11.4.1 Назначение

Эта директория содержит списки слов (словари), используемые в системе; обычно в ней находится только файл words для английского языка, который используется утилитой look(1) и различными программами проверки правописания. Файл words может быть ориентирован либо на американский, либо на британский вариант языка (may use either American or British spelling).
НАЧАЛО ПОЯСНЕНИЙ
Причина того, что здесь размещается только один список слов, состоит в том, что это единственный файл, общий для всех программ проверки правописания.
КОНЕЦ ПОЯСНЕНИЙ

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

Следующие файлы или символические ссылки на файлы должны быть в /usr/share/dict, если соответствующие подсистемы установлены:

words Список слов английского языка (optional)

Таблица 4.11.4.2.1

В системах, где необходим как американский, так и британский английский, можно сделать words ссылкой на /usr/share/dict/american-english или /usr/share/dict/british-english.

Списки слов для других языков могут быть добавлены, используя английское название соответствующего языка, например, /usr/share/dict/french, /usr/share/dict/danish, и так далее. В названиях должен, по возможности, использоваться набор символов ISO 8859, соответствующий данному языку; если возможно, надо использовать набор символов Latin1 (ISO 8859-1) (зачастую это невозможно).

Другие списки слов тоже могут включаться в этот каталог, если они присутствуют.

4.11.5 /usr/share/man : Страницы руководства man

4.11.5.1 Назначение

Настоящий раздел детализирует организацию страниц интерактивного руководства man в системе, включая описание каталогов /usr/share/man и /var/cache/man.

Исходной директорией (<mandir>) для интерактивного руководства man в системе является каталог /usr/share/man. Этот каталог содержит информацию о командах и других данных, размещаемых в файловых системах / и /usr.[примечание 26]

Страницы интерактивного руководства хранятся в каталогах <mandir>/<locale>/man<section>/<arch>. Разъяснения того, что имеется в виду под <mandir>, <locale>, <section> и <arch> даются ниже.

Страница интерактивного руководства man разбиты на следующие секции:

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

Следующие каталоги или символические ссылки на каталоги должны быть в /usr/share/<mandir>/<locale>, если только она не пуста.[примечание 28]

"<mandir>/<locale>"
man1
man2
man3
man4
man5
man6
man7
man8
"Иерархия страниц интерактивного руководства"
Пользовательские программы (optional)
Системные вызовы (optional)
Библиотечные вызовы (optional)
Специальные файлы (optional)
Форматы файлов (optional)
Игры (optional)
Разное (optional)
Системное администрирование (optional)

Дерево 4.11.5.2.3

Компонент <section> задает секцию руководства.

Некоторые дополнения должны быть сделаны в структуре каталога /usr/share/man для поддержки страниц руководства, написанных на разных (или нескольких) языках. При внесении этих изменений необходимо иметь в виду место расположения и ссылки на эти страницы. Кроме того, приходится учитывать такие особенности языка как различия, обусловленные географическими факторами и различными кодировками.

Способ именования специфичных для языка подкаталогов /usr/share/man основан на Приложении E стандарта POSIX 1003.1, которое задает формат строки, идентифицирующей локаль, -- это общепринятый метод определения особенностей, определяемых культурой той или иной страны. Строка <locale> имеет следующий формат:

<language>[_<territory>][.<character-set>][,<version>]

Поле <language> должно браться из стандарта ISO 639 (коды для представления названий языков). Оно должно состоять из двух символов и записываться только в нижнем регистре.

Поле <territory> представляет собой, если это возможно, двух-буквенный код из ISO 3166 (спецификация представления названий стран). (a specification of representations of countries). (Большинство людей знакомы с двухбуквенными кодами, используемыми для обозначения стран в почтовых адресах. [примечание 29]). Это поле должно состоять из двух символов, записываемых только в верхнем регистре (заглавными буквами),

Поле <character-set> представляет собой стандартное описание кодировки (the character set). Если поле <character-set> представлено только цифрами, эти цифры представляют номер международного стандарта, описывающего набор символов (the number represents the number of the international standard describing the character set). Рекомендуется, если это возможно, чтобы это было числовое представление (в особенности стандартов ISO), не включающее дополнительных символов пунктуации, и чтобы любые символы были в нижнем регистре.

После поля <character-set> может располагаться параметр <version>, который отделяется запятой. Этот параметр может использоваться для выделения каких-то культурных различий; например, dictionary order versus a more systems-oriented collating order. Настоящий стандарт рекомендует не использовать поле <version>, если только это не является необходимым.

Системы, которые используют только один язык и набор символов для все страниц интерактивного руководства, могут опустить подстроку <locale> и хранить все страницы руководства в <mandir>. Например, системы, в которых страницы руководства имеются только на английском языке, причем в кодировке ASCII, могут хранить все страницы документации (каталоги man<section>) прямо в /usr/share/man. (Фактически это традиционное их местоположение.)

Страны, для которых есть общепринятый стандарт кодвого набора символов, могут опустить поле <character-set>, но мы настоятельно рекомендуем включить его, особенно для стран с несколькими конкурирующими стандартами.

Различные примеры:

Язык Территория Набор символов (Character Set) Каталог
Английский -- ASCII /usr/share/man/en
Английский Великобритания ASCII /usr/share/man/en_GB
Английский Соединенные Штаты ASCII /usr/share/man/en_US
Французский Канада ISO 8859-1 /usr/share/man/fr_CA
Французский Франция ISO 8859-1 /usr/share/man/fr_FR
Немецкий Германия ISO 646 /usr/share/man/de_DE.646
Немецкий Германия ISO 6937 /usr/share/man/de_DE.6937
Немецкий Германия ISO 8859-1 /usr/share/man/de_DE.88591
Немецкий Швейцария ISO 646 /usr/share/man/de_CH.646
Японский Япония JIS /usr/share/man/ja_JP.jis
Японский Япония SJIS /usr/share/man/ja_JP.sjis
Японский Япония UJIS (or EUC-J) /usr/share/man/ja_JP.ujis

Таблица 4.11.5.2.2

Аналогичным образом некоторые изменения должны быть сделаны для страниц руковоства, которые зависят от архитектуры, таких как описания драйверов устройств или низкоуровневых команд системного администрирования. Таковые должны быть размещены в подкаталогах <arch> в соответсвующем каталоге man<section>; например, man-страница для команды ctrlaltdel(8) для архитектуры i386 может быть расположен в /usr/share/man/<locale>/man8/i386/ctrlaltdel.8.

Страницы руководства для команд и данных, размещаемых в /usr/local, хранятся в /usr/local/man. Страницы руководства для X11R6 хранятся в /usr/X11R6/man. Отсюда следует, что иерархия страниц руководства в системе должна иметь ту же самую структуру, что и /usr/share/man.

Секции руководства, отформатированные для вывода командой cat (cat<section>), тоже могут располагаться в подкаталогах каталога <mandir>/<locale>, но это не обязательно и оне не могут заменять страницы руководства в формате nroff.

Нумерация секций от "1" до "8" определена традициями. В общем случае имена файлов для страниц руководства, расположенных в определнной секции, оканчиваются расширением вида .<section>.

Кроме того, некоторые большие массивы страниц руководства, относящихся к определенным приложениям, могут иметь дополнительный суффикс, добавляемый к имени файла со страницей руководства. Например, для системы обработки почты MH файлы руководства должны иметь лополнительный суффикс mh в имени файла. Все страницы руководства для системы X Window System должны иметь дополнение x к имени файла.

Обычай размещения страниц интерактивного руководства для различных языков в соответствующих подкаталогах каталога /usr/share/man распространяется также на другие структуры каталогов с руководствами, такие как /usr/local/man и /usr/X11R6/man. (Эта часть стандарта применяется также к каталоговой структуре /var/cache/man, рассматриваемой ниже.)

4.11.6 /usr/share/misc : Различные архитектурно-независимые данные

Этот каталог содержит различные архитектурно-независимые файлы, для которых не требуется отдельный подкаталог в /usr/share.

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

Следующие файлы или символические ссылки на файлы должны иметься в /usr/share/misc, если соответствующие подсистемы установлены.

ascii таблица набора символов ASCII (ASCII character set table) (optional)
magic Список магических чисел (list of magic numbers) для команды file, используемый по умолчанию (optional)
termcap База данных с параметрами терминалов (optional)
termcap.db База данных с параметрами терминалов (optional)

Таблица 4.11.6.1.3

Другие (специфические для отдельных приложений) файлы тоже могут размещаться здесь [примечание 30], но разработчики могут при желании разместить их также в /usr/lib.

4.11.7 /usr/share/sgml : данные для SGML и XML (optional)

4.11.7.1 Назначение

/usr/share/sgml содержит архитектурно-независимые файлы, используемые SGML или XML приложениями, такие как обычные каталоги (ordinary catalogs) (не централизованные, смотри /etc/sgml), DTDs, entities, или таблицы стилей.

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

Следующие каталоги или символические ссылки на каталоги должны быть в /usr/share/sgml, если соответствующие подсистемы установлены:

"/usr/share/sgml"
docbook
tei
html
mathml
"данные для SGML и XML"
docbook DTD (optional)
tei DTD (optional)
html DTD (optional)
mathml DTD (optional)

Дерево 4.11.7.2.4

Другие файлы, которые не относятся к данному DTD, могут располагаться в их собственных подкаталогах.

[25] Многие их этих данных когда-то размещались в /usr (man, doc) или /usr/lib (dict, terminfo, zoneinfo).

[26] Очевидно, что файлы интерактивного руководства не нужны в корневой файловой системе /, потому что они не требуются во время загрузки системы и не являются необходимыми в чрезвычайных обстоятельствах. [примечание 27]

[27] Действительно.

[28] Например, если /usr/local/man не содержит файлов руководства в секции 4 (Устройства), то /usr/local/man/man4 может не создаваться.

[29] Главным исключением из этого правила является Великобритания (the United Kingdom), которая в ISO 3166 обозначается ка `GB', а в большинстве почтовых адресов как `UK'.

[30] Вот некоторые из таких файлов:


Previous: /usr/sbin : Не обязательные стандартные команды
Next: /usr/src : Исходные коды (optional)
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

4.12 /usr/src : Исходные коды (optional)

4.12.1 Назначение

Любые не локальные (Any non-local) исходные коды должны размещаться в этом каталоге.
Previous: /usr/share : Архитектурно-независимые данные
Next: Каталоговая структура /var
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

4.2 Требования

Следующие каталоги или символические ссылки на каталоги должны присутствовать в /usr.

"/usr"
bin
include
lib
local
sbin
share
"Каталоговоая структура второго уровня"
Большая часть пользовательских команд
Файлы заголовков (header files), включаемые в программы на языке C
Библиотеки
Каталоговая структура Local (пустая непосредственно после инсталляции системы)
Системные утилиты, не являющиеся жизненно-важными (Non-vital system binaries)
Архитектурно-независимые данные

Дерево 4.2.1


Previous: Назначение
Next: Рекомендации
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

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

"/usr"
X11R6
games
lib<qual>
src
"Каталоговая структура второго уровня"
X Window System, version 11 release 6 (optional)
Игры и обучающие программы (optional)
Библиотеки для альтернативных форматов (optional)
Исходные коды (optional)

Дерево 4.3.1

Исключение сделано для системы X Window в силу сложившихся традиций и широко распространенной практики.

Могут создаваться следующие символические ссылки на каталоги.


    /usr/spool -> /var/spool
    /usr/tmp -> /var/tmp
    /usr/spool/locks -> /var/lock

Эта возможность обусловлена необходимостью сохранить совместимость со старыми системами до тех пор, пока все реализации не начнут использовать каталоги, размещенные непосредственно в /var.

Если система уже не требует наличия указанных ссылок, они могут быть удалены, если есть такое желание.


Previous: Требования
Next: /usr/X11R6 : X Window System, Version 11 Release 6 (optional)
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

4.4 /usr/X11R6 : X Window System, Version 11 Release 6 (optional)

4.4.1 Назначение

Эта каталоговая структура зарезервирована для системы X Window System, version 11 release 6, и относящихся к ней файлов.

Для некоторого упрощения и сохранения совместимости XFree86 с системой X Window для других типов операционных систем должны быть созданы следующие символические ссылки, если только каталог /usr/X11R6 существует:


    /usr/bin/X11 -> /usr/X11R6/bin
    /usr/lib/X11 -> /usr/X11R6/lib/X11
    /usr/include/X11 -> /usr/X11R6/include/X11

В общем случае программное обеспечение не должно использовать перечисленные символические ссылки при инсталляции или в целях управления. Они предназначены только для пользователей. Трудности связаны с версиями выпусков системы X Window -- в переходный период невозможно узнать, какая версия X11 используется.

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

Специфичные для каждого хоста данные в каталоге /usr/X11R6/lib/X11 должны использоваться только в демонстрационных целях. Приложения, которым необходима информация о текущей конфигурации хоста, должны искать ее в каталоге /etc/X11, куда могут быть сделаны ссылки из каталога /usr/X11R6/lib.[примечание 17]

[17] Примерами таких конфигурационных файлов могут служить Xconfig, XF86Config или system.twmrc.


Previous: /usr : Рекомендации
Next: /usr/bin : Большая часть пользовательских команд
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

4.5 /usr/bin : Большая часть команд пользователя (Most user commands)

4.5.1 Назначение

Это основное место для размещения исполняемых файлов системы.

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

Следующие каталоги или символические ссылки на каталоги должны быть присутствовать в /usr/bin, если только соответствующие пакеты установлены в системе:

"/usr/bin"
mh
"Исполняемые файлы, которые не нужны в однопользовательском режиме"
Команды для системы обработки почты MH (MH mail handling system) (optional)

Дерево 4.5.2.1

/usr/bin/X11 должен быть символической ссылкой на /usr/X11R6/bin если последний существует.

Следующие файлы или символические ссылки на файлы должны быть размещены в /usr/bin, если только соответствующие пакеты установлены в системе:

perl Язык Perl (The Practical Extraction and Report Language) (optional)
python Интерпретирующий язык Python (optional)
tclsh Оболочка интерпретатора Tcl (optional)
wish Оболочка Tcl/Tk (optional)
expect Программа для организации интерактивного диалога (optional)

Таблица 4.5.2.1

НАЧАЛО ПОЯСНЕНИЙ
Поскольку интерпретаторы скриптов оболочки (вызываемые командой вида #!<path> в первой строке скрипта) не могут полностью полагаться на эту строку, имеет смысл стандартизовать их расположение. Размещение интерпретаторов оболочек Борна и C-shell уже зафиксировано в каталоге /bin, но интерпретаторы языков Perl, Python и Tcl часто размещаются в самых разных местах. В каталоге /usr/bin можно оставить только символические ссылки на действительное местоположение интерпретаторов.
КОНЕЦ ПОЯСНЕНИЙ


Previous: /usr/X11R6 : X Window System, Version 11 Release 6 (optional)
Next: /usr/include : Каталог для стандартных подключаемых файлов.
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

4.6 /usr/include : Каталог для стандартных подключаемых файлов.

4.6.1 Назначение

Это место, где должны быть размещены все системные подключаемые файлы общего пользования для языка программирования C.

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

Следующие каталоги или символические ссылки на каталоги должны быть в /usr/include, если соответствующие подсистемы установлены:

"/usr/include"
bsd
"Подключаемые файлы"
BSD-совместимые подключаемые файлы (optional)

Дерево 4.6.2.1

Символическая ссылка /usr/include/X11 должны указывать на /usr/X11R6/include/X11, если тлько последний существует.


Previous: /usr/bin : Большинство пользовательских команд
Next: /usr/lib : Библиотеки для программирования и приложений
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

4.7 /usr/lib : Библиотеки для программирования и приложений

4.7.1 Назначение

Каталог /usr/lib содержит объектные файлы, библиотеки и внутренние исполняемые файлы, которые не могут вызываться непосредственно пользователями из командной строки или скриптов оболочки. [примечание 18]

Приложения могут использовать отдельные подкаталоги в /usr/lib. Если приложение использует подкаталог, все архитектурно-зависимые данные, используемые только этим приложением, должны размещаться внутри этого подкаталога. [примечание 19]

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

По историческим причинам /usr/lib/sendmail должен быть символической ссылкой на /usr/sbin/sendmail, если последний существует. [примечание 20]

Если /lib/X11 существует, /usr/lib/X11 должен быть символической ссылкой на /lib/X11, либо на тот каталог, на который ссылается /lib/X11.[примечание 21]

[18] Различные архитектурно-зависимые статические файлы и подкаталоги, специфичные для отдельных приложений, должны размещаться в /usr/share.

[19] Например, подкаталог perl5 для модулей и библиотек Perl 5.

[20] Некоторые исполняемые команды, такие как makewhatis и sendmail тоже по традиции размещаются в /usr/lib. makewhatis - это внутреннй исполняемый файл и должен размещаться в подкаталоге для бинарных файлов; пользователям предоставляется доступ только к catman. Исполняемые файлы последних версий sendmail теперь по умолчанию располагаются в /usr/sbin. Кроме того, системы, использующие sendmail-совместимые агенты передачи почты, должны делать /usr/sbin/sendmail символической ссылкой к соответствующему исполняемому файлу.

[21] Специфичные для каждого хоста данные для системы X Window не должны размещаться в /usr/lib/X11. Специфичные для хоста конфигурационные файлы, такие как Xconfig или XF86Config должны храниться в /etc/X11. Это требование относится и к таким фонфигурационным данным, как system.twmrc, даже если это только символическая ссылка на более общий конфигурационный файл (вероятно в /usr/X11R6/lib/X11).


Previous: /usr/include : Каталог для стандартных подключаемых файлов.
Next: /usr/lib<qual> : Библиотеки для альтернативных форматов (optional)
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

4.8 /usr/lib<qual> : Библиотеки для альтернативных форматов (optional)

4.8.1 Назначение

/usr/lib<qual> выполняет ту же роль, что и каталог /usr/lib, но по отношению к альтернативным форматам исполняемых файлов, за исключением того, что символические ссылки /usr/lib<qual>/sendmail и /usr/lib<qual>/X11 не требуются.[примечание 22]

[22] В случае, когда /usr/lib и /usr/lib<qual> есть фактически одно и то же (один из них есть просто символическая ссылка на другой) эти файлы и подкаталоги для отдельных приложений будут существовать.


Previous: /usr/lib : Библиотеки для программирования и приложений
Next: /usr/local : Каталог для локального ПО
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

4.9 /usr/local : Каталог для локального ПО (Local hierarchy)

4.9.1 Назначение

Каталоговая структура /usr/local используется системным администратором в тех случаях, когда он устанавливает программное обеспечение, которое будет использоваться локально в рамках данного хоста. Этот каталог не должен перезаписываться при обновлениях системного программного обеспечения. Он может использоваться для программ и данных, не попавших в каталог /usr, доступ к которым разрешен с других хостов.

Локально устанавливаемое программное обеспечение должно располагаться не в /usr, а в /usr/local если только его установка производится не в целях замены или обновления ПО в /usr. [примечание 23]

4.9.2 Требования

Следующие каталоги или символические ссылки на каталоги должны иметься в /usr/local

"/usr/local"
bin
games
include
lib
man
sbin
share
src
"Каталог для локального ПО"
Локальные исполняемые файлы
Локально установленные игровые приложения
Локальные заголовочные файлы для C
Локальные библиотеки
Локальные онлайновые руководства
Локальные системные исполняемые файлы
Архитектурно-независимые каталоговая структура для локального ПО
Локально установленные исходные коды

Дерево 4.9.2.1

Никаких каталогов, кроме перечисленных выше, не должно быть в /usr/local после первой установки FHS-совместимой системы.

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

Если каталоги /lib<qual> или /usr/lib<qual> существуют, аналогичные каталоги должны иметься и в /usr/local.

[23] Программное обеспечение, расположенное в / или /usr может быть перезаписано при обновлениях системы (хотя мы рекомендуем, чтобы дистрибутивы не перезаписывали данные в /etc в таких обстоятельствах). По этой причине локально устанавливаемое программное обеспечение не должно размещаться за пределами каталога /usr/local без достаточных на то оснований.


Previous: /usr/lib<qual> : Библиотеки альтернативных форматов(optional)
Next: /usr/sbin : Не обязательные стандартные системные команды
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандартная иерархия файловых систем
(Filesystem Hierarchy Standard)

5 Каталоговая стуктура /var

5.1 Назначение

Каталог /var содержит файлы с изменяющимися данными. В их число входят каталоги и файлы спулинга, данные об администрировании и логировании, временные файлы.

Некоторые части каталоговой структуры /var не являются разделяемыми между разными системами. К ним относятся /var/log, /var/lock и /var/run. Другие части могут быть разделяемыми, например, /var/mail, /var/cache/man, /var/cache/fonts и /var/spool/news.

Каталоговая структура /var определяется здесь с той целью, чтобы сделать возможным монтирование каталога /usr в режиме только для чтения. Все, что записывается на диск в процессе выполнения системных операций (в противоположность процессам инсталляции и поддержки программного обеспечения), должно размещаться в каталоге /var.

Если /var не может быть размещен в отдельном разделе диска, зачастую предпочительнее переместить каталог /var из корневого раздела в раздел с каталогом /usr. (Иногда это делается с целью уменьшения размера корневого раздела или когда в корневом разделе остается слишком мало места). Однако, /var нельзя делать ссылкой на /usr потому что это затрудняет разделение /usr и /var и может привести к конфликту имен. Лучше уж сделать /var ссылкой на /usr/var.

Приложения в общем случае не должны добавлять каталоги непосредственно в /var. Такие каталоги могут создаваться только в силу каких-то общесистемных соображений и после консультаций через лист рассылки FHS.


Previous: /usr/src : Исходные коды (optional)
Next: Требования
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

5.10 /var/log : Каталоги и файлы протоколов

5.10.1 Назначение

Эта директория содержит разнообразные файлы протоколов. Большая часть протоколов должна записываться в этот каталог или соответствующий подкаталог.

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

Следующие файлы или символические ссылки на на файлы должны быть в /var/log, если соответствующая подсистема установлена:

lastlog запись о последнем входе в систему каждого пользователя
messages системные сообщения от syslogd
wtmp записи о всех входах и выходах пользователей в систему

Table 5.10.2.1


Previous: /var/lock : Файлы блокирования
Next: /var/mail : Почтовые ящики пользователей (optional)
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

5.11 /var/mail : Почтовые ящики пользователей (optional)

5.11.1 Назначение

Область спулинга для почты должна размещаться в /var/mail, а имена файлов с сообщениями должны иметь вид <username>. [примечание 36]

Файлы почтовых ящиков в этих каталогах должны хранится в формате стандартных почтовых ящиков UNIX (UNIX mailbox format).

НАЧАЛО ПОЯСНЕНИЙ

Прежнее логическое местоположение этого каталога (/var/spool/mail ) было изменено для того, чтобы привести FHS в соответствие почти со всеми реализациями UNIX. Это изменение важно с точки зрения обеспечения взаимодействия разных систем, поскольку единая область /var/mail часто используется многими хостами, на которых запущены различные реализации UNIX (despite NFS locking issues).

Важно заметить, что нет требования физически переместить область спулинга в указанный каталог. Однако программы и заголовочные файлы должны быть изменеы так, чтобы они использовали /var/mail.

КОНЕЦ ПОЯСНЕНИЙ

[36] Заметьте, что /var/mail может быть символической ссылкой на другой каталог.


Previous: /var/log : Каталоги и файлы протоколов
Next: /var/opt : Переменные данные для /opt
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

5.12 /var/opt : Переменные данные для /opt

5.12.1 Назначение

Переменные данные для пакетов, установленных в /opt, должны размещаться в /var/opt/<package>, где <package> - это название структуры каталогов в /opt, в которой хранятся статические данные дополнительного пакета ПО, исключая те случаи, когда размещение явно указано в каком-либо файле из /etc. На внутреннюю структуру каталога /var/opt/<package> никаких ограничений не накладывается.
НАЧАЛО ПОЯСНЕНИЙ

Смотри пояснения к /opt.
КОНЕЦ ПОЯСНЕНИЙ


Previous: /var/mail : Почтовые ящики пользователей (optional)
Next: /var/run : Переменные данные времени выполнения
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

5.13 /var/run : Переменные данные времени выполнения (Run-time variable data)

5.13.1 Назначение

Этот каталог содержит данные, описывающие состояние системы с того момента, как она была загружена (This directory contains system information data describing the system since it was booted). Файлы в этом каталоге должны очищаться (удаляться или урезаться соответствующим образом) в начале процесса загрузки системы. Программы могут иметь подкаталоги в каталоге /var/run; это приветствуется для программ, которые используют более одного файла времени выполнения. [примечание 37]

5.13.2 Требования

Внутренний формат для файлов, в которых хранятся идентификаторы процесов (PID), остаются неизменными. Файл должен состоять из идентификатора процесса в коде ASCII, записанном в десятичной нотации, за которым следует символ конца строки. Например, если crond запущен как процесс с номером 25, /var/run/crond.pid будет содержать три символа: два, пять и символ новой строки.

Программы, которые читают PID-файлы, должны быть достаточно гибкими в отношении того, что они воспринимают: то есть они должны игнорировать лишние пробелы, предшествующие ноли, отсутствие завершающего символа новой строки или дополнительные строки в PID-файле. Программы, которые создают PID-файлы, должны использовать простые спецификации, изложенные в предыдущем параграфе.

Файл utmp, в котором хранится информация о том, кто в данный момент использует систему, расположен в этом каталоге.

Программы, которые поддерживают transient UNIX-domain sockets, должны размещать их в этом каталоге.

[37] Непривелигированные пользователи должны быть лишены права записи в каталог /var/run; с точки зрения безопасности предоставление любому пользователю права записи в этот каталог представляет большую угрозу. Файлы с идентификаторами процессов (PID), которые раньше располагались в /etc, должны быть размещены в /var/run. Соглашение об именах этих файлов следующее: <program-name>.pid. Например, PID-файл для демона crond называется /var/run/crond.pid.


Previous: /var/opt : Переменные данные для /opt
Next: /var/spool : Очереди данных для приложений
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

5.14 /var/spool : Очереди данных для приложений

5.14.1 Назначение

Каталог /var/spool содержит данные, которые ожидают какой-то последующей обработки. Данные в /var/spool представляют работы, которые должны быть выполнены в будущем (программой, пользователем или администратором); обычно после обработки эти данные удаляются. [примечание 38]

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

Следующие каталоги или символические ссылки на каталоги должны присутствовать в /var/spool, если соответствующие подсистемы установлены:

"/var/spool"
lpd
mqueue
news
rwho
uucp
"Каталоги очередей (спулинга)"
Каталог спулинга для принтера (optional)
Очередь исходящей почты (optional)
Каталог спулинга новостей (optional)
Файлы программы Rwhod (optional)
Каталог спулинга для UUCP (optional)

Дерево 5.14.2.1

5.14.3 /var/spool/lpd : Очередь печати для демона LPD (optional)

5.14.3.1 Назначение

Файл блокировки для lpd, lpd.lock, должен размещаться в /var/spool/lpd. Предполагается, что файл блокировки для каждого принтера размещается в каталоге спулинга для этого конкретного принтера и называется lock.

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

"/var/spool/lpd"
<printer>
"Каталог спулинга для принтера"
Очереди печати для конкретного принтера (optional)

Дерево 5.14.3.2.2

5.14.4 /var/spool/rwho : Файлы для rwhod (optional)

5.14.4.1 Назначение

Этот каталог содержит информацию, необходимую команде rwhod для ответов на запросы других машин в локальной сети.
НАЧАЛО ПОЯСНЕНИЙ

Некоторые выпуски BSD используют каталог /var/rwho для хранения этих данных; хотя в других системах такие данные исторически располагались в /var/spool, но в силу того, что они вполне соотвествуют понятию данных, находящихся в очереди, новое местоположение их кажется более правильным.
КОНЕЦ ПОЯСНЕНИЙ

[38] Файлы блокировки для UUCP должны размещаться в каталоге /var/lock. Смотри выше секцию о /var/lock.


Previous: /var/run : Переменные данные времени выполнения
Next: /var/tmp : Временные файлы, сохраняемые между перезапусками системы
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

5.15 /var/tmp : Временные файлы, сохраняемые между перезапусками системы

5.15.1 Назначение

Каталог /var/tmp сделан доступным для программ, которым требуется временные файлы или каталоги, которые должны сохраняться между перезагрузками системы. Следовательно, данные, хранящиеся в /var/tmp, являются более постоянными, чем данные в /tmp.

Файлы и каталоги, размещенные в /var/tmp, не должны удаляться, когда система (пере)загружается. Хотя данные, сохраняемые в /var/tmp, обычно удаляются специфичным для каждого сайта образом, рекомендуется удалять их чаще, чем данные в /tmp.


Previous: /var/spool : Очереди данных для приложений
Next: /var/yp : Файлы базы данных сетевой информационной системы NIS (optional)
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

5.16 /var/yp : Файлы базы данных сетевой информационной системы NIS (optional)

5.16.1 Назначение

Переменные данные для сетевой информационной системы (Network Information Service - NIS), ранее известной как Sun Yellow Pages (YP), должны размещаться в этом каталоге.
НАЧАЛО ПОЯСНЕНИЙ

Каталог /var/yp является стандартным каталогом для данных NIS (YP) и постоянно используются в документации на NIS и в соответствующих системах. [примечание 39]
КОНЕЦ ПОЯСНЕНИЙ

[39] Не путайте NIS с Sun NIS+, которая использует другой каталог, /var/nis.


Previous: /var/tmp : Временные файлы, сохраняемые между перезапусками системы
Next: Дополнения, специфичные для отдельных типов операционых систем
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

5.2 Требования

Следующие каталоги или символические ссылки на каталоги должны обязательно присутствовать в /var.

"/var"
cache
lib
local
lock
log
opt
run
spool
tmp
"Переменные данные"
Данные из кэшей приложений
Переменная информация о состоянии приложений
Переменные данные для /usr/local
Файлы блокирования устройств и программ
Каталоги и файлы протоколов
Переменные данные для /opt
Данные, относящиеся к запущенным процессам
Данные очередей, создаваемых приложениями
Временные файлы, сохраняемые между перезапусками системы

Дерево 5.2.1

Несколько каталогов "зарезервированы" в том смысле, что они не должны использоваться произвольным образом каким-либо из новых приложений, поскольку это противоречить исторической или локальной практике их использования. Это следующие каталоги:


    /var/backups
    /var/cron
    /var/msgs
    /var/preserve


Previous: /var : Назначение
Next: /var : Рекомендации
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

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

Следующие каталоги или символические ссылки на каталоги должны иметься в /var, если соответствующие системы установлены:

"/var"
account
crash
games
mail
yp
"Переменные данные"
Протоколы работы процессов (optional)
Дампы памяти при крахе системы (optional)
Временные данные игровых приложений (optional)
User mailbox files (optional)
Файлы базы данных Network Information Service (NIS) (optional)

Tree 5.3.1


Previous: Требования
Next: /var/account : Протоколы работы процессов (optional)
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

5.4 /var/account : Протоколы работы процессов (Process accounting logs) (optional)

5.4.1 Назначение

В этом каталоге хранится текущее состояние протоколов работы процессов и обощенные данные об использовании процессов (такие, как используемые в некоторых UNIX-подобных операционных системах программами lastcomm и sa).
Previous: Рекомендации
Next: /var/cache : Данные кэша приложений
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

5.5 /var/cache : Данные кэша приложений

5.5.1 Назначение

Каталог /var/cache предназначен для кэширования данных для приложений. Необходимость такого кэширования возникает при выполнении медленных процессов ввода-вывода или для хранения промежуточных результатов вычислений. Приложения должны иметь возможность регенерировать кэш и извлечь данные из кэша. В отличие от /var/spool, кэшированные файлы могут быть удалены без потери данных. Данные должны сохраняться между сеансами работы приложения и при перезагрузках системы.

Файлы, расположенные в /var/cache, могут удаляться либо самим приложением, либо администратором. Приложение должно всегда иметь возможность продолжить работу после удаления этих файлов вручную (например, при нехватке дискового пространства). Никаких других требований на формат данных к каталоге кэша не накладывается.

НАЧАЛО ПОЯСНЕНИЙ

Существование отдельной директории для кэшируемых данных позволяет системным администраторам устанавливать для этого каталога правила использования и резервного копирования, отличающиеся от правил, устанавливаемых для других каталогов в /var.
КОНЕЦ ПОЯСНЕНИЙ

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

"/var/cache"
fonts
man
www
<package>
"Каталоги кэширования"
Локально сгенерированные шрифты (optional)
Локально отформатированные страницы руководства (optional)
Кэш данных для WWW proxy (optional)
Кэшируемые данные пакета <package> (optional)

Дерево 5.5.2.1

5.5.3 /var/cache/fonts : Локально сгенерированные шрифты (optional)

5.5.3.1 Назначение

Каталог /var/cache/fonts должен использоваться для хранения динамически создаваемых шрифтов. В частности, все шрифты, автоматически генерируемые программой mktexpk, должны размещаться в соответствующим образом названных подкаталогах каталога /var/cache/fonts. [примечание 31]

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

Другие динамически создаваемые шрифты могут тоже размещаться в этом дереве, в соответствующим образом названных подкаталогах каталога /var/cache/fonts.

5.5.4 /var/cache/man : Локально отформатированные страницы руководства (optional)

5.5.4.1 Назначение

Этот каталог предусмотрен для сайтов, в которых файловая система /usr монтируется только на чтение, но в которых допускается создание станиц руководства, отформатированных локально. Сайты, в которых /usr монтируется с правом записи (например, когда у системы всего в один пользователь) могут не создавать каталога /var/cache/man, а использовать вместо него каталоги cat<section> непосредственно в /usr/share/man. Мы рекомендуем, чтобы большинство сайтов использовали вместо этого один из следующих подходов:

Структура каталога /var/cache/man должна соответствовать наличию нескольких отдельных деревьев каталогов для страниц руководства и возможности наличия многоязыковой поддержки.

В предположении, что неформатированные страницы руководства расположены в каталогах <path>/man/<locale>/man<section>, форматированные страницы должны располагаться в каталоге /var/cache/man/<catpath>/<locale>/cat<section>, где <catpath> получается из <path> путем удаления подстроки usr из начала и подстроки share в конце имени каталога. [примечание 32] (Обратите внимание на то, что компонент <locale> может отсутствовать.)

Страницы руководства, записанные в /var/cache/man, могут быть перенесены в исходные каталоги структуры man или удалены; подобным же образом отформатированные страницы руководства в каталоге man могут быть удалены, если они не использовались в течение какого-то периода времени.

Если заранее отформатированные страницы руководства поставляются с системой на носителе, допускающем только чтение (например, на CD-ROM), они должны устанавливаться в исходную каталоговую структуру man (то есть в /usr/share/man/cat<section>). Каталог /var/cache/man зарезервирован как перезаписываемый кэш для отформатированных страниц руководства.

НАЧАЛО ПОЯСНЕНИЙ

Версия 1.2 настоящего стандарта определяла каталог /var/catman для этой структуры. Теперь ее местоположение перенесено в /var/cache для более адекватного отражения динамической природы форматированных страниц руководства. Название каталога было заменено на man, что более соответствует динамической структуре форматированных страниц руководства. Имя каталога было заменено на man, для того, чтобы дать возможность включить в каталоговую структуру каталоги для новых форматов, отличных от "cat", таких, например, как PostScript, HTML или DVI.
КОНЕЦ ПОЯСНЕНИЙ

[31] Настоящий стандарт пока не предусматривает поглощение или замену the TeX Directory Structure (документ, который задает размещение файлов формата TeX и структуру соответствующих каталогов), так что этот документ полезно прочитать. Он размещается по адресу ftp://ctan.tug.org/tex/.

[32] Например, отформатированный вариант страницы /usr/share/man/man1/ls.1 размещается как /var/cache/man/cat1/ls.1, а /usr/X11R6/man/<locale>/man3/XtClass.3x - как /var/cache/man/X11R6/<locale>/cat3/XtClass.3x.


Previous: /var/account : Протоколы работы процессов (optional)
Next: /var/crash : Дампы памяти при крахе системы (optional)
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

5.6 /var/crash : Дампы памяти при крахе системы (optional)

5.6.1 Назначение

Этот каталог предназначен для записи в него содержимого оперативной памяти (дампа памяти) в случае краха системы. На момент выпуска данной версии настоящего стандарта дампы памяти не поддерживаются в системе Linux.
Previous: /var/cache : Данные кэша приложений
Next: /var/games : Временные данные игровых приложений (optional)
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

5.7 /var/games : Временные данные игровых приложений (optional)

5.7.1 Назначение

Здесь должны размещаться любые переменные данные, относящиеся к игровым приложениям, размещенным в /usr. Каталог /var/games должен содержать переменные данные, ранее находившиеся в /usr; статические данные, такие как тексты помощи, описания уровней игры и так далее, должны размещаться в других местах, например, в /usr/share/games.
НАЧАЛО ПОЯСНЕНИЙ
Каталог /var/games образует отдельную иерархию, которая теперь не объединена с каталогом /var/lib, как это было в версии 1.2 настоящего стандарта. Такое отделение позволяет применять к этому каталогу отдельные стратегии резервного копирования, задания прав доступа и ограничений на использование дискового пространства, а также разрешать совместное использование этих файлов несколькими хостами и уменьшает беспорядок в /var/lib. Кроме того, /var/games традиционно используется в BSD.
КОНЕЦ ПОЯСНЕНИЙ

Previous: /var/crash : Дампы памяти при крахе системы (optional)
Next: /var/lib : Переменные данные о состоянии системы
U: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

5.8 /var/lib : Переменные данные о состоянии системы

5.8.1 Назначение

Эта каталоговая структура содержит информацию о состоянии отдельных приложений или всей системы. Информация о состоянии - это данные, которые программы изменяют в процессе своей работы, относящиеся к одному конкретному хосту. У пользователей нет нужды менять эти файлы для настройки действий пакета.

Информация о состоянии в общем случае используется для сохранения состояния приложения (или группы взаимосвязанных приложений) между двумя запусками или передачи такой информации между двумя одновременно запущенными копиями одного и того же приложения. Информация о состоянии, в общем случае, должна сохраняться после перезагрузки системы, не должна совпадать с протоколируемым выводом программы и данными из очередей (spooled data).

Приложение (или группа взаимосвязанных приложений) должно использовать отдельный подкаталог в /var/lib для своих данных. [примечание 33] Имеется одна обязательная директория, /var/lib/misc, которая предназначена для файлов состояния, которые не требуют отдельного подкаталога; остальные подкаталоги должны присутствовать если соответствующее приложение включено в дистрибутив.

/var/lib/<name> - местоположение, которое должно использоваться для каждого пакета из дистрибутива. Разные дистрибутивы могут, естественно, разные имена.

5.8.2 Требования

Следующие каталоги или символические ссылки на каталоги должны иметься в /var/lib:

"/var/lib"
misc
"Изменяемая информация о состоянии"
Различные данные о состоянии

Дерево 5.8.2.1

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

Следующие каталоги или символические ссылки на каталоги должны иметься в /var/lib, если соответствующие подсистемы установлены:

"/var/lib"
<editor>
<pkgtool>
<package>
hwclock
xdm
"Переменные данные о состоянии системы"
Резервные копии редактируемых файлов и данные о состоянии редактора (optional)
Файлы поддержки системы управления пакетами (optional)
Данные о состоянии пакетов и подсистем (optional)
Каталог с данными о состоянии hwclock (optional)
Изменяемые данные для менеджера дисплея (optional)

Дерево 5.8.3.2

5.8.4 /var/lib/<editor> : Резервные копии файлов и информация о состоянии редактора (optional)

5.8.4.1 Назначение

Эти каталоги содержат сохраненные файлы, генерируемые при любом неожиданном прекращении работы редактора (такого как elvis, jove, nvi).

Другие редакторы могут не требовать каталога для сохранения файлов на случай краха программы, но могут требовать четко определенного места для хранения другой информации в то время, когда редактор запущен. Такая информация может храниться в подкаталогах каталога /var/lib (например, GNU Emacs размещает файлы блокирования в /var/lib/emacs/lock).

Другие редакторы могут требовать хранения дополнительной информации о состоянии кроме резервных копий файлов и файлов блокирования - такая информация тоже должна размещаться в /var/lib/<editor>.

НАЧАЛО ПОЯСНЕНИЙ

Предыдущие версии Linux, также как все поставщики коммерческих версий, используют /var/preserve для vi или его клонов. Однако, каждый редактор использует свой собственный формат для резервных файлов, создаваемых на случай краха программы, так что для каждого редактора нужна отдельная директория.

Специфичные для каждого редактора файлы блокирования обычно сильно отличаются от файлов блокирования устройств или ресурсов, которые хранятся в /var/lock и поэтому хранятся в /var/lib.

КОНЕЦ ПОЯСНЕНИЙ

5.8.5 /var/lib/hwclock : Каталог состояния для hwclock (optional)

5.8.5.1 Назначение

Этот каталог содержит файл /var/lib/hwclock/adjtime.
НАЧАЛО ПОЯСНЕНИЙ

В FHS 2.1 этот файл был /etc/adjtime, но, поскольку hwclock обновляет его, это, очевидно, некорректно.
КОНЕЦ ПОЯСНЕНИЙ

5.8.6 /var/lib/misc : Различные изменяемые данные

5.8.6.1 Назначение

Этот каталог содержит переменные данные, не попавшие в подкаталоги /var/lib. Должны быть предприняты меры по использованию относительно уникальных имен в этом каталоге для того, чтобы избежать конфликта имен. [примечание 34]

[33] Важное различие между настоящей версией этого стандарта и предыдущими состоит в том, что от приложений не требуется использовать подкаталоги каталога /var/lib.

[34] Эта каталоговая структура должна содержать файлы, которые в текущих версиях BSD хранятся в /var/db. В их число входят locate.database и mountdtab, а также базу(ы) символов ядра.


Previous: /var/games : Временные данные игровых приложений (optional)
Next: /var/lock : Файлы блокирования
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

5.9 /var/lock : Файлы блокирования

5.9.1 Назначение

Файлы блокирования должны храниться в каталоговой структуре /var/lock.

Файлы блокирования устройств и других ресурсов, используемые многими приложениями, такие как файлы блокирования последовательных портов, которые ранее находились либо в /usr/spool/locks, либо в /usr/spool/uucp, теперь должны размещаться в /var/lock. Названия этих файлов должны формироваться в соответствии с соглашением, согласно которому используется префикс "LCK..", за которым следует базовое имя устройства. Например, для блокирования /dev/ttyS0 должен создаваться файл "LCK..ttyS0". [примечание 35]

Внутренняя структура таких файлов блокирования должна соответствовать формату, определенному в HDB UUCP. Формат HDB предусматривает сохранение идентификатора процесса (PID) в виде десяти-байтового десятичного числа, за которым следует символ конца строки. Например, если процесс 1230 создает файл блокирования, в этом файле будет записано 11 символов: пробел, пробел, пробел, пробел, пробел, пробел, один, два, три, ноль и конец строки.

[35] Затем все, кто хочет использовать /dev/ttyS0 может прочитать файл блокирования и действовать соответственно (все файлы блокирования в /var/lock должны быть доступны по чтению всем).


Previous: /var/lib : Переменные данные о состоянии системы
Next: /var/log : Каталоги и файлы протоколов
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

6.1 Linux

Настоящее дополнение к стандарту относится только к операционной системе Linux.

6.1.1 / : Корневой каталог

В Linux-системах, если ядро расположено в /, мы рекомендуем использовать для него названия vmlinux или vmlinuz, которые используются в последних версиях исходных кодов ядра Linux.

6.1.2 /bin : Основные исполняемые файлы команд пользователя (доступные всем пользователям)

Linux-системы, в которых следующие файлы требуются, должны помещать их в /bin.

6.1.3 /dev : Устройства и специальные файлы

Все устройства и специальные файлы в /dev должны соответствовать документу Linux Allocated Devices, который поставляется в составе исходных кодов ядра. Он поддерживается Питером Анвином (H. Peter Anvin) <адрес пропущен>.

Символические ссылки в каталоге /dev должны устанавливаться в Linux-системах не иначе как в соответствии с документом Linux Allocated Devices.

НАЧАЛО ПОЯСНЕНИЙ

Требование не создавать символических ссылок произвольным образом выдвигается потому, что локальные установки часто отличаются от ссылок, создаваемых программами установки от разработчиков. Кроме того, если установочный скрипт дистрибутива создает символические ссылки во время инсталляции, эти ссылки часто не обновляются при локальных изменениях в аппаратном обеспечении. Если же ответственно относиться к ним на локальном уровне, они могут использоваться.
КОНЕЦ ПОЯСНЕНИЙ

6.1.4 /etc : Специфичная для данного хоста конфигурационная информация

Если в Linux-системе следующие файлы требуются, они должны размещаться в /etc.

6.1.5 /proc : Виртуальные файловые системы для хранения информации о ядре и процессах

Файловая система proc является фактически стандартным для Linux методом обработки информации о системе и процессах, в отличие от других систем, использующих /dev/kmem и другие подобные методы. Мы настоятельно рекомендуем использовать proc для хранения и получения информации о процессах, а также информации о ядре и памяти.

6.1.6 /sbin : Основные системные утилиты

В Linux-системах следующие дополнительные файлы размещаются в /sbin.

Дополнительные файлы в /sbin:

6.1.7 /usr/include : Файлы заголовков, включаемые в программы на C

Эти символические ссылки требуются, если компиляторы языков C или C++ установлены и только для систем, не основанных на glibc.


    /usr/include/asm -> /usr/src/linux/include/asm-<arch>
    /usr/include/linux -> /usr/src/linux/include/linux

6.1.8 /usr/src : Исходные коды

Для систем, основанных на glibc, нет никаких специфических правил для этого каталога. Для систем, основанных на версиях библиотеки libc, предшествующих glibc, применяются следующие правила:

Единственными исходными кодами, которые должны быть размещены в определенном месте, являются исходные коды ядра Linux. Они размещаются в /usr/src/linux.

Если установлен компилятор C или C++, а полная версия исходных кодов ядра не установлена, то подключаемые файлы из исходных кодов ядра должны размещаться в следующих каталогах:


    /usr/src/linux/include/asm-<arch>
    /usr/src/linux/include/linux

где <arch> - название архитектуры системы (например, i386).

Замечание: /usr/src/linux может быть символической ссылкой на дерево каталогов с исходными кодами ядра.

НАЧАЛО ПОЯСНЕНИЙ

Важно, чтобы подключаемые файлы ядра были расположены в /usr/src/linux, а не в /usr/include, так чтобы не было проблем, когда системные администраторы обновляют версию ядра в первый раз.
КОНЕЦ ПОЯСНЕНИЙ

6.1.9 /var/spool/cron : Задания для демонов cron и at

Этот каталог содержит переменные данные для программ-демонов cron и at.



Previous: Дополнения, специфичные для отдельных типов операционых систем
Next: Приложение
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

6 Дополнения, специфичные для отдельных типов операционых систем

Этот раздел содержит дополнительные требования и рекомендации, которые применимы только для отдельных операционных систем. Материал в этом разделе не должен противоречить основному стандарту.


Previous: /var/yp : Файлы базы данных сетевой информационной системы NIS (optional)
Next: Linux
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

7.1 Список рассылки FHS

Список рассылки FHS располагается по адресу <адрес пропущен>. Для того, чтобы подписаться на рассылку, пошлите сообщение по адресу <адрес пропущен>, текст которого имеет вид "ADD fhs-discuss".

Спасибо Network Operations at the University of California в Сан-Диего, позволившим нам использовать их великолепный сервер почтовых рассылок.

Как было отмечено во введении, пожалуйста не посылайте писем в список рассылки, не проведя предварительных переговоров с редактором FHS или одним из перечисленных ниже разработчиков.


Previous: Приложение
Next: История стандарта FHS
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

7.2 История стандарта FHS

Процесс создания стандарта на структуру каталогов файловой системы начался в августе 1993 года с попытки упорядочить структуру файлов и каталогов операционной системы Linux. Стандарт FSSTND, ориентированный только на систему Linux, был выпущен 14 февраля 1994 года. Последующие редакции были выпущены 9 октября 1994 и 28 марта 1995 года.

В начале 1995 года с участием сообщества разработчиков системы BSD была поставлена цель создания более общей версии FSSTND, предназначенной не только для Linux, но и для других UNIX-подобных операционных систем. В результате объединенных усилий разработка стандарта сосредоточилась на вопросах, которые являются общими для всех UNIX-подобных систем. В качестве признания расширения сферы охвата действия стандарта его название было изменено на Filesystem Hierarchy Standard или, для краткости, FHS.

Добровольцы, которые активно участвовали в создании стандарта, перечислены в конце настоящего документа. Этот стандарт представляет собой общую точку зрения перечисленных и других участников разработки.


Previous: Список рассылки FHS
Next: Чем мы руководствовались
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

7.3 Чем мы руководствовались

При разработке стандарта мы стремились достичь следующих целей:


Previous: История стандарта FHS
Next: Сфера действия стандарта
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

7.4 Сфера действия стандарта

Этот документ задает спецификацию стандартной структуры каталогов файловой системы (или иерархию файловой системы), определяя требования к размещению каталогов и файлов, а также содержание некоторых системных файлов.

Стандарт создавался для использования системными интеграторами, разработчиками пакетов программного обеспечения и системными администраторами в процессе создания и поддержки FHS-совместимых файловых систем. Он должен служить в первую очередь как справочник, а не как учебник по построению структуры каталогов (not a tutorial on how to manage a conforming filesystem hierarchy).

Стандарт FHS вырос из предыдущей разработки - стандарта FSSTND на организацию файловой системы в операционной системе Linux. Он является расширением FSSTND, ориентированным в первую очередь на вопросы межсистемного взаимодействия не только между Linux-системами, но в более широкой области, включающей операционные системы типа 4.4BSD. Он учитывает все положительные качества, присущие BSD и другим системам в части поддержки различных архитектур и учета требований работы в гетерогенных сетях.

Хотя этот стандарт и является более всеохватывающим по сравнению с предыдущим вариантом в части стандартизации файловой системы, могут потребоваться его периодические обновления по мере изменения требований со стороны вновь появляющихся технологий. Возможно также, что будут найдены лучшие решения рассатриваемых в стандарте проблем, так что наши решения перестанут быть наилучшими. Поэтому периодически могут появляться как новые редакции стандарта, так и отдельные предложения по его изменению, предназначенные для предварительного обсуждения. Однако одной из наших целей является сохранение обратной совместимости последовательных выпусков стандарта.

Приветствуются любые комментарии, касающиеся содержания стандарта. Любые комментарии или предложения по его изменению могут направляться редактору FHS (Daniel Quinlan <адрес пропущен>) или в список рассылки FHS. Сообщения о типографских или грамматических ошибках должны направляться редактору FHS.

Прежде чем отправить письмо в список рассылки, необходимо связаться с редактором FHS, чтобы не обсуждать старые темы.

Иногда могут возникать вопросы о том, как следует интерпретировать отдельные положения настоящего документа. Если вам требуются какие-то пояснения, обращайтесь к редактору FHS. Поскольку стандарт представляет собой результат соглашения, к которому пришли все участники разработки, необходимо убедиться, что любая интерпретация его положений тоже представляет коллективное мнение. По этой причине может оказаться невозможным немедленно ответить на ваш запрос, если только содержание вопроса не было темой предшествующих дискуссий.


Previous: Чем мы руководствовались
Next: Благодарности
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

7.5 Благодарности

Разработчики стандарта FHS хотели бы поблагодарить разработчиков, системных администраторов и пользователей, котоорые внесли свой вклад в разработку настоящего стандарта. Мы благодарны всем тем, кто помогал писать, составлять и отлаживать настоящий стандарт.

Группа разработки стандарта (The FHS Group) также благордарит тех разработчиков ОС Linux, которые поддержали FSSTND, предшественника настоящего стандарта. Если бы они не продемонстрировали, что FSSTND был полезен (was beneficial), стандарт FHS никогда бы не был создан.


Previous: Сфера действия стандарта
Next: Участники разработки
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

7.6 Участники разработки

Brandon S. Allbery <address omitted>
Keith Bostic <address omitted>
Drew Eckhardt <address omitted>
Rik Faith <address omitted>
Stephen Harris <address omitted>
Ian Jackson <address omitted>
John A. Martin <address omitted>
Ian McCloghrie <address omitted>
Chris Metcalf <address omitted>
Ian Murdock <address omitted>
David C. Niemi <address omitted>
Daniel Quinlan <address omitted>
Eric S. Raymond <address omitted>
Rusty Russell <address omitted>
Mike Sangrey <address omitted>
David H. Silber <address omitted>
Thomas Sippel-Dau <address omitted>
Theodore Ts'o <address omitted>
Stephen Tweedie <address omitted>
Fred N. van Kempen <address omitted>
Bernd Warken <address omitted>

Таблица 7.6.1



Previous: Благодарности
Up: Оглавление
Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы. (Filesystem Hierarchy Standard)

7 Приложение


Previous: Linux
Next: Лист рассылки FHS
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan

Стандарт на структуру каталогов файловой системы (Filesystem Hierarchy Standard)

Предисловие переводчика

Необходимость в отдельном предисловии переводчика обусловлена теми затруднениями, которые возникли у меня в процессе перевода некоторых терминов, и желанием пояснить выбор русского эквивалента, что, надеюсь, поможет читателю в правильном понимании и толковании текста стандарта.

И начать свои пояснения я хочу с рассуждения о выборе русского варианта названия стандарта. Дословный перевод названия ("Стандарт иерарахии файловой системы"), хотя он уже встречается в литературе (например, в книге Д.Бендела и Р.Нейпира "Использование Linux", М., "Вильямс", 2002 г.) кажется мне неудачным из-за того, что слово "иерархия" имеет в русском языке смысл, несколько отличающийся от смысла, вкладываемого в словосочетание "иерархическая структура". Возможно, в английском термин "Hierarchy" имеет много оттенков и точно выражает суть стандарта, а может быть он употреблен в названии только для краткости. Я не настолько хорошо владею английским, чтобы уверенно отстаивать какое-то из этих утверждений. Но для русского текста дословный перевод показался мне не адекватным содержанию, и я думаю, что для русскоязычного варианта имеет смысл подобрать сочетание терминов, более полно и точно выражающее его содержание.

В процессе перевода стандарта я долго размышлял над выбором такого сочетания, перебрал несколько формулировок и в конце концов решил, что наиболее правильным вариантом будет "Стандарт на структуру каталогов файловой системы" или "Стандартная структура каталогов файловой системы".

Теперь еще о нескольких терминах.

Описание большинства каталогов в стандарте начинается с двух разделов, которые имеют в оригинале названия "Requirements" и "Specific Options". Первый термин переводится однозначно как "Требования", а второй термин можно перевести по разному. В конце концов я выбрал вариант "Рекомендации", поскольку в этом разделе речь в большинстве случаев идет о тех подкаталогах рассматриваемого каталога, которые могут создаваться, а могут и не создаваться, в зависимости от того, устанавливаются ли соответствующие подсистемы. В общем-то речь всегда идет о требованиях создания определенных подкаталогов в текущем каталоге, но называть раздел "необязательные требования" как-то не по-русски. Так что пришлось назвать рекомендациями, хотя мне кажется, что это все-же требования, но по отношению к необязательным каталогам.

Во многих разделах стандарта присутствуют пояснения, которые заключены между строками "Begin Rationale" и "End Rationale". Термин "Rationale" в англо-русском словаре переводится как "обоснования", но мне кажется более приемлемым именно "Пояснения", которое я и использую.

И еще. Если я где-то не совсем верно перевел текст стандарта, это моя вина, не относите все ошибки на счет разработчиков стандарта. О любых замеченных вами ошибках прошу сообщать мне по адресу kos@linux-ve.net.

В.А.Костромин, 9 января 2003 года.


Next: Введение
Up: Оглавление

Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan