Иерархия каталогов и файловых систем в Linux

Автор работы: Пользователь скрыл имя, 04 Января 2012 в 20:10, статья

Краткое описание

В статье рассказывается о разработанном в рамках проекта Open Source стандарте на структуру каталоговUNIX-подобных операционных систем (подразумеваются Linux и BSD-системы).

Содержимое работы - 1 файл

Иерархия каталогов и файловых систем в Linux.docx

— 80.73 Кб (Скачать файл)

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

В каталоге /usr/share создаются следующие подкаталоги или символические ссылки

    man – Он-лайновые руководства

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

    dict – Словари (optional)

    doc - Различная документация (optional)

    games - Файлы статических данных для /usr/games (optional)

    info - Основная директория для системы GNU Info (optional)

    locale - Локальная информация (optional)

    nls - Каталоги сообщений для поддержки языков (optional)

    sgml - Данные для SGML и XML (optional)

    terminfo - Каталог базы данных для terminfo (optional)

    tmac - Макросы для troff, не распространяемые с groff (optional)

    zoneinfo - Конфигурационные файлы и информация о временной зоне (optional)

Рекомендуется размещать здесь архитектурно-независимые  каталоги, создаваемые приложениями. К такого рода каталогам относятся groffperlghostscripttexmf и kbd (Linux) или syscons (BSD). Они могут, однако, из соображений обратной совместимости, по усмотрению разработчика располагаться в /usr/lib. Подобным же образом в дополнение к каталогу /usr/share/games может создаваться каталог/usr/lib/games, если разработчик желает разместить тут какие-то данные для своей игры.

/usr/share/dict : Словари

Каталог /usr/share/dict содержит списки слов (словари), используемые в системе; обычно в ней находится только файл words для английского языка, который используется утилитой look(1) и различными программами проверки правописания. Файл words может быть ориентирован либо на американский, либо на британский вариант языка. В системах, где необходим как американский, так и британский английский, можно сделать 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).

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

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

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

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

Деление страниц руководства на секции и  нумерация секций от "1" до "8" определено традициями. В общем случае имена файлов для страниц руководства, расположенных в определенной секции, оканчиваются расширением вида .<section>, совпадающим с номером секции. Для каждой секции создается отдельный каталог с именем <mandir>/<locale>/man<section>/<arch>, где компонент <section> задает секцию руководства, а разъяснения того, что имеется в виду под <locale> и <arch> даются ниже.

Примечание: Если, например, /usr/local/man не содержит файлов руководства в секции 4 (Устройства), то каталог /usr/local/man/man4 может не создаваться.

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

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

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

Поле <territory> должно состоять из двух символов, записываемых только в верхнем регистре (заглавными буквами), и представляет собой, если это возможно, двухбуквенный код из спецификации ISO 3166.

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

После поля <character-set> может располагаться параметр <version>, который отделяется запятой. Этот параметр может использоваться для выделения каких-то дополнительных версий кодировки. Но разработчики стандарта FHS не рекомендуют использовать поле <version>, если только это не является необходимым.

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

Страны, для которых есть общепринятый стандарт кодового набора символов, могут опустить поле<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 (или EUC-J) /usr/share/man/ja_JP.ujis

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

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

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

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

Этот  каталог содержит различные архитектурно-независимые  файлы, для которых не требуется  отдельный подкаталог в /usr/share (но разработчики могут при желании разместить их также в /usr/lib). Вот некоторые из таких файлов: 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.

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

Информация о работе Иерархия каталогов и файловых систем в Linux