Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Стандарт на структуру каталогов файловой системы. (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 разбиты на следующие секции:

  • man1: Пользовательские программы
    В этой секции содержатся описания общедоступных команд. Здесь расположена большая часть необходимой пользователям документации к программам.
  • man2: Системные вызовы
    Эта секция описывает все системные вызовы (запросы к ядру на выполнение каких-то операций).
  • man3: Библиотеки функций и подпрограмм
    В секции 3 описываются библиотеки программных процедур, которые не являются прямыми вызовами сервисов ядра. Эта секция, как и секция 2, представляет интерес только для программистов.
  • man4: Специальные файлы
    Секция 4 описывает специальные файлы устройств, функции соответствующих драйверов и средства сетевой поддержки, предоставляемые системой. Обычно в эту секцию включается описание файлов устройств, находящихся в каталоге /dev, и интерфейса ядра для средств поддержки сетевых протоколов.
  • man5: Форматы файлов
    Форматы многих файлов данных документированы в секции 5. Речь идет о различных подключаемых файлах, файлах вывода программ, системных файлах и так далее.
  • man6: Игры
    В эту секцию включена документация к играм, демо и другим тривиальным программам. Разные люди могут иметь разные мнения о том, насколько важно то, что размещено здесь.
  • man7: Разное
    Страницы руководства, которые трудно отнести к какому-то иному разделу, размещаются в секции 7. Здесь вы найдете, к примеру, описание troff и других средств для обработки текста.
  • man8: Системное администрирование
    Программы, используемые системным администратором для выполнения системных операций и поддержки работоспособности системы документированы в этой секции. Некоторые из этих программ бывают полезны иногда и обычным пользователям.

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] Вот некоторые из таких файлов:

  • { airport, birthtoken, eqnchar, getopt, gprof.callg, gprof.flat, inter.phone, ipfw.samp.filters, ipfw.samp.scripts, keycap.pcvt, mail.help, mail.tildehelp, man.template, map3270, mdoc.template, more.help, na.phone, nslookup.help, operator, scsi_modes, sendmail.hf, style, units.lib, vgrindefs, vgrindefs.db, zipcodes }

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

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