Odpowiedzi:
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 man
polecenia, aby zobaczyć opis różnych sekcji i odpowiadających im numerów.
Skopiuj stronę man do /usr/local/share/man/man1/
( 1
w razie potrzeby zmień numer sekcji). Możesz go również zainstalować /usr/share/man/man1/
, ale najlepszym rozwiązaniem jest użycie local
katalogu dla plików, które są instalowane bez użycia menedżera pakietów APT:
sudo cp examplecommand.1 /usr/local/share/man/man1/
Uruchom mandb
polecenie. Spowoduje to zaktualizowanie man
wewnętrznej bazy danych:
sudo mandb
Otóż to! Powinieneś być w stanie wyświetlić stronę man, uruchamiając:
man 1 examplecommand
man
poleceniamandb
polecenia/usr/bin/dh_installman
jeśli możesz odczytać Perla, zainstalowany z debhelper
pakietem./usr/local/man
jak również sugerowane w mapowaniu PATH na MANPATH /etc/manpath.config
.
Jeśli potrzebujesz tylko zainstalować stronę man lokalnie :
Jeśli MANPATH
nie jest ustawiona lub zawiera pusty składnik (czyli zaczyna się od :
, kończy się :
lub zawiera ::
), a następnie <path>/share/man
zostanie automatycznie wyszukiwane stron podręcznika ilekroć <path>/bin
jest 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 manpath
a /etc/manpath.config
, ale nie widzę żadnej wzmianki o ogólnym mapowania od <path>/bin
celu <path>/share/man
.
MANPATH=<local path to the man pages>:$MANPATH
do 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.1
w którym umieścił go instalator programu (prefiks konfiguracji). Uruchomienie powoduje man examplecommand
znalezienie stron podręcznika. W ten sposób instalacja jest lokalna, ale nie obejmuje całego systemu.
<path>/bin
-> <path>/share/man
istnieje. Podczas wykonywania strace (1) man
z MANPATH=:/nonexistingdir
, widzę następujące: - <path>/bin
-> <path>/man
To jest w systemie Debain Buster.
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/man
istnieje dla wszystkich ścieżek w $PATH
. Wydaje się, że tego konkretnego mapowania unika się, gdy $PATH
chodzi o to pytanie $HOME/bin
. Podczas wykonywania strace (1) man
z MANPATH=:/nonexistingdir
, widzę następujące wyszukiwania:
Dla dowolnego elementu, $PATH
któ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
.
sudo
?