source: chapter06/man.xml@ e464747

Last change on this file since e464747 was 2256873, checked in by Gerard Beekmans <gerard@…>, 20 years ago

Last edit round.

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/testing/BOOK@4265 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 6.5 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
3 <!ENTITY % general-entities SYSTEM "../general.ent">
4 %general-entities;
5]>
6<sect1 id="ch-system-man" role="wrap">
7<title>Man-&man-version;</title>
8<?dbhtml filename="man.html"?>
9
10<indexterm zone="ch-system-man"><primary sortas="a-Man">Man</primary></indexterm>
11
12<sect2 role="package"><title/>
13<para>The Man package contains programs for finding and viewing manual pages.</para>
14
15<segmentedlist>
16<segtitle>&buildtime;</segtitle>
17<segtitle>&diskspace;</segtitle>
18<seglistitem><seg>0.1 SBU</seg><seg>1.9MB</seg></seglistitem>
19</segmentedlist>
20
21<segmentedlist>
22<segtitle>Man installation depends on</segtitle>
23<seglistitem><seg>Bash, Binutils, Coreutils, Gawk, GCC,
24Glibc, Grep, Make, and Sed</seg></seglistitem>
25</segmentedlist>
26</sect2>
27
28<sect2 role="installation">
29<title>Installation of Man</title>
30
31<para>Three adjustments need to be made to the sources of Man.</para>
32
33<para>The first is a patch which allows Man to work better with recent
34releases of Groff. In particular, man pages will now display using the
35full terminal width instead of being limited to 80 characters:</para>
36
37<screen><userinput>patch -Np1 -i ../man-&man-version;-80cols-1.patch</userinput></screen>
38
39<para>The second is a sed substitution to add the
40<parameter>-R</parameter> switch to the <envar>PAGER</envar>
41variable so that escape sequences are properly handled by Less:</para>
42
43<screen><userinput>sed -i 's@-is@&amp;R@g' configure</userinput></screen>
44
45<para>The third is also a sed substitution to comment out the
46<quote>MANPATH /usr/man</quote> line in the
47<filename>man.conf</filename> file to prevent redundant results when
48using programs such as <command>whatis</command>:</para>
49
50<screen><userinput>sed -i 's@MANPATH./usr/man@#&amp;@g' src/man.conf.in</userinput></screen>
51
52<para>Prepare Man for compilation:</para>
53
54<screen><userinput>./configure -confdir=/etc</userinput></screen>
55
56<para>The meaning of the configure options:</para>
57
58<variablelist>
59<varlistentry>
60<term><parameter>-confdir=/etc</parameter></term>
61<listitem><para>This tells the <command>man</command> program to look for the
62<filename>man.conf</filename> configuration file in the <filename
63class="directory">/etc</filename> directory.</para></listitem>
64</varlistentry>
65</variablelist>
66
67<para>Compile the package:</para>
68
69<screen><userinput>make</userinput></screen>
70
71<para>Install the package:</para>
72
73<screen><userinput>make install</userinput></screen>
74
75<note><para>To disable Select Graphic Rendition (SGR) escape
76sequences, edit the <filename>man.conf</filename> file and
77add the <parameter>-c</parameter> switch to
78the <envar>NROFF</envar> variable.</para></note>
79
80<para>If the character set uses 8-bit characters, search for the line
81beginning with <quote>NROFF</quote> in
82<filename>/etc/man.conf</filename>, and verify that it looks as
83follows:</para>
84
85<screen>NROFF /usr/bin/nroff -Tlatin1 -mandoc</screen>
86
87<para>Note that <quote>latin1</quote> should be used even if it is not
88the character set of the locale. The reason is that, according to the
89specification, <command>groff</command> has no means of typesetting
90characters outside International Organization for Standards
91(ISO) 8859-1 without some strange escape codes. When formatting manual
92pages, <command>groff</command> thinks that they are in the ISO 8859-1
93encoding and this <parameter>-Tlatin1</parameter> switch tells
94<command>groff</command> to use the same encoding for output. Since
95<command>groff</command> does no recoding of input characters, the
96formatted result is really in the same encoding as input, and therefore
97it is usable as the input for a pager.</para>
98
99<para>This does not solve the problem of a non-working
100<command>man2dvi</command> program for localized manual pages in
101non-ISO 8859-1 locales. Also, it does not work with multibyte
102character sets. The first problem does not currently have a solution.
103The second issue is not of concern because the LFS installation does
104not support multibyte character sets.</para>
105
106<para>Additional information with regards to the compression of
107man and info pages can be found in the BLFS book at
108<ulink url="&blfs-root;view/cvs/postlfs/compressdoc.html"><phrase
109condition="pdf">http://www.linuxfromscratch.org/blfs/view/cvs/postlfs/
110compressdoc.html</phrase></ulink>.</para>
111
112<beginpage/>
113</sect2>
114
115
116<sect2 id="contents-man" role="content"><title>Contents of Man</title>
117
118<segmentedlist>
119<segtitle>Installed programs</segtitle>
120<seglistitem><seg>apropos, makewhatis, man,
121man2dvi, man2html, and whatis</seg></seglistitem>
122</segmentedlist>
123
124<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
125<?dbfo list-presentation="list"?>
126
127<varlistentry id="apropos">
128<term><command>apropos</command></term>
129<listitem>
130<para>Searches the whatis database and displays the short descriptions
131of system commands that contain a given string</para>
132<indexterm zone="ch-system-man apropos"><primary sortas="b-apropos">apropos</primary></indexterm>
133</listitem>
134</varlistentry>
135
136<varlistentry id="makewhatis">
137<term><command>makewhatis</command></term>
138<listitem>
139<para>Builds the whatis database; it reads all the manual pages in the
140manpath and writes the name and a short description in the whatis
141database for each page</para>
142<indexterm zone="ch-system-man makewhatis"><primary sortas="b-makewhatis">makewhatis</primary></indexterm>
143</listitem>
144</varlistentry>
145
146<varlistentry id="man">
147<term><command>man</command></term>
148<listitem>
149<para>Formats and displays the requested on-line manual page</para>
150<indexterm zone="ch-system-man man"><primary sortas="b-man">man</primary></indexterm>
151</listitem>
152</varlistentry>
153
154<varlistentry id="man2dvi">
155<term><command>man2dvi</command></term>
156<listitem>
157<para>Converts a manual page into dvi format</para>
158<indexterm zone="ch-system-man man2dvi"><primary sortas="b-man2dvi">man2dvi</primary></indexterm>
159</listitem>
160</varlistentry>
161
162<varlistentry id="man2html">
163<term><command>man2html</command></term>
164<listitem>
165<para>Converts a manual page into HTML</para>
166<indexterm zone="ch-system-man man2html"><primary sortas="b-man2html">man2html</primary></indexterm>
167</listitem>
168</varlistentry>
169
170<varlistentry id="whatis">
171<term><command>whatis</command></term>
172<listitem>
173<para>Searches the whatis database and displays the short descriptions
174of system commands that contain the given keyword as a separate
175word</para>
176<indexterm zone="ch-system-man whatis"><primary sortas="b-whatis">whatis</primary></indexterm>
177</listitem>
178</varlistentry>
179</variablelist>
180
181</sect2>
182
183</sect1>
184
Note: See TracBrowser for help on using the repository browser.