table of contents
- bullseye 2.9.4-2
- bullseye-backports 2.10.1-1~bpo11+1
- testing 2.11.2-1
- unstable 2.11.2-2
MANPATH(5) | /etc/manpath.config | MANPATH(5) |
НАЗВАНИЕ¶
manpath - формат файла /etc/manpath.config
ОПИСАНИЕ¶
Файл настройки manpath используется утилитами справочных страниц для доступа к пользовательским manpath во время работы; в нём определено какие иерархии справочных страниц (manpath) считать системными иерархиями, а также для них назначены каталоги хранения cat файлов.
Если установлена переменная окружения $MANPATH, то информация из /etc/manpath.config использоваться не будет.
SEARCH PATH¶
By default, man-db examines the user's $PATH. For each path_element found there, it adds manpath_element to the search path.
If there is no MANPATH_MAP line in the configuration file for a given path_element, then it adds all of path_element/../man, path_element/man, path_element/../share/man, and path_element/share/man that exist as directories to the search path.
It then adds any MANDATORY_MANPATH entries from the configuration file to the search path.
Finally, if the --systems option is used or the $SYSTEM environment variable is set, then that should consist of a sequence of operating system names separated by commas or colons. This acts as a template, expanding the search path once more to allow access to other operating systems' manual pages: for each system name, man-db looks for that name as a subdirectory of each entry in the search path, and adds it to the final search path if it exists. A system name of man inserts the normal search path without subdirectories. For example, if the search path would otherwise have been /usr/share/man:/usr/local/man, and $SYSTEM is set to newOS:man, then the final search path will be /usr/share/man/newOS:/usr/share/man:/usr/local/man/newOS:/usr/local/man.
The $MANPATH environment variable overrides man-db's default manual page search paths. Most users should not need to set it. Its syntax is similar to the $PATH environment variable: it consists of a sequence of directory names separated by colons. It overrides the default search path described above.
If the value of $MANPATH starts with a colon, then the default search path is added at its start. If the value of $MANPATH ends with a colon, then the default search path is added at its end. If the value of $MANPATH contains a double colon (::), then the default search path is inserted in the middle of the value, between the two colons.
ФОРМАТ¶
В данный момент распознаются следующие типы полей:
- # комментарий
- Пустые или начинающиеся с # строки считаются комментариями и игнорируются.
- 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 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/cjwatson/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db
2022-02-10 | 2.10.1 |