Risposte:
Innanzitutto, scopri a quale sezione appartiene la tua pagina man. Se è un comando, probabilmente appartiene alla sezione 1
. Puoi leggere la manpage del man
comando per vedere una descrizione delle diverse sezioni e dei loro numeri corrispondenti.
Copia la tua pagina man in /usr/local/share/man/man1/
(cambia 1
il numero della tua sezione se necessario). È inoltre possibile installarlo in /usr/share/man/man1/
, ma è consigliabile utilizzare la local
directory per i file installati senza utilizzare il gestore pacchetti APT:
sudo cp examplecommand.1 /usr/local/share/man/man1/
Esegui il mandb
comando Questo aggiornerà man
il database interno:
sudo mandb
Questo è tutto! Dovresti essere in grado di visualizzare la pagina man eseguendo:
man 1 examplecommand
man
comandomandb
comando/usr/bin/dh_installman
se è possibile leggere Perl, installato con il debhelper
pacchetto./usr/local/man
man e suggerirle nel tracciato PATH to MANPATH /etc/manpath.config
.
Se hai solo bisogno di installare la pagina man localmente :
Se MANPATH
non è impostato o include un componente vuoto (ovvero inizia con :
, termina con :
o contiene ::
), <path>/share/man
verrà automaticamente cercata la pagina man ogni volta che <path>/bin
fa parte di PATH
, per tutti i valori di<path>
.
Questo fornisce un modo molto semplice per aggiungere pagine man per software installato localmente. Ci sono alcuni dettagli in man manpath
e /etc/manpath.config
, ma non vedo alcuna menzione della mappatura generica da <path>/bin
a <path>/share/man
.
MANPATH=<local path to the man pages>:$MANPATH
alle tue ${HOME}/.bashrc
(sessioni non di accesso) o ${HOME}/.profile
(sessioni di accesso). Nel mio caso, ho creato una directory locale per le pagine man ${HOME}/share/man/
, che imita il classico filesystem Linux. Ho creato ${HOME}/share/man/man.1
, che contiene quindi un collegamento simbolico alla posizione del file examplecommand.1
ovunque sia stato inserito dal programma di installazione del programma (il 'prefisso' di configurazione). Il lancio man examplecommand
trova le pagine man nel punto. In questo modo l'installazione è locale, tuttavia, non a livello di sistema.
<path>/bin
-> <path>/share/man
esista. Quando eseguo strace (1) su man
con MANPATH=:/nonexistingdir
, vedo quanto segue: - <path>/bin
-> <path>/man
Questo è su un sistema Debain Buster.
La risposta di @ ntc2 sopra è quella che le persone dovrebbero guardare. Volevo aggiungere alcuni commenti extra che non rientravano nella sezione commenti:
L'approccio di @ ntc2 fornisce un percorso per le persone che devono solo impostare il loro PERCORSO (che già si aspettano) per i binari locali.
Tuttavia, non credo che la mappatura generica <path>/bin
-> <path>/share/man
esista per tutti i percorsi in $PATH
. Sembra che questa mappatura specifica sia evitata quando è $PATH
in questione $HOME/bin
. Quando eseguo strace (1) su man
con MANPATH=:/nonexistingdir
, vedo le seguenti ricerche:
Per qualsiasi elemento $PATH
non lo è$HOME/bin
<path>/bin
-> <path>/man
<path>/bin
-> <path>/bin/man
<path>/bin
-> <path>/share/man
<path>/bin
-> <path>/bin/share/man
Per $HOME/bin
$HOME/bin
-> $HOME/man
Non ho idea del perché salti gli altri. Questo è su un sistema Debian Buster. Potrebbe essere diverso su altri sistemi.
Per me, questo significa che il percorso più sicuro per installare le pagine man è <path>/man
, poiché è garantito se si trova nel file $PATH
.
sudo
?