MANPATH(5) /etc/man_db.conf MANPATH(5)

manpath - formatul fișierului /etc/man_db.conf

Fișierul de configurare al căii de manual(manpath) este utilizat de utilitarele paginilor de manual pentru a evalua căile de manual ale utilizatorilor în timpul executării, pentru a indica ce ierarhii a paginilor de manual(manpaths) vor fi tratate ca ierarhii de sistem și pentru a le atribui directoare pentru a fi utilizate pentru stocarea fișierelor «cat».

Dacă variabila de mediu $MANPATH este deja stabilită, informațiile conținute în /etc/man_db.conf nu o vor suprascrie.

În mod implicit, man-db examinează variabila de mediu $PATH a utilizatorului. Pentru fiecare element_cale(path_element) găsit acolo, acesta adaugă element_cale_manual(manpath_element) la calea de căutare.

Dacă nu există o linie MANPATH_MAP în fișierul de configurare pentru un anumit element_cale, atunci se adaugă toate element_cale/../man, element_cale/man, element_cale/../ share/man și element_cale/share/man care există ca directoare la calea de căutare.

Apoi adaugă orice intrări MANDATORY_MANPATH din fișierul de configurare la calea de căutare.

În cele din urmă, dacă este utilizată opțiunea --systems sau este stabilită variabila de mediu $SYSTEM, atunci aceasta ar trebui să conțină o secvență de nume de sisteme de operare separate prin virgule sau două puncte. Aceasta acționează ca un șablon, extinzând calea de căutare încă o dată pentru a permite accesul la paginile de manual ale altor sisteme de operare: pentru fiecare nume de sistem, man-db caută acel nume ca subdirector al fiecărei intrări din calea de căutare și îl adaugă la calea finală de căutare, dacă există. Un nume de sistem man inserează calea normală de căutare fără subdirectoare. De exemplu, dacă calea de căutare ar fi fost astfel: /usr/share/man:/usr/local/man, iar $SYSTEM este stabilită la nouSO:man, atunci calea finală de căutare va fi: /usr/share/man/nouSO:/usr/share/man:/usr/local/man/nouSO:/usr/local/man.

Variabila de mediu $MANPATH suprascrie căile implicite de căutare a paginilor de manual ale man-db. Majoritatea utilizatorilor nu ar trebui să aibă nevoie să o stabilească. Sintaxa sa este similară cu variabila de mediu $PATH: constă dintr-o secvență de nume de directoare separate prin două puncte. Acesta suprascrie calea de căutare implicită descrisă mai sus.

Dacă valoarea lui $MANPATH începe cu două puncte, atunci calea implicită de căutare este adăugată la început. Dacă valoarea lui $MANPATH se termină cu două puncte, atunci calea implicită de căutare este adăugată la sfârșitul acesteia. Dacă valoarea lui $MANPATH conține două puncte duble (::), atunci calea implicită de căutare este inserată în mijlocul valorii, între cele două două puncte.

Următoarele tipuri de câmpuri sunt în prezent recunoscute:

# comentariu
Liniile goale sau cele care încep cu # vor fi tratate drept comentarii și vor fi ignorate.
Liniile de această formă indică căile ierarhice de manual pe care ar trebui să le conțină fiecare $MANPATH generat automat. Aceasta va include de obicei /usr/man.
Liniile de această formă stabilesc asocieri între $PATH și $MANPATH. Pentru fiecare element_cale găsit în variabila $PATH a utilizatorului, va fi adăugat un element_cale_manual(manpath_element) la $MANPATH.
Liniile de această formă indică care căi de manual trebuie tratate precum căi de manual de sistem, și opțional unde ar trebui să fie stocate fișierele lor «cat». Acest tip de câmp este deosebit de important dacă man este un program setuid, deoarece (când se află în fișierul de configurare a sistemului /etc/man_db.conf, mai degrabă decât în fișierul de configurare per utilizator .manpath), indică ce ierarhii de pagini de manual să acceseze ca utilizator setuid și care ca utilizator invocator.

Ierarhiile de pagini de manual ale sistemului sunt de obicei cele stocate sub /usr precum /usr/man, /usr/local/man și /usr/X11R6/man.

Dacă paginile «cat» dintr-un anumit element_cale_manual nu trebuie să fie stocate sau trebuie să fie stocate în locația tradițională, element(ul)_cale_cat poate fi omis.

Amplasarea tradițională de «cat» ar fi imposibilă pentru ierarhiile de pagini de manual montate pentru numai- citire și din cauza asta este posibil să specificați orice ierarhie de director validă pentru stocarea acestora. Pentru a respecta Linux FSSTND(Sistemul de fișiere standard de Linux), cuvântul cheie FSSTND poate fi utilizat în locul unui director actual.

Din păcate, este necesar să specificați toate căile de arbori de manual ale sistemului, inclusiv căile de sisteme de operare alternative precum /usr/man/sun și orice căi NLS locale, precum /usr/man/ro_RO.88592. NT: NLS = „Native Language Support” ⇛ Suport pentru limba nativă,maternă.

Deoarece informațiile sunt analizate linie cu linie în ordinea scrisă, este necesar pentru orice cale de manual care este o sub-ierarhie a altei ierarhii să fie prima listată, în caz contrar va fi făcută o potrivire incorectă. Un exemplu este că /usr/man/ro_RO.88592 trebuie să apară înaintea lui /usr/man.

Liniile de această formă definesc variabilele de configurație diversă; vedeți fișierul de configurare implicit pentru acele variabile utilizate de utilitarele paginatorului de manual. Acestea includ căile implicite către diferite programe (precum grep și tbl), și seturile de argumente implicite pentru acele programe.
Liniile de această formă definesc ordinea în care secțiunile de manual ar trebui să fie căutate. Dacă nu există nicio directivă SECTION în fișierul de configurare, directiva implicită este:
SECTION 1 n l 8 3 0 2 5 4 9 6 7

Dacă sunt date multiple directive SECTION, listele lor de secțiune vor fi concatenate.

Dacă o anumită extensie nu se află în această listă (să zicem, 1 mh), aceasta va fi afișată împreună cu restul secțiunii căreia îi aparține. Efectul acestui lucru este, că trebuie să enumerați în mod explicit extensiile, doar dacă doriți să forțați o anumită ordine. Secțiunile cu extensii ar trebui să fie de obicei adiacente secțiunii lor principale (de exemplu, „1 1mh 8 ...”).

SECTIONS este acceptat ca un nume alternativ pentru această directivă.

Dacă lățimea terminalului este mai mică decât lățimea, paginile «cat» nu vor fi create (dacă lipsesc) sau afișate. Lățimea implicită este 80.
Dacă lățimea terminalului este mai mare decât lățime, paginile «cat» nu vor fi create (dacă lipsesc) sau afișate. Lățimea implicită este 80.
Dacă lățimea este diferită zero, paginile «cat» vor fi întotdeauna formatate pentru un terminal cu lățimea dată, indiferent de lățimea terminalului utilizat efectiv. Aceasta ar trebui să fie în general în intervalul stabilit de MINCATWIDTH și MAXCATWIDTH.
Această opțiune evită ca man(1) să creeze automat pagini «cat».

Dacă regulile de mai sus nu sunt urmate și respectate cu precizie, utilitarele paginatorului de manual nu vor funcționa așa cum este dorit. Regulile sunt extraordinar de complicate 👿.

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

2022-03-17 2.10.2