Come installo manualmente un file della pagina man?


44

Come installo un file di pagina man a livello di sistema?

Ad esempio, se ho un file della pagina man examplecommand.1, come lo installo in modo da poter digitare man examplecommandper visualizzarlo?

Risposte:


53
  1. Innanzitutto, scopri a quale sezione appartiene la tua pagina man. Se è un comando, probabilmente appartiene alla sezione 1. Puoi leggere la manpage del mancomandoIcona Manpage per vedere una descrizione delle diverse sezioni e dei loro numeri corrispondenti.

  2. Copia la tua pagina man in /usr/local/share/man/man1/(cambia 1il numero della tua sezione se necessario). È inoltre possibile installarlo in /usr/share/man/man1/, ma è consigliabile utilizzare la localdirectory per i file installati senza utilizzare il gestore pacchetti APT:

    sudo cp examplecommand.1 /usr/local/share/man/man1/
    
  3. Esegui il mandbcomando Questo aggiornerà manil database interno:

    sudo mandb
    
  4. Questo è tutto! Dovresti essere in grado di visualizzare la pagina man eseguendo:

    man 1 examplecommand
    

Riferimenti:


1
Esiste un'opzione o qual è la pratica consigliata quando si desidera evitare l'uso sudo?
Jorge Bucaran,

@JorgeBucaran Vedi la risposta qui sotto su come impostare MANPATH, che ti permette di mettere pagine di manuale negli spazi in cui puoi scrivere, ad esempio $ HOME / lib / share / man o in un posto simile
nealmcb,

Penso che potresti archiviare le pagine /usr/local/manman e suggerirle nel tracciato PATH to MANPATH /etc/manpath.config.
jarno,

10

Se hai solo bisogno di installare la pagina man localmente :

Se MANPATHnon è impostato o include un componente vuoto (ovvero inizia con :, termina con :o contiene ::), <path>/share/manverrà automaticamente cercata la pagina man ogni volta che <path>/binfa 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 manpathe /etc/manpath.config, ma non vedo alcuna menzione della mappatura generica da <path>/bina <path>/share/man.


Ho aggiunto MANPATH=<local path to the man pages>:$MANPATHalle 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.1ovunque sia stato inserito dal programma di installazione del programma (il 'prefisso' di configurazione). Il lancio man examplecommandtrova le pagine man nel punto. In questo modo l'installazione è locale, tuttavia, non a livello di sistema.
XavierStuvw il

Questo è stato un commento molto interessante e 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/manesista. Quando eseguo strace (1) su mancon MANPATH=:/nonexistingdir, vedo quanto segue: - <path>/bin-> <path>/man Questo è su un sistema Debain Buster.
Aktau,

1

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/manesista per tutti i percorsi in $PATH. Sembra che questa mappatura specifica sia evitata quando è $PATHin questione $HOME/bin. Quando eseguo strace (1) su mancon MANPATH=:/nonexistingdir, vedo le seguenti ricerche:

Per qualsiasi elemento $PATHnon 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.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.