Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |
| |
Эта каталоговая структура предназначена для того, чтобы хранить файлы, используемые всеми архитектурными платформами данной ОС. Так, например, компьютеры на платформах 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.
"/usr/share" man misc |
"Архитектурно-независимые данные" Онлайновые руководства Различные архитектурно-независимые данные |
Дерево 4.11.2.1
"/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 если разработчик желает разместить тут какие-то данные для своей игры.
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) (зачастую это невозможно).
Другие списки слов тоже могут включаться в этот каталог, если они присутствуют.
Исходной директорией (<mandir>) для интерактивного руководства man в системе является каталог /usr/share/man. Этот каталог содержит информацию о командах и других данных, размещаемых в файловых системах / и /usr.[примечание 26]
Страницы интерактивного руководства хранятся в каталогах <mandir>/<locale>/man<section>/<arch>. Разъяснения того, что имеется в виду под <mandir>, <locale>, <section> и <arch> даются ниже.
Страница интерактивного руководства man разбиты на следующие секции:
"<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, рассматриваемой ниже.)
Этот каталог содержит различные архитектурно-независимые файлы, для которых не требуется отдельный подкаталог в /usr/share.
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.
"/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] Вот некоторые из таких файлов: