12.6    Eigene Manpages erstellen

Neben einer vernünftigen Dokumentation, die als Textdatei, HTML, PDF oder als was auch immer vorliegen kann, ist es unter Unix und Linux üblich, für eigene Programme eine Manpage zu erstellen. Eine Manpage erklärt im Groben die Funktionsweise eines Programms und die Parameter, die man ihm übergeben kann.

12.6.1    groff nutzen

Zur Erstellung einer Manpage nutzt man das Tool groff. Dabei wird eine Textdatei erstellt, aus der groff anschließend eine Manpage erstellt.

Gearbeitet wird dabei ähnlich wie in LaTeX oder HTML: Man verwendet Befehle, die Formatierungsanweisungen für einen Interpreter/Compiler darstellen. Im Folgenden wollen wir Ihnen die wichtigsten Befehle vorstellen, die man zur Erstellung von Manpages mit groff verwendet.

Eine Manpage könnte in etwa folgendermaßen aussehen:

.TH MeinTool 1
.SH NAME
MeinTool  ein ganz prima feines Tool
.SH SYNOPSIS
.B MeinTool [-v] [-l
.I config-file
.B ]
.SH DESCRIPTION

MeinTool kann alles, was andere Tools nicht koennen.

.SH OPTIONS
.IP -v
Ausfuehrliche Meldungen ausgeben.
.IP "-l config-file"
Falls nicht die Standard-Konfigurationsdatei
verwendet werden soll, kann ueber diesen Parameter
eine Alternative (
.I config-file
) angegeben werden.
.SH BUGS
Manchmal funktioniert MeinTool, aber in der Regel
sollte man sich nicht darauf verlassen.
.SH AUTHOR
Steffen Wendzel
.SH "SEE ALSO"
.BR reboot (8)

Listing 12.42     Eine exemplarische Manpage

Um aus diesem Textbatzen eine Manpage zu generieren, rufen Sie groff mit dem Parameter -man auf. Möchten Sie nicht gerade eine PostScript-Datei generiert haben, so verwenden Sie -Tascii, damit groff die Manpage im ASCII-Format ausgibt.

# PostScript-Datei:
$ groff -man mytool.1 > mytool.ps
# ASCII-Manpage:
$ groff -man -Tascii mytool.1 | less

Listing 12.43     groff aufrufen

12.6.2    Manpages installieren

Um die Manpage auch im System zu installieren, haben Sie zwei Möglichkeiten:

Die fertige Manpage

Abbildung 12.1     Die fertige Manpage

Beide Installationsmöglichkeiten eignen sich auch hervorragend, um die Manpage über ein install-Target eines Makefiles zu installieren.