Библиотека сайта 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