Update to glibc-2.25.
[linux_from_scratch.git] / chapter06 / man-db.xml
blobc32a99085fe24326d75096536b75fee634a29110
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4   <!ENTITY % general-entities SYSTEM "../general.ent">
5   %general-entities;
6 ]>
8 <sect1 id="ch-system-man-db" role="wrap">
9   <?dbhtml filename="man-db.html"?>
11   <sect1info condition="script">
12     <productname>man-db</productname>
13     <productnumber>&man-db-version;</productnumber>
14     <address>&man-db-url;</address>
15   </sect1info>
17   <title>Man-DB-&man-db-version;</title>
19   <indexterm zone="ch-system-man-db">
20     <primary sortas="a-Man-DB">Man-DB</primary>
21   </indexterm>
23   <sect2 role="package">
24     <title/>
26     <para>The Man-DB package contains programs for finding and viewing man
27     pages.</para>
29     <segmentedlist>
30       <segtitle>&buildtime;</segtitle>
31       <segtitle>&diskspace;</segtitle>
33       <seglistitem>
34         <seg>&man-db-ch6-sbu;</seg>
35         <seg>&man-db-ch6-du;</seg>
36       </seglistitem>
37     </segmentedlist>
39   </sect2>
41   <sect2 role="installation">
42     <title>Installation of Man-DB</title>
44     <para>Prepare Man-DB for compilation:</para>
46 <screen><userinput remap="configure">./configure --prefix=/usr                        \
47             --docdir=/usr/share/doc/man-db-&man-db-version; \
48             --sysconfdir=/etc                    \
49             --disable-setuid                     \
50             --enable-cache-owner=bin             \
51             --with-browser=/usr/bin/lynx         \
52             --with-vgrind=/usr/bin/vgrind        \
53             --with-grap=/usr/bin/grap</userinput></screen>
55     <variablelist>
56       <title>The meaning of the configure options:</title>
58       <varlistentry>
59         <term><parameter>--disable-setuid</parameter></term>
60         <listitem>
61           <para>This disables making the <command>man</command> program setuid
62           to user <systemitem class="username">man</systemitem>.</para>
63         </listitem>
64       </varlistentry>
66       <varlistentry>
67         <term><parameter>--enable-cache-owner=bin</parameter></term>
68         <listitem>
69           <para>This makes the system-wide cache files be owned by user
70           bin.</para>
71         </listitem>
72       </varlistentry>
74       <varlistentry>
75         <term><parameter>--with-...</parameter></term>
76         <listitem>
77           <para>These three parameters are used to set some default programs.
78           <command>lynx</command> is a text-based web browser (see
79           BLFS for installation instructions), <command>vgrind</command>
80           converts program sources to Groff input, and <command>grap</command>
81           is useful for typesetting graphs in Groff documents. The
82           <command>vgrind</command> and <command>grap</command> programs are
83           not normally needed for viewing manual pages. They are not part of
84           LFS or BLFS, but you should be able to install them yourself after
85           finishing LFS if you wish to do so.</para>
86         </listitem>
87       </varlistentry>
89     </variablelist>
91     <para>Compile the package:</para>
93 <screen><userinput remap="make">make</userinput></screen>
95    <para>To test the results, issue:</para>
97 <screen><userinput remap="test">make check</userinput></screen>
99     <para>Install the package:</para>
101 <screen><userinput remap="install">make install</userinput></screen>
103     <para>Remove a reference to a non-existent user:</para>
105 <screen><userinput remap="install">sed -i "s:man root:root root:g" /usr/lib/tmpfiles.d/man-db.conf</userinput></screen>
107   </sect2>
109   <sect2>
110     <title>Non-English Manual Pages in LFS</title>
112     <para>The following table shows the character set that Man-DB assumes
113     manual pages installed under
114     <filename class="directory">/usr/share/man/&lt;ll&gt;</filename> will be
115     encoded with.  In addition to this, Man-DB correctly determines if manual
116     pages installed in that directory are UTF-8 encoded.</para>
118     <!-- Origin: man-db-2.5.9/lib/encodings.c -->
119     <table>
120 <title>Expected character encoding of legacy 8-bit manual pages</title>
121       <?dbfo table-width="6in" ?>
123       <tgroup cols="4">
125         <colspec colnum="1" colwidth="1.5in"/>
126         <colspec colnum="2" colwidth="1in"/>
127         <colspec colnum="3" colwidth="2.5in"/>
128         <colspec colnum="4" colwidth="1in"/>
130         <thead>
131           <row>
132             <entry>Language (code)</entry>
133             <entry>Encoding</entry>
134             <entry>Language (code)</entry>
135             <entry>Encoding</entry>
136           </row>
137         </thead>
139         <tbody>
140           <row>
141             <entry>Danish (da)</entry>
142             <entry>ISO-8859-1</entry>
143             <entry>Croatian (hr)</entry>
144             <entry>ISO-8859-2</entry>
145           </row>
146           <row>
147             <entry>German (de)</entry>
148             <entry>ISO-8859-1</entry>
149             <entry>Hungarian (hu)</entry>
150             <entry>ISO-8859-2</entry>
151           </row>
152           <row>
153             <entry>English (en)</entry>
154             <entry>ISO-8859-1</entry>
155             <entry>Japanese (ja)</entry>
156             <entry>EUC-JP</entry>
157           </row>
158           <row>
159             <entry>Spanish (es)</entry>
160             <entry>ISO-8859-1</entry>
161             <entry>Korean (ko)</entry>
162             <entry>EUC-KR</entry>
163           </row>
164           <row>
165             <entry>Estonian (et)</entry>
166             <entry>ISO-8859-1</entry>
167             <entry>Lithuanian (lt)</entry>
168             <entry>ISO-8859-13</entry>
169           </row>
170           <row>
171             <entry>Finnish (fi)</entry>
172             <entry>ISO-8859-1</entry>
173             <entry>Latvian (lv)</entry>
174             <entry>ISO-8859-13</entry>
175           </row>
176           <row>
177             <entry>French (fr)</entry>
178             <entry>ISO-8859-1</entry>
179             <entry>Macedonian (mk)</entry>
180             <entry>ISO-8859-5</entry>
181           </row>
182           <row>
183             <entry>Irish (ga)</entry>
184             <entry>ISO-8859-1</entry>
185             <entry>Polish (pl)</entry>
186             <entry>ISO-8859-2</entry>
187           </row>
188           <row>
189             <entry>Galician (gl)</entry>
190             <entry>ISO-8859-1</entry>
191             <entry>Romanian (ro)</entry>
192             <entry>ISO-8859-2</entry>
193           </row>
194           <row>
195             <entry>Indonesian (id)</entry>
196             <entry>ISO-8859-1</entry>
197             <entry>Russian (ru)</entry>
198             <entry>KOI8-R</entry>
199           </row>
200           <row>
201             <entry>Icelandic (is)</entry>
202             <entry>ISO-8859-1</entry>
203             <entry>Slovak (sk)</entry>
204             <entry>ISO-8859-2</entry>
205           </row>
206           <row>
207             <entry>Italian (it)</entry>
208             <entry>ISO-8859-1</entry>
209             <entry>Slovenian (sl)</entry>
210             <entry>ISO-8859-2</entry>
211           </row>
212           <row>
213             <entry>Norwegian Bokmal (nb)</entry>
214             <entry>ISO-8859-1</entry>
215             <entry>Serbian Latin (sr@latin)</entry>
216             <entry>ISO-8859-2</entry>
217           </row>
218           <row>
219             <entry>Dutch (nl)</entry>
220             <entry>ISO-8859-1</entry>
221             <entry>Serbian (sr)</entry>
222             <entry>ISO-8859-5</entry>
223           </row>
224           <row>
225             <entry>Norwegian Nynorsk (nn)</entry>
226             <entry>ISO-8859-1</entry>
227             <entry>Turkish (tr)</entry>
228             <entry>ISO-8859-9</entry>
229           </row>
230           <row>
231             <entry>Norwegian (no)</entry>
232             <entry>ISO-8859-1</entry>
233             <entry>Ukrainian (uk)</entry>
234             <entry>KOI8-U</entry>
235           </row>
236           <row>
237             <entry>Portuguese (pt)</entry>
238             <entry>ISO-8859-1</entry>
239             <entry>Vietnamese (vi)</entry>
240             <entry>TCVN5712-1</entry>
241           </row>
242           <row>
243             <entry>Swedish (sv)</entry>
244             <entry>ISO-8859-1</entry>
245             <entry>Simplified Chinese (zh_CN)</entry>
246             <entry>GBK</entry>
247           </row>
248           <row>
249             <entry>Belarusian (be)</entry>
250             <entry>CP1251</entry>
251             <entry>Simplified Chinese, Singapore (zh_SG)</entry>
252             <entry>GBK</entry>
253           </row>
254           <row>
255             <entry>Bulgarian (bg)</entry>
256             <entry>CP1251</entry>
257             <entry>Traditional Chinese, Hong Kong (zh_HK)</entry>
258             <entry>BIG5HKSCS</entry>
259           </row>
260           <row>
261             <entry>Czech (cs)</entry>
262             <entry>ISO-8859-2</entry>
263             <entry>Traditional Chinese (zh_TW)</entry>
264             <entry>BIG5</entry>
265           </row>
266           <row>
267             <entry>Greek (el)</entry>
268             <entry>ISO-8859-7</entry>
269             <entry></entry>
270             <entry></entry>
271           </row>
273         </tbody>
275       </tgroup>
277     </table>
279     <note>
280       <para>Manual pages in languages not in the list are not supported.</para>
281     </note>
283   </sect2>
285   <sect2 id="contents-man-db" role="content">
286     <title>Contents of Man-DB</title>
288     <segmentedlist>
289       <segtitle>Installed programs</segtitle>
290       <segtitle>Installed libraries</segtitle>
291       <segtitle>Installed directories</segtitle>
293       <seglistitem>
294         <seg>accessdb, apropos (link to whatis), catman, lexgrog, man, mandb,
295         manpath, and whatis</seg>
296         <seg>libman.so and libmandb.so</seg>
297         <seg>/usr/lib/man-db, /usr/lib/tmpfiles.d, /usr/libexec/man-db,
298         and /usr/share/doc/man-db-&man-db-version;</seg>
299       </seglistitem>
300     </segmentedlist>
302     <variablelist>
303       <bridgehead renderas="sect3">Short Descriptions</bridgehead>
304       <?dbfo list-presentation="list"?>
305       <?dbhtml list-presentation="table"?>
307       <varlistentry id="accessdb">
308         <term><command>accessdb</command></term>
309         <listitem>
310           <para>Dumps the <command>whatis</command> database contents in
311           human-readable form</para>
312           <indexterm zone="ch-system-man-db accessdb">
313             <primary sortas="b-accessdb">accessdb</primary>
314           </indexterm>
315         </listitem>
316       </varlistentry>
318       <varlistentry id="apropos">
319         <term><command>apropos</command></term>
320         <listitem>
321           <para>Searches the <command>whatis</command> database and displays
322           the short descriptions of system commands that contain a given
323           string</para>
324           <indexterm zone="ch-system-man-db apropos">
325             <primary sortas="b-apropos">apropos</primary>
326           </indexterm>
327         </listitem>
328       </varlistentry>
330       <varlistentry id="catman">
331         <term><command>catman</command></term>
332         <listitem>
333           <para>Creates or updates the pre-formatted manual pages</para>
334           <indexterm zone="ch-system-man-db catman">
335             <primary sortas="b-catman">catman</primary>
336           </indexterm>
337         </listitem>
338       </varlistentry>
340       <varlistentry id="lexgrog">
341         <term><command>lexgrog</command></term>
342         <listitem>
343           <para>Displays one-line summary information about a given manual
344           page</para>
345           <indexterm zone="ch-system-man-db lexgrog">
346             <primary sortas="b-lexgrog">lexgrog</primary>
347           </indexterm>
348         </listitem>
349       </varlistentry>
351       <varlistentry id="man">
352         <term><command>man</command></term>
353         <listitem>
354           <para>Formats and displays the requested manual page</para>
355           <indexterm zone="ch-system-man-db man">
356             <primary sortas="b-man">man</primary>
357           </indexterm>
358         </listitem>
359       </varlistentry>
361       <varlistentry id="mandb">
362         <term><command>mandb</command></term>
363         <listitem>
364           <para>Creates or updates the <command>whatis</command> database</para>
365           <indexterm zone="ch-system-man-db mandb">
366             <primary sortas="b-mandb">mandb</primary>
367           </indexterm>
368         </listitem>
369       </varlistentry>
371       <varlistentry id="manpath">
372         <term><command>manpath</command></term>
373         <listitem>
374           <para>Displays the contents of $MANPATH or (if $MANPATH is not set)
375           a suitable search path based on the settings in man.conf and the
376           user's environment</para>
377           <indexterm zone="ch-system-man-db manpath">
378             <primary sortas="b-manpath">manpath</primary>
379           </indexterm>
380         </listitem>
381       </varlistentry>
383       <varlistentry id="whatis">
384         <term><command>whatis</command></term>
385         <listitem>
386           <para>Searches the <command>whatis</command> database and displays
387           the short descriptions of system commands that contain the given
388           keyword as a separate word</para>
389           <indexterm zone="ch-system-man-db whatis">
390             <primary sortas="b-whatis">whatis</primary>
391           </indexterm>
392         </listitem>
393       </varlistentry>
395       <varlistentry id="libman">
396         <term><filename class="libraryfile">libman</filename></term>
397         <listitem>
398           <para>Contains run-time support for <command>man</command></para>
399           <indexterm zone="ch-system-man-db libman">
400             <primary sortas="c-libman">libman</primary>
401           </indexterm>
402         </listitem>
403       </varlistentry>
405       <varlistentry id="libmandb">
406         <term><filename class="libraryfile">libmandb</filename></term>
407         <listitem>
408           <para>Contains run-time support for <command>man</command></para>
409           <indexterm zone="ch-system-man-db libmandb">
410             <primary sortas="c-libmandb">libmandb</primary>
411           </indexterm>
412         </listitem>
413       </varlistentry>
415     </variablelist>
417   </sect2>
419 </sect1>