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

manpath - das Format der Datei /etc/man_db.conf

Diese Konfigurationsdatei wird von den Handbuchseiten-Hilfsprogrammen dazu benutzt, den Benutzer-Handbuchpfad zur Laufzeit zu bestimmen, Handbuch-Hierarchien (Manpaths) als systemweit zu erkennen und Verzeichnisse für die Speicherung von Cat-Dateien zuzuordnen.

Wenn die Umgebungsvariable $MANPATH schon gesetzt ist, wird die Information in /etc/man_db.conf die Variable nicht außer Kraft setzen.

Standardmäßig wertet man-db die Umgebungsvariable $PATH des Benutzers aus. Für jeden gefundenen Pfad-Bestandteil wird ein Hierarchie-Bestandteil zum suchpfad hinzugefügt.

Falls es in der Konfigurationsdatei für einen gegebenen Pfad-Bestandteil keine MANPATH_MAP-Zeile gibt, dann wird alles der Formen Pfad-Bestandteil/../man, Pfad-Bestandteil/man und Pfad-Bestandteil/share/man, was als Verzeichnis existiert, zum Suchpfad hinzugefügt.

Dann werden alle MANDATORY_MANPATH-Einträge aus der Konfigurationsdatei zum Suchpfad hinzugefügt.

Zum Schluss, sofern die Option --systems verwendet wird oder die Umgebungsvariable $SYSTEM gesetzt ist, sollte es aus einer Folge von Betriebssystemnamen bestehen, die durch Kommata getrennt sind. Dies fungiert als Vorlage, wobei der Suchpfad erweitert wird, um auf die Handbuchseiten anderer Betriebssysteme zugreifen zu können: Für jeden Systemnamen sucht man-db nach diesem Namen als Unterverzeichnis jedes der Einträge im Suchpfad und fügt, sofern er existiert, ihn zum finalen Suchpfad hinzu. Wenn der Suchpfad beispielsweise /usr/share/man:/usr/local/man wäre und $SYSTEM auf newOS:man gesetzt ist, wäre der finale Suchpfad /usr/share/man/newOS:/usr/share/man:/usr/local/man/newOS:/usr/local/man.

Die Umgebungsvariable $MANPATH setzt die standardmäßigen Handbuchseiten-Suchpfade von man-db außer Kraft. Für die meisten Benutzer sollte es nicht notwendig sein, diese zu setzen. Deren Syntax ist ähnlich der Umgebungsvariable $PATH: Sie besteht aus einer Folge von Verzeichnisnamen, die durch Kommata getrennt sind. Sie setzt den vorstehend beschriebenen standardmäßigen Suchpfad außer Kraft.

Wenn der Wert von $MANPATH mit einem Doppelpunkt beginnt, wird der standardmäßige Suchpfad am Anfang eingefügt. Endet der Wert mit einem Doppelpunkt, wird der standardmäßige Suchpfad am Ende angehängt. Enthält der wert von $MANPATH einen doppelten Doppelpunkt (::), dann wird der standardmäßige Suchpfad in der Mitte des Wertes zwischen den beiden Doppelpunkten eingefügt.

Derzeit werden die folgenden Feldtypen erkannt:

# Kommentar
Leerzeilen und Zeilen, die mit einem # beginnen, werden als Kommentare behandelt und ignoriert.
Zeilen dieser Form zeigen die Hierarchien an, die jede automatisch erzeugte $MANPATH-Variable beinhalten sollte. Normalerweise gehört dazu /usr/man.
Zeilen dieser Form wandeln $PATH in die entsprechende $MANPATH-Syntax um. Für jeden Pfad-Bestandteil im persönlichen $PATH wird ein Hierarchie-Bestandteil zu $MANPATH hinzugefügt.
Zeilen dieser Form geben die systemweiten Hierarchien und optional den Speicherort ihrer Cat-Dateien an. Dieser Feldtyp ist besonders wichtig, wenn man ein Setuid-Programm ist und die System-Konfigurationsdatei /etc/man_db.conf die persönliche Konfigurationsdatei .manpath überlagert. Das Feld gibt an, auf welche Hierarchien als Setuid-Benutzer und auf welche als der aufrufende Benutzer zugegriffen wird.

Die systemweiten Handbuch-Hierarchien sind üblicherweise die unter /usr gespeicherten wie /usr/man, /usr/local/man und /usr/X11R6/man.

Wenn Cat-Seiten für einen Hierarchie-Bestandteil nicht oder am traditionellen Speicherort gespeichert werden sollen, kann der Cat-Hierarchie-Bestandteil weggelassen werden.

Die traditionelle Platzierung der Cat-Dateien wäre für nicht schreibbar eingebundene Handbuch-Hierarchien unmöglich. Aus diesem Grund ist es möglich, beliebige gültige Verzeichnis-Hierarchien als Speicherorte anzugeben. Zur Wahrung des Linux FSSTND kann das Schlüsselwort FSSTND anstelle eines vorhandenen Verzeichnisses verwendet werden.

Leider müssen alle System-Handbuchpfade angegeben werden, einschließlich derer von alternativen Betriebssystemen wie /usr/man/sun und aller Pfade für NLS Locales wie beispielsweise /usr/man/de_DE.88591.

Da die Informationen Zeile für Zeile in der Schreibreihenfolge analysiert werden, müssen alle einer anderen untergeordneten Handbuch-Hierarchien zuerst aufgeführt werden, damit falsche Zuordnungen ausgeschlossen werden. Beispielsweise muss /usr/man/de_DE.88591 vor /usr/man aufgeführt werden.

Zeilen dieser Form definieren verschiedene Konfigurationsvariablen. In der Standard-Konfigurationsdatei werden die von den Handbuch-Programmen verwendeten Variablen festgelegt. Dazu gehören Standard-Pfade zu verschiedenen Programmen (wie grep und tbl) und Sätze von Standard-Argumenten für diese Programme.
Zeilen dieser Form bestimmen die Reihenfolge, in der Handbuch-Abschnitte durchsucht werden sollen. Enthält die Konfigurationsdatei keinen SECTION-Eintrag, ist der Standardwert:
SECTION 1 n l 8 3 0 2 5 4 9 6 7

Sind mehrere SECTION-Einträge vorhanden, werden deren Listen aneinander gehängt.

Wenn eine bestimmte Erweiterung (z.B. 1mh) nicht in dieser Liste eingetragen ist, werden die entsprechenden Seiten mit dem Rest des zugehörigen Abschnitts angezeigt. Der Effekt davon ist: Nur, wenn Sie eine bestimmte Reihenfolge erzwingen wollen, müssen Sie explizit eine Liste von Erweiterungen angeben. Abschnitte mit Erweiterungen sollten in der Regel den Hauptabschnitten benachbart sein (z.B. »1 1mh 8 ... «).

Als alternativer Name für diese Direktive wird SECTIONS akzeptiert.

Wenn die Terminalbreite kleiner als Breite ist, werden fehlende Cat-Seiten nicht erzeugt und vorhandene nicht angezeigt. Der Standardwert ist 80.
Wenn die Terminalbreite größer als Breite ist, werden fehlende Cat-Seiten nicht erzeugt und vorhandene nicht angezeigt. Der Standardwert ist 80.
Wenn Breite von Null verschieden ist, werden die Cat-Seiten für ein Terminal der vorgegebenen Breite formatiert, ungeachtet der Breite des aktuell verwendeten Terminals. Im Allgemeinen sollte ein Wert aus dem von MINCATWIDTH und MAXCATWIDTH festgelegten Bereich gewählt werden.
Dieses Option hält man von der automatischen Erzeugung von Cat-Seiten ab.

Wenn die oben angeführten Regeln nicht genau befolgt werden, werden sich die Handbuch-Dienstprogramme nicht wie gewünscht verhalten. Die Regeln sind zu kompliziert.

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

2022-03-17 2.10.2