Antworten:
Finden Sie zunächst heraus, zu welchem Abschnitt Ihre Manpage gehört. Wenn es ein Befehl ist, gehört er wahrscheinlich zu Abschnitt 1
. Sie können die Manpage für den man
Befehl lesen , um eine Beschreibung der verschiedenen Abschnitte und ihrer entsprechenden Nummern zu erhalten.
Kopieren Sie Ihre Manpage nach /usr/local/share/man/man1/
(ändern 1
Sie gegebenenfalls Ihre Abschnittsnummer). Sie können es auch installieren, es /usr/share/man/man1/
wird jedoch empfohlen, das local
Verzeichnis für Dateien zu verwenden, die ohne den APT-Paketmanager installiert werden:
sudo cp examplecommand.1 /usr/local/share/man/man1/
Führen Sie den mandb
Befehl aus. Dadurch wird man
die interne Datenbank des Updates aktualisiert :
sudo mandb
Das ist es! Sie sollten in der Lage sein, die Manpage anzuzeigen, indem Sie Folgendes ausführen:
man 1 examplecommand
man
Befehlmandb
Befehl/usr/bin/dh_installman
wenn Sie Perl lesen können, wird mit dem debhelper
Paket installiert ./usr/local/man
PATH to MANPATH Mapping speichern /etc/manpath.config
.
Wenn Sie die Manpage nur lokal installieren müssen :
Wenn MANPATH
es nicht gesetzt ist oder eine leere Komponente enthält (dh beginnt mit :
, endet mit :
oder enthält ::
), <path>/share/man
wird automatisch nach Manpages gesucht, wann immer <path>/bin
ein Teil von PATH
, nach allen Werten von<path>
.
Dies bietet eine sehr einfache Möglichkeit, Manpages für lokal installierte Software hinzuzufügen. Es gibt einige Details in man manpath
und /etc/manpath.config
, aber ich sehe keine Erwähnung der generischen Zuordnung von <path>/bin
bis <path>/share/man
.
MANPATH=<local path to the man pages>:$MANPATH
Ihre ${HOME}/.bashrc
(Nicht-Anmeldesitzungen) oder ${HOME}/.profile
(Anmeldesitzungen) angehängt . In meinem Fall habe ich ein lokales Verzeichnis für ${HOME}/share/man/
Manualpages eingerichtet, das das klassische Linux-Dateisystem nachahmt. Ich habe erstellt ${HOME}/share/man/man.1
, der dann einen symbolischen Link zum Speicherort der Datei enthält, examplecommand.1
wo auch immer das Programm-Installationsprogramm sie abgelegt hat (das configure-Präfix). Beim Starten werden man examplecommand
die Manpages in Punkt gefunden. Auf diese Weise erfolgt die Installation lokal, jedoch nicht systemweit.
<path>/bin
-> <path>/share/man
existiert. Wenn ich Strace (1) man
mit durchführe MANPATH=:/nonexistingdir
, sehe ich Folgendes: - <path>/bin
-> <path>/man
Dies ist auf einem Debain Buster-System.
Die Antwort von @ ntc2 oben ist die, die man sich ansehen sollte. Ich wollte einige zusätzliche Kommentare hinzufügen, die nicht in den Kommentarbereich passen:
Der Ansatz von @ ntc2 bietet einen Pfad für Benutzer, die nur ihren PATH (den sie bereits erwarten) für lokale Binärdateien festlegen müssen.
Ich glaube jedoch nicht, dass das generische Mapping <path>/bin
-> <path>/share/man
für alle Pfade in existiert $PATH
. Es scheint, als würde diese spezifische Zuordnung vermieden, wenn dies der $PATH
Fall ist $HOME/bin
. Wenn strace (1) auf die Durchführung man
mit MANPATH=:/nonexistingdir
, ich folgende Lookups sehen:
Für jedes Element ist $PATH
das nicht$HOME/bin
<path>/bin
-> <path>/man
<path>/bin
-> <path>/bin/man
<path>/bin
-> <path>/share/man
<path>/bin
-> <path>/bin/share/man
Zum $HOME/bin
$HOME/bin
-> $HOME/man
Ich habe keine Ahnung, warum es die anderen überspringt. Dies ist auf einem Debian Buster-System. Bei anderen Systemen kann dies anders sein.
Für mich bedeutet dies, dass der sicherste Pfad für die Installation von man-pages ist <path>/man
, da er garantiert in der gefunden wird $PATH
.
sudo
?