lfs/chapter06/man.xml
Matthew Burgess 45ca47c776 Updated to man-1.6
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@6394 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2005-07-05 20:33:45 +00:00

181 lines
6.6 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
<!ENTITY % patches-entities SYSTEM "../patches.ent">
%general-entities;
%patches-entities;
]>
<sect1 id="ch-system-man" role="wrap">
<title>Man-&man-version;</title>
<?dbhtml filename="man.html"?>
<indexterm zone="ch-system-man"><primary sortas="a-Man">Man</primary></indexterm>
<sect2 role="package"><title/>
<para>The Man package contains programs for finding and viewing man pages.</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.1 SBU</seg><seg>1.1 MB</seg></seglistitem>
</segmentedlist>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Gawk, GCC,
Glibc, Grep, Make, and Sed</seg></seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Man</title>
<para>Two adjustments need to be made to the sources of Man.</para>
<para>The first is a <command>sed</command> substitution to add the
<parameter>-R</parameter> switch to the <envar>PAGER</envar>
variable so that escape sequences are properly handled by Less:</para>
<screen><userinput>sed -i 's@-is@&amp;R@g' configure</userinput></screen>
<para>The second is also a <command>sed</command> substitution to comment out the
<quote>MANPATH /usr/man</quote> line in the
<filename>man.conf</filename> file to prevent redundant results when
using programs such as <command>whatis</command>:</para>
<screen><userinput>sed -i 's@MANPATH./usr/man@#&amp;@g' src/man.conf.in</userinput></screen>
<para>Prepare Man for compilation:</para>
<screen><userinput>./configure -confdir=/etc</userinput></screen>
<para>The meaning of the configure options:</para>
<variablelist>
<varlistentry>
<term><parameter>-confdir=/etc</parameter></term>
<listitem><para>This tells the <command>man</command> program to look for the
<filename>man.conf</filename> configuration file in the <filename
class="directory">/etc</filename> directory.</para></listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para>
<screen><userinput>make</userinput></screen>
<para>Install the package:</para>
<screen><userinput>make install</userinput></screen>
<note><para>If you will be working on a terminal that does not support text
attributes such as color and bold, you can disable Select Graphic Rendition
(SGR) escape sequences by editing the <filename>man.conf</filename> file and
adding the <parameter>-c</parameter> option to the <envar>NROFF</envar>
variable. If you use multiple terminal types for one computer it may be better
to selectively add the <envar>GROFF_NO_SGR</envar> environment variable for the
terminals that do not support SGR.</para></note>
<para>If the character set of the locale uses 8-bit characters, search for the
line beginning with <quote>NROFF</quote> in <filename>/etc/man.conf</filename>,
and verify that it matches the following:</para>
<screen>NROFF /usr/bin/nroff -Tlatin1 -mandoc</screen>
<para>Note that <quote>latin1</quote> should be used even if it is not
the character set of the locale. The reason is that, according to the
specification, <command>groff</command> has no means of typesetting
characters outside International Organization for Standards
(ISO) 8859-1 without some strange escape codes. When formatting man
pages, <command>groff</command> thinks that they are in the ISO 8859-1
encoding and this <parameter>-Tlatin1</parameter> switch tells
<command>groff</command> to use the same encoding for output. Since
<command>groff</command> does no recoding of input characters, the
formatted result is really in the same encoding as input, and therefore
it is usable as the input for a pager.</para>
<para>This does not solve the problem of a non-working
<command>man2dvi</command> program for localized man pages in
non-ISO 8859-1 locales. Also, it does not work with multibyte
character sets. The first problem does not currently have a solution.
The second issue is not of concern because the LFS installation does
not support multibyte character sets.</para>
<para>Additional information with regards to the compression of
man and info pages can be found in the BLFS book at
<ulink url="&blfs-root;view/cvs/postlfs/compressdoc.html"/>.</para>
</sect2>
<sect2 id="contents-man" role="content"><title>Contents of Man</title>
<segmentedlist>
<segtitle>Installed programs</segtitle>
<seglistitem><seg>apropos, makewhatis, man,
man2dvi, man2html, and whatis</seg></seglistitem>
</segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="apropos">
<term><command>apropos</command></term>
<listitem>
<para>Searches the <command>whatis</command> database and displays the short descriptions
of system commands that contain a given string</para>
<indexterm zone="ch-system-man apropos"><primary sortas="b-apropos">apropos</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="makewhatis">
<term><command>makewhatis</command></term>
<listitem>
<para>Builds the <command>whatis</command> database; it reads all the man pages
in the <envar>MANPATH</envar> and writes the name and a short description in the
<command>whatis</command> database for each page</para>
<indexterm zone="ch-system-man makewhatis"><primary sortas="b-makewhatis">makewhatis</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="man">
<term><command>man</command></term>
<listitem>
<para>Formats and displays the requested on-line man page</para>
<indexterm zone="ch-system-man man"><primary sortas="b-man">man</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="man2dvi">
<term><command>man2dvi</command></term>
<listitem>
<para>Converts a man page into dvi format</para>
<indexterm zone="ch-system-man man2dvi"><primary sortas="b-man2dvi">man2dvi</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="man2html">
<term><command>man2html</command></term>
<listitem>
<para>Converts a man page into HTML</para>
<indexterm zone="ch-system-man man2html"><primary sortas="b-man2html">man2html</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="whatis">
<term><command>whatis</command></term>
<listitem>
<para>Searches the <command>whatis</command> database and displays the short descriptions
of system commands that contain the given keyword as a separate
word</para>
<indexterm zone="ch-system-man whatis"><primary sortas="b-whatis">whatis</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>