source: chapter06/man.xml@ 456a1d92

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.0 6.1 6.1.1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 456a1d92 was 2ec4b60, checked in by Zack Winkles <winkie@…>, 20 years ago

Normalized usage of sed throughout the book

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3762 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" xreflabel="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, Sed</seg></seglistitem>
25</segmentedlist>
26</sect2>
27
28<sect2 role="installation">
29<title>Installation of Man</title>
30
31<para>We'll make three adjustments to the sources of Man.</para>
32
33<para>The first is a patch which allows Man to work better with recent releases
34of Groff. In particular, man pages will now display using the full terminal
35width 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 <emphasis>-R</emphasis>
40switch to the <emphasis>PAGER</emphasis> variable so that escape sequences are
41properly 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 <quote>MANPATH
46/usr/man</quote> line in the <filename>man.conf</filename> file to prevent
47redundant results when using programs such as <command>whatis</command>:</para>
48
49<screen><userinput>sed -i 's@MANPATH./usr/man@#&amp;@g' src/man.conf.in</userinput></screen>
50
51<para>Now prepare Man for compilation:</para>
52
53<screen><userinput>./configure -confdir=/etc</userinput></screen>
54
55<para>The meaning of the configure options:</para>
56
57<variablelist>
58<varlistentry>
59<term><userinput>-confdir=/etc</userinput></term>
60<listitem><para>This tells the
61<command>man</command> program to look for the <filename>man.conf</filename>
62configuration file in the <filename>/etc</filename> directory.</para></listitem>
63</varlistentry>
64</variablelist>
65
66<para>Compile the package:</para>
67
68<screen><userinput>make</userinput></screen>
69
70<para>Lastly, install it:</para>
71
72<screen><userinput>make install</userinput></screen>
73
74<note><para>If you wish to disable SGR (Select Graphic Rendition) escape sequences, you should edit the
75<filename>man.conf</filename> file and add the <emphasis>-c</emphasis> switch
76to NROFF.</para></note>
77
78<para>If your character set uses 8-bit characters, search for the line
79beginning with "NROFF" in /etc/man.conf, and verify that it coincides
80with the following:</para>
81
82<screen>NROFF /usr/bin/nroff -Tlatin1 -mandoc</screen>
83
84<para>Note that you should use "latin1" even if it is not the character set
85of your locale. The reason is that,
86according to the specification, <application>groff</application> has
87no means of typesetting characters outside ISO-8859-1
88without some strange escape codes, and localized manual
89pages are therefore really a hack. When formatting manual pages,
90<application>groff</application> thinks that they are in the ISO-8859-1
91encoding and this <emphasis>-Tlatin1</emphasis> switch tells
92<application>groff</application> to use the same encoding for output.
93Since <application>groff</application> does no recoding of input characters,
94the formatted result is really in the same encoding as input (although
95<application>groff</application> doesn't know that it is not ISO-8859-1)
96and therefore it is usable as the input for a pager.</para>
97
98<para>Of course, this hack does not solve the problem of non-working
99<command>man2dvi</command> program for localized manual
100pages in non-ISO-8859-1 locales.
101Also, it does not work at all with multibyte character sets.
102The first problem does not have a solution currently. The second
103one is not of a concern because the LFS installation does not support
104multibyte character sets properly anyway. You may want to look at
105internationalization related hints, though.</para>
106
107<para>You may want to also take a look at the BLFS page at
108<ulink url="&blfs-root;view/cvs/postlfs/compressdoc.html"/> which deals with
109formatting and compression issues for man pages.</para>
110
111</sect2>
112
113
114<sect2 id="contents-man" role="content"><title>Contents of Man</title>
115
116<segmentedlist>
117<segtitle>Installed programs</segtitle>
118<seglistitem><seg>apropos, makewhatis, man,
119man2dvi, man2html and whatis</seg></seglistitem>
120</segmentedlist>
121
122<variablelist><title>Short descriptions</title>
123
124<varlistentry id="apropos">
125<term><command>apropos</command></term>
126<listitem>
127<indexterm zone="ch-system-man apropos"><primary sortas="b-apropos">apropos</primary></indexterm>
128<para>searches the whatis database and displays
129the short descriptions of system commands that contain a given string.</para>
130</listitem>
131</varlistentry>
132
133<varlistentry id="makewhatis">
134<term><command>makewhatis</command></term>
135<listitem>
136<indexterm zone="ch-system-man makewhatis"><primary sortas="b-makewhatis">makewhatis</primary></indexterm>
137<para>builds the whatis database. It reads
138all the manual pages in the manpath and for each page writes the name and a
139short description in the whatis database.</para>
140</listitem>
141</varlistentry>
142
143<varlistentry id="man">
144<term><command>man</command></term>
145<listitem>
146<indexterm zone="ch-system-man man"><primary sortas="b-man">man</primary></indexterm>
147<para>formats and displays the requested on-line manual page.</para>
148</listitem>
149</varlistentry>
150
151<varlistentry id="man2dvi">
152<term><command>man2dvi</command></term>
153<listitem>
154<indexterm zone="ch-system-man man2dvi"><primary sortas="b-man2dvi">man2dvi</primary></indexterm>
155<para>converts a manual page into dvi format.</para>
156</listitem>
157</varlistentry>
158
159<varlistentry id="man2html">
160<term><command>man2html</command></term>
161<listitem>
162<indexterm zone="ch-system-man man2html"><primary sortas="b-man2html">man2html</primary></indexterm>
163<para>converts a manual page into html.</para>
164</listitem>
165</varlistentry>
166
167<varlistentry id="whatis">
168<term><command>whatis</command></term>
169<listitem>
170<indexterm zone="ch-system-man whatis"><primary sortas="b-whatis">whatis</primary></indexterm>
171<para>searches the whatis database and displays the short descriptions of system
172commands that contain the given keyword as a separate word.</para>
173</listitem>
174</varlistentry>
175</variablelist>
176
177</sect2>
178
179</sect1>
Note: See TracBrowser for help on using the repository browser.