Jak ręcznie zainstalować plik strony podręcznika?


44

Jak zainstalować plik strony podręcznika systemowego?

Na przykład, jeśli mam plik strony man examplecommand.1, jak go zainstalować, aby móc pisać, man examplecommandaby go wyświetlić?

Odpowiedzi:


53
  1. Najpierw dowiedz się, do której sekcji należy strona man. Jeśli jest to polecenie, prawdopodobnie należy do sekcji 1. Możesz przeczytać stronę podręcznika dla manpolecenia,Ikona strony aby zobaczyć opis różnych sekcji i odpowiadających im numerów.

  2. Skopiuj stronę man do /usr/local/share/man/man1/( 1w razie potrzeby zmień numer sekcji). Możesz go również zainstalować /usr/share/man/man1/, ale najlepszym rozwiązaniem jest użycie localkatalogu dla plików, które są instalowane bez użycia menedżera pakietów APT:

    sudo cp examplecommand.1 /usr/local/share/man/man1/
    
  3. Uruchom mandbpolecenie. Spowoduje to zaktualizowanie manwewnętrznej bazy danych:

    sudo mandb
    
  4. Otóż ​​to! Powinieneś być w stanie wyświetlić stronę man, uruchamiając:

    man 1 examplecommand
    

Bibliografia:


1
Czy istnieje opcja lub jaka jest zalecana praktyka, gdy chcesz uniknąć jej używania sudo?
Jorge Bucaran,

@JorgeBucaran Zobacz odpowiedź poniżej na temat ustawiania MANPATH, która pozwala na umieszczanie stron podręcznika w miejscach, w których możesz pisać, np. $ HOME / lib / share / man lub gdzieś w tym miejscu
nealmcb

Myślę, że możesz przechowywać strony podręcznika, /usr/local/manjak również sugerowane w mapowaniu PATH na MANPATH /etc/manpath.config.
jarno

10

Jeśli potrzebujesz tylko zainstalować stronę man lokalnie :

Jeśli MANPATHnie jest ustawiona lub zawiera pusty składnik (czyli zaczyna się od :, kończy się :lub zawiera ::), a następnie <path>/share/manzostanie automatycznie wyszukiwane stron podręcznika ilekroć <path>/binjest częścią PATH, dla wszystkich wartości<path> .

Zapewnia to bardzo prosty sposób dodawania stron podręcznika dla lokalnie zainstalowanego oprogramowania. Istnieją pewne szczegóły w man manpatha /etc/manpath.config, ale nie widzę żadnej wzmianki o ogólnym mapowania od <path>/bincelu <path>/share/man.


Dołączyłem MANPATH=<local path to the man pages>:$MANPATHdo twoich ${HOME}/.bashrc(sesji bez logowania) lub ${HOME}/.profile(sesji logowania). W moim przypadku utworzyłem lokalny katalog stron man ${HOME}/share/man/, który naśladuje klasyczny system plików Linux. Utworzyłem ${HOME}/share/man/man.1, który następnie zawiera symboliczne łącze do lokalizacji do pliku, examplecommand.1w którym umieścił go instalator programu (prefiks konfiguracji). Uruchomienie powoduje man examplecommandznalezienie stron podręcznika. W ten sposób instalacja jest lokalna, ale nie obejmuje całego systemu.
XavierStuvw

Był to bardzo interesujący komentarz i zapewnia ścieżkę dla osób, które muszą jedynie ustawić PATH (czego już oczekują) na lokalne pliki binarne. Jednak nie sądzę, że ogólne mapowanie <path>/bin-> <path>/share/manistnieje. Podczas wykonywania strace (1) manz MANPATH=:/nonexistingdir, widzę następujące: - <path>/bin-> <path>/man To jest w systemie Debain Buster.
Aktau

1

Odpowiedź @ ntc2 powyżej to ta, na którą ludzie powinni patrzeć. Chciałem dodać dodatkowy komentarz, który nie mieścił się w sekcji komentarzy:

Podejście @ ntc2 zapewnia ścieżkę dla osób, które muszą jedynie ustawić PATH (czego już oczekują) dla lokalnych plików binarnych.

Jednak nie sądzę, że ogólne mapowanie <path>/bin-> <path>/share/manistnieje dla wszystkich ścieżek w $PATH. Wydaje się, że tego konkretnego mapowania unika się, gdy $PATHchodzi o to pytanie $HOME/bin. Podczas wykonywania strace (1) manz MANPATH=:/nonexistingdir, widzę następujące wyszukiwania:

Dla dowolnego elementu, $PATHktóry nie jest$HOME/bin

  • <path>/bin -> <path>/man
  • <path>/bin -> <path>/bin/man
  • <path>/bin -> <path>/share/man
  • <path>/bin -> <path>/bin/share/man

Dla $HOME/bin

  • $HOME/bin -> $HOME/man

Nie mam pojęcia, dlaczego pomija pozostałe. To jest w systemie Debian Buster. Może być inaczej w innych systemach.

Dla mnie oznacza to, że najbezpieczniejszą ścieżką do instalacji stron podręcznika jest <path>/man, ponieważ na pewno można je znaleźć, jeśli jest w $PATH.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.