table of contents
MANPATH(5) | /etc/manpath.config | MANPATH(5) |
НАЗВАНИЕ¶
manpath - формат файла /etc/manpath.config
ОПИСАНИЕ¶
Файл настройки manpath используется утилитами справочных страниц для доступа к пользовательским manpath во время работы; в нём определено какие иерархии справочных страниц (manpath) считать системными иерархиями, а также для них назначены каталоги хранения cat файлов.
Если установлена переменная окружения $MANPATH, то информация из /etc/manpath.config использоваться не будет.
ПУТЬ ПОИСКА¶
ПО умолчанию, man-db проверяет $PATH пользователя. Для каждого найденного там элемента_пути, она добавляет элемент_manpath в путь поиска.
Если в файле настроек нет строки MANPATH_MAP для данного элемента_пути, то в путь поиска добавляются элемент_пути/../man, элемент_пути/man, элемент_пути/../share/man и элемент_пути/share/man, если они существуют в виде каталогов.
После этого в путь поиска добавляются все элементы MANDATORY_MANPATH из файла настроек.
И, наконец, если указан параметр --systems или задана переменная окружения $SYSTEM, то они должны состоять из последовательности имён операционных систем, разделённых запятыми или двоеточиями. Их значения служат шаблонами, расширяющими путь поиска ещё больше, предоставляя доступ к справочным страницам других операционных систем: для каждого имени системы, man-db ищет подкаталог с таким именем в каждом элементе пути поиска, и если он существует, то добавляет его в окончательный путь поиска. Системное имя man вставляется в обычный путь поиска без подкаталогов. Например. если имеется путь поиска /usr/share/man:/usr/local/man, и $SYSTEM равна newOS:man, то окончательный путь поиска будет /usr/share/man/newOS:/usr/share/man:/usr/local/man/newOS:/usr/local/man.
Переменная окружения $MANPATH заменяет в man-db пути поиска страниц по умолчанию. Большинству пользователей не требуется её задавать. Её синтаксис похож на переменную окружения $PATH: значение состоит из последовательности имён каталогов, разделённых двоеточиями. Оно заменяет путь поиска по умолчанию, описанное выше.
Если значение $MANPATH начинается с двоеточия, то оно добавляется в конец пути поиска по умолчанию. Если значение $MANPATH оканчивается двоеточием, то оно добавляется в начало пути поиска по умолчанию. Если значение $MANPATH содержит два двоеточия подряд (::), то путь поиска по умолчанию вставляется в середину значения между этими двоеточиями.
ФОРМАТ¶
В данный момент распознаются следующие типы полей:
- # комментарий
- Пустые или начинающиеся с # строки считаются комментариями и игнорируются.
- MANDATORY_MANPATH manpath_элемент
- Строки в этом формате содержат manpath, которые каждый раз генерируются автоматически для включения в $MANPATH. Обычно, сюда включается /usr/man.
- MANPATH_MAP элемент_пути manpath_элемент
- Строки в этом формате содержат отображение $PATH в $MANPATH. Для каждого элемента_пути, найденного в пользовательском $PATH, в $MANPATH будет добавляться manpath_элемент.
- MANDB_MAP manpath_элемент [ catpath_элемент ]
- Строки в
этом
формате
определяют,
какие manpath
должны
считаться
системными
manpath, а также
можно
задать для
каких из
них нужно
хранить cat
файлы. Этот
тип поля
особенно
важен, если
man
является setuid
программой,
так как
(когда
задаются в
системном
файле
настройки
/etc/manpath.config, а не в
персональном
файле
настройки
пользователя
.manpath) им
определяется,
к каким
иерархиям
справочных
страниц
имеет
доступ setuid
пользователь,
а какие
вызываются
из-под
обычного
пользователя.
Системные иерархии справочных страниц обычно хранятся в подкаталогах /usr, например, /usr/man, /usr/local/man и /usr/X11R6/man.
Если cat страницы из определённого manpath_элемента не нужно хранить, или они будут храниться в обычном месте, то catpath_элемент можно не указывать.
Традиционное размещение cat страниц было бы невозможным для смонтированных только на чтение каталогов иерархий справочных страниц, и поэтому возможно определить любую рабочую иерархию каталогов для их хранения. Допустимый каталог можно найти поиском в Linux FSSTND по ключевому слову FSSTND.
К сожалению, требуется указать все пути системных справочных страниц, включая пути альтернативных операционных систем, такие как /usr/man/sun и все пути локалей NLS, например /usr/man/de_DE.88591.
Так как информация обрабатывается последовательно строка за строкой в порядке хранения, необходимо все manpath, которые являются субиерархиями другой иерархии, указывать в начале, иначе поиск может быть некорректным. Например, /usr/man/de_DE.88591 должно быть указано раньше, чем /usr/man.
- DEFINE ключ значение
- Строки в этом формате определяют различные переменные настройки; в файле настройки по умолчанию описаны переменные, которые используются утилитами пейджера справочных страниц. Они могут содержать пути по умолчанию к различным программам (например, grep и tbl) и параметры по умолчанию для этих программ.
- SECTION раздел ...
SECTION 1 n l 8 3 0 2 3type 5 4 9 6 7
Если указано несколько директив SECTION, то их значения объединяются в список.
Если какого-то расширения не окажется в этом списке (например, 1mh), то страница будет показана вместе с оставшимся разделом, которому принадлежит. Смысл этого в том, что нужно указывать только расширения, для которых вы бы хотели жёстко задать определённый порядок. Разделы с расширениями, как правило, указываются рядом с их основным разделом (например, "1 1mh 8 ...").
В качестве альтернативного имени этой директивы может использоваться SECTIONS.
- MINCATWIDTH ширина
- Если ширина терминала меньше чем ширина, то cat страницы создаваться (если их нет) или отображаться не будут. Значение по умолчанию равно 80.
- MAXCATWIDTH ширина
- Если ширина терминала больше чем ширина, то cat страницы создаваться (если их нет) или отображаться не будут. Значение по умолчанию равно 80.
- CATWIDTH ширина
- Если значение ширина не равно 0, то cat страницы будут всегда форматироваться для терминала данной ширины, независимо от ширины терминала, который используется на самом деле. Это значение заменяет MINCATWIDTH и MAXCATWIDTH.
- NOCACHE
- Этот параметр запрещает man(1) автоматически создавать cat страницы.
ОШИБКИ¶
Если точно не следовать правилам, описанным ранее, то утилиты пейджера справочных страниц не будут работать как ожидалось. Правила чрезмерно запутаны.
https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db
2023-01-08 | 2.11.2 |