source: chapter06/man.xml@ b32e803

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 b32e803 was b32e803, checked in by Zack Winkles <winkie@…>, 20 years ago

Committed Alexander's i18n patch

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

  • Property mode set to 100644
File size: 6.2 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">
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<para>The Man package contains programs for finding and viewing manual pages.</para>
13
14<screen>&buildtime; 0.1 SBU
15&diskspace; 1.9MB</screen>
16
17<para>Man installation depends on: Bash, Binutils, Coreutils, Gawk, GCC,
18Glibc, Grep, Make, Sed.</para>
19
20
21
22<sect2>
23<title>Installation of Man</title>
24
25<para>We'll make three adjustments to the sources of Man.</para>
26
27<para>The first is a patch which allows Man to work better with recent releases
28of Groff. In particular, man pages will now display using the full terminal
29width instead of being limited to 80 characters:</para>
30
31<screen><userinput>patch -Np1 -i ../man-&man-version;-80cols-1.patch</userinput></screen>
32
33<para>The second is a sed substitution to add the <emphasis>-R</emphasis>
34switch to the <emphasis>PAGER</emphasis> variable so that escape sequences are
35properly handled by Less:</para>
36
37<screen><userinput>sed -i 's/-is/&amp;R/' configure</userinput></screen>
38
39<para>The third is also a sed substitution to comment out the <quote>MANPATH
40/usr/man</quote> line in the <filename>man.conf</filename> file to prevent
41redundant results when using programs such as <command>whatis</command>:</para>
42
43<screen><userinput>sed -i 's%MANPATH./usr/man%#&amp;%' src/man.conf.in</userinput></screen>
44
45<para>Now prepare Man for compilation:</para>
46
47<screen><userinput>./configure -default -confdir=/etc</userinput></screen>
48
49<para>The meaning of the configure options:</para>
50
51<itemizedlist>
52<listitem><para><userinput>-default</userinput>: This tells the configure script
53to select a sensible set of default options. For example: only English man
54pages, no message catalogs, man not suid, handle compressed man pages, compress
55cat pages, create cat pages whenever the appropriate directory exists, follow
56FHS by putting cat pages under /var/cache/man (provided that directory
57exists).</para></listitem>
58
59<listitem><para><userinput>-confdir=/etc</userinput>: This tells the
60<command>man</command> program to look for the <filename>man.conf</filename>
61configuration file in the <filename>/etc</filename> directory.</para></listitem>
62</itemizedlist>
63
64<para>Compile the package:</para>
65
66<screen><userinput>make</userinput></screen>
67
68<para>Lastly, install it:</para>
69
70<screen><userinput>make install</userinput></screen>
71
72<note><para>If you wish to disable SGR (Select Graphic Rendition) escape sequences, you should edit the
73<filename>man.conf</filename> file and add the <emphasis>-c</emphasis> switch
74to NROFF.</para></note>
75
76<para>If your character set uses 8-bit characters, search for the line
77beginning with "NROFF" in /etc/man.conf, and verify that it coincides
78with the following:</para>
79
80<screen>NROFF /usr/bin/nroff -Tlatin1 -mandoc</screen>
81
82<para>Note that you should use "latin1" even if it is not the character set
83of your locale. The reason is that,
84according to the specification, <application>groff</application> has
85no means of typesetting characters outside ISO-8859-1
86without some strange escape codes, and localized manual
87pages are therefore really a hack. When formatting manual pages,
88<application>groff</application> thinks that they are in the ISO-8859-1
89encoding and this <emphasis>-Tlatin1</emphasis> switch tells
90<application>groff</application> to use the same encoding for output.
91Since <application>groff</application> does no recoding of input characters,
92the formatted result is really in the same encoding as input (although
93<application>groff</application> doesn't know that it is not ISO-8859-1)
94and therefore it is usable as the input for a pager.</para>
95
96<para>Of course, this hack does not solve the problem of non-working
97<command>man2dvi</command> program for localized manual
98pages in non-ISO-8859-1 locales.
99Also, it does not work at all with multibyte character sets.
100The first problem does not have a solution currently. The second
101one is not of a concern because the LFS installation does not support
102multibyte character sets properly anyway. You may want to look at
103internationalization related hints, though.</para>
104
105<para>You may want to also take a look at the BLFS page at
106<ulink url="&blfs-root;view/cvs/postlfs/compressdoc.html"/> which deals with
107formatting and compression issues for man pages.</para>
108
109</sect2>
110
111
112<sect2 id="contents-man"><title>Contents of Man</title>
113
114<para><emphasis>Installed programs</emphasis>: apropos, makewhatis, man,
115man2dvi, man2html and whatis</para>
116
117</sect2>
118
119
120<sect2><title>Short descriptions</title>
121
122<indexterm zone="ch-system-man apropos"><primary sortas="b-apropos">apropos</primary></indexterm>
123<para id="apropos"><command>apropos</command> searches the whatis database and displays
124the short descriptions of system commands that contain a given string.</para>
125
126<indexterm zone="ch-system-man makewhatis"><primary sortas="b-makewhatis">makewhatis</primary></indexterm>
127<para id="makewhatis"><command>makewhatis</command> builds the whatis database. It reads
128all the manual pages in the manpath and for each page writes the name and a
129short description in the whatis database.</para>
130
131<indexterm zone="ch-system-man man"><primary sortas="b-man">man</primary></indexterm>
132<para id="man"><command>man</command> formats and displays the requested on-line
133manual page.</para>
134
135<indexterm zone="ch-system-man man2dvi"><primary sortas="b-man2dvi">man2dvi</primary></indexterm>
136<para id="man2dvi"><command>man2dvi</command> converts a manual page into dvi format.</para>
137
138<indexterm zone="ch-system-man man2html"><primary sortas="b-man2html">man2html</primary></indexterm>
139<para id="man2html"><command>man2html</command> converts a manual page into html.</para>
140
141<indexterm zone="ch-system-man whatis"><primary sortas="b-whatis">whatis</primary></indexterm>
142<para id="whatis"><command>whatis</command> searches the whatis database and displays
143the short descriptions of system commands that contain the given keyword as a
144separate word.</para>
145
146</sect2>
147
148
149
150</sect1>
Note: See TracBrowser for help on using the repository browser.