man.xml 6.2 KB

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