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 examplecommand
aby go wyświetlić?
źródło
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 examplecommand
aby go wyświetlić?
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.
sudo
?/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
.źródło
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 powodujeman 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
zMANPATH=:/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
zMANPATH=:/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
.źródło