source: chapter06/man.xml@ 39734a9

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 12.2 12.2-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/loongarch-12.2 xry111/mips64el xry111/multilib xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 39734a9 was 4b3ac50, checked in by Zack Winkles <winkie@…>, 20 years ago

Fix permissions of files that have been edited inline by sed

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

  • Property mode set to 100644
File size: 6.6 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
44chmod 755 configure</userinput></screen>
45
46<para>The third is also a sed substitution to comment out the <quote>MANPATH
47/usr/man</quote> line in the <filename>man.conf</filename> file to prevent
48redundant results when using 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>Now 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><userinput>-confdir=/etc</userinput></term>
61<listitem><para>This tells the
62<command>man</command> program to look for the <filename>man.conf</filename>
63configuration file in the <filename>/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>Lastly, install it:</para>
72
73<screen><userinput>make install</userinput></screen>
74
75<note><para>If you wish to disable SGR (Select Graphic Rendition) escape sequences, you should edit the
76<filename>man.conf</filename> file and add the <emphasis>-c</emphasis> switch
77to NROFF.</para></note>
78
79<para>If your character set uses 8-bit characters, search for the line
80beginning with "NROFF" in /etc/man.conf, and verify that it coincides
81with the following:</para>
82
83<screen>NROFF /usr/bin/nroff -Tlatin1 -mandoc</screen>
84
85<para>Note that you should use "latin1" even if it is not the character set
86of your locale. The reason is that,
87according to the specification, <application>groff</application> has
88no means of typesetting characters outside ISO-8859-1
89without some strange escape codes, and localized manual
90pages are therefore really a hack. When formatting manual pages,
91<application>groff</application> thinks that they are in the ISO-8859-1
92encoding and this <emphasis>-Tlatin1</emphasis> switch tells
93<application>groff</application> to use the same encoding for output.
94Since <application>groff</application> does no recoding of input characters,
95the formatted result is really in the same encoding as input (although
96<application>groff</application> doesn't know that it is not ISO-8859-1)
97and therefore it is usable as the input for a pager.</para>
98
99<para>Of course, this hack does not solve the problem of non-working
100<command>man2dvi</command> program for localized manual
101pages in non-ISO-8859-1 locales.
102Also, it does not work at all with multibyte character sets.
103The first problem does not have a solution currently. The second
104one is not of a concern because the LFS installation does not support
105multibyte character sets properly anyway. You may want to look at
106internationalization related hints, though.</para>
107
108<para>You may want to also take a look at the BLFS page at
109<ulink url="&blfs-root;view/cvs/postlfs/compressdoc.html"/> which deals with
110formatting and compression issues for man pages.</para>
111
112</sect2>
113
114
115<sect2 id="contents-man" role="content"><title>Contents of Man</title>
116
117<segmentedlist>
118<segtitle>Installed programs</segtitle>
119<seglistitem><seg>apropos, makewhatis, man,
120man2dvi, man2html and whatis</seg></seglistitem>
121</segmentedlist>
122
123<variablelist><title>Short descriptions</title>
124
125<varlistentry id="apropos">
126<term><command>apropos</command></term>
127<listitem>
128<indexterm zone="ch-system-man apropos"><primary sortas="b-apropos">apropos</primary></indexterm>
129<para>searches the whatis database and displays
130the short descriptions of system commands that contain a given string.</para>
131</listitem>
132</varlistentry>
133
134<varlistentry id="makewhatis">
135<term><command>makewhatis</command></term>
136<listitem>
137<indexterm zone="ch-system-man makewhatis"><primary sortas="b-makewhatis">makewhatis</primary></indexterm>
138<para>builds the whatis database. It reads
139all the manual pages in the manpath and for each page writes the name and a
140short description in the whatis database.</para>
141</listitem>
142</varlistentry>
143
144<varlistentry id="man">
145<term><command>man</command></term>
146<listitem>
147<indexterm zone="ch-system-man man"><primary sortas="b-man">man</primary></indexterm>
148<para>formats and displays the requested on-line manual page.</para>
149</listitem>
150</varlistentry>
151
152<varlistentry id="man2dvi">
153<term><command>man2dvi</command></term>
154<listitem>
155<indexterm zone="ch-system-man man2dvi"><primary sortas="b-man2dvi">man2dvi</primary></indexterm>
156<para>converts a manual page into dvi format.</para>
157</listitem>
158</varlistentry>
159
160<varlistentry id="man2html">
161<term><command>man2html</command></term>
162<listitem>
163<indexterm zone="ch-system-man man2html"><primary sortas="b-man2html">man2html</primary></indexterm>
164<para>converts a manual page into html.</para>
165</listitem>
166</varlistentry>
167
168<varlistentry id="whatis">
169<term><command>whatis</command></term>
170<listitem>
171<indexterm zone="ch-system-man whatis"><primary sortas="b-whatis">whatis</primary></indexterm>
172<para>searches the whatis database and displays the short descriptions of system
173commands that contain the given keyword as a separate word.</para>
174</listitem>
175</varlistentry>
176</variablelist>
177
178</sect2>
179
180</sect1>
Note: See TracBrowser for help on using the repository browser.