NAZWA
manpath - format pliku /etc/manpath.config
OPIS
Plik konfiguracyjny ścieżek przeszukiwania stron podręcznika stosowany jest przez narzędzia obsługi stron podręcznika do oszacowania ścieżek manpath użytkowników na bieżąco, podczas wykonywania programu. Wskazuje, jakie hierarchie stron man (manpaths) powinny być traktowane jako globalne oraz przypisuje im katalogi, które będą użyte do składowania plików cat.
Jeżeli jest już ustawiona zmienna środowiska $MANPATH, to informacja zawarta w /etc/manpath.config nie będzie jej nadpisywać.
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.
FORMAT
Obecnie
rozpoznawane są następujące typy pól:
# komentarz
Wiersze puste bądź rozpoczynające się znakiem # zostaną uznane za komentarze i zignorowane.
MANDATORY_MANPATH element_manpath
Wiersze tej postaci wskazują ścieżki man, które powinna zawierać każda automatycznie utworzona wartość zmiennej $MANPATH. Zwykle obejmuje to /usr/man.
MANPATH_MAP element_path element_manpath
Wiersze tej postaci ustawiają odwzorowania $PATH na $MANPATH. Dla każdego elementu_path znalezionego w ścieżce $PATH użytkownika do zmiennej $MANPATH zostanie dodany element_manpath.
MANDB_MAP element_manpath [ element_catpath ]
Wiersze tej postaci wskazują, które ścieżki man powinny być traktowane jako systemowe, i opcjonalnie, gdzie powinny być składowane ich pliki cat. Ten typ pola jest szczególnie ważny, gdy man jest programem setuid, gdyż (jeżeli jest umieszczony w systemowym pliku konfiguracyjnym /etc/manpath.config, a nie w pliku konfiguracyjnym użytkownika .manpath) mówi, do których hierarchii (katalogów) stron man należy sięgać jako użytkownik setuid, a do których jako użytkownik wywołujący program.
Systemowe hierarchie stron man są zwykle składowane wewnątrz katalogu /usr jak na przykład /usr/man, /usr/local/man czy /usr/X11R6/man.
Jeśli strony cat z danej ścieżki element_manpath mają nie być przechowywane albo mają być składowane w tradycyjnym miejscu, to element_catpath można pominąć.
Traditional cat placement would be impossible for read only mounted manual page hierarchies and because of this it is possible to specify any valid directory hierarchy for their storage. To observe the Linux FSSTND the keyword FSSTND can be used in place of an actual directory.
Niestety, niezbędne jest podanie wszystkich systemowych ścieżek drzew man, łącznie ze ścieżkami kolejnych systemów, jak np. /usr/man/sun czy też ścieżki NLS locale, takie jak /usr/man/de_DE.88591.
Ponieważ informacja jest analizowana wiersz po wierszu, w kolejności zapisu, każda ścieżka manpath będąca podhierarchią innej hierarchii powinna być podana jako pierwsza. W przeciwnym razie zostaną wykonane niepoprawne dopasowania. Na przykład /usr/man/de_DE.88591 musi wystąpić przed /usr/man.
DEFINE klucz wartość
Linie tej postaci definiują różnorodne zmienne konfiguracyjne - domyślny plik konfiguracyjny zawiera zmienne używane przez programy użytkowe przeglądarki stron man. Zawierają one domyślne ścieżki do różnych programów (takich jak grep i tbl) oraz domyślne argumenty wywołań tych programów.
SECTION sekcja ...
Linie w tej postaci określają porządek przeszukiwania sekcji podręcznika ekranowego. Jeżeli plik konfiguracyjny nie zawiera żadnej dyrektywy SECTION, to domyślny porządek przeszukiwania sekcji jest następujący:
SECTION 1 n l 8 3 0 2 3type 5 4 9 6 7
Jeśli podano wiele dyrektyw SECTION, podane w nich sekcje będą połączone.
Jeśli pewne rozszerzenie (na przykład 1mh) nie występuje w liście sekcji, to będzie wyświetlane z pozostałą częścią sekcji, do której należy. Tak więc nie ma potrzeby wymieniać wszystkich sekcji w pliku konfiguracyjnym, aby wymusić określony porządek przeszukiwania sekcji. Sekcje z rozszerzeniami będą występować po głównej sekcji (np. "1 1mh 8...").
Można użyć słowa SECTIONS jako alternatywnej nazwy tej dyrektywy.
MINCATWIDTH szerokość
Jeżeli szerokość terminalu jest mniejsza niż szerokość, to preformatowane strony podręcznika nie będą ani tworzone (jeśli ich nie ma), ani wyświetlane. Domyślną wartością jest 80.
MAXCATWIDTH szerokość
Jeżeli szerokość terminalu jest większa niż szerokość, to preformatowane strony podręcznika nie będą ani tworzone (jeśli ich nie ma), ani wyświetlane. Domyślną wartością jest 80.
CATWIDTH szerokość
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.
NOCACHE
Ta flaga zapobiega automatycznemu tworzeniu preformatowanych stron "cat" przez man.
BŁĘDY
Jeżeli nie są ściśle przestrzegane powyższe reguły, to narzędzia przeglądania stron man nie będą działać w pożądany sposób.
https://gitlab.com/man-db/man-db/-/issues
https://savannah.nongnu.org/bugs/?group=man-db
TŁUMACZENIE
Wojciech
Kotwica w 1999 roku przetłumaczył
część stron podręcznika pakietu man-db i
udostępnił je w ramach Projektu Tłumaczenia
Manuali.
Robert Luberda tłumaczenie zaktualizował i
uzupełnił w roku 2008.