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

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

Fișierul de configurare al rutei de manual(manpath) este utilizat de utilitarele paginilor de manual pentru a evalua rutele 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_rută(path_element) găsit acolo, acesta adaugă element_rută_manual(manpath_element) la ruta de căutare.

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

Apoi adaugă orice intrări MANDATORY_MANPATH din fișierul de configurare la ruta 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 ruta 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 ruta de căutare și îl adaugă la ruta finală de căutare, dacă există. Un nume de sistem man inserează ruta normală de căutare fără subdirectoare. De exemplu, dacă ruta de căutare ar fi fost astfel: /usr/share/man:/usr/local/man, iar $SYSTEM este stabilită la nouSO:man, atunci ruta 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 rutele 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 ruta de căutare implicită descrisă mai sus.

Dacă valoarea lui $MANPATH începe cu două puncte, atunci ruta implicită de căutare este adăugată la început. Dacă valoarea lui $MANPATH se termină cu două puncte, atunci ruta implicită de căutare este adăugată la sfârșitul acesteia. Dacă valoarea lui $MANPATH conține două puncte duble (::), atunci ruta 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ă rutele 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_rută găsit în variabila $PATH a utilizatorului, va fi adăugat un element_rută_manual(manpath_element) la $MANPATH.
Liniile de această formă indică care rute de manual trebuie tratate precum rute 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_rută_manual nu trebuie să fie stocate sau trebuie să fie stocate în locația tradițională, element(ul)_rută_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 rutele de arbori de manual ale sistemului, inclusiv rutele de sisteme de operare alternative precum /usr/man/sun și orice rute 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 rută 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 rutele 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 3type 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ă de zero, paginile «cat» vor fi întotdeauna formatate pentru un terminal cu lățimea dată, indiferent de lățimea terminalului utilizat efectiv. Acest lucru suprascrie 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/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db

2024-08-29 2.13.0