DOKK / manpages / debian 12 / man-db / manpath.5.pt
MANPATH(5) /etc/manpath.config MANPATH(5)

manpath - formato do ficheiro /etc/manpath.config

O ficheiro de configuração de manpath é usado pelos utilitários das páginas do manual para avaliar os manpath do utilizador em tempo de execução, para indicar quais as hierarquias de páginas do manual (manpaths) devem ser tratadas como hierarquias do sistema e como atribuir-lhes pastas a usar para armazenar ficheiros cat.

Se a variável de ambiente $MANPATH já estiver definida, a informação contida em /etc/manpath.config não se lhe sobrepõe.

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.

Actualmente são reconhecidos os seguintes tipos:

# comentário
Linhas em branco ou começadas com # serão tratadas como comentários e ignoradas.
Linhas desta forma indicam manpaths que todo o $MANPATH gerado automaticamente deve conter. Isto incluirá tipicamente /usr/man.
Linhas desta forma configuram $PATH para mapas $MANPATH. Para cada path_element encontrado no $PATH do utilizador, será adicionado manpath_element a $MANPATH.
Linhas desta forma indicam que manpaths devem ser tratados como manpaths de sistema e, opcionalmente, onde devem ser armazenados os seus ficheiros cat. Este tipo de campo é particularmente importante se man for um programa setuid, porque (quando no ficheiro de configuração do sistema % manpath_config_file% em vez no ficheiro de configuração .manpath por utilizador) indica quais hierarquias de páginas do manual aceder como utilizador setuid e quais aceder como o utilizador chamador.

As hierarquias das páginas de manual do sistema estão habitualmente armazenadas em /usr, tal como /usr/man, /usr/local/man e /usr/X11R6/man.

Se as páginas cat de um manpath_element não devem ser armazenadas ou devem ser armazenadas na localização tradicional, catpath_element pode ser omitido.

A colocação tradicional de cat seria impossível para hierarquias de páginas do manual montadas como só de leitura e, por causa disto, é possível especificar qualquer hierarquia válida para o seu armazenamento. Para observação de Linux FSSTND, a palavra-chave FSSTND pode ser usada em vez da pasta real.

Infelizmente, é necessário especificar todos os caminhos de sistema de árvores do manual, incluindo caminhos de sistemas operativos alternativos, tais como /usr/man/sun e quaisquer caminhos NLS locale, tais como /usr/man/de_DE.88591.

Como a informação é analisada linha a linha na ordem de escrita, é necessário que qualquer manpath que seja uma sub-hierarquia de outra hierarquia seja listado primeiro, senão será feita uma correspondência incorrecta. Um exemplo disto seria que /usr/man/de_DE.88591 tem de vir antes de /usr/man.

Linhas desta forma definem diversas variáveis de configuração; veja o ficheiro de configuração predefinido para consultar as variáveis usadas pelos utilitários das páginas do manual. Incluem caminhos predefinidos para vários programas (tais co grep e tbl) e vários conjuntos predefinidos de argumentos para esses programas.
Linhas desta forma definem a ordem em que as secções do manual devem ser procuradas. Se não houver directivas SECTION no ficheiro de configuração, a predefinição é:

SECTION 1 n l 8 3 0 2 3type 5 4 9 6 7

Se forem indicadas múltiplas directivas SECTION, as suas listas de secções serão concatenadas.

Se uma extensão em particularnão estiver na lista (digamos, 1mh), será mostrada com o resto da secção a que pertence. O efeito disto é que só precisa de listar explicitamente extensões se pretender forçar uma determinada ordem. Secções com extensões devem habitualmente ser adjacentes à sua secção principal (e.g. "1 1mh 8 ...").

SECTIONS é aceite como nome alternativo para esta directiva.

Se a largura do terminal for menor que largura, as páginas cat não serão criadas (se em falta) ou mostradas. A predefinição é 80.
Se a largura do terminal for maior que largura, as páginas cat não serão criadas (se em falta) ou mostradas. A predefinição é 80.
If width is non-zero, cat pages will always be formatted for a terminal of the given width, regardless of the width of the terminal actually being used. This overrides MINCATWIDTH and MAXCATWIDTH.
Esta bandeira impede que man(1) crie páginas cat automaticamente.

A não ser que as regras acima sejam rigorosamente seguidas e observadas, os utilitários das páginas do manual não funcionarão como desejável. As regras são excessivamente complicadas.

https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db

2023-01-08 2.11.2