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
RevLine 
[673b0d8]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]>
[752f4e5]6<sect1 id="ch-system-man" role="wrap">
[673b0d8]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>
[6370fa6]11
[a001133]12<sect2 role="package"><title/>
[5888299]13<para>The Man package contains programs for finding and viewing manual pages.</para>
14
[a001133]15<segmentedlist>
16<segtitle>&buildtime;</segtitle>
17<segtitle>&diskspace;</segtitle>
18<seglistitem><seg>0.1 SBU</seg><seg>1.9MB</seg></seglistitem>
19</segmentedlist>
[673b0d8]20
[a001133]21<segmentedlist>
22<segtitle>Man installation depends on</segtitle>
23<seglistitem><seg>Bash, Binutils, Coreutils, Gawk, GCC,
[69993f4]24Glibc, Grep, Make, and Sed</seg></seglistitem>
[a001133]25</segmentedlist>
26</sect2>
[3554fa3a]27
[a001133]28<sect2 role="installation">
[73aedd1d]29<title>Installation of Man</title>
30
[ef13657]31<para>Three adjustments need to be made to the sources of Man.</para>
[73aedd1d]32
[ef13657]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>
[73aedd1d]36
[c8ba565]37<screen><userinput>patch -Np1 -i ../man-&man-version;-80cols-1.patch</userinput></screen>
[73aedd1d]38
[ef13657]39<para>The second is a sed substitution to add the
[752f4e5]40<parameter>-R</parameter> switch to the <envar>PAGER</envar>
[ef13657]41variable so that escape sequences are properly handled by Less:</para>
[73aedd1d]42
[8dffa04]43<screen><userinput>sed -i 's@-is@&amp;R@g' configure</userinput></screen>
[73aedd1d]44
[ef13657]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>
[73aedd1d]49
[2ec4b60]50<screen><userinput>sed -i 's@MANPATH./usr/man@#&amp;@g' src/man.conf.in</userinput></screen>
[37dcf2a]51
[ef13657]52<para>Prepare Man for compilation:</para>
[73aedd1d]53
[e5f8a42]54<screen><userinput>./configure -confdir=/etc</userinput></screen>
[73aedd1d]55
56<para>The meaning of the configure options:</para>
57
[df8334f]58<variablelist>
59<varlistentry>
[ef57e3b]60<term><parameter>-confdir=/etc</parameter></term>
[490edce]61<listitem><para>This tells the <command>man</command> program to look for the
[ef13657]62<filename>man.conf</filename> configuration file in the <filename
63class="directory">/etc</filename> directory.</para></listitem>
[df8334f]64</varlistentry>
65</variablelist>
[73aedd1d]66
67<para>Compile the package:</para>
68
69<screen><userinput>make</userinput></screen>
70
[ef13657]71<para>Install the package:</para>
[73aedd1d]72
73<screen><userinput>make install</userinput></screen>
74
[ef13657]75<note><para>To disable Select Graphic Rendition (SGR) escape
[69993f4]76sequences, edit the <filename>man.conf</filename> file and
[ef13657]77add the <parameter>-c</parameter> switch to
[752f4e5]78the <envar>NROFF</envar> variable.</para></note>
[73aedd1d]79
[69993f4]80<para>If the character set uses 8-bit characters, search for the line
[ef13657]81beginning with <quote>NROFF</quote> in
82<filename>/etc/man.conf</filename>, and verify that it looks as
83follows:</para>
[b32e803]84
85<screen>NROFF /usr/bin/nroff -Tlatin1 -mandoc</screen>
86
[ef13657]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
[69993f4]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>
[ef13657]98
99<para>This does not solve the problem of a non-working
100<command>man2dvi</command> program for localized manual pages in
[69993f4]101non-ISO 8859-1 locales. Also, it does not work with multibyte
[ef13657]102character sets. The first problem does not currently have a solution.
[69993f4]103The second issue is not of concern because the LFS installation does
[ef13657]104not support multibyte character sets.</para>
105
[38bb44a]106<para>Additional information with regards to the compression of
[2256873]107man and info pages can be found in the BLFS book at
[c5143c9]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>
[73aedd1d]111
[0e9a9e2]112<beginpage/>
[73aedd1d]113</sect2>
[6370fa6]114
[5888299]115
[c6cb3aa]116<sect2 id="contents-man" role="content"><title>Contents of Man</title>
[673b0d8]117
[c6cb3aa]118<segmentedlist>
119<segtitle>Installed programs</segtitle>
120<seglistitem><seg>apropos, makewhatis, man,
[69993f4]121man2dvi, man2html, and whatis</seg></seglistitem>
[c6cb3aa]122</segmentedlist>
[673b0d8]123
[2256873]124<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
[3ed279f]125<?dbfo list-presentation="list"?>
[673b0d8]126
[b8a819f]127<varlistentry id="apropos">
128<term><command>apropos</command></term>
[c6cb3aa]129<listitem>
[2256873]130<para>Searches the whatis database and displays the short descriptions
131of system commands that contain a given string</para>
[3ed279f]132<indexterm zone="ch-system-man apropos"><primary sortas="b-apropos">apropos</primary></indexterm>
[c6cb3aa]133</listitem>
134</varlistentry>
[673b0d8]135
[b8a819f]136<varlistentry id="makewhatis">
137<term><command>makewhatis</command></term>
[c6cb3aa]138<listitem>
[2256873]139<para>Builds the whatis database; it reads all the manual pages in the
[ef13657]140manpath and writes the name and a short description in the whatis
[2256873]141database for each page</para>
[3ed279f]142<indexterm zone="ch-system-man makewhatis"><primary sortas="b-makewhatis">makewhatis</primary></indexterm>
[c6cb3aa]143</listitem>
144</varlistentry>
[6370fa6]145
[b8a819f]146<varlistentry id="man">
147<term><command>man</command></term>
[c6cb3aa]148<listitem>
[2256873]149<para>Formats and displays the requested on-line manual page</para>
[3ed279f]150<indexterm zone="ch-system-man man"><primary sortas="b-man">man</primary></indexterm>
[c6cb3aa]151</listitem>
152</varlistentry>
[673b0d8]153
[b8a819f]154<varlistentry id="man2dvi">
155<term><command>man2dvi</command></term>
[c6cb3aa]156<listitem>
[2256873]157<para>Converts a manual page into dvi format</para>
[3ed279f]158<indexterm zone="ch-system-man man2dvi"><primary sortas="b-man2dvi">man2dvi</primary></indexterm>
[c6cb3aa]159</listitem>
160</varlistentry>
[673b0d8]161
[b8a819f]162<varlistentry id="man2html">
163<term><command>man2html</command></term>
[c6cb3aa]164<listitem>
[2256873]165<para>Converts a manual page into HTML</para>
[3ed279f]166<indexterm zone="ch-system-man man2html"><primary sortas="b-man2html">man2html</primary></indexterm>
[c6cb3aa]167</listitem>
168</varlistentry>
[673b0d8]169
[b8a819f]170<varlistentry id="whatis">
171<term><command>whatis</command></term>
[c6cb3aa]172<listitem>
[2256873]173<para>Searches the whatis database and displays the short descriptions
[ef13657]174of system commands that contain the given keyword as a separate
[2256873]175word</para>
[3ed279f]176<indexterm zone="ch-system-man whatis"><primary sortas="b-whatis">whatis</primary></indexterm>
[c6cb3aa]177</listitem>
178</varlistentry>
179</variablelist>
[673b0d8]180
181</sect2>
182
183</sect1>
[ef13657]184
Note: See TracBrowser for help on using the repository browser.