Changeset 3f0c882 for chapter06


Ignore:
Timestamp:
12/21/2004 07:38:32 PM (19 years ago)
Author:
Manuel Canales Esparcia <manuel@…>
Branches:
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.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
Children:
3d36131c
Parents:
aaa3260
Message:

Removed the text in chapter 06.

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

Location:
chapter06
Files:
63 edited

Legend:

Unmodified
Added
Removed
  • chapter06/aboutdebug.xml

    raaa3260 r3f0c882  
    88<?dbhtml filename="aboutdebug.html"?>
    99
    10 <para>Most programs and libraries are, by default, compiled with debugging
    11 symbols included (with <command>gcc</command>'s <parameter>-g</parameter>
    12 option). This means that, when debugging a program or library that was compiled
    13 with debugging information included, the debugger can give you not only memory
    14 addresses but also the names of the routines and variables.</para>
    15  
    16 <para>The inclusion of these debugging symbols, however, enlarges a program or
    17 library significantly. To get an idea of the amount of space these symbols
    18 occupy, have a look at the following:</para>
    19 
    20 <itemizedlist>
    21 
    22 <listitem><para>a bash binary
    23 with debugging symbols: 1200 KB</para></listitem>
    24 
    25 <listitem><para>a bash binary
    26 without debugging symbols: 480 KB</para></listitem>
    27 
    28 <listitem><para>Glibc and GCC files (<filename class="directory">/lib</filename>
    29 and <filename class="directory">/usr/lib</filename>)
    30 with debugging symbols: 87 MB</para></listitem>
    31 
    32 <listitem><para>Glibc and GCC files
    33 without debugging symbols: 16 MB</para></listitem>
    34 
    35 </itemizedlist>
    36 
    37 <para>Sizes may vary somewhat, depending on which compiler was used and which C
    38 library, but when comparing programs with and without debugging symbols the
    39 difference will generally be a factor between 2 and 5.</para>
    40 
    41 <para>As most people will probably never use a debugger on their system
    42 software, a lot of disk space can be regained by removing these symbols. For
    43 your convenience, the next section shows how to strip all debugging symbols
    44 from all programs and libraries. Information on other ways of optimizing your
    45 system can be found in the hint at <ulink url="&hints-root;optimization.txt"/>.</para>
     10<para>See testing</para>
    4611
    4712</sect1>
  • chapter06/autoconf.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Autoconf package contains programs for producing shell scripts that
    14 can automatically configure source code.</para>
    1513
    1614<segmentedlist>
     
    2018</segmentedlist>
    2119
    22 <segmentedlist>
    23 <segtitle>Autoconf installation depends on</segtitle>
    24 <seglistitem><seg>Bash, Coreutils, Diffutils, Grep,
    25 M4, Make, Perl, Sed</seg></seglistitem>
    26 </segmentedlist>
    2720</sect2>
    2821
     
    3932
    4033<para>To test the results, issue:
    41 <userinput>make check</userinput>. This takes a long time, about 2 SBUs.</para>
     34<userinput>make check</userinput></para>
    4235
    4336<para>Install the package:</para>
     
    5043<sect2 id="contents-autoconf" role="content"><title>Contents of Autoconf</title>
    5144
    52 <segmentedlist>
    53 <segtitle>Installed programs</segtitle>
    54 <seglistitem><seg>autoconf, autoheader, autom4te,
    55 autoreconf, autoscan, autoupdate and ifnames</seg></seglistitem>
    56 </segmentedlist>
    57 
    58 <variablelist><title>Short descriptions</title>
    59 
    60 <varlistentry id="autoconf">
    61 <term><command>autoconf</command></term>
    62 <listitem>
    63 <indexterm zone="ch-system-autoconf autoconf"><primary sortas="b-autoconf">autoconf</primary></indexterm>
    64 <para>is a tool for producing shell scripts
    65 that automatically configure software source code packages to adapt to many
    66 kinds of Unix-like systems. The configuration scripts it produces are
    67 independent -- running them does not require the autoconf program.</para>
    68 </listitem>
    69 </varlistentry>
    70 
    71 <varlistentry id="autoheader">
    72 <term><command>autoheader</command> </term>
    73 <listitem>
    74 <indexterm zone="ch-system-autoconf autoheader"><primary sortas="b-autoheader">autoheader</primary></indexterm>
    75 <para>is a tool for creating template files
    76 of C #define statements for configure to use.</para>
    77 </listitem>
    78 </varlistentry>
    79 
    80 <varlistentry id="autom4te">
    81 <term><command>autom4te</command></term>
    82 <listitem>
    83 <indexterm zone="ch-system-autoconf autom4te"><primary sortas="b-autom4te">autom4te</primary></indexterm>
    84 <para>is a wrapper for the M4 macro processor.</para>
    85 </listitem>
    86 </varlistentry>
    87 
    88 <varlistentry id="autoreconf">
    89 <term><command>autoreconf</command></term>
    90 <listitem>
    91 <indexterm zone="ch-system-autoconf autoreconf"><primary sortas="b-autoreconf">autoreconf</primary></indexterm>
    92 <para>comes in handy when there are a lot
    93 of autoconf-generated configure scripts around. The program runs autoconf and
    94 autoheader repeatedly (where appropriate) to remake the autoconf configure
    95 scripts and configuration header templates in a given directory tree.</para>
    96 </listitem>
    97 </varlistentry>
    98 
    99 <varlistentry id="autoscan">
    100 <term><command>autoscan</command> </term>
    101 <listitem>
    102 <indexterm zone="ch-system-autoconf autoscan"><primary sortas="b-autoscan">autoscan</primary></indexterm>
    103 <para>can help to create a
    104 <filename>configure.in</filename> file for a software package. It examines
    105 the source files in a directory tree, searching them for common portability
    106 problems and creates a <filename>configure.scan</filename> file that serves as
    107 as a preliminary <filename>configure.in</filename> for the package.</para>
    108 </listitem>
    109 </varlistentry>
    110 
    111 <varlistentry id="autoupdate">
    112 <term><command>autoupdate</command></term>
    113 <listitem>
    114 <indexterm zone="ch-system-autoconf autoupdate"><primary sortas="b-autoupdate">autoupdate</primary></indexterm>
    115 <para>modifies a <filename>configure.in</filename> file that still calls autoconf
    116 macros by their old names to use the current macro names.</para>
    117 </listitem>
    118 </varlistentry>
    119 
    120 <varlistentry id="ifnames">
    121 <term><command>ifnames</command> </term>
    122 <listitem>
    123 <indexterm zone="ch-system-autoconf ifnames"><primary sortas="b-ifnames">ifnames</primary></indexterm>
    124 <para>can be helpful when writing a
    125 <filename>configure.in</filename> for a software package. It prints the
    126 identifiers that the package uses in C preprocessor conditionals. If a package
    127 has already been set up to have some portability, this program can help to
    128 determine what <command>configure</command> needs to check. It can fill
    129 in some gaps in a <filename>configure.in</filename> file generated by
    130 autoscan.</para>
    131 </listitem>
    132 </varlistentry>
    133 </variablelist>
     45<para>See testing</para>
    13446
    13547</sect2>
  • chapter06/automake.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Automake package contains programs for generating Makefiles for use
    14 with Autoconf.</para>
    1513
    1614<segmentedlist>
     
    2018</segmentedlist>
    2119
    22 <segmentedlist>
    23 <segtitle>Automake installation depends on</segtitle>
    24 <seglistitem><seg>Autoconf, Bash, Coreutils,
    25 Diffutils, Grep, M4, Make, Perl, Sed</seg></seglistitem>
    26 </segmentedlist>
    2720</sect2>
    2821
     
    3932
    4033<para>To test the results, issue:
    41 <userinput>make check</userinput>. This takes a long time, about 5 SBUs.</para>
     34<userinput>make check</userinput></para>
    4235
    4336<para>Install the package:</para>
     
    5043<sect2 id="contents-automake" role="content"><title>Contents of Automake</title>
    5144
    52 <segmentedlist>
    53 <segtitle>Installed programs</segtitle>
    54 <seglistitem><seg>acinstall, aclocal, aclocal-1.8, automake, automake-1.8,
    55 compile, config.guess, config.sub, depcomp, elisp-comp, install-sh, mdate-sh,
    56 missing, mkinstalldirs, py-compile, symlink-tree, ylwrap</seg></seglistitem>
    57 </segmentedlist>
    58 
    59 <variablelist><title>Short descriptions</title>
    60 
    61 <varlistentry id="acinstall">
    62 <term><command>acinstall</command></term>
    63 <listitem>
    64 <indexterm zone="ch-system-automake acinstall"><primary sortas="b-acinstall">acinstall</primary></indexterm>
    65 <para>is a script that installs aclocal-style M4 files.</para>
    66 </listitem>
    67 </varlistentry>
    68 
    69 <varlistentry id="aclocal">
    70 <term><command>aclocal</command></term>
    71 <listitem>
    72 <indexterm zone="ch-system-automake aclocal"><primary sortas="b-aclocal">aclocal</primary></indexterm>
    73 <para>generates <filename>aclocal.m4</filename>
    74 files based on the contents of <filename>configure.in</filename> files.</para>
    75 </listitem>
    76 </varlistentry>
    77 
    78 <varlistentry id="automake">
    79 <term><command>automake</command></term>
    80 <listitem>
    81 <indexterm zone="ch-system-automake automake"><primary sortas="b-automake">automake</primary></indexterm>
    82 <para>is a tool for automatically generating
    83 <filename>Makefile.in</filename>'s from files called
    84 <filename>Makefile.am</filename>. To create all the
    85 <filename>Makefile.in</filename> files for a package, run this program in the
    86 top-level directory. By scanning the <filename>configure.in</filename>s it
    87 automatically finds each appropriate <filename>Makefile.am</filename> and
    88 generate the corresponding <filename>Makefile.in</filename>.</para>
    89 </listitem>
    90 </varlistentry>
    91 
    92 <varlistentry id="compile">
    93 <term><command>compile</command></term>
    94 <listitem>
    95 <indexterm zone="ch-system-automake compile"><primary sortas="b-compile">compile</primary></indexterm>
    96 <para>is a wrapper for compilers.</para>
    97 </listitem>
    98 </varlistentry>
    99 
    100 <varlistentry id="config.guess">
    101 <term><command>config.guess</command> </term>
    102 <listitem>
    103 <indexterm zone="ch-system-automake config.guess"><primary sortas="b-config.guess">config.guess</primary></indexterm>
    104 <para>is a script that attempts to guess
    105 the canonical triplet for the given build, host, or target architecture.</para>
    106 </listitem>
    107 </varlistentry>
    108 
    109 <varlistentry id="config.su">
    110 <term><command>config.sub</command></term>
    111 <listitem>
    112 <indexterm zone="ch-system-automake config.su"><primary sortas="b-config.su">config.su</primary></indexterm>
    113 <para>is a configuration validation subroutine script.</para>
    114 </listitem>
    115 </varlistentry>
    116 
    117 <varlistentry id="depcomp">
    118 <term><command>depcomp</command></term>
    119 <listitem>
    120 <indexterm zone="ch-system-automake depcomp"><primary sortas="b-depcomp">depcomp</primary></indexterm>
    121 <para>is a script for compiling a program so that not only the desired output is
    122 generated, but also dependency information.</para>
    123 </listitem>
    124 </varlistentry>
    125 
    126 <varlistentry id="elisp-comp">
    127 <term><command>elisp-comp</command></term>
    128 <listitem>
    129 <indexterm zone="ch-system-automake elisp-comp"><primary sortas="b-elisp-comp">elisp-comp</primary></indexterm>
    130 <para>byte-compiles Emacs Lisp code.</para>
    131 </listitem>
    132 </varlistentry>
    133 
    134 <varlistentry id="install-sh">
    135 <term><command>install-sh</command></term>
    136 <listitem>
    137 <indexterm zone="ch-system-automake install-sh"><primary sortas="b-install-sh">install-sh</primary></indexterm>
    138 <para>is a script that installs a program, a script, or a datafile.</para>
    139 </listitem>
    140 </varlistentry>
    141 
    142 <varlistentry id="mdate-sh">
    143 <term><command>mdate-sh</command></term>
    144 <listitem>
    145 <indexterm zone="ch-system-automake mdate-sh"><primary sortas="b-mdate-sh">mdate-sh</primary></indexterm>
    146 <para>is a script that prints the modification time of a file or directory.</para>
    147 </listitem>
    148 </varlistentry>
    149 
    150 <varlistentry id="missing">
    151 <term><command>missing</command></term>
    152 <listitem>
    153 <indexterm zone="ch-system-automake missing"><primary sortas="b-missing">missing</primary></indexterm>
    154 <para>is a script acting as a common stub for
    155 missing GNU programs during an installation.</para>
    156 </listitem>
    157 </varlistentry>
    158 
    159 <varlistentry id="mkinstalldirs">
    160 <term><command>mkinstalldirs</command></term>
    161 <listitem>
    162 <indexterm zone="ch-system-automake mkinstalldirs"><primary sortas="b-mkinstalldirs">mkinstalldirs</primary></indexterm>
    163 <para>is a script that creates a directory tree.</para>
    164 </listitem>
    165 </varlistentry>
    166 
    167 <varlistentry id="py-compile">
    168 <term><command>py-compile</command></term>
    169 <listitem>
    170 <indexterm zone="ch-system-automake py-compile"><primary sortas="b-py-compile">py-compile</primary></indexterm>
    171 <para>compiles a Python program.</para>
    172 </listitem>
    173 </varlistentry>
    174 
    175 <varlistentry id="symlink-tree">
    176 <term><command>symlink-tree</command></term>
    177 <listitem>
    178 <indexterm zone="ch-system-automake symlink-tree"><primary sortas="b-symlink-tree">symlink-tree</primary></indexterm>
    179 <para>is a script to create a symlink tree of a directory tree.</para>
    180 </listitem>
    181 </varlistentry>
    182 
    183 <varlistentry id="ylwrap">
    184 <term><command>ylwrap</command></term>
    185 <listitem>
    186 <indexterm zone="ch-system-automake ylwrap"><primary sortas="b-ylwrap">ylwrap</primary></indexterm>
    187 <para>is a wrapper for <command>lex</command> and <command>yacc</command>.</para>
    188 </listitem>
    189 </varlistentry>
    190 </variablelist>
     45<para>See testing</para>
    19146
    19247</sect2>
  • chapter06/bash.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Bash package contains the Bourne-Again SHell.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>Bash installation depends on</segtitle>
    23 <seglistitem><seg>Binutils, Coreutils, Diffutils, Gawk,
    24 GCC, Glibc, Grep, Make, Ncurses, Sed.</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
     
    2923<title>Installation of Bash</title>
    3024
    31 <para>The following patch fixes various issues. Including a problem where Bash
    32 sometimes will only show 33 characters on a line and then wraps to the next line.</para>
     25<para>Apply a patch:</para>
    3326
    3427<screen><userinput>patch -Np1 -i ../bash-&bash-version;-fixes-1.patch</userinput></screen>
    3528
    36 <para>Bash also has issues when compiled against newer versions of glibc.  The
    37 following patch resolves this problem:</para>
     29<para>Apply another patch:</para>
    3830
    3931<screen><userinput>patch -Np1 -i ../bash-&bash-version;-avoid_WCONTINUED-1.patch</userinput></screen>
     
    5547<screen><userinput>make install</userinput></screen>
    5648
    57 <para>Now run the newly compiled <command>bash</command> program (replacing the one you are currently executing):</para>
     49<para>Run the newly compiled <command>bash</command> program:</para>
    5850
    5951<screen><userinput>exec /bin/bash --login +h</userinput></screen>
    60 
    61 <note><para>The parameters used make it an interactive login instance
    62 (so <filename>/etc/profile</filename> is read, if it exists, and the first found
    63 <filename>~/.bash_profile</filename>, <filename>~/.bash_login</filename> or
    64 and <filename>~/.profile</filename>) and continue to
    65 disable hashing so that new programs are found as they become
    66 available.</para></note>
    6752
    6853</sect2>
     
    7156<sect2 id="contents-bash" role="content"><title>Contents of Bash</title>
    7257
    73 <segmentedlist>
    74 <segtitle>Installed programs</segtitle>
    75 <seglistitem><seg>bash, sh (link to bash) and bashbug</seg></seglistitem>
    76 </segmentedlist>
    77 
    78 <variablelist><title>Short descriptions</title>
    79 
    80 <varlistentry id="bash">
    81 <term><command>bash</command></term>
    82 <listitem>
    83 <indexterm zone="ch-system-bash bash"><primary sortas="b-bash">bash</primary></indexterm>
    84 <para>is a widely-used command interpreter. It
    85 performs many kinds of expansions and substitutions on a given command line
    86 before executing it, thus making this interpreter a powerful tool.</para>
    87 </listitem>
    88 </varlistentry>
    89 
    90 <varlistentry id="bashbug">
    91 <term><command>bashbug</command></term>
    92 <listitem>
    93 <indexterm zone="ch-system-bash bashbug"><primary sortas="b-bashbug">bashbug</primary></indexterm>
    94 <para>is a shell script to help the user
    95 compose and mail bug reports concerning <command>bash</command> in a standard format.</para>
    96 </listitem>
    97 </varlistentry>
    98 
    99 <varlistentry id="sh">
    100 <term><command>sh</command></term>
    101 <listitem>
    102 <indexterm zone="ch-system-bash sh"><primary sortas="b-sh">sh</primary></indexterm>
    103 <para>is a symlink to the bash program. When invoked
    104 as <command>sh</command>, <command>bash</command> tries to mimic the
    105 startup behavior of historical versions of <command>sh</command> as
    106 closely as possible, while conforming to the POSIX standard as well.</para>
    107 </listitem>
    108 </varlistentry>
    109 </variablelist>
     58<para>See testing</para>
    11059
    11160</sect2>
  • chapter06/binutils.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Binutils package contains a linker, an assembler, and other tools for
    14 handling object files.</para>
    1513
    1614<segmentedlist>
     
    2018</segmentedlist>
    2119
    22 <segmentedlist>
    23 <segtitle>Binutils installation depends on</segtitle>
    24 <seglistitem><seg>Bash, Coreutils, Diffutils, GCC, Gettext,
    25 Glibc, Grep, Make, Perl, Sed, Texinfo</seg></seglistitem>
    26 </segmentedlist>
    2720</sect2>
    2821
     
    3023<title>Installation of Binutils</title>
    3124
    32 <para>Now is an appropriate time to verify that your pseudo terminals (PTYs) are
    33 working properly inside the chroot environment. We will again quickly check that
    34 everything is set up correctly by performing a simple test:</para>
     25<para>Check if there is PTYs for the test suites:</para>
    3526
    3627<screen><userinput>expect -c "spawn ls"</userinput></screen>
    37 
    38 <para>If you receive the message:</para>
    39 
    40 <screen><computeroutput>The system has no more ptys.  Ask your system administrator to create more.</computeroutput></screen>
    41 
    42 <para>Your chroot environment is not set up for proper PTY operation. In this
    43 case there is no point in running the test suites for Binutils and GCC until you
    44 are able to resolve the issue.</para>
    45 
    46 <para>This package is known to behave badly when you have changed its
    47 default optimization flags (including the <parameter>-march</parameter> and <parameter>-mcpu</parameter> options).
    48 Therefore, if you have defined any environment variables that override
    49 default optimizations, such as CFLAGS and CXXFLAGS, we recommend un-setting
    50 or modifying them when building Binutils.</para>
    5128
    5229<para>The current version of Binutils in use has a bug that causes strip to
     
    5633<screen><userinput>patch -Np1 -i ../binutils-&binutils-version;-fix_strip-1.patch</userinput></screen>
    5734
    58 <para>The Binutils documentation recommends building Binutils outside of the
    59 source directory in a dedicated build directory:</para>
     35<para>Create the build directory:</para>
    6036
    6137<screen><userinput>mkdir ../binutils-build
     
    7046<screen><userinput>make tooldir=/usr</userinput></screen>
    7147
    72 <para>Normally, the <emphasis>tooldir</emphasis> (the directory where the
    73 executables end up) is set to $(exec_prefix)/$(target_alias), which expands
    74 into, for example, <filename class="directory">/usr/i686-pc-linux-gnu</filename>. Since we only
    75 build for our own system, we don't need this target specific directory in
    76 <filename class="directory">/usr</filename>. That setup would be used if the system was used to
    77 cross-compile (for example compiling a package on an Intel machine that
    78 generates code that can be executed on PowerPC machines).</para>
    79 
    80 <important><para>The test suite for Binutils in this section is considered
    81 <emphasis>critical</emphasis>. Our advice is to not skip it under any
    82 circumstances.</para></important>
    83 
    8448<para>Test the results:</para>
    8549
     
    8751
    8852<para>The test suite notes from <xref linkend="ch-tools-binutils-pass2"/> are still
    89 very much appropriate here. Be sure to refer back there should you have any
    90 doubts.</para>
     53very much appropriate here..</para>
    9154
    9255<para>Install the package:</para>
     
    9457<screen><userinput>make tooldir=/usr install</userinput></screen>
    9558
    96 <para>Install the <filename class="headerfile">libiberty</filename> header file that is needed by
    97 some packages:</para>
     59<para>Install the <filename class="headerfile">libiberty</filename> header file:</para>
    9860
    9961<screen><userinput>cp ../binutils-&binutils-version;/include/libiberty.h /usr/include</userinput></screen>
     
    10466<sect2 id="contents-binutils" role="content"><title>Contents of Binutils</title>
    10567
    106 <segmentedlist>
    107 <segtitle>Installed programs</segtitle>
    108 <segtitle>Installed libraries</segtitle>
    109 <seglistitem><seg>addr2line, ar, as, c++filt, gprof, ld, nm, objcopy, objdump,
    110 ranlib, readelf, size, strings and strip</seg>
    111 <seg>libiberty.a, libbfd.[a,so] and libopcodes.[a,so]</seg></seglistitem>
    112 </segmentedlist>
    113 
    114 <variablelist><title>Short descriptions</title>
    115 
    116 <varlistentry id="addr2line">
    117 <term><command>addr2line</command></term>
    118 <listitem>
    119 <indexterm zone="ch-system-binutils addr2line"><primary sortas="b-addr2line">addr2line</primary></indexterm>
    120 <para>translates program addresses to file
    121 names and line numbers. Given an address and the name of an executable, it
    122 uses the debugging information in the executable to figure out which source
    123 file and line number are associated with the address.</para>
    124 </listitem>
    125 </varlistentry>
    126 
    127 <varlistentry id="ar">
    128 <term><command>ar</command></term>
    129 <listitem>
    130 <indexterm zone="ch-system-binutils ar"><primary sortas="b-ar">ar</primary></indexterm>
    131 <para>creates, modifies, and extracts from archives. An archive
    132 is a single file holding a collection of other files in a structure that makes
    133 it possible to retrieve the original individual files (called members of
    134 the archive).</para>
    135 </listitem>
    136 </varlistentry>
    137 
    138 <varlistentry id="as">
    139 <term><command>as</command></term>
    140 <listitem>
    141 <indexterm zone="ch-system-binutils as"><primary sortas="b-as">as</primary></indexterm>
    142 <para>is an assembler. It assembles the output of <command>gcc</command> into object files.</para>
    143 </listitem>
    144 </varlistentry>
    145 
    146 <varlistentry id="c-filt">
    147 <term><command>c++filt</command></term>
    148 <listitem>
    149 <indexterm zone="ch-system-binutils c-filt"><primary sortas="b-c++filt">c++filt</primary></indexterm>
    150 <para>is used by the linker to de-mangle C++ and
    151 Java symbols, to keep overloaded functions from clashing.</para>
    152 </listitem>
    153 </varlistentry>
    154 
    155 <varlistentry id="gprof">
    156 <term><command>gprof</command></term>
    157 <listitem>
    158 <indexterm zone="ch-system-binutils gprof"><primary sortas="b-gprof">gprof</primary></indexterm>
    159 <para>displays call graph profile data.</para>
    160 </listitem>
    161 </varlistentry>
    162 
    163 <varlistentry id="ld">
    164 <term><command>ld</command></term>
    165 <listitem>
    166 <indexterm zone="ch-system-binutils ld"><primary sortas="b-ld">ld</primary></indexterm>
    167 <para>is a linker. It combines a number of object and archive files into a single file,
    168 relocating their data and tying up symbol references.</para>
    169 </listitem>
    170 </varlistentry>
    171 
    172 <varlistentry id="nm">
    173 <term><command>nm</command></term>
    174 <listitem>
    175 <indexterm zone="ch-system-binutils nm"><primary sortas="b-nm">nm</primary></indexterm>
    176 <para>lists the symbols occurring in a given object file.</para>
    177 </listitem>
    178 </varlistentry>
    179 
    180 <varlistentry id="objcopy">
    181 <term><command>objcopy</command></term>
    182 <listitem>
    183 <indexterm zone="ch-system-binutils objcopy"><primary sortas="b-objcopy">objcopy</primary></indexterm>
    184 <para>is used to translate one type of object file into another.</para>
    185 </listitem>
    186 </varlistentry>
    187 
    188 <varlistentry id="objdump">
    189 <term><command>objdump</command></term>
    190 <listitem>
    191 <indexterm zone="ch-system-binutils objdump"><primary sortas="b-objdump">objdump</primary></indexterm>
    192 <para>displays information about the given object file, with options controlling what
    193 particular information to display. The information shown is mostly only useful to
    194 programmers who are working on the compilation tools.</para>
    195 </listitem>
    196 </varlistentry>
    197 
    198 <varlistentry id="ranlib">
    199 <term><command>ranlib</command></term>
    200 <listitem>
    201 <indexterm zone="ch-system-binutils ranlib"><primary sortas="b-ranlib">ranlib</primary></indexterm>
    202 <para>generates an index of the contents of an
    203 archive, and stores it in the archive. The index lists all the symbols defined
    204 by archive members that are relocatable object files.</para>
    205 </listitem>
    206 </varlistentry>
    207 
    208 <varlistentry id="readelf">
    209 <term><command>readelf</command></term>
    210 <listitem>
    211 <indexterm zone="ch-system-binutils readelf"><primary sortas="b-readelf">readelf</primary></indexterm>
    212 <para>displays information about elf type binaries.</para>
    213 </listitem>
    214 </varlistentry>
    215 
    216 <varlistentry id="size">
    217 <term><command>size</command></term>
    218 <listitem>
    219 <indexterm zone="ch-system-binutils size"><primary sortas="b-size">size</primary></indexterm>
    220 <para>lists the section sizes -- and the grand total -- for the given object files.</para>
    221 </listitem>
    222 </varlistentry>
    223 
    224 <varlistentry id="strings">
    225 <term><command>strings</command></term>
    226 <listitem>
    227 <indexterm zone="ch-system-binutils strings"><primary sortas="b-strings">strings</primary></indexterm>
    228 <para>outputs, for each given file, the sequences
    229 of printable characters that are of at least the specified length (defaulting to 4).
    230 For object files it prints, by default, only the strings from the initializing
    231 and loading sections. For other types of files it scans the whole file.</para>
    232 </listitem>
    233 </varlistentry>
    234 
    235 <varlistentry id="strip">
    236 <term><command>strip</command></term>
    237 <listitem>
    238 <indexterm zone="ch-system-binutils strip"><primary sortas="b-strip">strip</primary></indexterm>
    239 <para>discards symbols from object files.</para>
    240 </listitem>
    241 </varlistentry>
    242 
    243 <varlistentry id="libiberty">
    244 <term><filename class="libraryfile">libiberty</filename></term>
    245 <listitem>
    246 <indexterm zone="ch-system-binutils libiberty"><primary sortas="c-libiberty">libiberty</primary></indexterm>
    247 <para>contains routines used by various GNU
    248 programs, including getopt, obstack, strerror, strtol and strtoul.</para>
    249 </listitem>
    250 </varlistentry>
    251 
    252 <varlistentry id="libbfd">
    253 <term><filename class="libraryfile">libbfd</filename></term>
    254 <listitem>
    255 <indexterm zone="ch-system-binutils libbfd"><primary sortas="c-libbfd">libbfd</primary></indexterm>
    256 <para>is the Binary File Descriptor library.</para>
    257 </listitem>
    258 </varlistentry>
    259 
    260 <varlistentry id="libopcodes">
    261 <term><filename class="libraryfile">libopcodes</filename></term>
    262 <listitem>
    263 <indexterm zone="ch-system-binutils libopcodes"><primary sortas="c-libopcodes">libopcodes</primary></indexterm>
    264 <para>is a library for dealing with opcodes.
    265 It is used for building utilities like objdump. Opcodes are the <quote>readable
    266 text</quote> versions of instructions for the processor.</para>
    267 </listitem>
    268 </varlistentry>
    269 </variablelist>
     68<para>See testing</para>
    27069
    27170</sect2>
  • chapter06/bison.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Bison package contains a parser generator.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>Bison installation depends on</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
    24 GCC, Gettext, Glibc, Grep, M4, Make, Sed</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
     
    4943<sect2 id="contents-bison" role="content"><title>Contents of Bison</title>
    5044
    51 <segmentedlist>
    52 <segtitle>Installed programs</segtitle>
    53 <segtitle>Installed library</segtitle>
    54 <seglistitem><seg>bison and yacc</seg><seg>liby.a</seg></seglistitem>
    55 </segmentedlist>
    56 
    57 <variablelist><title>Short descriptions</title>
    58 
    59 <varlistentry id="bison">
    60 <term><command>bison</command></term>
    61 <listitem>
    62 <indexterm zone="ch-system-bison bison"><primary sortas="b-bison">bison</primary></indexterm>
    63 <para>generates, from a series of rules, a program
    64 for analyzing the structure of text files. <command>bison</command> is a replacement for <command>yacc</command>
    65 (Yet Another Compiler Compiler).</para>
    66 </listitem>
    67 </varlistentry>
    68 
    69 <varlistentry id="yacc">
    70 <term><command>yacc</command></term>
    71 <listitem>
    72 <indexterm zone="ch-system-bison yacc"><primary sortas="b-yacc">yacc</primary></indexterm>
    73 <para>is a wrapper for <command>bison</command>, meant for programs
    74 that still call <command>yacc</command> instead of <command>bison</command>.
    75 It calls <command>bison</command> with the <parameter>-y</parameter> option.</para>
    76 </listitem>
    77 </varlistentry>
    78 
    79 <varlistentry id="liby.a">
    80 <term><filename class="libraryfile">liby.a</filename></term>
    81 <listitem>
    82 <indexterm zone="ch-system-bison liby.a"><primary sortas="c-liby.a">liby.a</primary></indexterm>
    83 <para>is the Yacc library containing
    84 implementations of Yacc-compatible yyerror and main functions. This library
    85 is normally not very useful, but POSIX requires it.</para>
    86 </listitem>
    87 </varlistentry>
    88 </variablelist>
     45<para>See testing</para>
    8946
    9047</sect2>
  • chapter06/bzip2.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Bzip2 package contains programs for compressing and decompressing
    14 files. On text files they achieve a much better compression than the
    15 traditional <command>gzip</command>.</para>
    1613
    1714<segmentedlist>
     
    2118</segmentedlist>
    2219
    23 <segmentedlist>
    24 <segtitle>Bzip2 installation depends on</segtitle>
    25 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
    26 GCC, Glibc, Make</seg></seglistitem>
    27 </segmentedlist>
    2820</sect2>
    2921
     
    3628make clean</userinput></screen>
    3729
    38 <para>The <parameter>-f</parameter> flag will cause Bzip2 to be built
    39 using a different <filename>Makefile</filename> file, in this case the
    40 <filename>Makefile-libbz2_so</filename> file, which creates a dynamic
    41 <filename class="libraryfile">libbz2.so</filename> library and links the Bzip2 utilities
    42 against it.</para>
    43 
    4430<para>Compile the package:</para>
    4531
    4632<screen><userinput>make</userinput></screen>
    4733
    48 <para>If you are reinstalling Bzip2, you need to do
    49 <userinput>rm -f /usr/bin/bz*</userinput> first, otherwise the following
    50 <command>make install</command> will fail.</para>
    51 
    52 <para>Install the programs:</para>
     34<para>Install the package:</para>
    5335
    5436<screen><userinput>make install</userinput></screen>
    5537
    56 <para>Now install the shared <command>bzip2</command> binary into the
    57 <filename class="directory">/bin</filename> directory, then make some
    58 necessary symbolic links, and clean up:</para>
     38<para>Do some location changes:</para>
    5939
    6040<screen><userinput>cp bzip2-shared /bin/bzip2
     
    7050<sect2 id="contents-bzip2" role="content"><title>Contents of Bzip2</title>
    7151
    72 <segmentedlist>
    73 <segtitle>Installed programs</segtitle>
    74 <segtitle>Installed libraries</segtitle>
    75 <seglistitem><seg>bunzip2 (link to bzip2), bzcat (link to bzip2), bzcmp, bzdiff,
    76 bzegrep, bzfgrep, bzgrep, bzip2, bzip2recover, bzless and bzmore</seg>
    77 <seg>libbz2.a, libbz2.so (link to libbz2.so.1.0), libbz2.so.1.0 (link to
    78 libbz2.so.&bzip2-version;) and libbz2.so.&bzip2-version;</seg></seglistitem>
    79 </segmentedlist>
    80 
    81 <variablelist><title>Short descriptions</title>
    82 
    83 <varlistentry id="bunzip2">
    84 <term><command>bunzip2</command></term>
    85 <listitem>
    86 <indexterm zone="ch-system-bzip2 bunzip2"><primary sortas="b-bunzip2">bunzip2</primary></indexterm>
    87 <para>decompresses bzipped files.</para>
    88 </listitem>
    89 </varlistentry>
    90 
    91 <varlistentry id="bzcat">
    92 <term><command>bzcat</command></term>
    93 <listitem>
    94 <indexterm zone="ch-system-bzip2 bzcat"><primary sortas="b-bzcat">bzcat</primary></indexterm>
    95 <para>decompresses to standard output.</para>
    96 </listitem>
    97 </varlistentry>
    98 
    99 <varlistentry id="bzcmp">
    100 <term><command>bzcmp</command></term>
    101 <listitem>
    102 <indexterm zone="ch-system-bzip2 bzcmp"><primary sortas="b-bzcmp">bzcmp</primary></indexterm>
    103 <para>runs <command>cmp</command> on bzipped files.</para>
    104 </listitem>
    105 </varlistentry>
    106 
    107 <varlistentry id="bzdiff">
    108 <term><command>bzdiff</command></term>
    109 <listitem>
    110 <indexterm zone="ch-system-bzip2 bzdiff"><primary sortas="b-bzdiff">bzdiff</primary></indexterm>
    111 <para>runs <command>diff</command> on bzipped files.</para>
    112 </listitem>
    113 </varlistentry>
    114 
    115 <varlistentry id="bzgrep">
    116 <term><command>bzgrep</command></term>
    117 <listitem>
    118 <indexterm zone="ch-system-bzip2 bzgrep"><primary sortas="b-bzgrep">bzgrep</primary></indexterm>
    119 <para>and friends run <command>grep</command> on bzipped files.</para>
    120 </listitem>
    121 </varlistentry>
    122 
    123 <varlistentry id="bzip2">
    124 <term><command>bzip2</command></term>
    125 <listitem>
    126 <indexterm zone="ch-system-bzip2 bzip2"><primary sortas="b-bzip2">bzip2</primary></indexterm>
    127 <para>compresses files using the Burrows-Wheeler
    128 block sorting text compression algorithm with Huffman coding. The compression
    129 rate is generally considerably better than that achieved by more conventional
    130 compressors using LZ77/LZ78, like <command>gzip</command>.</para>
    131 </listitem>
    132 </varlistentry>
    133 
    134 <varlistentry id="bzip2recover">
    135 <term><command>bzip2recover</command></term>
    136 <listitem>
    137 <indexterm zone="ch-system-bzip2 bzip2recover"><primary sortas="b-bzip2recover">bzip2recover</primary></indexterm>
    138 <para>tries to recover data from damaged bzipped files.</para>
    139 </listitem>
    140 </varlistentry>
    141 
    142 <varlistentry id="bzless">
    143 <term><command>bzless</command></term>
    144 <listitem>
    145 <indexterm zone="ch-system-bzip2 bzless"><primary sortas="b-bzless">bzless</primary></indexterm>
    146 <para>runs <command>less</command> on bzipped files.</para>
    147 </listitem>
    148 </varlistentry>
    149 
    150 <varlistentry id="bzmore">
    151 <term><command>bzmore</command></term>
    152 <listitem>
    153 <indexterm zone="ch-system-bzip2 bzmore"><primary sortas="b-bzmore">bzmore</primary></indexterm>
    154 <para>runs <command>more</command> on bzipped files.</para>
    155 </listitem>
    156 </varlistentry>
    157 
    158 <varlistentry id="libbz2">
    159 <term><filename class="libraryfile">libbz2*</filename></term>
    160 <listitem>
    161 <indexterm zone="ch-system-bzip2 libbz2"><primary sortas="c-libbz2*">libbz2*</primary></indexterm>
    162 <para>is the library implementing lossless,
    163 block-sorting data compression, using the Burrows-Wheeler algorithm.</para>
    164 </listitem>
    165 </varlistentry>
    166 </variablelist>
     52<para>See testing</para>
    16753
    16854</sect2>
  • chapter06/changingowner.xml

    raaa3260 r3f0c882  
    88<?dbhtml filename="changingowner.html"?>
    99
    10 <para>Right now the <filename class="directory">/tools</filename> directory
    11 is owned by the user <emphasis>lfs</emphasis>, a user that exists only on your
    12 host system. Although you will probably want to delete the
    13 <filename class="directory">/tools</filename> directory once you have
    14 finished your LFS system, you may want to keep it around, for example to
    15 build more LFS systems. But if you keep the
    16 <filename class="directory">/tools</filename> directory as it is, you end up
    17 with files owned by a user ID without a corresponding account. This is
    18 dangerous because a user account created later on could get this same user ID
    19 and would suddenly own the <filename class="directory">/tools</filename>
    20 directory and all the files therein, thus exposing these files to possible
    21 malicious manipulation.</para>
    22 
    23 <para>To avoid this issue, you could add the <emphasis>lfs</emphasis> user to
    24 your new LFS system later on when creating the <filename>/etc/passwd</filename>
    25 file, taking care to assign it the same user and group IDs as on your host
    26 system. Alternatively, you can (and the book assumes you do) assign the
    27 contents of the <filename class="directory">/tools</filename> directory to
    28 user <emphasis>root</emphasis> by running the following command:</para>
     10<para>Change the owner of <filename class="directory">/tools</filename>:</para>
    2911
    3012<screen><userinput>chown -R 0:0 /tools</userinput></screen>
    3113
    32 <para>The command uses <parameter>0:0</parameter> instead of <parameter>root:root</parameter>,
    33 because <userinput>chown</userinput> is unable to resolve the name
    34 <quote>root</quote> until the password file has been created.</para>
    35 
    3614</sect1>
  • chapter06/chroot.xml

    raaa3260 r3f0c882  
    88<?dbhtml filename="chroot.html"?>
    99
    10 <para>It is time to enter the chroot environment in order to begin building
    11 and installing your final LFS system. Still as <emphasis>root</emphasis> run
    12 the following command to enter the small world that is, at the moment,
    13 populated with only the temporary tools:</para>
     10<para>Enter the chroot environment:</para>
    1411
    1512<screen><userinput>chroot "$LFS" /tools/bin/env -i \
     
    1815    /tools/bin/bash --login +h</userinput></screen>
    1916
    20 <para>The <parameter>-i</parameter> option given to the
    21 <command>env</command> command will clear all variables of the chroot
    22 environment. After that, only the HOME, TERM, PS1 and PATH variables are
    23 set again. The <parameter>TERM=$TERM</parameter> construct will set the TERM variable inside chroot
    24 to the same value as outside chroot; this variable is needed for programs
    25 like <command>vim</command> and <command>less</command> to operate
    26 properly. If you need other variables present, such as CFLAGS or CXXFLAGS,
    27 this is a good place to set them again.</para>
    28 
    29 <para>From this point on there's no need to use the LFS variable anymore,
    30 because everything you do will be restricted to the LFS file system -- since
    31 what the shell thinks is <filename class="directory">/</filename> is actually
    32 the value of <filename class="directory">$LFS</filename>, which was passed to
    33 the chroot command.</para>
    34 
    35 <para>Notice that <filename class="directory">/tools/bin</filename> comes
    36 last in the PATH. This means that a temporary tool will not be used any more
    37 as soon as its final version is installed. Well, at least when the shell
    38 doesn't remember the locations of executed binaries -- for this reason hashing
    39 is switched off by passing the <parameter>+h</parameter> option to
    40 <command>bash</command>.</para>
    41 
    42 <para>You have to make sure all the commands in the rest of this chapter and
    43 in the following chapters are run from within the chroot environment.
    44 If you ever leave this environment for any reason (rebooting for example),
    45 you must remember to first mount the <systemitem class="filesystem">proc</systemitem>
    46 and <systemitem class="filesystem">devpts</systemitem> file systems (discussed
    47 in the previous section) <emphasis>and</emphasis> enter chroot again before
    48 continuing with the installations.</para>
    49 
    50 <para>Note that the <command>bash</command> prompt will say
    51 <computeroutput>I have no name!</computeroutput> This is
    52 normal, as the <filename>/etc/passwd</filename> file has not been created yet.
    53 </para>
    54 
    5517</sect1>
  • chapter06/coreutils.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Coreutils package contains utilities for showing and setting the
    14 basic system characteristics.</para>
    1513
    1614<segmentedlist>
     
    2018</segmentedlist>
    2119
    22 <segmentedlist>
    23 <segtitle>Coreutils installation depends on</segtitle>
    24 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, GCC,
    25 Gettext, Glibc, Grep, Make, Perl, Sed</seg></seglistitem>
    26 </segmentedlist>
    2720</sect2>
    2821
     
    3023<title>Installation of Coreutils</title>
    3124
    32 <para>Normally the functionality of <command>uname</command> is somewhat
    33 broken, in that the <parameter>-p</parameter> switch always returns
    34 <computeroutput>unknown</computeroutput>.  The following patch fixes this behavior for Intel
    35 architectures:</para>
     25<para>Apply a patch:</para>
    3626
    3727<screen><userinput>patch -Np1 -i ../coreutils-&coreutils-version;-uname-2.patch</userinput></screen>
    3828
    39 <para>Prevent Coreutils from installing binaries that will be later be installed
    40 by other programs:</para>
     29<para>Apply another patch:</para>
    4130
    4231<screen><userinput>patch -Np1 -i ../coreutils-&coreutils-version;-suppress_uptime_kill_su-1.patch</userinput></screen>
     
    5039<screen><userinput>make</userinput></screen>
    5140
    52 <para>The test suite of Coreutils makes several assumptions about the presence
    53 of files and users that aren't valid this early in the LFS build. We will
    54 therefore have to set up a few things before being able to run the tests. If
    55 you choose not to run these tests, skip down to <quote>Install the
    56 package</quote>.</para>
    57 
    5841<para>Create two dummy groups and a dummy user name:</para>
    5942
     
    6245echo "dummy:x:1000:1000:::/bin/bash" &gt;&gt; /etc/passwd</userinput></screen>
    6346
    64 <para>Now you're all set to run the test suite. First run the few tests that
    65 are meant to be run as <emphasis>root</emphasis>:</para>
     47<para>Run the <emphasis>root</emphasis> tests:</para>
    6648
    6749<screen><userinput>make NON_ROOT_USERNAME=dummy check-root</userinput></screen>
    6850
    69 <para>Then run the remainder of the tests as the <emphasis>dummy</emphasis>
    70 user:</para>
     51<para>Run the user tests:</para>
    7152
    7253<screen><userinput>src/su dummy -c "make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
    7354
    74 <para>When you're done testing, remove the dummy user and groups:</para>
     55<para>Remove the dummy user and groups:</para>
    7556
    7657<screen><userinput>sed -i '/dummy/d' /etc/passwd /etc/group</userinput></screen>
     
    8970mv /usr/bin/chroot /usr/sbin</userinput></screen>
    9071
    91 <para>Finally, create a symlink to be FHS-compliant:</para>
     72<para>Create a symlink:</para>
    9273
    9374<screen><userinput>ln -s ../../bin/install /usr/bin</userinput></screen>
     
    9879<sect2 id="contents-coreutils" role="content"><title>Contents of Coreutils</title>
    9980
    100 <segmentedlist>
    101 <segtitle>Installed programs</segtitle>
    102 <seglistitem><seg>basename, cat, chgrp, chmod,
    103 chown, chroot, cksum, comm, cp, csplit, cut, date, dd, df, dir, dircolors,
    104 dirname, du, echo, env, expand, expr, factor, false, fmt, fold, groups, head,
    105 hostid, hostname, id, install, join, link, ln, logname, ls, md5sum,
    106 mkdir, mkfifo, mknod, mv, nice, nl, nohup, od, paste, pathchk, pinky, pr,
    107 printenv, printf, ptx, pwd, readlink, rm, rmdir, seq, sha1sum, shred, sleep,
    108 sort, split, stat, stty, su, sum, sync, tac, tail, tee, test, touch, tr, true,
    109 tsort, tty, uname, unexpand, uniq, unlink, uptime, users, vdir, wc, who,
    110 whoami and yes</seg></seglistitem>
    111 </segmentedlist>
    112 
    113 <variablelist><title>Short descriptions</title>
    114 
    115 <varlistentry id="basename">
    116 <term><command>basename</command></term>
    117 <listitem>
    118 <indexterm zone="ch-system-coreutils basename"><primary sortas="b-basename">basename</primary></indexterm>
    119 <para>strips any path and a given suffix from the given file name.</para>
    120 </listitem>
    121 </varlistentry>
    122 
    123 <varlistentry id="cat">
    124 <term><command>cat</command></term>
    125 <listitem>
    126 <indexterm zone="ch-system-coreutils cat"><primary sortas="b-cat">cat</primary></indexterm>
    127 <para>concatenates files to standard output.</para>
    128 </listitem>
    129 </varlistentry>
    130 
    131 <varlistentry id="chgrp">
    132 <term><command>chgrp</command></term>
    133 <listitem>
    134 <indexterm zone="ch-system-coreutils chgrp"><primary sortas="b-chgrp">chgrp</primary></indexterm>
    135 <para>changes the group ownership of each given file to the given group. The
    136 group can be either given a a name or a numeric ID.</para>
    137 </listitem>
    138 </varlistentry>
    139 
    140 <varlistentry id="chmod">
    141 <term><command>chmod</command></term>
    142 <listitem>
    143 <indexterm zone="ch-system-coreutils chmod"><primary sortas="b-chmod">chmod</primary></indexterm>
    144 <para>changes the permissions of each given file
    145 to the given mode. The mode can be either a symbolic representation of the
    146 changes to make, or an octal number representing the new permissions.</para>
    147 </listitem>
    148 </varlistentry>
    149 
    150 <varlistentry id="chown">
    151 <term><command>chown</command></term>
    152 <listitem>
    153 <indexterm zone="ch-system-coreutils chown"><primary sortas="b-chown">chown</primary></indexterm>
    154 <para>changes the user and/or group ownership of
    155 each given file to the given user:group pair.</para>
    156 </listitem>
    157 </varlistentry>
    158 
    159 <varlistentry id="chroot">
    160 <term><command>chroot</command></term>
    161 <listitem>
    162 <indexterm zone="ch-system-coreutils chroot"><primary sortas="b-chroot">chroot</primary></indexterm>
    163 <para>runs a given command with the specified directory as the
    164 <filename class="directory">/</filename> directory. The given command can be an interactive shell.
    165 On most systems only <emphasis>root</emphasis> can do this.</para>
    166 </listitem>
    167 </varlistentry>
    168 
    169 <varlistentry id="cksum">
    170 <term><command>cksum</command></term>
    171 <listitem>
    172 <indexterm zone="ch-system-coreutils cksum"><primary sortas="b-cksum">cksum</primary></indexterm>
    173 <para>prints the CRC (Cyclic Redundancy Check) checksum and the byte
    174 counts of each specified file.</para>
    175 </listitem>
    176 </varlistentry>
    177 
    178 <varlistentry id="comm">
    179 <term><command>comm</command></term>
    180 <listitem>
    181 <indexterm zone="ch-system-coreutils comm"><primary sortas="b-comm">comm</primary></indexterm>
    182 <para>compares two sorted files, outputting in
    183 three columns the lines that are unique, and the lines that are common.</para>
    184 </listitem>
    185 </varlistentry>
    186 
    187 <varlistentry id="cp">
    188 <term><command>cp</command></term>
    189 <listitem>
    190 <indexterm zone="ch-system-coreutils cp"><primary sortas="b-cp">cp</primary></indexterm>
    191 <para>copies files.</para>
    192 </listitem>
    193 </varlistentry>
    194 
    195 <varlistentry id="csplit">
    196 <term><command>csplit</command></term>
    197 <listitem>
    198 <indexterm zone="ch-system-coreutils csplit"><primary sortas="b-csplit">csplit</primary></indexterm>
    199 <para>splits a given file into several new files,
    200 separating them according to given patterns or line numbers, and outputting
    201 the byte count of each new file.</para>
    202 </listitem>
    203 </varlistentry>
    204 
    205 <varlistentry id="cut">
    206 <term><command>cut</command></term>
    207 <listitem>
    208 <indexterm zone="ch-system-coreutils cut"><primary sortas="b-cut">cut</primary></indexterm>
    209 <para>prints parts of lines, selecting the parts
    210 according to given fields or positions.</para>
    211 </listitem>
    212 </varlistentry>
    213 
    214 <varlistentry id="date">
    215 <term><command>date</command></term>
    216 <listitem>
    217 <indexterm zone="ch-system-coreutils date"><primary sortas="b-date">date</primary></indexterm>
    218 <para>displays the current time in the given format, or sets the system date.</para>
    219 </listitem>
    220 </varlistentry>
    221 
    222 <varlistentry id="dd">
    223 <term><command>dd</command> </term>
    224 <listitem>
    225 <indexterm zone="ch-system-coreutils dd"><primary sortas="b-dd">dd</primary></indexterm>
    226 <para>copies a file using the given block size and
    227 count, while optionally performing conversions on it.</para>
    228 </listitem>
    229 </varlistentry>
    230 
    231 <varlistentry id="df">
    232 <term><command>df</command></term>
    233 <listitem>
    234 <indexterm zone="ch-system-coreutils df"><primary sortas="b-df">df</primary></indexterm>
    235 <para>reports the amount of disk space available
    236 (and used) on all mounted file systems, or only on the file systems holding the
    237 given files.</para>
    238 </listitem>
    239 </varlistentry>
    240 
    241 <varlistentry id="dir">
    242 <term><command>dir</command></term>
    243 <listitem>
    244 <indexterm zone="ch-system-coreutils dir"><primary sortas="b-dir">dir</primary></indexterm>
    245 <para>is the same as <command>ls</command>.</para>
    246 </listitem>
    247 </varlistentry>
    248 
    249 <varlistentry id="dircolors">
    250 <term><command>dircolors</command></term>
    251 <listitem>
    252 <indexterm zone="ch-system-coreutils dircolors"><primary sortas="b-dircolors">dircolors</primary></indexterm>
    253 <para>outputs commands to set the LS_COLOR
    254 environment variable, to change the color scheme used by <command>ls</command>.</para>
    255 </listitem>
    256 </varlistentry>
    257 
    258 <varlistentry id="dirname">
    259 <term><command>dirname</command></term>
    260 <listitem>
    261 <indexterm zone="ch-system-coreutils dirname"><primary sortas="b-dirname">dirname</primary></indexterm>
    262 <para>strips the non-directory suffix from a given file name.</para>
    263 </listitem>
    264 </varlistentry>
    265 
    266 <varlistentry id="du">
    267 <term><command>du</command></term>
    268 <listitem>
    269 <indexterm zone="ch-system-coreutils du"><primary sortas="b-du">du</primary></indexterm>
    270 <para>reports the amount of disk space used by the
    271 current directory, or by each of the given directories including all their
    272 subdirectories, or by each of the given files.</para>
    273 </listitem>
    274 </varlistentry>
    275 
    276 <varlistentry id="echo">
    277 <term><command>echo</command></term>
    278 <listitem>
    279 <indexterm zone="ch-system-coreutils echo"><primary sortas="b-echo">echo</primary></indexterm>
    280 <para>displays the given strings.</para>
    281 </listitem>
    282 </varlistentry>
    283 
    284 <varlistentry id="env">
    285 <term><command>env</command></term>
    286 <listitem>
    287 <indexterm zone="ch-system-coreutils env"><primary sortas="b-env">env</primary></indexterm>
    288 <para>runs a command in a modified environment.</para>
    289 </listitem>
    290 </varlistentry>
    291 
    292 <varlistentry id="expand">
    293 <term><command>expand</command></term>
    294 <listitem>
    295 <indexterm zone="ch-system-coreutils expand"><primary sortas="b-expand">expand</primary></indexterm>
    296 <para>converts tabs to spaces.</para>
    297 </listitem>
    298 </varlistentry>
    299 
    300 <varlistentry id="expr">
    301 <term><command>expr</command></term>
    302 <listitem>
    303 <indexterm zone="ch-system-coreutils expr"><primary sortas="b-expr">expr</primary></indexterm>
    304 <para>evaluates expressions.</para>
    305 </listitem>
    306 </varlistentry>
    307 
    308 <varlistentry id="factor">
    309 <term><command>factor</command></term>
    310 <listitem>
    311 <indexterm zone="ch-system-coreutils factor"><primary sortas="b-factor">factor</primary></indexterm>
    312 <para>prints the prime factors of all specified integer numbers.</para>
    313 </listitem>
    314 </varlistentry>
    315 
    316 <varlistentry id="false">
    317 <term><command>false</command></term>
    318 <listitem>
    319 <indexterm zone="ch-system-coreutils false"><primary sortas="b-false">false</primary></indexterm>
    320 <para>does nothing, unsuccessfully. It always
    321 exits with a status code indicating failure.</para>
    322 </listitem>
    323 </varlistentry>
    324 
    325 <varlistentry id="mt">
    326 <term><command>fmt</command></term>
    327 <listitem>
    328 <indexterm zone="ch-system-coreutils mt"><primary sortas="b-mt">mt</primary></indexterm>
    329 <para>reformats the paragraphs in the given files.</para>
    330 </listitem>
    331 </varlistentry>
    332 
    333 <varlistentry id="fold">
    334 <term><command>fold</command></term>
    335 <listitem>
    336 <indexterm zone="ch-system-coreutils fold"><primary sortas="b-fold">fold</primary></indexterm>
    337 <para>wraps the lines in the given files.</para>
    338 </listitem>
    339 </varlistentry>
    340 
    341 <varlistentry id="groups-coreutils">
    342 <term><command>groups</command></term>
    343 <listitem>
    344 <indexterm zone="ch-system-coreutils groups-coreutils"><primary sortas="b-groups-coreutils">groups</primary></indexterm>
    345 <para>reports a user's group memberships.</para>
    346 </listitem>
    347 </varlistentry>
    348 
    349 <varlistentry id="head">
    350 <term><command>head</command></term>
    351 <listitem>
    352 <indexterm zone="ch-system-coreutils head"><primary sortas="b-head">head</primary></indexterm>
    353 <para>prints the first ten lines (or the given number of lines) of each given file.</para>
    354 </listitem>
    355 </varlistentry>
    356 
    357 <varlistentry id="hostid">
    358 <term><command>hostid</command></term>
    359 <listitem>
    360 <indexterm zone="ch-system-coreutils hostid"><primary sortas="b-hostid">hostid</primary></indexterm>
    361 <para>reports the numeric identifier (in hexadecimal) of the host.</para>
    362 </listitem>
    363 </varlistentry>
    364 
    365 <varlistentry id="hostname-coreutils">
    366 <term><command>hostname</command></term>
    367 <listitem>
    368 <indexterm zone="ch-system-coreutils hostname-coreutils"><primary sortas="b-hostname-coreutils">hostname</primary></indexterm>
    369 <para>reports or sets the name of the host.</para>
    370 </listitem>
    371 </varlistentry>
    372 
    373 <varlistentry id="id">
    374 <term><command>id</command></term>
    375 <listitem>
    376 <indexterm zone="ch-system-coreutils id"><primary sortas="b-id">id</primary></indexterm>
    377 <para>reports the effective user ID, group ID, and
    378 group memberships of the current user, or of a given user.</para>
    379 </listitem>
    380 </varlistentry>
    381 
    382 <varlistentry id="install">
    383 <term><command>install</command> </term>
    384 <listitem>
    385 <indexterm zone="ch-system-coreutils install"><primary sortas="b-install">install</primary></indexterm>
    386 <para>copies files while setting their
    387 permission modes and, if possible, their owner and group.</para>
    388 </listitem>
    389 </varlistentry>
    390 
    391 <varlistentry id="join">
    392 <term><command>join</command></term>
    393 <listitem>
    394 <indexterm zone="ch-system-coreutils join"><primary sortas="b-join">join</primary></indexterm>
    395 <para>joins from two files the lines that have identical join fields.</para>
    396 </listitem>
    397 </varlistentry>
    398 
    399 <varlistentry id="link">
    400 <term><command>link</command></term>
    401 <listitem>
    402 <indexterm zone="ch-system-coreutils link"><primary sortas="b-link">link</primary></indexterm>
    403 <para>creates a hard link with the given name to the given file.</para>
    404 </listitem>
    405 </varlistentry>
    406 
    407 <varlistentry id="ln">
    408 <term><command>ln</command></term>
    409 <listitem>
    410 <indexterm zone="ch-system-coreutils ln"><primary sortas="b-ln">ln</primary></indexterm>
    411 <para>makes hard links or soft links between files.</para>
    412 </listitem>
    413 </varlistentry>
    414 
    415 <varlistentry id="logname">
    416 <term><command>logname</command></term>
    417 <listitem>
    418 <indexterm zone="ch-system-coreutils logname"><primary sortas="b-logname">logname</primary></indexterm>
    419 <para>reports the current user's login name.</para>
    420 </listitem>
    421 </varlistentry>
    422 
    423 <varlistentry id="ls">
    424 <term><command>ls</command></term>
    425 <listitem>
    426 <indexterm zone="ch-system-coreutils ls"><primary sortas="b-ls">ls</primary></indexterm>
    427 <para>lists the contents of each given directory.
    428 By default it orders the files and subdirectories alphabetically.</para>
    429 </listitem>
    430 </varlistentry>
    431 
    432 <varlistentry id="md5sum">
    433 <term><command>md5sum</command></term>
    434 <listitem>
    435 <indexterm zone="ch-system-coreutils md5sum"><primary sortas="b-md5sum">md5sum</primary></indexterm>
    436 <para>reports or checks MD5 (Message Digest 5) checksums.</para>
    437 </listitem>
    438 </varlistentry>
    439 
    440 <varlistentry id="mkdir">
    441 <term><command>mkdir</command></term>
    442 <listitem>
    443 <indexterm zone="ch-system-coreutils mkdir"><primary sortas="b-mkdir">mkdir</primary></indexterm>
    444 <para>creates directories with the given names.</para>
    445 </listitem>
    446 </varlistentry>
    447 
    448 <varlistentry id="mkfifo">
    449 <term><command>mkfifo</command></term>
    450 <listitem>
    451 <indexterm zone="ch-system-coreutils mkfifo"><primary sortas="b-mkfifo">mkfifo</primary></indexterm>
    452 <para>creates FIFOs (First-In, First-Out, a <quote>named pipe</quote> in UNIX parlance) with
    453 the given names.</para>
    454 </listitem>
    455 </varlistentry>
    456 
    457 <varlistentry id="mknod">
    458 <term><command>mknod</command></term>
    459 <listitem>
    460 <indexterm zone="ch-system-coreutils mknod"><primary sortas="b-mknod">mknod</primary></indexterm>
    461 <para>creates device nodes with the given names.
    462 A device node is a character special file, or a block special file, or a FIFO.</para>
    463 </listitem>
    464 </varlistentry>
    465 
    466 <varlistentry id="mv">
    467 <term><command>mv</command></term>
    468 <listitem>
    469 <indexterm zone="ch-system-coreutils mv"><primary sortas="b-mv">mv</primary></indexterm>
    470 <para>moves or renames files or directories.</para>
    471 </listitem>
    472 </varlistentry>
    473 
    474 <varlistentry id="nice">
    475 <term><command>nice</command></term>
    476 <listitem>
    477 <indexterm zone="ch-system-coreutils nice"><primary sortas="b-nice">nice</primary></indexterm>
    478 <para>runs a program with modified scheduling priority.</para>
    479 </listitem>
    480 </varlistentry>
    481 
    482 <varlistentry id="nl">
    483 <term><command>nl</command></term>
    484 <listitem>
    485 <indexterm zone="ch-system-coreutils nl"><primary sortas="b-nl">nl</primary></indexterm>
    486 <para>numbers the lines from the given files.</para>
    487 </listitem>
    488 </varlistentry>
    489 
    490 <varlistentry id="nohup">
    491 <term><command>nohup</command></term>
    492 <listitem>
    493 <indexterm zone="ch-system-coreutils nohup"><primary sortas="b-nohup">nohup</primary></indexterm>
    494 <para>runs a command immune to hangups, with
    495 output redirected to a log file.</para>
    496 </listitem>
    497 </varlistentry>
    498 
    499 <varlistentry id="od">
    500 <term><command>od</command></term>
    501 <listitem>
    502 <indexterm zone="ch-system-coreutils od"><primary sortas="b-od">od</primary></indexterm>
    503 <para>dumps files in octal and other formats.</para>
    504 </listitem>
    505 </varlistentry>
    506 
    507 <varlistentry id="paste">
    508 <term><command>paste</command></term>
    509 <listitem>
    510 <indexterm zone="ch-system-coreutils paste"><primary sortas="b-paste">paste</primary></indexterm>
    511 <para>merges the given files, joining
    512 sequentially corresponding lines side by side, separated by tab characters..</para>
    513 </listitem>
    514 </varlistentry>
    515 
    516 <varlistentry id="pathchk">
    517 <term><command>pathchk</command></term>
    518 <listitem>
    519 <indexterm zone="ch-system-coreutils pathchk"><primary sortas="b-pathchk">pathchk</primary></indexterm>
    520 <para>checks whether file names are valid or portable.</para>
    521 </listitem>
    522 </varlistentry>
    523 
    524 <varlistentry id="pinky">
    525 <term><command>pinky</command></term>
    526 <listitem>
    527 <indexterm zone="ch-system-coreutils pinky"><primary sortas="b-pinky">pinky</primary></indexterm>
    528 <para>is a lightweight finger. It reports some information about the given users.</para>
    529 </listitem>
    530 </varlistentry>
    531 
    532 <varlistentry id="pr">
    533 <term><command>pr</command></term>
    534 <listitem>
    535 <indexterm zone="ch-system-coreutils pr"><primary sortas="b-pr">pr</primary></indexterm>
    536 <para>paginates and columnates files for printing.</para>
    537 </listitem>
    538 </varlistentry>
    539 
    540 <varlistentry id="printenv">
    541 <term><command>printenv</command></term>
    542 <listitem>
    543 <indexterm zone="ch-system-coreutils printenv"><primary sortas="b-printenv">printenv</primary></indexterm>
    544 <para>prints the environment.</para>
    545 </listitem>
    546 </varlistentry>
    547 
    548 <varlistentry id="printf">
    549 <term><command>printf</command></term>
    550 <listitem>
    551 <indexterm zone="ch-system-coreutils printf"><primary sortas="b-printf">printf</primary></indexterm>
    552 <para>prints the given arguments according to the
    553 given format -- much like the C printf function.</para>
    554 </listitem>
    555 </varlistentry>
    556 
    557 <varlistentry id="ptx">
    558 <term><command>ptx</command></term>
    559 <listitem>
    560 <indexterm zone="ch-system-coreutils ptx"><primary sortas="b-ptx">ptx</primary></indexterm>
    561 <para>produces from the contents of the given files
    562 a permuted index, with each keyword in its context.</para>
    563 </listitem>
    564 </varlistentry>
    565 
    566 <varlistentry id="pwd">
    567 <term><command>pwd</command></term>
    568 <listitem>
    569 <indexterm zone="ch-system-coreutils pwd"><primary sortas="b-pwd">pwd</primary></indexterm>
    570 <para>reports the name of the current directory.</para>
    571 </listitem>
    572 </varlistentry>
    573 
    574 <varlistentry id="readlink">
    575 <term><command>readlink</command></term>
    576 <listitem>
    577 <indexterm zone="ch-system-coreutils readlink"><primary sortas="b-readlink">readlink</primary></indexterm>
    578 <para>reports the value of the given symbolic link.</para>
    579 </listitem>
    580 </varlistentry>
    581 
    582 <varlistentry id="rm">
    583 <term><command>rm</command></term>
    584 <listitem>
    585 <indexterm zone="ch-system-coreutils rm"><primary sortas="b-rm">rm</primary></indexterm>
    586 <para>removes files or directories.</para>
    587 </listitem>
    588 </varlistentry>
    589 
    590 <varlistentry id="rmdir">
    591 <term><command>rmdir</command></term>
    592 <listitem>
    593 <indexterm zone="ch-system-coreutils rmdir"><primary sortas="b-rmdir">rmdir</primary></indexterm>
    594 <para>removes directories, if they are empty.</para>
    595 </listitem>
    596 </varlistentry>
    597 
    598 <varlistentry id="seq">
    599 <term><command>seq</command></term>
    600 <listitem>
    601 <indexterm zone="ch-system-coreutils seq"><primary sortas="b-seq">seq</primary></indexterm>
    602 <para>prints a sequence of numbers, within a given
    603 range and with a given increment.</para>
    604 </listitem>
    605 </varlistentry>
    606 
    607 <varlistentry id="sha1sum">
    608 <term><command>sha1sum</command></term>
    609 <listitem>
    610 <indexterm zone="ch-system-coreutils sha1sum"><primary sortas="b-sha1sum">sha1sum</primary></indexterm>
    611 <para>prints or checks 160-bit SHA1 checksums.</para>
    612 </listitem>
    613 </varlistentry>
    614 
    615 <varlistentry id="shred">
    616 <term><command>shred</command></term>
    617 <listitem>
    618 <indexterm zone="ch-system-coreutils shred"><primary sortas="b-shred">shred</primary></indexterm>
    619 <para>overwrites the given files repeatedly with
    620 strange patterns, to make it real hard to recover the data.</para>
    621 </listitem>
    622 </varlistentry>
    623 
    624 <varlistentry id="sleep">
    625 <term><command>sleep</command></term>
    626 <listitem>
    627 <indexterm zone="ch-system-coreutils sleep"><primary sortas="b-sleep">sleep</primary></indexterm>
    628 <para>pauses for the given amount of time.</para>
    629 </listitem>
    630 </varlistentry>
    631 
    632 <varlistentry id="sort">
    633 <term><command>sort</command></term>
    634 <listitem>
    635 <indexterm zone="ch-system-coreutils sort"><primary sortas="b-sort">sort</primary></indexterm>
    636 <para>sorts the lines from the given files.</para>
    637 </listitem>
    638 </varlistentry>
    639 
    640 <varlistentry id="split">
    641 <term><command>split</command></term>
    642 <listitem>
    643 <indexterm zone="ch-system-coreutils split"><primary sortas="b-split">split</primary></indexterm>
    644 <para>splits the given file into pieces, by size or by numbspliter of lines.</para>
    645 </listitem>
    646 </varlistentry>
    647 
    648 <varlistentry id="stty">
    649 <term><command>stty</command></term>
    650 <listitem>
    651 <indexterm zone="ch-system-coreutils stty"><primary sortas="b-stty">stty</primary></indexterm>
    652 <para>sets or reports terminal line settings.</para>
    653 </listitem>
    654 </varlistentry>
    655 
    656 <varlistentry id="sum">
    657 <term><command>sum</command></term>
    658 <listitem>
    659 <indexterm zone="ch-system-coreutils sum"><primary sortas="b-sum">sum</primary></indexterm>
    660 <para>prints checksum and block counts for each given file.</para>
    661 </listitem>
    662 </varlistentry>
    663 
    664 <varlistentry id="sync">
    665 <term><command>sync</command></term>
    666 <listitem>
    667 <indexterm zone="ch-system-coreutils sync"><primary sortas="b-sync">sync</primary></indexterm>
    668 <para>flushes file system buffers. It forces
    669 changed blocks to disk and updates the super block.</para>
    670 </listitem>
    671 </varlistentry>
    672 
    673 <varlistentry id="tac">
    674 <term><command>tac</command></term>
    675 <listitem>
    676 <indexterm zone="ch-system-coreutils tac"><primary sortas="b-tac">tac</primary></indexterm>
    677 <para>concatenates the given files in reverse.</para>
    678 </listitem>
    679 </varlistentry>
    680 
    681 <varlistentry id="tail">
    682 <term><command>tail</command></term>
    683 <listitem>
    684 <indexterm zone="ch-system-coreutils tail"><primary sortas="b-tail">tail</primary></indexterm>
    685 <para>prints the last ten lines (or the given number of lines) of each given file.</para>
    686 </listitem>
    687 </varlistentry>
    688 
    689 <varlistentry id="tee">
    690 <term><command>tee</command></term>
    691 <listitem>
    692 <indexterm zone="ch-system-coreutils tee"><primary sortas="b-tee">tee</primary></indexterm>
    693 <para>reads from standard input while writing both
    694 to standard output and to the given files.</para>
    695 </listitem>
    696 </varlistentry>
    697 
    698 <varlistentry id="test">
    699 <term><command>test</command></term>
    700 <listitem>
    701 <indexterm zone="ch-system-coreutils test"><primary sortas="b-test">test</primary></indexterm>
    702 <para>compares values and checks file types.</para>
    703 </listitem>
    704 </varlistentry>
    705 
    706 <varlistentry id="touch">
    707 <term><command>touch</command></term>
    708 <listitem>
    709 <indexterm zone="ch-system-coreutils touch"><primary sortas="b-touch">touch</primary></indexterm>
    710 <para>changes file timestamps, setting the access
    711 and modification times of the given files to the current time. Files that do
    712 not exist are created with zero length.</para>
    713 </listitem>
    714 </varlistentry>
    715 
    716 <varlistentry id="tr">
    717 <term><command>tr</command></term>
    718 <listitem>
    719 <indexterm zone="ch-system-coreutils tr"><primary sortas="b-tr">tr</primary></indexterm>
    720 <para>translates, squeezes, and deletes the given
    721 characters from standard input.</para>
    722 </listitem>
    723 </varlistentry>
    724 
    725 <varlistentry id="true">
    726 <term><command>true</command></term>
    727 <listitem>
    728 <indexterm zone="ch-system-coreutils true"><primary sortas="b-true">true</primary></indexterm>
    729 <para>does nothing, successfully. It always exits
    730 with a status code indicating success.</para>
    731 </listitem>
    732 </varlistentry>
    733 
    734 <varlistentry id="tsort">
    735 <term><command>tsort</command></term>
    736 <listitem>
    737 <indexterm zone="ch-system-coreutils tsort"><primary sortas="b-tsort">tsort</primary></indexterm>
    738 <para>performs a topological sort. It writes a
    739 totally ordered list according to the partial ordering in a given file.</para>
    740 </listitem>
    741 </varlistentry>
    742 
    743 <varlistentry id="tty">
    744 <term><command>tty</command></term>
    745 <listitem>
    746 <indexterm zone="ch-system-coreutils tty"><primary sortas="b-tty">tty</primary></indexterm>
    747 <para>reports the file name of the terminal connected to standard input.</para>
    748 </listitem>
    749 </varlistentry>
    750 
    751 <varlistentry id="uname">
    752 <term><command>uname</command></term>
    753 <listitem>
    754 <indexterm zone="ch-system-coreutils uname"><primary sortas="b-uname">uname</primary></indexterm>
    755 <para>reports system information.</para>
    756 </listitem>
    757 </varlistentry>
    758 
    759 <varlistentry id="unexpand">
    760 <term><command>unexpand</command></term>
    761 <listitem>
    762 <indexterm zone="ch-system-coreutils unexpand"><primary sortas="b-unexpand">unexpand</primary></indexterm>
    763 <para>converts spaces to tabs.</para>
    764 </listitem>
    765 </varlistentry>
    766 
    767 <varlistentry id="uniq">
    768 <term><command>uniq</command></term>
    769 <listitem>
    770 <indexterm zone="ch-system-coreutils uniq"><primary sortas="b-uniq">uniq</primary></indexterm>
    771 <para>discards all but one of successive identical lines.</para>
    772 </listitem>
    773 </varlistentry>
    774 
    775 <varlistentry id="unlink">
    776 <term><command>unlink</command></term>
    777 <listitem>
    778 <indexterm zone="ch-system-coreutils unlink"><primary sortas="b-unlink">unlink</primary></indexterm>
    779 <para>removes the given file.</para>
    780 </listitem>
    781 </varlistentry>
    782 
    783 <varlistentry id="uptime-coreutils">
    784 <term><command>uptime</command></term>
    785 <listitem>
    786 <indexterm zone="ch-system-coreutils uptime-coreutils"><primary sortas="b-uptime-coreutils">uptime</primary></indexterm>
    787 <para>reports how long the system has been
    788 running, how many users are logged on, and the system load averages.</para>
    789 </listitem>
    790 </varlistentry>
    791 
    792 <varlistentry id="users">
    793 <term><command>users</command></term>
    794 <listitem>
    795 <indexterm zone="ch-system-coreutils users"><primary sortas="b-users">users</primary></indexterm>
    796 <para>reports the names of the users currently logged on.</para>
    797 </listitem>
    798 </varlistentry>
    799 
    800 <varlistentry id="vdir">
    801 <term><command>vdir</command></term>
    802 <listitem>
    803 <indexterm zone="ch-system-coreutils vdir"><primary sortas="b-vdir">vdir</primary></indexterm>
    804 <para>is the same as <command>ls -l</command>.</para>
    805 </listitem>
    806 </varlistentry>
    807 
    808 <varlistentry id="wc">
    809 <term><command>wc</command></term>
    810 <listitem>
    811 <indexterm zone="ch-system-coreutils wc"><primary sortas="b-wc">wc</primary></indexterm>
    812 <para>reports the number of lines, words, and bytes
    813 for each given file, and a total line when more than one file is given.</para>
    814 </listitem>
    815 </varlistentry>
    816 
    817 <varlistentry id="who">
    818 <term><command>who</command></term>
    819 <listitem>
    820 <indexterm zone="ch-system-coreutils who"><primary sortas="b-who">who</primary></indexterm>
    821 <para>reports who is logged on.</para>
    822 </listitem>
    823 </varlistentry>
    824 
    825 <varlistentry id="whoami">
    826 <term><command>whoami</command></term>
    827 <listitem>
    828 <indexterm zone="ch-system-coreutils whoami"><primary sortas="b-whoami">whoami</primary></indexterm>
    829 <para>reports the user name associated with the current effective user ID.</para>
    830 </listitem>
    831 </varlistentry>
    832 
    833 <varlistentry id="yes">
    834 <term><command>yes</command></term>
    835 <listitem>
    836 <indexterm zone="ch-system-coreutils yes"><primary sortas="b-yes">yes</primary></indexterm>
    837 <para>outputs <quote>y</quote> or a given string repeatedly, until killed.</para>
    838 </listitem>
    839 </varlistentry>
    840 </variablelist>
     81<para>See testing</para>
    84182
    84283</sect2>
  • chapter06/createfiles.xml

    raaa3260 r3f0c882  
    88<?dbhtml filename="createfiles.html"?>
    99
    10 <para>Some programs hard-wire paths to programs which don't exist yet. In
    11 order to satisfy these programs, we create a number of symbolic links which
    12 will be replaced by real files throughout the course of this chapter when
    13 we're installing all the software.</para>
     10<para>Create some needed links.</para>
    1411
    1512<screen><userinput>ln -s /tools/bin/{bash,cat,pwd,stty} /bin
  • chapter06/creatingdirs.xml

    raaa3260 r3f0c882  
    88<?dbhtml filename="creatingdirs.html"?>
    99
    10 <para>Let's now create some structure in our LFS file system. Let's create
    11 a directory tree. Issuing the following commands will create a more or less
    12 standard tree:</para>
     10<para>Create a dirs tree:</para>
    1311 
    1412<screen><userinput>install -d /{bin,boot,dev,etc/opt,home,lib,mnt}
     
    3230install -d /opt/{lib,man/man{1,2,3,4,5,6,7,8}}</userinput></screen>
    3331
    34 <para>Directories are, by default, created with permission mode 755, but this
    35 isn't desirable for all directories. In the commands above, we make two changes:
    36 one to the home directory of <emphasis>root</emphasis>, and another to the
    37 directories for temporary files.</para>
    38 
    39 <para>The first mode change ensures that not just anybody can enter the
    40 <filename class="directory">/root</filename> directory -- the same
    41 as a normal user would do with his or her home directory.
    42 The second mode change makes sure that any user can write to the
    43 <filename class="directory">/tmp</filename> and
    44 <filename class="directory">/var/tmp</filename> directories, but
    45 cannot remove other users' files from them. The latter is prohibited
    46 by the so-called <quote>sticky bit</quote> -- the highest bit in the 1777 bit
    47 mask.</para>
    48 
    49 <sect2>
    50 <title>FHS compliance note</title>
    51 
    52 <para>We have based our directory tree on the FHS standard (available at
    53 <ulink url="http://www.pathname.com/fhs/"/>). Besides the above created
    54 tree this standard stipulates the existence of
    55 <filename class="directory">/usr/local/games</filename> and
    56 <filename class="directory">/usr/share/games</filename>, but we don't
    57 much like these for a base system. However, feel free to make your system
    58 FHS-compliant. As to the structure of the
    59 <filename class="directory">/usr/local/share</filename> subdirectory, the FHS
    60 isn't precise, so we created here the directories that we think are needed.</para>
    61 
    62 </sect2>
    63 
    6432</sect1>
  • chapter06/devices.xml

    raaa3260 r3f0c882  
    88<?dbhtml filename="devices.html"?>
    99
    10 <indexterm zone="ch-system-devices"><primary sortas="e-Devices">Devices</primary></indexterm>
    11 
    12 <sect2>
    13 <title>Creating initial device nodes</title>
    14 
    15 <para>When the kernel boots the system, it requires the presence of a few device
    16 nodes, in particular the <filename class="devicefile">console</filename> and
    17 <filename class="devicefile">null</filename> devices:</para>
     10<para>Create the initial device nodes</para>
    1811
    1912<screen><userinput>mknod -m 600 /dev/console c 5 1
    2013mknod -m 666 /dev/null c 1 3</userinput></screen>
    21 </sect2>
    2214
    23 <sect2>
    24 <title>Mounting ramfs and populating /dev</title>
    25 
    26 <para>The ideal way to populate <filename class="directory">/dev</filename> is
    27 to mount a <systemitem class="filesystem">ramfs</systemitem> onto <filename class="directory">/dev </filename>
    28 like <systemitem class="filesystem">tmpfs</systemitem>, but it
    29 cannot be swapped) and create the devices on there during each bootup.  Since we haven't
    30 booted the system, we have to do what the bootscripts would otherwise do for us, and
    31 populate <filename class="directory">/dev</filename> ourselves.  Begin by mounting <filename class="directory">/dev</filename>:</para>
     15<para>Mount a ramfs in /dev</para>
    3216
    3317<screen><userinput>mount -n -t ramfs none /dev</userinput></screen>
    3418
    35 <para>Since we do not have the Udev package installed yet, we'll create a
    36 minimal set of device nodes to use for building:</para>
     19<para>Create a minimal set of device nodes:</para>
    3720
    3821<screen><userinput>mknod -m 622 /dev/console c 5 1
     
    4528chown root:tty /dev/{console,ptmx,tty}</userinput></screen>
    4629
    47 <para>There are some symlinks and directories required by LFS that are not created by
    48 Udev, so we create those ourselves here:</para>
     30<para>Create some symlinks and directories:</para>
    4931
    5032<screen><userinput>ln -s /proc/self/fd /dev/fd
     
    5638mkdir /dev/shm</userinput></screen>
    5739
    58 <para>Finally, mount the proper virtual (kernel) file systems on the directories we just
    59 created:</para>
     40<para>Mount the virtual file systems:</para>
    6041
    6142<screen><userinput>mount -t devpts -o gid=4,mode=620 none /dev/pts
    6243mount -t tmpfs none /dev/shm</userinput></screen>
    6344
    64 <para>The <command>mount</command> commands executed above may result in the
    65 following warning message:</para>
    66 
    67 <screen><computeroutput>can't open /etc/fstab: No such file or directory.</computeroutput></screen>
    68 
    69 <para>This file&mdash;<filename>/etc/fstab</filename>&mdash;has not
    70 been created yet but is also not required for the file systems to be
    71 properly mounted.  As such, the warning can be safely ignored.</para>
    72 </sect2>
    73 
    7445
    7546</sect1>
  • chapter06/diffutils.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Diffutils package contains programs that show the differences
    14 between files or directories.</para>
    1513
    1614<segmentedlist>
     
    2018</segmentedlist>
    2119
    22 <segmentedlist>
    23 <segtitle>Diffutils installation depends on</segtitle>
    24 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, GCC,
    25 Gettext, Glibc, Grep, Make, Sed</seg></seglistitem>
    26 </segmentedlist>
    2720</sect2>
    2821
     
    4740<sect2 id="contents-diffutils" role="content"><title>Contents of Diffutils</title>
    4841
    49 <segmentedlist>
    50 <segtitle>Installed programs</segtitle>
    51 <seglistitem><seg>cmp, diff, diff3 and sdiff</seg></seglistitem>
    52 </segmentedlist>
    53 
    54 <variablelist><title>Short descriptions</title>
    55 
    56 <varlistentry id="cmp">
    57 <term><command>cmp</command></term>
    58 <listitem>
    59 <indexterm zone="ch-system-diffutils cmp"><primary sortas="b-cmp">cmp</primary></indexterm>
    60 <para>compares two files and reports whether or in which bytes they differ.</para>
    61 </listitem>
    62 </varlistentry>
    63 
    64 <varlistentry id="diff">
    65 <term><command>diff</command></term>
    66 <listitem>
    67 <indexterm zone="ch-system-diffutils diff"><primary sortas="b-diff">diff</primary></indexterm>
    68 <para>compares two files or directories and reports which lines in the files differ.</para>
    69 </listitem>
    70 </varlistentry>
    71 
    72 <varlistentry id="diff3">
    73 <term><command>diff3</command></term>
    74 <listitem>
    75 <indexterm zone="ch-system-diffutils diff3"><primary sortas="b-diff3">diff3</primary></indexterm>
    76 <para>compares three files line by line.</para>
    77 </listitem>
    78 </varlistentry>
    79 
    80 <varlistentry id="sdiff">
    81 <term><command>sdiff</command></term>
    82 <listitem>
    83 <indexterm zone="ch-system-diffutils sdiff"><primary sortas="b-sdiff">sdiff</primary></indexterm>
    84 <para>merges two files and interactively outputs the results.</para>
    85 </listitem>
    86 </varlistentry>
    87 </variablelist>
     42<para>See testing</para>
    8843
    8944</sect2>
  • chapter06/e2fsprogs.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The E2fsprogs package contains the utilities for handling the ext2
    14 file system. It also supports the ext3 journaling file system.</para>
    1513
    1614<segmentedlist>
     
    2018</segmentedlist>
    2119
    22 <segmentedlist>
    23 <segtitle>E2fsprogs installation depends on</segtitle>
    24 <seglistitem><seg>Bash, Binutils, Coreutils,
    25 Diffutils, Gawk, GCC, Gettext, Glibc, Grep, Make, Sed, Texinfo</seg></seglistitem>
    26 </segmentedlist>
    2720</sect2>
    2821
     
    3023<title>Installation of E2fsprogs</title>
    3124
    32 <para>It is recommended to build E2fsprogs in a subdirectory of the source tree:
    33 </para>
     25<para>Create a build directory:</para>
    3426
    3527<screen><userinput>mkdir build
     
    4032<screen><userinput>../configure --prefix=/usr --with-root-prefix="" \
    4133    --enable-elf-shlibs --disable-evms</userinput></screen>
    42 
    43 <para>The meaning of the configure options:</para>
    44 
    45 <variablelist>
    46 <varlistentry>
    47 <term><parameter>--with-root-prefix=""</parameter></term>
    48 <listitem><para>Certain programs (such as the <command>e2fsck</command>
    49 program) are considered essential programs.
    50 When, for example, <filename class="directory">/usr</filename> isn't
    51 mounted, these essential programs have to be available. They belong in
    52 directories like <filename class="directory">/lib</filename> and
    53 <filename class="directory">/sbin</filename>. If this option isn't passed
    54 to E2fsprogs's configure, the programs are placed in the
    55 <filename class="directory">/usr</filename> directory, which is not what we
    56 want.</para></listitem>
    57 </varlistentry>
    58 
    59 <varlistentry>
    60 <term><parameter>--enable-elf-shlibs</parameter></term>
    61 <listitem><para>This creates
    62 the shared libraries which some programs in this package use.</para></listitem>
    63 </varlistentry>
    64 
    65 <varlistentry>
    66 <term><parameter>--disable-evms</parameter></term>
    67 <listitem><para>This disables the building of the Enterprise Volume Management
    68 System (EVMS) plugin.  This plugin is not up-to-date with the latest EVMS
    69 internal interfaces and EVMS is not installed as part of a base LFS system, so
    70 the plugin is not required.  See the
    71 <ulink url="http://evms.sourceforge.net/">EVMS homepage</ulink> for more
    72 information regarding EVMS itself.</para></listitem>
    73 </varlistentry>
    74 </variablelist>
    7534
    7635<para>Compile the package:</para>
     
    9150</sect2>
    9251
    93 
    94 
    9552<sect2 id="contents-e2fsprogs" role="content"><title>Contents of E2fsprogs</title>
    9653
    97 <segmentedlist>
    98 <segtitle>Installed programs</segtitle>
    99 <segtitle>Installed libraries</segtitle>
    100 <seglistitem><seg>badblocks, blkid, chattr,
    101 compile_et, debugfs, dumpe2fs, e2fsck, e2image, e2label, findfs, fsck,
    102 fsck.ext2, fsck.ext3, logsave, lsattr, mk_cmds, mke2fs, mkfs.ext2, mkfs.ext3,
    103 mklost+found, resize2fs, tune2fs and uuidgen.</seg>
    104 <seg>libblkid.[a,so], libcom_err.[a,so], libe2p.[a,so], libext2fs.[a,so], libss.[a,so] and
    105 libuuid.[a,so]</seg></seglistitem>
    106 </segmentedlist>
    107 
    108 <variablelist><title>Short descriptions</title>
    109 
    110 <varlistentry id="badblocks">
    111 <term><command>badblocks</command></term>
    112 <listitem>
    113 <indexterm zone="ch-system-e2fsprogs badblocks"><primary sortas="b-badblocks">badblocks</primary></indexterm>
    114 <para>searches a device (usually a disk partition) for bad blocks.</para>
    115 </listitem>
    116 </varlistentry>
    117 
    118 <varlistentry id="blkid">
    119 <term><command>blkid</command></term>
    120 <listitem>
    121 <indexterm zone="ch-system-e2fsprogs blkid"><primary sortas="b-blkid">blkid</primary></indexterm>
    122 <para>is a command line utility to locate and print block device attributes.</para>
    123 </listitem>
    124 </varlistentry>
    125 
    126 <varlistentry id="chattr">
    127 <term><command>chattr</command></term>
    128 <listitem>
    129 <indexterm zone="ch-system-e2fsprogs chattr"><primary sortas="b-chattr">chattr</primary></indexterm>
    130 <para>changes the attributes of files on a second extended (ext2) file system, and
    131 also ext3 file systems, the journaling version of ext2 file systems.</para>
    132 </listitem>
    133 </varlistentry>
    134 
    135 <varlistentry id="compile_et">
    136 <term><command>compile_et</command></term>
    137 <listitem>
    138 <indexterm zone="ch-system-e2fsprogs compile_et"><primary sortas="b-compile_et">compile_et</primary></indexterm>
    139 <para>is an error table compiler. It
    140 converts a table of error-code names and messages into a C source file
    141 suitable for use with the <filename class="libraryfile">com_err</filename> library.</para>
    142 </listitem>
    143 </varlistentry>
    144 
    145 <varlistentry id="debugfs">
    146 <term><command>debugfs</command></term>
    147 <listitem>
    148 <indexterm zone="ch-system-e2fsprogs debugfs"><primary sortas="b-debugfs">debugfs</primary></indexterm>
    149 <para>is a file system debugger. It can be
    150 used to examine and change the state of an ext2 file system.</para>
    151 </listitem>
    152 </varlistentry>
    153 
    154 <varlistentry id="dumpe2fs">
    155 <term><command>dumpe2fs</command></term>
    156 <listitem>
    157 <indexterm zone="ch-system-e2fsprogs dumpe2fs"><primary sortas="b-dumpe2fs">dumpe2fs</primary></indexterm>
    158 <para>prints the super block and blocks group
    159 information for the file system present on a given device.</para>
    160 </listitem>
    161 </varlistentry>
    162 
    163 <varlistentry id="e2fsck">
    164 <term><command>e2fsck</command></term>
    165 <listitem>
    166 <indexterm zone="ch-system-e2fsprogs e2fsck"><primary sortas="b-e2fsck">e2fsck</primary></indexterm>
    167 <para>is used to check, and optionally repair,
    168 second extended (ext2) file systems, and also ext3 file systems.</para>
    169 </listitem>
    170 </varlistentry>
    171 
    172 <varlistentry id="e2image">
    173 <term><command>e2image</command></term>
    174 <listitem>
    175 <indexterm zone="ch-system-e2fsprogs e2image"><primary sortas="b-e2image">e2image</primary></indexterm>
    176 <para>is used to save critical ext2 file system data to a file.</para>
    177 </listitem>
    178 </varlistentry>
    179 
    180 <varlistentry id="e2label">
    181 <term><command>e2label</command></term>
    182 <listitem>
    183 <indexterm zone="ch-system-e2fsprogs e2label"><primary sortas="b-e2label">e2label</primary></indexterm>
    184 <para>will display or change the file system
    185 label on the ext2 file system present on a given device.</para>
    186 </listitem>
    187 </varlistentry>
    188 
    189 <varlistentry id="findfs">
    190 <term><command>findfs</command></term>
    191 <listitem>
    192 <indexterm zone="ch-system-e2fsprogs findfs"><primary sortas="b-findfs">findfs</primary></indexterm>
    193 <para>finds a file system by label or UUID (Universally Unique Identifier).</para>
    194 </listitem>
    195 </varlistentry>
    196 
    197 <varlistentry id="fsck">
    198 <term><command>fsck</command></term>
    199 <listitem>
    200 <indexterm zone="ch-system-e2fsprogs fsck"><primary sortas="b-fsck">fsck</primary></indexterm>
    201 <para>is used to check, and optionally repair, file systems. By default it checks the
    202 file systems listed in <filename>/etc/fstab</filename></para>
    203 </listitem>
    204 </varlistentry>
    205 
    206 <varlistentry id="logsave">
    207 <term><command>logsave</command></term>
    208 <listitem>
    209 <indexterm zone="ch-system-e2fsprogs logsave"><primary sortas="b-logsave">logsave</primary></indexterm>
    210 <para>saves the output of a command in a log file.</para>
    211 </listitem>
    212 </varlistentry>
    213 
    214 <varlistentry id="lsattr">
    215 <term><command>lsattr</command></term>
    216 <listitem>
    217 <indexterm zone="ch-system-e2fsprogs lsattr"><primary sortas="b-lsattr">lsattr</primary></indexterm>
    218 <para>lists the attributes of files on a second extended file system.</para>
    219 </listitem>
    220 </varlistentry>
    221 
    222 <varlistentry id="mk_cmds">
    223 <term><command>mk_cmds</command></term>
    224 <listitem>
    225 <indexterm zone="ch-system-e2fsprogs mk_cmds"><primary sortas="b-mk_cmds">mk_cmds</primary></indexterm>
    226 <para>converts a table of command names
    227 and help messages into a C source file suitable for use with the
    228 <filename class="libraryfile">libss</filename> subsystem library.</para>
    229 </listitem>
    230 </varlistentry>
    231 
    232 <varlistentry id="mke2fs">
    233 <term><command>mke2fs</command></term>
    234 <listitem>
    235 <indexterm zone="ch-system-e2fsprogs mke2fs"><primary sortas="b-mke2fs">mke2fs</primary></indexterm>
    236 <para>is used to create a second extended file system on the given device.</para>
    237 </listitem>
    238 </varlistentry>
    239 
    240 <varlistentry id="mklost-found">
    241 <term><command>mklost+found</command></term>
    242 <listitem>
    243 <indexterm zone="ch-system-e2fsprogs mklost-found"><primary sortas="b-mklost+found">mklost+found</primary></indexterm>
    244 <para>is used to create a
    245 <filename class="directory">lost+found</filename> directory on a second extended file system.
    246 It pre-allocates disk blocks to this directory to lighten the task of e2fsck.</para>
    247 </listitem>
    248 </varlistentry>
    249 
    250 <varlistentry id="resize2fs">
    251 <term><command>resize2fs</command></term>
    252 <listitem>
    253 <indexterm zone="ch-system-e2fsprogs resize2fs"><primary sortas="b-resize2fs">resize2fs</primary></indexterm>
    254 <para>can be used to enlarge or shrink an ext2 file system.</para>
    255 </listitem>
    256 </varlistentry>
    257 
    258 <varlistentry id="tune2fs">
    259 <term><command>tune2fs</command></term>
    260 <listitem>
    261 <indexterm zone="ch-system-e2fsprogs tune2fs"><primary sortas="b-tune2fs">tune2fs</primary></indexterm>
    262 <para>is used adjust tunable file system
    263 parameters on a second extended file system.</para>
    264 </listitem>
    265 </varlistentry>
    266 
    267 <varlistentry id="uuidgen">
    268 <term><command>uuidgen</command></term>
    269 <listitem>
    270 <indexterm zone="ch-system-e2fsprogs uuidgen"><primary sortas="b-uuidgen">uuidgen</primary></indexterm>
    271 <para>creates new UUID. Each new UUID can reasonably be considered unique
    272 among all UUIDs created, on the local system and on other systems, in the
    273 past and in the future.</para>
    274 </listitem>
    275 </varlistentry>
    276 
    277 <varlistentry id="libblkid">
    278 <term><filename class="libraryfile">libblkid</filename></term>
    279 <listitem>
    280 <indexterm zone="ch-system-e2fsprogs libblkid"><primary sortas="c-libblkid">libblkid</primary></indexterm>
    281 <para>contains routines for device identification and token extraction.</para>
    282 </listitem>
    283 </varlistentry>
    284 
    285 <varlistentry id="libcom_err">
    286 <term><filename class="libraryfile">libcom_err</filename></term>
    287 <listitem>
    288 <indexterm zone="ch-system-e2fsprogs libcom_err"><primary sortas="c-libcom_err">libcom_err</primary></indexterm>
    289 <para>is the common error display routine.</para>
    290 </listitem>
    291 </varlistentry>
    292 
    293 <varlistentry id="libe2p">
    294 <term><filename class="libraryfile">libe2p</filename></term>
    295 <listitem>
    296 <indexterm zone="ch-system-e2fsprogs libe2p"><primary sortas="c-libe2p">libe2p</primary></indexterm>
    297 <para>is used by dumpe2fs, chattr, and lsattr.</para>
    298 </listitem>
    299 </varlistentry>
    300 
    301 <varlistentry id="libext2fs">
    302 <term><filename class="libraryfile">libext2fs</filename></term>
    303 <listitem>
    304 <indexterm zone="ch-system-e2fsprogs libext2fs"><primary sortas="c-libext2fs">libext2fs</primary></indexterm>
    305 <para>contains routines to enable user-level
    306 programs to manipulate an ext2 file system.</para>
    307 </listitem>
    308 </varlistentry>
    309 
    310 <varlistentry id="libss">
    311 <term><filename class="libraryfile">libss</filename></term>
    312 <listitem>
    313 <indexterm zone="ch-system-e2fsprogs libss"><primary sortas="c-libss">libss</primary></indexterm>
    314 <para>is used by <command>debugfs</command>.</para>
    315 </listitem>
    316 </varlistentry>
    317 
    318 <varlistentry id="libuuid">
    319 <term><filename class="libraryfile">libuuid</filename></term>
    320 <listitem>
    321 <indexterm zone="ch-system-e2fsprogs libuuid"><primary sortas="c-libuuid">libuuid</primary></indexterm>
    322 <para>contains routines for generating unique
    323 identifiers for objects that may be accessible beyond the local system.</para>
    324 </listitem>
    325 </varlistentry>
    326 </variablelist>
     54<para>See testing</para>
    32755
    32856</sect2>
  • chapter06/file.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The File package contains a utility for determining the type of files.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>File installation depends on</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
    24 GCC, Glibc, Grep, Make, Sed, Zlib</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
     
    4640<sect2 id="contents-file" role="content"><title>Contents of File</title>
    4741
    48 <segmentedlist>
    49 <segtitle>Installed programs</segtitle>
    50 <segtitle>Installed library</segtitle>
    51 <seglistitem><seg>file</seg><seg>libmagic.[a,so]</seg></seglistitem>
    52 </segmentedlist>
    53 
    54 <variablelist><title>Short descriptions</title>
    55 
    56 <varlistentry id="file">
    57 <term><command>file</command></term>
    58 <listitem>
    59 <indexterm zone="ch-system-file file"><primary sortas="b-file">file</primary></indexterm>
    60 <para>tries to classify each given file. It does
    61 this by performing several tests: file system tests, magic number tests, and
    62 language tests. The first test that succeeds determines the result.</para>
    63 </listitem>
    64 </varlistentry>
    65 
    66 <varlistentry id="libmagic">
    67 <term><filename class="libraryfile">libmagic</filename></term>
    68 <listitem>
    69 <indexterm zone="ch-system-file libmagic"><primary sortas="c-libmagic">libmagic</primary></indexterm>
    70 <para>contains routines for magic number recognition, used by the <command>file</command> program.</para>
    71 </listitem>
    72 </varlistentry>
    73 </variablelist>
     42<para>See testing</para>
    7443
    7544</sect2>
  • chapter06/findutils.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Findutils package contains programs to find files. Processes
    14 are provided to recursively search through a directory tree and to
    15 create, maintain and search a database (often faster than the recursive
    16 find, but unreliable if the database has not been recently updated).</para>
    1713
    1814<segmentedlist>
     
    2218</segmentedlist>
    2319
    24 <segmentedlist>
    25 <segtitle>Findutils installation depends on</segtitle>
    26 <seglistitem><seg>Bash, Binutils, Coreutils,
    27 Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed</seg></seglistitem>
    28 </segmentedlist>
    2920</sect2>
    3021
     
    3627<screen><userinput>./configure --prefix=/usr --libexecdir=/usr/lib/locate \
    3728    --localstatedir=/var/lib/locate</userinput></screen>
    38 
    39 <para>The localstatedir directive above changes the location of the locate
    40 database to be in <filename class="directory">/var/lib/locate</filename>,
    41 which is FHS-compliant.</para>
    4229
    4330<para>Compile the package:</para>
     
    5744<sect2 id="contents-findutils" role="content"><title>Contents of Findutils</title>
    5845
    59 <segmentedlist>
    60 <segtitle>Installed programs</segtitle>
    61 <seglistitem><seg>bigram, code, find, frcode, locate, updatedb and xargs</seg></seglistitem>
    62 </segmentedlist>
    63 
    64 <variablelist><title>Short descriptions</title>
    65 
    66 <varlistentry id="bigram">
    67 <term><command>bigram</command></term>
    68 <listitem>
    69 <indexterm zone="ch-system-findutils bigram"><primary sortas="b-bigram">bigram</primary></indexterm>
    70 <para>was formerly used to produce <command>locate</command> databases.</para>
    71 </listitem>
    72 </varlistentry>
    73 
    74 <varlistentry id="code">
    75 <term><command>code</command></term>
    76 <listitem>
    77 <indexterm zone="ch-system-findutils code"><primary sortas="b-code">code</primary></indexterm>
    78 <para>was formerly used to produce <command>locate</command>
    79 databases. It is the ancestor of <command>frcode</command>.</para>
    80 </listitem>
    81 </varlistentry>
    82 
    83 <varlistentry id="find">
    84 <term><command>find</command></term>
    85 <listitem>
    86 <indexterm zone="ch-system-findutils find"><primary sortas="b-find">find</primary></indexterm>
    87 <para>searches given directory trees for files matching the specified criteria.</para>
    88 </listitem>
    89 </varlistentry>
    90 
    91 <varlistentry id="frcode">
    92 <term><command>frcode</command></term>
    93 <listitem>
    94 <indexterm zone="ch-system-findutils frcode"><primary sortas="b-frcode">frcode</primary></indexterm>
    95 <para>is called by <command>updatedb</command> to compress the list of file names. It uses
    96 front-compression, reducing the database size by a factor of 4 to 5.</para>
    97 </listitem>
    98 </varlistentry>
    99 
    100 <varlistentry id="locate">
    101 <term><command>locate</command></term>
    102 <listitem>
    103 <indexterm zone="ch-system-findutils locate"><primary sortas="b-locate">locate</primary></indexterm>
    104 <para>searches through a database of file names,
    105 and reports the names that contain a given string or match a given pattern.</para>
    106 </listitem>
    107 </varlistentry>
    108 
    109 <varlistentry id="updatedb">
    110 <term><command>updatedb</command></term>
    111 <listitem>
    112 <indexterm zone="ch-system-findutils updatedb"><primary sortas="b-updatedb">updatedb</primary></indexterm>
    113 <para>updates the <command>locate</command> database. It scans
    114 the entire file system (including other file systems that are currently mounted,
    115 unless told not to) and puts every file name it finds in the database.</para>
    116 </listitem>
    117 </varlistentry>
    118 
    119 <varlistentry id="xargs">
    120 <term><command>xargs</command></term>
    121 <listitem>
    122 <indexterm zone="ch-system-findutils xargs"><primary sortas="b-xargs">xargs</primary></indexterm>
    123 <para>can be used to apply a given command to a list of files.</para>
    124 </listitem>
    125 </varlistentry>
    126 </variablelist>
     46<para>See testing</para>
    12747
    12848</sect2>
  • chapter06/flex.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Flex package contains a utility for generating programs that
    14 recognize patterns in text.</para>
    1513
    1614<segmentedlist>
     
    2018</segmentedlist>
    2119
    22 <segmentedlist>
    23 <segtitle>Flex installation depends on</segtitle>
    24 <seglistitem><seg>Bash, Binutils, Bison, Coreutils, Diffutils,
    25 GCC, Gettext, Glibc, Grep, M4, Make, Sed</seg></seglistitem>
    26 </segmentedlist>
    2720</sect2>
    2821
     
    3023<title>Installation of Flex</title>
    3124
    32 <para>Flex contains several known bugs. Fix these with the following patch:</para>
     25<para>Apply a patch:</para>
    3326
    3427<screen><userinput>patch -Np1 -i ../flex-&flex-version;-debian_fixes-2.patch</userinput></screen>
    3528
    36 <para>The GNU autotools detects that the Flex source code has been modified by
    37 the previous patch, and tries to update the manual page accordingly, but this
    38 breaks on many systems, and the default page is fine, so make sure it doesn't
    39 get regenerated:</para>
     29<para>Touch the man-page:</para>
    4030
    4131<screen><userinput>touch doc/flex.1</userinput></screen>
     
    5646<screen><userinput>make install</userinput></screen>
    5747
    58 <para>There are some packages that expect to find the <emphasis>lex</emphasis>
    59 library in <filename>/usr/lib</filename>. Create a symlink to account for
    60 this:</para>
     48<para>Create a symlink:</para>
    6149
    6250<screen><userinput>ln -s libfl.a /usr/lib/libl.a</userinput></screen>
    6351
    64 <para>A few programs don't know about <command>flex</command> yet and try
    65 to run its predecessor <command>lex</command>. To support those programs,
    66 create a wrapper script named <filename>lex</filename> that calls
    67 <command>flex</command> in <emphasis>lex</emphasis> emulation mode:</para>
     52<para>Create a lex script:</para>
    6853
    6954<screen><userinput>cat &gt; /usr/bin/lex &lt;&lt; "EOF"</userinput>
     
    8267<sect2 id="contents-flex" role="content"><title>Contents of Flex</title>
    8368
    84 <segmentedlist>
    85 <segtitle>Installed programs</segtitle>
    86 <segtitle>Installed library</segtitle>
    87 <seglistitem><seg>flex, flex++ (link to flex) and lex</seg>
    88 <seg>libfl.a</seg></seglistitem>
    89 </segmentedlist>
    90 
    91 <variablelist><title>Short descriptions</title>
    92 
    93 <varlistentry id="flex">
    94 <term><command>flex</command></term>
    95 <listitem>
    96 <indexterm zone="ch-system-flex flex"><primary sortas="b-flex">flex</primary></indexterm>
    97 <para>is a tool for generating programs that
    98 recognize patterns in text. Pattern recognition is useful in many applications.
    99 From a set of rules on what to look for, <command>flex</command> makes a program that looks for
    100 those patterns. The reason to use <command>flex</command> is that it is much easier to specify
    101 the rules for a pattern-finding program than to write the program.</para>
    102 </listitem>
    103 </varlistentry>
    104 
    105 <varlistentry id="flex-">
    106 <term><command>flex++</command></term>
    107 <listitem>
    108 <indexterm zone="ch-system-flex flex-"><primary sortas="b-flex++">flex++</primary></indexterm>
    109 <para>invokes a version of <command>flex</command> that is used exclusively for C++ scanners.</para>
    110 </listitem>
    111 </varlistentry>
    112 
    113 <varlistentry id="libfl.a">
    114 <term><filename class="libraryfile">libfl.a</filename></term>
    115 <listitem>
    116 <indexterm zone="ch-system-flex libfl.a"><primary sortas="c-libfl.a">libfl.a</primary></indexterm>
    117 <para>is the flex library.</para>
    118 </listitem>
    119 </varlistentry>
    120 </variablelist>
     69<para>See testing</para>
    12170
    12271</sect2>
  • chapter06/gawk.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Gawk package contains programs for manipulating text files.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>Gawk installation depends on</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils,
    24 Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
     
    4943<sect2 id="contents-gawk" role="content"><title>Contents of Gawk</title>
    5044
    51 <segmentedlist>
    52 <segtitle>Installed programs</segtitle>
    53 <seglistitem><seg>awk (link to gawk), gawk, gawk-&gawk-version;, grcat, igawk,
    54 pgawk, pgawk-&gawk-version; and pwcat</seg></seglistitem>
    55 </segmentedlist>
    56 
    57 <variablelist><title>Short descriptions</title>
    58 
    59 <varlistentry id="gawk">
    60 <term><command>gawk</command></term>
    61 <listitem>
    62 <indexterm zone="ch-system-gawk gawk"><primary sortas="b-gawk">gawk</primary></indexterm>
    63 <para>is a program for manipulating text files.
    64 It is the GNU implementation of <command>awk</command>.</para>
    65 </listitem>
    66 </varlistentry>
    67 
    68 <varlistentry id="grcat">
    69 <term><command>grcat</command></term>
    70 <listitem>
    71 <indexterm zone="ch-system-gawk grcat"><primary sortas="b-grcat">grcat</primary></indexterm>
    72 <para>dumps the group database <filename>/etc/group</filename>.</para>
    73 </listitem>
    74 </varlistentry>
    75 
    76 <varlistentry id="igawk">
    77 <term><command>igawk</command></term>
    78 <listitem>
    79 <indexterm zone="ch-system-gawk igawk"><primary sortas="b-igawk">igawk</primary></indexterm>
    80 <para>gives <command>gawk</command> the ability to include files.</para>
    81 </listitem>
    82 </varlistentry>
    83 
    84 <varlistentry id="pgawk">
    85 <term><command>pgawk</command></term>
    86 <listitem>
    87 <indexterm zone="ch-system-gawk pgawk"><primary sortas="b-pgawk">pgawk</primary></indexterm>
    88 <para>is the profiling version of <command>gawk</command>.</para>
    89 </listitem>
    90 </varlistentry>
    91 
    92 <varlistentry id="pwcat">
    93 <term><command>pwcat</command></term>
    94 <listitem>
    95 <indexterm zone="ch-system-gawk pwcat"><primary sortas="b-pwcat">pwcat</primary></indexterm>
    96 <para>dumps the password database <filename>/etc/passwd</filename>.</para>
    97 </listitem>
    98 </varlistentry>
    99 </variablelist>
     45<para>See testing</para>
    10046
    10147</sect2>
  • chapter06/gcc.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The GCC package contains the GNU compiler collection, which includes
    14 the C and C++ compilers.</para>
    1513
    1614<segmentedlist>
     
    2018</segmentedlist>
    2119
    22 <segmentedlist>
    23 <segtitle>GCC installation depends on</segtitle>
    24 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, Findutils,
    25 Gawk, Gettext, Glibc, Grep, Make, Perl, Sed, Texinfo</seg></seglistitem>
    26 </segmentedlist>
    2720</sect2>
    2821
     
    3023<title>Installation of GCC</title>
    3124
    32 <para>This package is known to behave badly when you have changed its
    33 default optimization flags (including the <parameter>-march</parameter> and <parameter>-mcpu</parameter> options).
    34 Therefore, if you have defined any environment variables that override
    35 default optimizations, such as CFLAGS and CXXFLAGS, we recommend un-setting
    36 or modifying them when building GCC.</para>
    37 
    38 <para>Unpack the GCC-core <emphasis>and</emphasis> the GCC-g++ tarball -- they
    39 will unfold into the same directory. You should likewise extract the
    40 GCC-testsuite package. The full GCC package contains even more
    41 compilers. Instructions for building these can be found at
    42 <ulink url="&blfs-root;view/stable/general/gcc.html"/>.</para>
    43 
    44 <para>First apply only the No-Fixincludes patch (and <emphasis>not</emphasis>
    45 the Specs patch) also used in the previous chapter:</para>
     25<para>Apply a patch:</para>
    4626
    4727<screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-no_fixincludes-1.patch</userinput></screen>
    4828
    49 <para>GCC fails to compile some packages outside of a base Linux From Scratch
    50 install (e.g., Mozilla and kdegraphics) when used in conjunction with newer
    51 versions of binutils.  Apply the following patch to fix this issue:</para>
     29<para>Apply another patch:</para>
    5230
    5331<screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-linkonce-1.patch</userinput></screen>
    5432
    55 <para>Now apply a sed substitution that will suppress the installation of
    56 <filename class="libraryfile">libiberty.a</filename>. We want to use the version of
    57 <filename class="libraryfile">libiberty.a</filename> provided by Binutils:</para>
     33<para>Apply a sed substitution:</para>
    5834
    5935<screen><userinput>sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in</userinput></screen>
    6036
    61 <para>The GCC documentation recommends building GCC outside of the source
    62 directory in a dedicated build directory:</para>
     37<para>Create a build directory:</para>
    6338
    6439<screen><userinput>mkdir ../gcc-build
     
    7550<screen><userinput>make</userinput></screen>
    7651
    77 <important><para>The test suite for GCC in this section is considered
    78 <emphasis>critical</emphasis>. Our advice is to not skip it under any
    79 circumstance.</para></important>
    80 
    81 <para>Test the results, but don't stop at errors (you'll remember the few
    82 known ones):</para>
     52<para>Test the results):</para>
    8353
    8454<screen><userinput>make -k check</userinput></screen>
    8555
    8656<para>The test suite notes from <xref linkend="ch-tools-gcc-pass2"/> are still very
    87 much appropriate here. Be sure to refer back there should you have any
    88 doubts.</para>
     57much appropriate here.</para>
    8958
    9059<para>Now install the package:</para>
     
    9261<screen><userinput>make install</userinput></screen>
    9362
    94 <para>Some packages expect the C PreProcessor to be installed in the
    95 <filename class="directory">/lib</filename> directory.
    96 To support those packages, create this symlink:</para>
     63<para>Create this symlink:</para>
    9764
    9865<screen><userinput>ln -s ../usr/bin/cpp /lib</userinput></screen>
    9966
    100 <para>Many packages use the name <command>cc</command> to call the C
    101 compiler. To satisfy those packages, create a symlink:</para>
     67<para>Create another symlink:</para>
    10268
    10369<screen><userinput>ln -s gcc /usr/bin/cc</userinput></screen>
    10470
    105 <note><para>At this point it is strongly recommended to repeat the sanity check
    106 we performed earlier in this chapter. Refer back to
    107 <xref linkend="ch-system-readjusting"/> and repeat the check. If the results
    108 are wrong, then most likely you erroneously applied the GCC Specs patch from
    109 <xref linkend="chapter-temporary-tools"/>.</para></note>
     71<note><para>Refer back to <xref linkend="ch-system-readjusting"/>
     72and repeat the check.</para></note>
    11073
    11174</sect2>
     
    11477<sect2 id="contents-gcc" role="content"><title>Contents of GCC</title>
    11578
    116 <segmentedlist>
    117 <segtitle>Installed programs</segtitle>
    118 <segtitle>Installed libraries</segtitle>
    119 <seglistitem><seg>c++, cc (link to gcc),
    120 cc1, cc1plus, collect2, cpp, g++, gcc, gccbug, and gcov</seg>
    121 <seg>libgcc.a, libgcc_eh.a, libgcc_s.so, libstdc++.[a,so] and libsupc++.a</seg></seglistitem>
    122 </segmentedlist>
    123 
    124 <variablelist><title>Short descriptions</title>
    125 
    126 <varlistentry id="cpp">
    127 <term><command>cpp</command></term>
    128 <listitem>
    129 <indexterm zone="ch-system-gcc cpp"><primary sortas="b-cpp">cpp</primary></indexterm>
    130 <para>is the C preprocessor. It is used by the compiler to have the #include and
    131 #define and such statements expanded in the source files.</para>
    132 </listitem>
    133 </varlistentry>
    134 
    135 <varlistentry id="g">
    136 <term><command>g++</command></term>
    137 <listitem>
    138 <indexterm zone="ch-system-gcc g"><primary sortas="b-g++">g++</primary></indexterm>
    139 <para>is the C++ compiler.</para>
    140 </listitem>
    141 </varlistentry>
    142 
    143 <varlistentry id="gcc">
    144 <term><command>gcc</command></term>
    145 <listitem>
    146 <indexterm zone="ch-system-gcc gcc"><primary sortas="b-gcc">gcc</primary></indexterm>
    147 <para>is the C compiler. It is used to translate
    148 the source code of a program into assembly code.</para>
    149 </listitem>
    150 </varlistentry>
    151 
    152 <varlistentry id="gccbug">
    153 <term><command>gccbug</command></term>
    154 <listitem>
    155 <indexterm zone="ch-system-gcc gccbug"><primary sortas="b-gccbug">gccbug</primary></indexterm>
    156 <para>is a shell script used to help create good bug reports.</para>
    157 </listitem>
    158 </varlistentry>
    159 
    160 <varlistentry id="gcov">
    161 <term><command>gcov</command></term>
    162 <listitem>
    163 <indexterm zone="ch-system-gcc gcov"><primary sortas="b-gcov">gcov</primary></indexterm>
    164 <para>is a coverage testing tool. It is used to
    165 analyze programs to find out where optimizations will have the most effect.</para>
    166 </listitem>
    167 </varlistentry>
    168 
    169 <varlistentry id="libgcc">
    170 <term><filename class="libraryfile">libgcc*</filename></term>
    171 <listitem>
    172 <indexterm zone="ch-system-gcc libgcc"><primary sortas="c-libgcc*">libgcc*</primary></indexterm>
    173 <para>contains run-time support for <command>gcc</command>.</para>
    174 </listitem>
    175 </varlistentry>
    176 
    177 <varlistentry id="libstdc">
    178 <term><filename class="libraryfile">libstdc++</filename></term>
    179 <listitem>
    180 <indexterm zone="ch-system-gcc libstdc"><primary sortas="c-libstdc++">libstdc++</primary></indexterm>
    181 <para>is the standard C++ library. It contains many frequently-used functions.</para>
    182 </listitem>
    183 </varlistentry>
    184 
    185 <varlistentry id="libsupc">
    186 <term><filename class="libraryfile">libsupc++</filename></term>
    187 <listitem>
    188 <indexterm zone="ch-system-gcc libsupc"><primary sortas="c-libsupc++">libsupc++</primary></indexterm>
    189 <para>provides supporting routines for the c++ programming language.</para>
    190 </listitem>
    191 </varlistentry>
    192 </variablelist>
     79<para>See testing</para>
    19380
    19481</sect2>
  • chapter06/gettext.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Gettext package contains utilities for internationalization and
    14 localization. These allow programs to be compiled with Native Language Support
    15 (NLS), enabling them to output messages in the user's native language.</para>
    1613
    1714<segmentedlist>
     
    2118</segmentedlist>
    2219
    23 <segmentedlist>
    24 <segtitle>Gettext installation depends on</segtitle>
    25 <seglistitem><seg>Bash, Binutils, Bison, Coreutils,
    26 Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed</seg></seglistitem>
    27 </segmentedlist>
    2820</sect2>
    2921
     
    4032
    4133<para>To test the results, issue:
    42 <userinput>make check</userinput>. This takes a very long time, around
    43 7 SBUs.</para>
     34<userinput>make check</userinput>.</para>
    4435
    4536<para>Now install the package:</para>
     
    5243<sect2 id="contents-gettext" role="content"><title>Contents of Gettext</title>
    5344
    54 <segmentedlist>
    55 <segtitle>Installed programs</segtitle>
    56 <segtitle>Installed libraries</segtitle>
    57 <seglistitem><seg>autopoint, config.charset, config.rpath, envsubst, gettext,
    58 gettextize, hostname, msgattrib, msgcat, msgcmp, msgcomm, msgconv, msgen,
    59 msgexec, msgfilter, msgfmt, msggrep, msginit, msgmerge, msgunfmt, msguniq,
    60 ngettext, project-id, team-address, trigger, urlget, user-email and xgettext</seg>
    61 <seg>libasprintf[a,so], libgettextlib[a,so], libgettextpo[a,so] and libgettextsrc[a,so]</seg></seglistitem>
    62 </segmentedlist>
    63 
    64 <variablelist><title>Short descriptions</title>
    65 
    66 <varlistentry id="autopoint">
    67 <term><command>autopoint</command></term>
    68 <listitem>
    69 <indexterm zone="ch-system-gettext autopoint"><primary sortas="b-autopoint">autopoint</primary></indexterm>
    70 <para>copies standard Gettext infrastructure files into a source package.</para>
    71 </listitem>
    72 </varlistentry>
    73 
    74 <varlistentry id="config.charset">
    75 <term><command>config.charset</command></term>
    76 <listitem>
    77 <indexterm zone="ch-system-gettext config.charset"><primary sortas="b-config.charset">config.charset</primary></indexterm>
    78 <para>outputs a system-dependent table of character encoding aliases.</para>
    79 </listitem>
    80 </varlistentry>
    81 
    82 <varlistentry id="config.rpath">
    83 <term><command>config.rpath</command></term>
    84 <listitem>
    85 <indexterm zone="ch-system-gettext config.rpath"><primary sortas="b-config.rpath">config.rpath</primary></indexterm>
    86 <para>outputs a system-dependent set of variables, describing how to set the
    87 runtime search path of shared libraries in an executable.</para>
    88 </listitem>
    89 </varlistentry>
    90 
    91 <varlistentry id="envsubst">
    92 <term><command>envsubst</command></term>
    93 <listitem>
    94 <indexterm zone="ch-system-gettext envsubst"><primary sortas="b-envsubst">envsubst</primary></indexterm>
    95 <para>substitutes environment variables in shell format strings.</para>
    96 </listitem>
    97 </varlistentry>
    98 
    99 <varlistentry id="gettext">
    100 <term><command>gettext</command></term>
    101 <listitem>
    102 <indexterm zone="ch-system-gettext gettext"><primary sortas="b-gettext">gettext</primary></indexterm>
    103 <para>translates a natural language message into
    104 the user's language, by looking up the translation in a message catalog.</para>
    105 </listitem>
    106 </varlistentry>
    107 
    108 <varlistentry id="gettextize">
    109 <term><command>gettextize</command></term>
    110 <listitem>
    111 <indexterm zone="ch-system-gettext gettextize"><primary sortas="b-gettextize">gettextize</primary></indexterm>
    112 <para>copies all standard Gettext files into
    113 the given top-level directory of a package, to begin inter-nationalizing it.</para>
    114 </listitem>
    115 </varlistentry>
    116 
    117 <varlistentry id="hostname-gettext">
    118 <term><command>hostname</command></term>
    119 <listitem>
    120 <indexterm zone="ch-system-gettext hostname-gettext"><primary sortas="b-hostname-gettext">hostname</primary></indexterm>
    121 <para>displays a network hostname in various forms.</para>
    122 </listitem>
    123 </varlistentry>
    124 
    125 <varlistentry id="msgattrib">
    126 <term><command>msgattrib</command></term>
    127 <listitem>
    128 <indexterm zone="ch-system-gettext msgattrib"><primary sortas="b-msgattrib">msgattrib</primary></indexterm>
    129 <para>filters the messages of a translation
    130 catalog according to their attributes and manipulates the attributes.</para>
    131 </listitem>
    132 </varlistentry>
    133 
    134 <varlistentry id="msgcat">
    135 <term><command>msgcat</command></term>
    136 <listitem>
    137 <indexterm zone="ch-system-gettext msgcat"><primary sortas="b-msgcat">msgcat</primary></indexterm>
    138 <para>concatenates and merges the given <filename class="extension">.po</filename> files.</para>
    139 </listitem>
    140 </varlistentry>
    141 
    142 <varlistentry id="msgcmp">
    143 <term><command>msgcmp</command></term>
    144 <listitem>
    145 <indexterm zone="ch-system-gettext msgcmp"><primary sortas="b-msgcmp">msgcmp</primary></indexterm>
    146 <para>compares two <filename class="extension">.po</filename>
    147 files to check that both contain the same set of msgid strings.</para>
    148 </listitem>
    149 </varlistentry>
    150 
    151 <varlistentry id="msgcomm">
    152 <term><command>msgcomm</command></term>
    153 <listitem>
    154 <indexterm zone="ch-system-gettext msgcomm"><primary sortas="b-msgcomm">msgcomm</primary></indexterm>
    155 <para>finds the messages that are common to
    156 to the given <filename class="extension">.po</filename> files.</para>
    157 </listitem>
    158 </varlistentry>
    159 
    160 <varlistentry id="msgconv">
    161 <term><command>msgconv</command></term>
    162 <listitem>
    163 <indexterm zone="ch-system-gettext msgconv"><primary sortas="b-msgconv">msgconv</primary></indexterm>
    164 <para>converts a translation catalog to a different character encoding.</para>
    165 </listitem>
    166 </varlistentry>
    167 
    168 <varlistentry id="msgen">
    169 <term><command>msgen</command></term>
    170 <listitem>
    171 <indexterm zone="ch-system-gettext msgen"><primary sortas="b-msgen">msgen</primary></indexterm>
    172 <para>creates an English translation catalog.</para>
    173 </listitem>
    174 </varlistentry>
    175 
    176 <varlistentry id="msgexec">
    177 <term><command>msgexec</command></term>
    178 <listitem>
    179 <indexterm zone="ch-system-gettext msgexec"><primary sortas="b-msgexec">msgexec</primary></indexterm>
    180 <para>applies a command to all translations of a translation catalog.</para>
    181 </listitem>
    182 </varlistentry>
    183 
    184 <varlistentry id="msgfilter">
    185 <term><command>msgfilter</command></term>
    186 <listitem>
    187 <indexterm zone="ch-system-gettext msgfilter"><primary sortas="b-msgfilter">msgfilter</primary></indexterm>
    188 <para>applies a filter to all translations of a translation catalog.</para>
    189 </listitem>
    190 </varlistentry>
    191 
    192 <varlistentry id="msgfmt">
    193 <term><command>msgfmt</command></term>
    194 <listitem>
    195 <indexterm zone="ch-system-gettext msgfmt"><primary sortas="b-msgfmt">msgfmt</primary></indexterm>
    196 <para>generates a binary message catalog from from a translation catalog.</para>
    197 </listitem>
    198 </varlistentry>
    199 
    200 <varlistentry id="msggrep">
    201 <term><command>msggrep</command></term>
    202 <listitem>
    203 <indexterm zone="ch-system-gettext msggrep"><primary sortas="b-msggrep">msggrep</primary></indexterm>
    204 <para>extracts all messages of a translation
    205 catalog that match a given pattern or belong to some given source files.</para>
    206 </listitem>
    207 </varlistentry>
    208 
    209 <varlistentry id="msginit">
    210 <term><command>msginit</command></term>
    211 <listitem>
    212 <indexterm zone="ch-system-gettext msginit"><primary sortas="b-msginit">msginit</primary></indexterm>
    213 <para>creates a new <filename class="extension">.po</filename> file, initializing the meta
    214 information with values from the user's environment.</para>
    215 </listitem>
    216 </varlistentry>
    217 
    218 <varlistentry id="msgmerge">
    219 <term><command>msgmerge</command></term>
    220 <listitem>
    221 <indexterm zone="ch-system-gettext msgmerge"><primary sortas="b-msgmerge">msgmerge</primary></indexterm>
    222 <para>combines two raw translations into a single file.</para>
    223 </listitem>
    224 </varlistentry>
    225 
    226 <varlistentry id="msgunfmt">
    227 <term><command>msgunfmt</command></term>
    228 <listitem>
    229 <indexterm zone="ch-system-gettext msgunfmt"><primary sortas="b-msgunfmt">msgunfmt</primary></indexterm>
    230 <para>decompiles a binary message catalog into raw translation text.</para>
    231 </listitem>
    232 </varlistentry>
    233 
    234 <varlistentry id="msguniq">
    235 <term><command>msguniq</command></term>
    236 <listitem>
    237 <indexterm zone="ch-system-gettext msguniq"><primary sortas="b-msguniq">msguniq</primary></indexterm>
    238 <para>unifies duplicate translations in a translation catalog.</para>
    239 </listitem>
    240 </varlistentry>
    241 
    242 <varlistentry id="ngettext">
    243 <term><command>ngettext</command></term>
    244 <listitem>
    245 <indexterm zone="ch-system-gettext ngettext"><primary sortas="b-ngettext">ngettext</primary></indexterm>
    246 <para>displays native language translations of a
    247 textual message whose grammatical form depends on a number.</para>
    248 </listitem>
    249 </varlistentry>
    250 
    251 <varlistentry id="xgettext">
    252 <term><command>xgettext</command></term>
    253 <listitem>
    254 <indexterm zone="ch-system-gettext xgettext"><primary sortas="b-xgettext">xgettext</primary></indexterm>
    255 <para>extracts the translatable message lines
    256 from the given source files, to make the first translation template.</para>
    257 </listitem>
    258 </varlistentry>
    259 
    260 <varlistentry id="libasprintf">
    261 <term><filename class="libraryfile">libasprintf</filename></term>
    262 <listitem>
    263 <indexterm zone="ch-system-gettext libasprintf"><primary sortas="c-libasprintf">libasprintf</primary></indexterm>
    264 <para>defines the autosprintf class, which
    265 makes C formatted output routines usable in C++ programs, for use with the
    266 &lt;string&gt; strings and the &lt;iostream&gt; streams.</para>
    267 </listitem>
    268 </varlistentry>
    269 
    270 <varlistentry id="libgettextlib">
    271 <term><filename class="libraryfile">libgettextlib</filename></term>
    272 <listitem>
    273 <indexterm zone="ch-system-gettext libgettextlib"><primary sortas="c-libgettextlib">libgettextlib</primary></indexterm>
    274 <para>is a private library containing common routines used by the various Gettext
    275 programs. They're not meant for general use.</para>
    276 </listitem>
    277 </varlistentry>
    278 
    279 <varlistentry id="libgettextpo">
    280 <term><filename class="libraryfile">libgettextpo</filename></term>
    281 <listitem>
    282 <indexterm zone="ch-system-gettext libgettextpo"><primary sortas="c-libgettextpo">libgettextpo</primary></indexterm>
    283 <para>is used to write specialized programs that process <filename
    284 class="extension">.po</filename> files. This library is
    285 used when the standard applications shipped with Gettext won't suffice (such as
    286 <command>msgcomm</command>, <command>msgcmp</command>,
    287 <command>msgattrib</command> and <command>msgen</command>).</para>
    288 </listitem>
    289 </varlistentry>
    290 
    291 <varlistentry id="libgettextsrc">
    292 <term><filename class="libraryfile">libgettextsrc</filename></term>
    293 <listitem>
    294 <indexterm zone="ch-system-gettext libgettextsrc"><primary sortas="c-libgettextsrc">libgettextsrc</primary></indexterm>
    295 <para>is a private library containing common routines used by the various Gettext
    296 programs. They're not meant for general use.</para>
    297 </listitem>
    298 </varlistentry>
    299 </variablelist>
     45<para>See testing</para>
    30046
    30147</sect2>
  • chapter06/glibc.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Glibc package contains the main C library. This library provides all
    14 the basic routines for allocating memory, searching directories, opening and
    15 closing files, reading and writing them, string handling, pattern matching,
    16 arithmetic, and so on.</para>
    1713
    1814<segmentedlist>
     
    2218</segmentedlist>
    2319
    24 <segmentedlist>
    25 <segtitle>Glibc installation depends on</segtitle>
    26 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
    27 Gawk, GCC, Gettext, Grep, Make, Perl, Sed, Texinfo</seg></seglistitem>
    28 </segmentedlist>
    2920</sect2>
    3021
     
    3223<title>Installation of Glibc</title>
    3324
    34 <para>The Glibc build system is very well self-contained and will install
    35 perfectly, even though our compiler specs file and linker are still pointing
    36 at <filename class="directory">/tools</filename>. We cannot adjust the specs and linker before
    37 the Glibc install, because the Glibc autoconf tests would then give bogus
    38 results and thus defeat our goal of achieving a clean build.</para>
    39 
    40 <para>Before starting to build Glibc, remember to unset any environment
    41 variables that override the default optimization flags.</para>
    42 
    43 <para>The Glibc documentation recommends building Glibc outside of the source
    44 directory in a dedicated build directory:</para>
     25<para>Create a build directory:</para>
    4526
    4627<screen><userinput>mkdir ../glibc-build
     
    5435    --libexecdir=/usr/lib/glibc</userinput></screen>
    5536
    56 <para>The meaning of the new configure options:</para>
    57 
    58 <variablelist>
    59 <varlistentry>
    60 <term><parameter>--libexecdir=/usr/lib/glibc</parameter></term>
    61 <listitem><para>This changes the location of the <command>pt_chown</command>
    62 program from its default of <filename class="directory">/usr/libexec</filename> to
    63 <filename class="directory">/usr/lib/glibc</filename>.</para></listitem>
    64 </varlistentry>
    65 </variablelist>
    66 
    6737<para>Compile the package:</para>
    6838
    6939<screen><userinput>make</userinput></screen>
    70 
    71 <important><para>The test suite for Glibc in this section is considered
    72 <emphasis>critical</emphasis>. Our advice is to not skip it under any
    73 circumstance.</para></important>
    7440
    7541<para>Test the results:</para>
     
    7844
    7945<para>The Glibc test suite is highly dependent on certain functions of your host
    80 system, in particular the kernel.  In general, the Glibc test suite is always
    81 expected to pass. However, in certain circumstances some failures are
    82 unavoidable. Here is a list of the most common issues we are aware of:</para>
     46system. See testing for explanations.</para>
    8347
    84 <itemizedlist>
    85 <listitem><para>The <emphasis>math</emphasis> tests sometimes fail when running
    86 on systems where the CPU is not a relatively new genuine Intel or authentic AMD.
    87 Certain optimization settings are also known to be a factor here.</para></listitem>
    88 
    89 <listitem><para>The <emphasis>gettext</emphasis> test sometimes fails due to
    90 host system issues. The exact reasons are not yet clear.</para></listitem>
    91 
    92 <listitem><para>The <emphasis>atime</emphasis> test sometimes fails when the
    93 LFS partition is mounted with the <parameter>noatime</parameter> option, or due
    94 to other file system quirks.</para></listitem>
    95 
    96 <listitem><para>The <emphasis>shm</emphasis> test might fail when the host
    97 system is running the devfs file system but doesn't have the <systemitem class="filesystem">tmpfs</systemitem> file system
    98 mounted at <filename class="directory">/dev/shm</filename> due to lack of support for tmpfs in
    99 the kernel.</para></listitem>
    100 
    101 <listitem><para>When running on older and slower hardware, some tests might
    102 fail due to test timeouts being exceeded.</para></listitem>
    103 </itemizedlist>
    104 
    105 <para>Though it is a harmless message, the install stage of Glibc will
    106 complain about the absence of <filename>/etc/ld.so.conf</filename>. Fix this
    107 annoying little warning with:</para>
     48<para>Fix an annoying little warning with:</para>
    10849
    10950<screen><userinput>touch /etc/ld.so.conf</userinput></screen>
     
    11354<screen><userinput>make install</userinput></screen>
    11455
    115 <para>The locales that can make your system respond in a different language
    116 weren't installed by the above command. Do it with this:</para>
     56<para>To install the Glibc locales, use the following
     57command:</para>
    11758
    11859<screen><userinput>make localedata/install-locales</userinput></screen>
    11960
    12061<para>An alternative to running the previous command is to install only those
    121 locales which you need or want. This can be achieved by using the
    122 <command>localedef</command> command. Information on this can be found in
    123 the <filename>INSTALL</filename> file in the Glibc source. However, there are
    124 a number of locales that are essential for the tests of future packages to
    125 pass, in particular, the <emphasis>libstdc++</emphasis> tests from GCC. The
    126 following instructions, instead of the install-locales target above, will
    127 install the minimum set of locales necessary for the tests to run
    128 successfully:</para>
     62locales which you need or want. The following instructions, instead of the
     63install-locales target above, will install the minimum set of locales necessary
     64for the tests to run successfully:</para>
    12965
    130 <screen><userinput>mkdir -p /usr/lib/locale
     66<screen><userinput>mkdir -p /tools/lib/locale
    13167localedef -i de_DE -f ISO-8859-1 de_DE
    13268localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro
     
    14177localedef -i ja_JP -f EUC-JP ja_JP</userinput></screen>
    14278
    143 <para>In fact, some locales installed by the
    144 <command>make localedata/install-locales</command>
    145 command above are not properly
    146 supported by some applications that are in LFS and BLFS books. Because
    147 of various problems that arise
    148 due to application programmers making
    149 assumptions that break in such locales, LFS <emphasis>should not</emphasis>
    150 be used in locales that utilize
    151 multibyte character sets (including UTF-8) or
    152 right-to-left writing order.
    153 Numerous unofficial and unstable patches are required to fix these problems,
    154 and it has been decided not to support such complex locales.
    155 This applies to the ja_JP and fa_IR locales as well:
    156 they have been installed only
    157 for GCC and Gettext tests to pass, and e.g.
    158 the <command>watch</command> program (part of Procps)
    159 compiled according to this book doesn't work properly in them.
    160 Various attempts to circumvent these
    161 restrictions are documented in internationalization-related hints.</para>
    162 
    163 <para>Finally, build the linuxthreads man pages, which are a great reference
    164 on the threading API (applicable to NPTL as well):</para>
     79<para>Build the linuxthreads man pages:</para>
    16580
    16681<screen><userinput>make -C ../glibc-&glibc-version;/linuxthreads/man</userinput></screen>
     
    17489
    17590<sect2 id="conf-glibc" role="configuration"><title>Configuring Glibc</title>
    176 <indexterm zone="conf-glibc"><primary sortas="e-/etc/nsswitch.conf">/etc/nsswitch.conf</primary></indexterm>
    177 <indexterm zone="conf-glibc"><primary sortas="e-/etc/localtime">/etc/localtime</primary></indexterm>
    178 
    179 <para>We need to create the <filename>/etc/nsswitch.conf</filename> file,
    180 because, although Glibc provides defaults when this file is missing or corrupt,
    181 the Glibc defaults don't work well with networking. Also, our time zone needs
    182 to be set up.</para>
    18391
    18492<para>Create a new file <filename>/etc/nsswitch.conf</filename> by running the
     
    207115<screen><userinput>tzselect</userinput></screen>
    208116
    209 <para>When you've answered a few questions about your location, the script will
    210 output the name of your time zone, something like <emphasis>EST5EDT</emphasis>
    211 or <emphasis>Canada/Eastern</emphasis>. Then create the
    212 <filename>/etc/localtime</filename> file by running:</para>
     117<para>Then create the <filename>/etc/localtime</filename> file by running:</para>
    213118
    214 <screen><userinput>cp --remove-destination /usr/share/zoneinfo/Canada/Eastern /etc/localtime</userinput></screen>
    215 
    216 <para>The meaning of the option:</para>
    217 
    218 <variablelist>
    219 <varlistentry>
    220 <term><parameter>--remove-destination</parameter></term>
    221 <listitem><para>This is needed to force removal of the already existing symbolic
    222 link. The reason why we copy instead of symlink is to cover the situation where
    223 <filename class="directory">/usr</filename> is on a separate partition. This could matter, for
    224 example, when booted into single user mode.</para></listitem>
    225 </varlistentry>
    226 </variablelist>
    227 
    228 <para>Of course, instead of <emphasis>Canada/Eastern</emphasis>, fill in
    229 the name of the time zone that the <command>tzselect</command> script
    230 gave you.</para>
     119<screen><userinput>cp --remove-destination /usr/share/zoneinfo/<replaceable>[xxx]</replaceable> \
     120    /etc/localtime</userinput></screen>
    231121
    232122</sect2>
     
    235125<sect2 id="conf-ld" role="configuration">
    236126<title>Configuring Dynamic Loader</title>
    237 <indexterm zone="conf-ld"><primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary></indexterm>
    238 
    239 <para>By default, the dynamic loader
    240 (<filename class="libraryfile">/lib/ld-linux.so.2</filename>) searches through <filename
    241 class="directory">/lib</filename> and <filename class="directory">/usr/lib</filename>
    242 for dynamic libraries that are needed
    243 by programs when you run them. However, if there are libraries in
    244 directories other than <filename class="directory">/lib</filename> and
    245 <filename class="directory">/usr/lib</filename>, you need to add them to
    246 the <filename>/etc/ld.so.conf</filename> file for the dynamic
    247 loader to find them. Two directories that are commonly known to contain
    248 additional libraries are <filename class="directory">/usr/local/lib</filename>
    249 and <filename class="directory">/opt/lib</filename>, so we add those directories to the
    250 dynamic loader's search path.</para>
    251127
    252128<para>Create a new file <filename>/etc/ld.so.conf</filename> by running the
     
    267143<sect2 id="contents-glibc" role="content"><title>Contents of Glibc</title>
    268144
    269 <segmentedlist>
    270 <segtitle>Installed programs</segtitle>
    271 <segtitle>Installed libraries</segtitle>
    272 <seglistitem><seg>catchsegv, gencat, getconf,
    273 getent, glibcbug, iconv, iconvconfig, ldconfig, ldd, lddlibc4, locale,
    274 localedef, mtrace, nscd, nscd_nischeck, pcprofiledump, pt_chown, rpcgen,
    275 rpcinfo, sln, sprof, tzselect, xtrace, zdump and zic</seg>
    276 <seg>ld.so, libBrokenLocale.[a,so],
    277 libSegFault.so, libanl.[a,so], libbsd-compat.a, libc.[a,so], libc_nonshared.a,
    278 libcrypt.[a,so], libdl.[a,so], libg.a, libieee.a, libm.[a,so], libmcheck.a,
    279 libmemusage.so, libnsl.a, libnss_compat.so, libnss_dns.so, libnss_files.so,
    280 libnss_hesiod.so, libnss_nis.so, libnss_nisplus.so, libpcprofile.so,
    281 libpthread.[a,so], libresolv.[a,so], librpcsvc.a, librt.[a,so], libthread_db.so
    282 and libutil.[a,so]</seg></seglistitem>
    283 </segmentedlist>
    284 
    285 <variablelist><title>Short descriptions</title>
    286 
    287 <varlistentry id="catchsegv">
    288 <term><command>catchsegv</command></term>
    289 <listitem>
    290 <indexterm zone="ch-system-glibc catchsegv"><primary sortas="b-catchsegv">catchsegv</primary></indexterm>
    291 <para>can be used to create a stack trace
    292 when a program terminates with a segmentation fault.</para>
    293 </listitem>
    294 </varlistentry>
    295 
    296 <varlistentry id="gencat">
    297 <term><command>gencat</command></term>
    298 <listitem>
    299 <indexterm zone="ch-system-glibc gencat"><primary sortas="b-gencat">gencat</primary></indexterm>
    300 <para>generates message catalogues.</para>
    301 </listitem>
    302 </varlistentry>
    303 
    304 <varlistentry id="getconf">
    305 <term><command>getconf</command></term>
    306 <listitem>
    307 <indexterm zone="ch-system-glibc getconf"><primary sortas="b-getconf">getconf</primary></indexterm>
    308 <para>displays the system configuration values for file system specific variables.</para>
    309 </listitem>
    310 </varlistentry>
    311 
    312 <varlistentry id="getent">
    313 <term><command>getent</command></term>
    314 <listitem>
    315 <indexterm zone="ch-system-glibc getent"><primary sortas="b-getent">getent</primary></indexterm>
    316 <para>gets entries from an administrative database.</para>
    317 </listitem>
    318 </varlistentry>
    319 
    320 <varlistentry id="glibcbug">
    321 <term><command>glibcbug</command></term>
    322 <listitem>
    323 <indexterm zone="ch-system-glibc glibcbug"><primary sortas="b-glibcbug">glibcbug</primary></indexterm>
    324 <para>creates a bug report and mails it to the bug email address.</para>
    325 </listitem>
    326 </varlistentry>
    327 
    328 <varlistentry id="iconv">
    329 <term><command>iconv</command></term>
    330 <listitem>
    331 <indexterm zone="ch-system-glibc iconv"><primary sortas="b-iconv">iconv</primary></indexterm>
    332 <para>performs character set conversion.</para>
    333 </listitem>
    334 </varlistentry>
    335 
    336 <varlistentry id="iconvconfig">
    337 <term><command>iconvconfig</command></term>
    338 <listitem>
    339 <indexterm zone="ch-system-glibc iconvconfig"><primary sortas="b-iconvconfig">iconvconfig</primary></indexterm>
    340 <para>creates fastloading <command>iconv</command> module configuration file.</para>
    341 </listitem>
    342 </varlistentry>
    343 
    344 <varlistentry id="ldconfig">
    345 <term><command>ldconfig</command></term>
    346 <listitem>
    347 <indexterm zone="ch-system-glibc ldconfig"><primary sortas="b-ldconfig">ldconfig</primary></indexterm>
    348 <para>configures the dynamic linker runtime bindings.</para>
    349 </listitem>
    350 </varlistentry>
    351 
    352 <varlistentry id="ldd">
    353 <term><command>ldd</command></term>
    354 <listitem>
    355 <indexterm zone="ch-system-glibc ldd"><primary sortas="b-ldd">ldd</primary></indexterm>
    356 <para>reports which shared libraries are required
    357 by each given program or shared library.</para>
    358 </listitem>
    359 </varlistentry>
    360 
    361 <varlistentry id="lddlibc4">
    362 <term><command>lddlibc4</command></term>
    363 <listitem>
    364 <indexterm zone="ch-system-glibc lddlibc4"><primary sortas="b-lddlibc4">lddlibc4</primary></indexterm>
    365 <para>assists <command>ldd</command> with object files.</para>
    366 </listitem>
    367 </varlistentry>
    368 
    369 <varlistentry id="locale">
    370 <term><command>locale</command></term>
    371 <listitem>
    372 <indexterm zone="ch-system-glibc locale"><primary sortas="b-locale">locale</primary></indexterm>
    373 <para>is a Perl program that tells the compiler
    374 to enable or disable the use of POSIX locales for built-in operations.</para>
    375 </listitem>
    376 </varlistentry>
    377 
    378 <varlistentry id="localedef">
    379 <term><command>localedef</command></term>
    380 <listitem>
    381 <indexterm zone="ch-system-glibc localedef"><primary sortas="b-localedef">localedef</primary></indexterm>
    382 <para>compiles locale specifications.</para>
    383 </listitem>
    384 </varlistentry>
    385 
    386 <varlistentry id="mtrace">
    387 <term><command>mtrace</command></term>
    388 <listitem>
    389 <indexterm zone="ch-system-glibc mtrace"><primary sortas="b-mtrace">mtrace</primary></indexterm>
    390 <para>...</para>
    391 </listitem>
    392 </varlistentry>
    393 
    394 <varlistentry id="nscd">
    395 <term><command>nscd</command></term>
    396 <listitem>
    397 <indexterm zone="ch-system-glibc nscd"><primary sortas="b-nscd">nscd</primary></indexterm>
    398 <para>is a name service cache daemon providing a
    399 cache for the most common name service requests.</para>
    400 </listitem>
    401 </varlistentry>
    402 
    403 <varlistentry id="nscd_nischeck">
    404 <term><command>nscd_nischeck</command></term>
    405 <listitem>
    406 <indexterm zone="ch-system-glibc nscd_nischeck"><primary sortas="b-nscd_nischeck">nscd_nischeck</primary></indexterm>
    407 <para>checks whether or not secure mode is necessary for NIS+ lookup.</para>
    408 </listitem>
    409 </varlistentry>
    410 
    411 <varlistentry id="pcprofiledump">
    412 <term><command>pcprofiledump</command></term>
    413 <listitem>
    414 <indexterm zone="ch-system-glibc pcprofiledump"><primary sortas="b-pcprofiledump">pcprofiledump</primary></indexterm>
    415 <para>dumps information generated by PC profiling.</para>
    416 </listitem>
    417 </varlistentry>
    418 
    419 <varlistentry id="pt_chown">
    420 <term><command>pt_chown</command></term>
    421 <listitem>
    422 <indexterm zone="ch-system-glibc pt_chown"><primary sortas="b-pt_chown">pt_chown</primary></indexterm>
    423 <para>is a helper program for grantpt to set
    424 the owner, group and access permissions of a slave pseudo terminal.</para>
    425 </listitem>
    426 </varlistentry>
    427 
    428 <varlistentry id="rpcgen">
    429 <term><command>rpcgen</command></term>
    430 <listitem>
    431 <indexterm zone="ch-system-glibc rpcgen"><primary sortas="b-rpcgen">rpcgen</primary></indexterm>
    432 <para>generates C code to implement the RPC protocol.</para>
    433 </listitem>
    434 </varlistentry>
    435 
    436 <varlistentry id="rpcinfo">
    437 <term><command>rpcinfo</command></term>
    438 <listitem>
    439 <indexterm zone="ch-system-glibc rpcinfo"><primary sortas="b-rpcinfo">rpcinfo</primary></indexterm>
    440 <para>makes an RPC call to an RPC server.</para>
    441 </listitem>
    442 </varlistentry>
    443 
    444 <varlistentry id="sln">
    445 <term><command>sln</command></term>
    446 <listitem>
    447 <indexterm zone="ch-system-glibc sln"><primary sortas="b-sln">sln</primary></indexterm>
    448 <para>is used to make symbolic links. The program
    449 is statically linked, so it is useful for making symbolic links to dynamic
    450 libraries if the dynamic linking system for some reason is nonfunctional.</para>
    451 </listitem>
    452 </varlistentry>
    453 
    454 <varlistentry id="sprof">
    455 <term><command>sprof</command></term>
    456 <listitem>
    457 <indexterm zone="ch-system-glibc sprof"><primary sortas="b-sprof">sprof</primary></indexterm>
    458 <para>reads and displays shared object profiling data.</para>
    459 </listitem>
    460 </varlistentry>
    461 
    462 <varlistentry id="tzselect">
    463 <term><command>tzselect</command></term>
    464 <listitem>
    465 <indexterm zone="ch-system-glibc tzselect"><primary sortas="b-tzselect">tzselect</primary></indexterm>
    466 <para>asks the user about the location of the
    467 system and reports the corresponding time zone description.</para>
    468 </listitem>
    469 </varlistentry>
    470 
    471 <varlistentry id="xtrace">
    472 <term><command>xtrace</command></term>
    473 <listitem>
    474 <indexterm zone="ch-system-glibc xtrace"><primary sortas="b-xtrace">xtrace</primary></indexterm>
    475 <para>traces the execution of a program by
    476 printing the currently executed function.</para>
    477 </listitem>
    478 </varlistentry>
    479 
    480 <varlistentry id="zdump">
    481 <term><command>zdump</command></term>
    482 <listitem>
    483 <indexterm zone="ch-system-glibc zdump"><primary sortas="b-zdump">zdump</primary></indexterm>
    484 <para>is the time zone dumper.</para>
    485 </listitem>
    486 </varlistentry>
    487 
    488 <varlistentry id="zic">
    489 <term><command>zic</command></term>
    490 <listitem>
    491 <indexterm zone="ch-system-glibc zic"><primary sortas="b-zic">zic</primary></indexterm>
    492 <para>is the time zone compiler.</para>
    493 </listitem>
    494 </varlistentry>
    495 
    496 <varlistentry id="ld.so">
    497 <term><filename class="libraryfile">ld.so</filename></term>
    498 <listitem>
    499 <indexterm zone="ch-system-glibc ld.so"><primary sortas="c-ld.so">ld.so</primary></indexterm>
    500 <para>is the helper program for shared library executables.</para>
    501 </listitem>
    502 </varlistentry>
    503 
    504 <varlistentry id="libBrokenLocale">
    505 <term><filename class="libraryfile">libBrokenLocale</filename></term>
    506 <listitem>
    507 <indexterm zone="ch-system-glibc libBrokenLocale"><primary sortas="c-libBrokenLocale">libBrokenLocale</primary></indexterm>
    508 <para>is used by programs, such as Mozilla, to solve broken locales.</para>
    509 </listitem>
    510 </varlistentry>
    511 
    512 <varlistentry id="libSegFault">
    513 <term><filename class="libraryfile">libSegFault</filename></term>
    514 <listitem>
    515 <indexterm zone="ch-system-glibc libSegFault"><primary sortas="c-libSegFault">libSegFault</primary></indexterm>
    516 <para>is a segmentation fault signal handler. It tries to catch segfaults.</para>
    517 </listitem>
    518 </varlistentry>
    519 
    520 <varlistentry id="libanl">
    521 <term><filename class="libraryfile">libanl</filename></term>
    522 <listitem>
    523 <indexterm zone="ch-system-glibc libanl"><primary sortas="c-libanl">libanl</primary></indexterm>
    524 <para>is an asynchronous name lookup library.</para>
    525 </listitem>
    526 </varlistentry>
    527 
    528 <varlistentry id="libbsd-compat">
    529 <term><filename class="libraryfile">libbsd-compat</filename></term>
    530 <listitem>
    531 <indexterm zone="ch-system-glibc libbsd-compat"><primary sortas="c-libbsd-compat">libbsd-compat</primary></indexterm>
    532 <para>provides the portability needed
    533 in order to run certain BSD programs under Linux.</para>
    534 </listitem>
    535 </varlistentry>
    536 
    537 <varlistentry id="libc">
    538 <term><filename class="libraryfile">libc</filename></term>
    539 <listitem>
    540 <indexterm zone="ch-system-glibc libc"><primary sortas="c-libc">libc</primary></indexterm>
    541 <para>is the main C library -- a collection of commonly used functions.</para>
    542 </listitem>
    543 </varlistentry>
    544 
    545 <varlistentry id="libcrypt">
    546 <term><filename class="libraryfile">libcrypt</filename></term>
    547 <listitem>
    548 <indexterm zone="ch-system-glibc libcrypt"><primary sortas="c-libcrypt">libcrypt</primary></indexterm>
    549 <para>is the cryptography library.</para>
    550 </listitem>
    551 </varlistentry>
    552 
    553 <varlistentry id="libdl">
    554 <term><filename class="libraryfile">libdl</filename></term>
    555 <listitem>
    556 <indexterm zone="ch-system-glibc libdl"><primary sortas="c-libdl">libdl</primary></indexterm>
    557 <para>is the dynamic linking interface library.</para>
    558 </listitem>
    559 </varlistentry>
    560 
    561 <varlistentry id="libg">
    562 <term><filename class="libraryfile">libg</filename></term>
    563 <listitem>
    564 <indexterm zone="ch-system-glibc libg"><primary sortas="c-libg">libg</primary></indexterm>
    565 <para>is a runtime library for <command>g++</command>.</para>
    566 </listitem>
    567 </varlistentry>
    568 
    569 <varlistentry id="libieee">
    570 <term><filename class="libraryfile">libieee</filename></term>
    571 <listitem>
    572 <indexterm zone="ch-system-glibc libieee"><primary sortas="c-libieee">libieee</primary></indexterm>
    573 <para>is the IEEE floating point library.</para>
    574 </listitem>
    575 </varlistentry>
    576 
    577 <varlistentry id="libm">
    578 <term><filename class="libraryfile">libm</filename></term>
    579 <listitem>
    580 <indexterm zone="ch-system-glibc libm"><primary sortas="c-libm">libm</primary></indexterm>
    581 <para>is the mathematical library.</para>
    582 </listitem>
    583 </varlistentry>
    584 
    585 <varlistentry id="libmcheck">
    586 <term><filename class="libraryfile">libmcheck</filename></term>
    587 <listitem>
    588 <indexterm zone="ch-system-glibc libmcheck"><primary sortas="c-libmcheck">libmcheck</primary></indexterm>
    589 <para>contains code run at boot.</para>
    590 </listitem>
    591 </varlistentry>
    592 
    593 <varlistentry id="libmemusage">
    594 <term><filename class="libraryfile">libmemusage</filename></term>
    595 <listitem>
    596 <indexterm zone="ch-system-glibc libmemusage"><primary sortas="c-libmemusage">libmemusage</primary></indexterm>
    597 <para>is used by <command>memusage</command> to help collect
    598 information about the memory usage of a program.</para>
    599 </listitem>
    600 </varlistentry>
    601 
    602 <varlistentry id="libnsl">
    603 <term><filename class="libraryfile">libnsl</filename></term>
    604 <listitem>
    605 <indexterm zone="ch-system-glibc libnsl"><primary sortas="c-libnsl">libnsl</primary></indexterm>
    606 <para>is the network services library.</para>
    607 </listitem>
    608 </varlistentry>
    609 
    610 <varlistentry id="libnss">
    611 <term><filename class="libraryfile">libnss*</filename></term>
    612 <listitem>
    613 <indexterm zone="ch-system-glibc libnss"><primary sortas="c-libnss*">libnss*</primary></indexterm>
    614 <para>are the Name Service Switch libraries,
    615 containing functions for resolving host names, user names, group names,
    616 aliases, services, protocols, and the like.</para>
    617 </listitem>
    618 </varlistentry>
    619 
    620 <varlistentry id="libpcprofile">
    621 <term><filename class="libraryfile">libpcprofile</filename></term>
    622 <listitem>
    623 <indexterm zone="ch-system-glibc libpcprofile"><primary sortas="c-libpcprofile">libpcprofile</primary></indexterm>
    624 <para>contains profiling functions used
    625 to track the amount of CPU time spent in which source code lines.</para>
    626 </listitem>
    627 </varlistentry>
    628 
    629 <varlistentry id="libpthread">
    630 <term><filename class="libraryfile">libpthread</filename></term>
    631 <listitem>
    632 <indexterm zone="ch-system-glibc libpthread"><primary sortas="c-libpthread">libpthread</primary></indexterm>
    633 <para>is the POSIX threads library.</para>
    634 </listitem>
    635 </varlistentry>
    636 
    637 <varlistentry id="libresolv">
    638 <term><filename class="libraryfile">libresolv</filename></term>
    639 <listitem>
    640 <indexterm zone="ch-system-glibc libresolv"><primary sortas="c-libresolv">libresolv</primary></indexterm>
    641 <para>contains functions for creating,
    642 sending, and interpreting packets to the Internet domain name servers.</para>
    643 </listitem>
    644 </varlistentry>
    645 
    646 <varlistentry id="librpcsvc">
    647 <term><filename class="libraryfile">librpcsvc</filename></term>
    648 <listitem>
    649 <indexterm zone="ch-system-glibc librpcsvc"><primary sortas="c-librpcsvc">librpcsvc</primary></indexterm>
    650 <para>contains functions providing miscellaneous RPC services.</para>
    651 </listitem>
    652 </varlistentry>
    653 
    654 <varlistentry id="librt">
    655 <term><filename class="libraryfile">librt</filename></term>
    656 <listitem>
    657 <indexterm zone="ch-system-glibc librt"><primary sortas="c-librt">librt</primary></indexterm>
    658 <para>contains functions providing most of the
    659 interfaces specified by the POSIX.1b Realtime Extension.</para>
    660 </listitem>
    661 </varlistentry>
    662 
    663 <varlistentry id="libthread_db">
    664 <term><filename class="libraryfile">libthread_db</filename></term>
    665 <listitem>
    666 <indexterm zone="ch-system-glibc libthread_db"><primary sortas="c-libthread_db">libthread_db</primary></indexterm>
    667 <para>contains functions useful for
    668 building debuggers for multi-threaded programs.</para>
    669 </listitem>
    670 </varlistentry>
    671 
    672 <varlistentry id="libutil">
    673 <term><filename class="libraryfile">libutil</filename></term>
    674 <listitem>
    675 <indexterm zone="ch-system-glibc libutil"><primary sortas="c-libutil">libutil</primary></indexterm>
    676 <para>contains code for <quote>standard</quote> functions used in many different Unix utilities.</para>
    677 </listitem>
    678 </varlistentry>
    679 </variablelist>
     145<para>See testing</para>
    680146
    681147</sect2>
  • chapter06/grep.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Grep package contains programs for searching through files.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>Grep installation depends on</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils,
    24 Diffutils, GCC, Gettext, Glibc, Make, Sed, Texinfo</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
     
    4943<sect2 id="contents-grep" role="content"><title>Contents of Grep</title>
    5044
    51 <segmentedlist>
    52 <segtitle>Installed programs</segtitle>
    53 <seglistitem><seg>egrep (link to grep), fgrep (link to grep) and grep</seg></seglistitem>
    54 </segmentedlist>
    55 
    56 <variablelist><title>Short descriptions</title>
    57 
    58 <varlistentry id="egrep">
    59 <term><command>egrep</command></term>
    60 <listitem>
    61 <indexterm zone="ch-system-grep egrep"><primary sortas="b-egrep">egrep</primary></indexterm>
    62 <para>prints lines matching an extended regular expression.</para>
    63 </listitem>
    64 </varlistentry>
    65 
    66 <varlistentry id="fgrep">
    67 <term><command>fgrep</command></term>
    68 <listitem>
    69 <indexterm zone="ch-system-grep fgrep"><primary sortas="b-fgrep">fgrep</primary></indexterm>
    70 <para>prints lines matching a list of fixed strings.</para>
    71 </listitem>
    72 </varlistentry>
    73 
    74 <varlistentry id="grep">
    75 <term><command>grep</command></term>
    76 <listitem>
    77 <indexterm zone="ch-system-grep grep"><primary sortas="b-grep">grep</primary></indexterm>
    78 <para>prints lines matching a basic regular expression.</para>
    79 </listitem>
    80 </varlistentry>
    81 </variablelist>
     45<para>See testing</para>
    8246
    8347</sect2>
  • chapter06/groff.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Groff package contains programs for processing and formatting text.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>Groff installation depends on</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
    24 Gawk, GCC, Glibc, Grep, Make, Sed</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
    2822<sect2 role="installation">
    2923<title>Installation of Groff</title>
    30 
    31 <para>Groff expects the environment variable PAGE to contain the default paper
    32 size. For those in the United States, the command below is appropriate. If you
    33 live elsewhere, you may want to change <emphasis>PAGE=letter</emphasis> to
    34 <emphasis>PAGE=A4</emphasis>.</para>
    3524
    3625<para>Prepare Groff for compilation:</para>
     
    4635<screen><userinput>make install</userinput></screen>
    4736
    48 <para>Some documentation programs, such as <command>xman</command>,
    49 will not work properly without the following symlinks:</para>
     37<para>Create the following symlinks:</para>
    5038
    5139<screen><userinput>ln -s soelim /usr/bin/zsoelim
     
    5846<sect2 id="contents-groff" role="content"><title>Contents of Groff</title>
    5947
    60 <segmentedlist>
    61 <segtitle>Installed programs</segtitle>
    62 <seglistitem><seg>addftinfo, afmtodit, eqn, eqn2graph, geqn (link to eqn), grn,
    63 grodvi, groff, groffer, grog, grolbp, grolj4, grops, grotty, gtbl (link to tbl), hpftodit,
    64 indxbib, lkbib, lookbib, mmroff, neqn, nroff, pfbtops, pic, pic2graph, post-grohtml,
    65 pre-grohtml, refer, soelim, tbl, tfmtodit, troff and zsoelim (link to soelim)</seg></seglistitem>
    66 </segmentedlist>
    67 
    68 <variablelist><title>Short descriptions</title>
    69 
    70 <varlistentry id="addftinfo">
    71 <term><command>addftinfo</command></term>
    72 <listitem>
    73 <indexterm zone="ch-system-groff addftinfo"><primary sortas="b-addftinfo">addftinfo</primary></indexterm>
    74 <para>reads a troff font file and adds some
    75 additional font-metric information that is used by the <command>groff</command> system.</para>
    76 </listitem>
    77 </varlistentry>
    78 
    79 <varlistentry id="afmtodit">
    80 <term><command>afmtodit</command></term>
    81 <listitem>
    82 <indexterm zone="ch-system-groff afmtodit"><primary sortas="b-afmtodit">afmtodit</primary></indexterm>
    83 <para>creates a font file for use with <command>groff</command> and <command>grops</command>.</para>
    84 </listitem>
    85 </varlistentry>
    86 
    87 <varlistentry id="eqn">
    88 <term><command>eqn</command></term>
    89 <listitem>
    90 <indexterm zone="ch-system-groff eqn"><primary sortas="b-eqn">eqn</primary></indexterm>
    91 <para>compiles descriptions of equations embedded
    92 within troff input files into commands that are understood by <command>troff</command>.</para>
    93 </listitem>
    94 </varlistentry>
    95 
    96 <varlistentry id="eqn2graph">
    97 <term><command>eqn2graph</command></term>
    98 <listitem>
    99 <indexterm zone="ch-system-groff eqn2graph"><primary sortas="b-eqn2graph">eqn2graph</primary></indexterm>
    100 <para>converts an EQN equation into a cropped image.</para>
    101 </listitem>
    102 </varlistentry>
    103 
    104 <varlistentry id="grn">
    105 <term><command>grn</command></term>
    106 <listitem>
    107 <indexterm zone="ch-system-groff grn"><primary sortas="b-grn">grn</primary></indexterm>
    108 <para>is a <command>groff</command> preprocessor for gremlin files.</para>
    109 </listitem>
    110 </varlistentry>
    111 
    112 <varlistentry id="grodvi">
    113 <term><command>grodvi</command></term>
    114 <listitem>
    115 <indexterm zone="ch-system-groff grodvi"><primary sortas="b-grodvi">grodvi</primary></indexterm>
    116 <para>is a driver for <command>groff</command> that produces TeX dvi format.</para>
    117 </listitem>
    118 </varlistentry>
    119 
    120 <varlistentry id="groff">
    121 <term><command>groff</command></term>
    122 <listitem>
    123 <indexterm zone="ch-system-groff groff"><primary sortas="b-groff">groff</primary></indexterm>
    124 <para>is a front-end to the groff document
    125 formatting system. Normally it runs the <command>troff</command> program and a post-processor
    126 appropriate for the selected device.</para>
    127 </listitem>
    128 </varlistentry>
    129 
    130 <varlistentry id="groffer">
    131 <term><command>groffer</command></term>
    132 <listitem>
    133 <indexterm zone="ch-system-groff groffer"><primary sortas="b-groffer">groffer</primary></indexterm>
    134 <para>displays groff files and man pages on X and tty terminals.</para>
    135 </listitem>
    136 </varlistentry>
    137 
    138 <varlistentry id="grog">
    139 <term><command>grog</command></term>
    140 <listitem>
    141 <indexterm zone="ch-system-groff grog"><primary sortas="b-grog">grog</primary></indexterm>
    142 <para>reads files and guesses which of the <command>groff</command>
    143 options <parameter>-e</parameter>, <parameter>-man</parameter>,
    144 <parameter>-me</parameter>, <parameter>-mm</parameter>,
    145 <parameter>-ms</parameter>, <parameter>-p</parameter>, <parameter>-s</parameter>,
    146 and <parameter>-t</parameter> are required for printing
    147 files, and reports the <command>groff</command> command including those options.</para>
    148 </listitem>
    149 </varlistentry>
    150 
    151 <varlistentry id="grolbp">
    152 <term><command>grolbp</command></term>
    153 <listitem>
    154 <indexterm zone="ch-system-groff grolbp"><primary sortas="b-grolbp">grolbp</primary></indexterm>
    155 <para>is a <command>groff</command> driver for Canon CAPSL printers
    156 (LBP-4 and LBP-8 series laser printers).</para>
    157 </listitem>
    158 </varlistentry>
    159 
    160 <varlistentry id="grolj4">
    161 <term><command>grolj4</command></term>
    162 <listitem>
    163 <indexterm zone="ch-system-groff grolj4"><primary sortas="b-grolj4">grolj4</primary></indexterm>
    164 <para>is a driver for <command>groff</command> that produces output
    165 in PCL5 format suitable for an HP Laserjet 4 printer.</para>
    166 </listitem>
    167 </varlistentry>
    168 
    169 <varlistentry id="grops">
    170 <term><command>grops</command></term>
    171 <listitem>
    172 <indexterm zone="ch-system-groff grops"><primary sortas="b-grops">grops</primary></indexterm>
    173 <para>translates the output of GNU <command>troff</command> to PostScript.</para>
    174 </listitem>
    175 </varlistentry>
    176 
    177 <varlistentry id="grotty">
    178 <term><command>grotty</command></term>
    179 <listitem>
    180 <indexterm zone="ch-system-groff grotty"><primary sortas="b-grotty">grotty</primary></indexterm>
    181 <para>translates the output of GNU <command>troff</command> into
    182 a form suitable for typewriter-like devices.</para>
    183 </listitem>
    184 </varlistentry>
    185 
    186 <varlistentry id="gtbl">
    187 <term><command>gtbl</command></term>
    188 <listitem>
    189 <indexterm zone="ch-system-groff gtbl"><primary sortas="b-gtbl">gtbl</primary></indexterm>
    190 <para>is the GNU implementation of <command>tbl</command>.</para>
    191 </listitem>
    192 </varlistentry>
    193 
    194 <varlistentry id="hpftodit">
    195 <term><command>hpftodit</command></term>
    196 <listitem>
    197 <indexterm zone="ch-system-groff hpftodit"><primary sortas="b-hpftodit">hpftodit</primary></indexterm>
    198 <para>creates a font file for use with
    199 <command>groff -Tlj4</command> from an HP-tagged font metric file.</para>
    200 </listitem>
    201 </varlistentry>
    202 
    203 <varlistentry id="indxbib">
    204 <term><command>indxbib</command></term>
    205 <listitem>
    206 <indexterm zone="ch-system-groff indxbib"><primary sortas="b-indxbib">indxbib</primary></indexterm>
    207 <para>makes an inverted index for the bibliographic databases a specified file for
    208 use with <command>refer</command>, <command>lookbib</command>, and <command>lkbib</command>.</para>
    209 </listitem>
    210 </varlistentry>
    211 
    212 <varlistentry id="lkbib">
    213 <term><command>lkbib</command></term>
    214 <listitem>
    215 <indexterm zone="ch-system-groff lkbib"><primary sortas="b-lkbib">lkbib</primary></indexterm>
    216 <para>searches bibliographic databases for
    217 references that contain specified keys and reports any references found.</para>
    218 </listitem>
    219 </varlistentry>
    220 
    221 <varlistentry id="lookbib">
    222 <term><command>lookbib</command></term>
    223 <listitem>
    224 <indexterm zone="ch-system-groff lookbib"><primary sortas="b-lookbib">lookbib</primary></indexterm>
    225 <para>prints a prompt on the standard error
    226 (unless the standard input is not a terminal), reads from the standard input
    227 a line containing a set of keywords, searches the bibliographic databases in
    228 a specified file for references containing those keywords, prints any
    229 references found on the standard output and repeats this process until the
    230 end of input.</para>
    231 </listitem>
    232 </varlistentry>
    233 
    234 <varlistentry id="mmroff">
    235 <term><command>mmroff</command></term>
    236 <listitem>
    237 <indexterm zone="ch-system-groff mmroff"><primary sortas="b-mmroff">mmroff</primary></indexterm>
    238 <para>is a simple preprocessor for <command>groff</command>.</para>
    239 </listitem>
    240 </varlistentry>
    241 
    242 <varlistentry id="neqn">
    243 <term><command>neqn</command></term>
    244 <listitem>
    245 <indexterm zone="ch-system-groff neqn"><primary sortas="b-neqn">neqn</primary></indexterm>
    246 <para>formats equations for ASCII (American Standard Code for Information
    247 Interchange) output.</para>
    248 </listitem>
    249 </varlistentry>
    250 
    251 <varlistentry id="nroff">
    252 <term><command>nroff</command></term>
    253 <listitem>
    254 <indexterm zone="ch-system-groff nroff"><primary sortas="b-nroff">nroff</primary></indexterm>
    255 <para>is a script that emulates the <command>nroff</command> command using <command>groff</command>.</para>
    256 </listitem>
    257 </varlistentry>
    258 
    259 <varlistentry id="pfbtops">
    260 <term><command>pfbtops</command></term>
    261 <listitem>
    262 <indexterm zone="ch-system-groff pfbtops"><primary sortas="b-pfbtops">pfbtops</primary></indexterm>
    263 <para>translates a PostScript font in <filename class="extension">.pfb</filename> format to ASCII.</para>
    264 </listitem>
    265 </varlistentry>
    266 
    267 <varlistentry id="pic">
    268 <term><command>pic</command></term>
    269 <listitem>
    270 <indexterm zone="ch-system-groff pic"><primary sortas="b-pic">pic</primary></indexterm>
    271 <para>compiles descriptions of pictures embedded
    272 within troff or TeX input files into commands understood by TeX or <command>troff</command>.</para>
    273 </listitem>
    274 </varlistentry>
    275 
    276 <varlistentry id="pic2graph">
    277 <term><command>pic2graph</command></term>
    278 <listitem>
    279 <indexterm zone="ch-system-groff pic2graph"><primary sortas="b-pic2graph">pic2graph</primary></indexterm>
    280 <para>converts a PIC diagram into a cropped image.</para>
    281 </listitem>
    282 </varlistentry>
    283 
    284 <varlistentry id="pre-grohtml">
    285 <term><command>pre-grohtml </command></term>
    286 <listitem>
    287 <indexterm zone="ch-system-groff pre-grohtml"><primary sortas="b-pre-grohtml">pre-grohtml</primary></indexterm>
    288 <para>translates the output of GNU <command>troff</command> to html.</para>
    289 </listitem>
    290 </varlistentry>
    291 
    292 <varlistentry id="post-grohtml">
    293 <term><command>post-grohtml</command></term>
    294 <listitem>
    295 <indexterm zone="ch-system-groff post-grohtml"><primary sortas="b-post-grohtml">post-grohtml</primary></indexterm>
    296 <para>translates the output of GNU <command>troff</command> to html.</para>
    297 </listitem>
    298 </varlistentry>
    299 
    300 <varlistentry id="refer">
    301 <term><command>refer</command></term>
    302 <listitem>
    303 <indexterm zone="ch-system-groff refer"><primary sortas="b-refer">refer</primary></indexterm>
    304 <para>copies the contents of a file to the
    305 standard output, except that lines between .[ and .] are interpreted as
    306 citations, and lines between .R1 and .R2 are interpreted as commands about
    307 how citations are to be processed.</para>
    308 </listitem>
    309 </varlistentry>
    310 
    311 <varlistentry id="soelim">
    312 <term><command>soelim</command></term>
    313 <listitem>
    314 <indexterm zone="ch-system-groff soelim"><primary sortas="b-soelim">soelim</primary></indexterm>
    315 <para>reads files and replaces lines of the form
    316 <emphasis>.so file</emphasis> by the contents of the mentioned
    317 <emphasis>file</emphasis>.</para>
    318 </listitem>
    319 </varlistentry>
    320 
    321 <varlistentry id="tbl">
    322 <term><command>tbl</command></term>
    323 <listitem>
    324 <indexterm zone="ch-system-groff tbl"><primary sortas="b-tbl">tbl</primary></indexterm>
    325 <para>compiles descriptions of tables embedded
    326 within troff input files into commands that are understood by <command>troff</command>.</para>
    327 </listitem>
    328 </varlistentry>
    329 
    330 <varlistentry id="tfmtodit">
    331 <term><command>tfmtodit</command></term>
    332 <listitem>
    333 <indexterm zone="ch-system-groff tfmtodit"><primary sortas="b-tfmtodit">tfmtodit</primary></indexterm>
    334 <para>creates a font file for use with <command>groff -Tdvi</command>.</para>
    335 </listitem>
    336 </varlistentry>
    337 
    338 <varlistentry id="troff">
    339 <term><command>troff</command></term>
    340 <listitem>
    341 <indexterm zone="ch-system-groff troff"><primary sortas="b-troff">troff</primary></indexterm>
    342 <para>is highly compatible with Unix <command>troff</command>. Usually it should be invoked using the
    343 <command>groff</command> command, which will also run preprocessors and post-processors in the
    344 appropriate order and with the appropriate options.</para>
    345 </listitem>
    346 </varlistentry>
    347 
    348 <varlistentry id="zsoelim">
    349 <term><command>zsoelim</command></term>
    350 <listitem>
    351 <indexterm zone="ch-system-groff zsoelim"><primary sortas="b-zsoelim">zsoelim</primary></indexterm>
    352 <para>is the GNU implementation of <command>soelim</command>.</para>
    353 </listitem>
    354 </varlistentry>
    355 </variablelist>
     48<para>See testing</para>
    35649
    35750</sect2>
  • chapter06/grub.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Grub package contains the GRand Unified Bootloader.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>Grub installation depends on</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
    24 GCC, Glibc, Grep, Make, Ncurses, Sed</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
     
    2923<title>Installation of Grub</title>
    3024
    31 <para>This package is known to behave badly when you have changed its default
    32 optimization flags (including the <parameter>-march</parameter> and
    33 <parameter>-mcpu</parameter> options). Therefore, if you
    34 have defined any environment variables that override default optimizations,
    35 such as CFLAGS and CXXFLAGS, we recommend un-setting them when building
    36 Grub.</para>
    37 
    3825<para>Prepare Grub for compilation:</para>
    3926
    4027<screen><userinput>./configure --prefix=/usr</userinput></screen>
    4128
    42 <para>Now compile the rest of the package:</para>
     29<para>Now compile the package:</para>
    4330
    4431<screen><userinput>make</userinput></screen>
     
    4633<para>To test the results, issue:
    4734<userinput>make check</userinput>.</para>
    48 
    49 <para>Note that the test results will always give the error
    50   <quote>ufs2_stage1_5 is too big</quote>.  This is due to a compiler issue,
    51   but can be ignored unless you plan to boot from a UFS partition, normally only
    52   used by Sun workstations.
    53 </para>
    5435
    5536<para>Now install it:</para>
     
    5940cp /usr/share/grub/i386-pc/stage{1,2} /boot/grub</userinput></screen>
    6041
    61 <para>Replace <filename class="directory">i386-pc</filename> with whatever
    62 directory is appropriate for your hardware.</para>
    63 
    64 <para>The <filename class="directory">i386-pc</filename> directory also
    65 contains a number of <filename>*stage1_5</filename> files, different ones
    66 for different file systems. Have a look at the ones available and copy the
    67 appropriate ones to the <filename class="directory">/boot/grub</filename>
    68 directory. Most people will copy the <filename>e2fs_stage1_5</filename>
    69 and/or <filename>reiserfs_stage1_5</filename> files.</para>
     42<para>The <filename class="directory">i386-pc</filename> directory
     43contains a number of <filename>*stage1_5</filename> files, different
     44ones for different file systems. Review the files available and copy
     45the appropriate ones to the <filename
     46class="directory">/boot/grub</filename> directory. Most users will
     47copy the <filename>e2fs_stage1_5</filename> and/or
     48<filename>reiserfs_stage1_5</filename> files.</para>
    7049
    7150</sect2>
     
    7453<sect2 id="contents-grub" role="content"><title>Contents of Grub</title>
    7554
    76 <segmentedlist>
    77 <segtitle>Installed programs</segtitle>
    78 <seglistitem><seg>grub, grub-install,
    79 grub-md5-crypt, grub-terminfo and mbchk</seg></seglistitem>
    80 </segmentedlist>
    81 
    82 <variablelist><title>Short descriptions</title>
    83 
    84 <varlistentry id="grub">
    85 <term><command>grub</command></term>
    86 <listitem>
    87 <indexterm zone="ch-system-grub grub"><primary sortas="b-grub">grub</primary></indexterm>
    88 <para>is the GRand Unified Bootloader's command shell.</para>
    89 </listitem>
    90 </varlistentry>
    91 
    92 <varlistentry id="grub-install">
    93 <term><command>grub-install</command></term>
    94 <listitem>
    95 <indexterm zone="ch-system-grub grub-install"><primary sortas="b-grub-install">grub-install</primary></indexterm>
    96 <para>installs GRUB on the given device.</para>
    97 </listitem>
    98 </varlistentry>
    99 
    100 <varlistentry id="grub-md5-crypt">
    101 <term><command>grub-md5-crypt</command></term>
    102 <listitem>
    103 <indexterm zone="ch-system-grub grub-md5-crypt"><primary sortas="b-grub-md5-crypt">grub-md5-crypt</primary></indexterm>
    104 <para>encrypts a password in MD5 format.</para>
    105 </listitem>
    106 </varlistentry>
    107 
    108 <varlistentry id="grub-terminfo">
    109 <term><command>grub-terminfo</command></term>
    110 <listitem>
    111 <indexterm zone="ch-system-grub grub-terminfo"><primary sortas="b-grub-terminfo">grub-terminfo</primary></indexterm>
    112 <para>generates a terminfo command from a
    113 terminfo name. It can be used if you have an uncommon terminal.</para>
    114 </listitem>
    115 </varlistentry>
    116 
    117 <varlistentry id="mbchk">
    118 <term><command>mbchk</command></term>
    119 <listitem>
    120 <indexterm zone="ch-system-grub mbchk"><primary sortas="b-mbchk">mbchk</primary></indexterm>
    121 <para>checks the format of a multi-boot kernel.</para>
    122 </listitem>
    123 </varlistentry>
    124 </variablelist>
     55<para>See testing</para>
    12556
    12657</sect2>
  • chapter06/gzip.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Gzip package contains programs for compressing and decompressing
    14 files.</para>
    1513
    1614<segmentedlist>
     
    2018</segmentedlist>
    2119
    22 <segmentedlist>
    23 <segtitle>Gzip installation depends on</segtitle>
    24 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
    25 GCC, Glibc, Grep, Make, Sed</seg></seglistitem>
    26 </segmentedlist>
    2720</sect2>
    2821
     
    3427<screen><userinput>./configure --prefix=/usr</userinput></screen>
    3528
    36 <para>The <command>gzexe</command> script has the location of the
    37 <command>gzip</command> binary hard-wired into it. Because we later change
    38 the location of the binary, the following command ensures that the new
    39 location gets placed into the script:</para>
     29<para>Issue a sed command:</para>
    4030
    4131<screen><userinput>sed -i 's@"BINDIR"@/bin@g' gzexe.in</userinput></screen>
     
    6252<sect2 id="contents-gzip" role="content"><title>Contents of Gzip</title>
    6353
    64 <segmentedlist>
    65 <segtitle>Installed programs</segtitle>
    66 <seglistitem><seg>gunzip (link to gzip), gzexe,
    67 gzip, uncompress (link to gunzip), zcat (link to gzip), zcmp, zdiff,
    68 zegrep, zfgrep, zforce, zgrep, zless, zmore and znew</seg></seglistitem>
    69 </segmentedlist>
    70 
    71 <variablelist><title>Short descriptions</title>
    72 
    73 <varlistentry id="gunzip">
    74 <term><command>gunzip</command></term>
    75 <listitem>
    76 <indexterm zone="ch-system-gzip gunzip"><primary sortas="b-gunzip">gunzip</primary></indexterm>
    77 <para>decompresses gzipped files.</para>
    78 </listitem>
    79 </varlistentry>
    80 
    81 <varlistentry id="gzexe">
    82 <term><command>gzexe</command></term>
    83 <listitem>
    84 <indexterm zone="ch-system-gzip gzexe"><primary sortas="b-gzexe">gzexe</primary></indexterm>
    85 <para>is used to create self-uncompressing executable files.</para>
    86 </listitem>
    87 </varlistentry>
    88 
    89 <varlistentry id="gzip">
    90 <term><command>gzip</command></term>
    91 <listitem>
    92 <indexterm zone="ch-system-gzip gzip"><primary sortas="b-gzip">gzip</primary></indexterm>
    93 <para>compresses the given files, using Lempel-Ziv (LZ77) coding.</para>
    94 </listitem>
    95 </varlistentry>
    96 
    97 <varlistentry id="zcat">
    98 <term><command>zcat</command></term>
    99 <listitem>
    100 <indexterm zone="ch-system-gzip zcat"><primary sortas="b-zcat">zcat</primary></indexterm>
    101 <para>uncompresses the given gzipped files to standard output.</para>
    102 </listitem>
    103 </varlistentry>
    104 
    105 <varlistentry id="zcmp">
    106 <term><command>zcmp</command></term>
    107 <listitem>
    108 <indexterm zone="ch-system-gzip zcmp"><primary sortas="b-zcmp">zcmp</primary></indexterm>
    109 <para>runs <command>cmp</command> on gzipped files.</para>
    110 </listitem>
    111 </varlistentry>
    112 
    113 <varlistentry id="zdiff">
    114 <term><command>zdiff</command></term>
    115 <listitem>
    116 <indexterm zone="ch-system-gzip zdiff"><primary sortas="b-zdiff">zdiff</primary></indexterm>
    117 <para>runs <command>diff</command> on gzipped files.</para>
    118 </listitem>
    119 </varlistentry>
    120 
    121 <varlistentry id="zegrep">
    122 <term><command>zegrep</command></term>
    123 <listitem>
    124 <indexterm zone="ch-system-gzip zegrep"><primary sortas="b-zegrep">zegrep</primary></indexterm>
    125 <para>runs <command>egrep</command> on gzipped files.</para>
    126 </listitem>
    127 </varlistentry>
    128 
    129 <varlistentry id="zfgrep">
    130 <term><command>zfgrep</command></term>
    131 <listitem>
    132 <indexterm zone="ch-system-gzip zfgrep"><primary sortas="b-zfgrep">zfgrep</primary></indexterm>
    133 <para>runs <command>fgrep</command> on gzipped files.</para>
    134 </listitem>
    135 </varlistentry>
    136 
    137 <varlistentry id="zforce">
    138 <term><command>zforce</command></term>
    139 <listitem>
    140 <indexterm zone="ch-system-gzip zforce"><primary sortas="b-zforce">zforce</primary></indexterm>
    141 <para>forces a <filename class="extension">.gz</filename> extension on all given files
    142 that are gzipped files, so that <command>gzip</command> will not compress them again. This can be
    143 useful when file names were truncated during a file transfer.</para>
    144 </listitem>
    145 </varlistentry>
    146 
    147 <varlistentry id="zgrep">
    148 <term><command>zgrep</command></term>
    149 <listitem>
    150 <indexterm zone="ch-system-gzip zgrep"><primary sortas="b-zgrep">zgrep</primary></indexterm>
    151 <para>runs <command>grep</command> on gzipped files.</para>
    152 </listitem>
    153 </varlistentry>
    154 
    155 <varlistentry id="zless">
    156 <term><command>zless</command></term>
    157 <listitem>
    158 <indexterm zone="ch-system-gzip zless"><primary sortas="b-zless">zless</primary></indexterm>
    159 <para>runs <command>less</command> on gzipped files.</para>
    160 </listitem>
    161 </varlistentry>
    162 
    163 <varlistentry id="zmore">
    164 <term><command>zmore</command></term>
    165 <listitem>
    166 <indexterm zone="ch-system-gzip zmore"><primary sortas="b-zmore">zmore</primary></indexterm>
    167 <para>runs <command>more</command> on gzipped files.</para>
    168 </listitem>
    169 </varlistentry>
    170 
    171 <varlistentry id="znew">
    172 <term><command>znew</command></term>
    173 <listitem>
    174 <indexterm zone="ch-system-gzip znew"><primary sortas="b-znew">znew</primary></indexterm>
    175 <para>re-compresses files from <command>compress</command> format to <command>gzip</command> format
    176 -- <filename class="extension">.Z</filename> to <filename class="extension">.gz</filename>.</para>
    177 </listitem>
    178 </varlistentry>
    179 </variablelist>
     54<para>See testing</para>
    18055
    18156</sect2>
  • chapter06/hotplug.xml

    raaa3260 r3f0c882  
    1212<sect2 role="package"><title/>
    1313
    14 <para>The Hotplug package contains scripts that react upon hotplug events
    15 generated by the kernel. Such events correspond to every change in the
    16 in the kernel state visible in the "sysfs" filesystem, e.g., the addition and
    17 removal of hardware. This package also detects existing hardware during
    18 boot and inserts the relevant modules into the running kernel.
    19 </para>
    2014<segmentedlist>
    2115<segtitle>&buildtime;</segtitle>
     
    3327<screen><userinput>make install</userinput></screen>
    3428
    35 <para>Remove Hotplug's not-so-clean init script, since we're going to be using
    36 the script including with LFS-Bootscripts:</para>
     29<para>Remove Hotplug's init script:</para>
    3730
    3831<screen><userinput>rm -rf /etc/init.d</userinput></screen>
    3932
    40 <para>Network device hotplugging is not supported by LFS bootscripts yet. For
    41 that reason, remove the network hotplug agent:</para>
     33<para>Remove the network hotplug agent:</para>
    4234
    4335<screen><userinput>rm -f /etc/hotplug/net.agent</userinput></screen>
     
    4739<sect2 id="contents-hotplug" role="content"><title>Contents of Hotplug</title>
    4840
    49 <variablelist>
    50 <varlistentry id="hotplug">
    51 <term><command>/sbin/hotplug</command></term>
    52 <listitem>
    53 <indexterm zone="ch-system-hotplug hotplug"><primary
    54 sortas="b-hotplug">hotplug</primary></indexterm>
    55 <para>This script is called by default by Linux kernel when something
    56 changes in its internal state (e.g., a new device is added or removed).</para>
    57 </listitem>
    58 </varlistentry>
     41<para>See testing</para>
    5942
    60 <varlistentry id="hotplug-rc">
    61 <term><command>*.rc</command> files in
    62 <filename class="directory">/etc/hotplug</filename> directory</term>
    63 <listitem>
    64 <indexterm zone="ch-system-hotplug hotplug-rc"><primary
    65 sortas="e-/etc/hotplug/*.rc">/etc/hotplug/*.rc</primary></indexterm>
    66 <para>These scripts are used for cold plugging, i.e., detection and other
    67 specific actions upon hardware already present during system startup.
    68 They are called by the <filename>hotplug</filename> initscript that comes
    69 from the lfs-bootscripts package.
    70 The <command>*.rc</command>
    71 scripts try to recover hotplug events that were lost during system boot
    72 because, e.g., the root filesystem was not mounted by the kernel.
    73 </para>
    74 </listitem>
    75 </varlistentry>
    76 
    77 <varlistentry id="hotplug-agent">
    78 <term><command>*.agent</command> files in
    79 <filename class="directory">/etc/hotplug</filename> directory</term>
    80 <listitem>
    81 <indexterm zone="ch-system-hotplug hotplug-agent"><primary
    82 sortas="e-/etc/hotplug/*.agent">/etc/hotplug/*.agent</primary></indexterm>
    83 <para>These scripts are called by <command>/sbin/hotplug</command>
    84 in response to different types of hotplug events generated by the kernel.
    85 Their action is to insert corresponding kernel modules and call user-provided
    86 scripts, if any.
    87 </para>
    88 </listitem>
    89 </varlistentry>
    90 
    91 <varlistentry id="hotplug-functions">
    92 <term><filename>/etc/hotplug/hotplug.functions</filename></term>
    93 <listitem>
    94 <indexterm zone="ch-system-hotplug hotplug-functions"><primary
    95 sortas="e-/etc/hotplug/hotplug.functions">/etc/hotplug/hotplug.functions</primary></indexterm>
    96 <para>This file contains common functions used by other scripts in Hotplug
    97 package.
    98 </para>
    99 </listitem>
    100 </varlistentry>
    101 
    102 <varlistentry id="hotplug-blacklist">
    103 <term><filename>/etc/hotplug/blacklist</filename></term>
    104 <listitem>
    105 <indexterm zone="ch-system-hotplug hotplug-blacklist"><primary
    106 sortas="e-/etc/hotplug/blacklist">/etc/hotplug/blacklist</primary></indexterm>
    107 <para>This file contains the list of modules that should never be
    108 inserted into the kernel by hotplug scripts.
    109 </para>
    110 </listitem>
    111 </varlistentry>
    112 
    113 <varlistentry id="hotplug-subdirs">
    114 <term><filename class="directory">/etc/hotplug/{pci,usb}</filename></term>
    115 <listitem>
    116 <indexterm zone="ch-system-hotplug hotplug-subdirs"><primary
    117 sortas="e-/etc/hotplug/{pci,usb}">/etc/hotplug/{pci,usb}</primary></indexterm>
    118 <para>These directories are supposed to contain user-written handlers for
    119 hotplug events.
    120 </para>
    121 </listitem>
    122 </varlistentry>
    123 
    124 <varlistentry id="hotplug-usb.usermap">
    125 <term><filename>/etc/hotplug/usb.usermap</filename></term>
    126 <listitem>
    127 <indexterm zone="ch-system-hotplug hotplug-usb.usermap"><primary
    128 sortas="e-/etc/hotplug/usb.usermap">/etc/hotplug/usb.usermap</primary></indexterm>
    129 <para>This file contains rules that determine which user-defined handlers to
    130 call for each USB device, based on its vendor, id and other attributes.
    131 </para>
    132 </listitem>
    133 </varlistentry>
    134 
    135 <varlistentry id="hotplug-hotplug.d">
    136 <term><filename class="directory">/etc/hotplug.d</filename></term>
    137 <listitem>
    138 <indexterm zone="ch-system-hotplug hotplug-hotplug.d"><primary
    139 sortas="e-/etc/hotplug.d">/etc/hotplug.d</primary></indexterm>
    140 <para>This directory contains programs (or symlinks to them)
    141 that are interested in receiving hotplug events. E.g.,
    142 <application>udev</application> puts its symlink here during installation.
    143 </para>
    144 </listitem>
    145 </varlistentry>
    146 </variablelist>
    14743</sect2>
    14844</sect1>
  • chapter06/iana-etc.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Iana-Etc package provides data for network services and protocols.</para>
    1413
    1514<segmentedlist>
     
    1817<seglistitem><seg>0.1 SBU</seg><seg>641 KB</seg></seglistitem>
    1918</segmentedlist>
    20 
    21 <para>The installation dependencies for Iana-Etc haven't been checked yet.</para>
    2219
    2320</sect2>
     
    3936<sect2 id="contents-iana-etc" role="content"><title>Contents of Iana-Etc</title>
    4037
    41 <segmentedlist>
    42 <segtitle>Installed files</segtitle>
    43 <seglistitem><seg>protocols, services</seg></seglistitem>
    44 </segmentedlist>
    45 
    46 <indexterm zone="ch-system-iana-etc"><primary sortas="e-/etc/protocols">/etc/protocols</primary></indexterm>
    47 
    48 <indexterm zone="ch-system-iana-etc"><primary sortas="e-/etc/services">/etc/services</primary></indexterm>
     38<para>See testing</para>
    4939
    5040</sect2>
  • chapter06/inetutils.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Inetutils package contains programs for basic networking.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>Inetutils installation depends on</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils,
    24 Diffutils, GCC, Glibc, Grep, Make, Ncurses, Sed</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
     
    2923<title>Installation of Inetutils</title>
    3024
    31 <para>Inetutils has issues with the Linux 2.6 kernel series - fix these isues
    32 by applying the following patch:</para>
     25<para>Apply a patch patch:</para>
    3326
    3427<screen><userinput>patch -Np1 -i ../inetutils-&inetutils-version;-kernel_headers-1.patch</userinput></screen>
    3528
    36 <para>We are not going to install all the programs that come with Inetutils.
    37 However, the Inetutils build system will insist on installing all the man
    38 pages anyway. The following patch will correct this situation:</para>
     29<para>Apply another patch:</para>
    3930
    4031<screen><userinput>patch -Np1 -i ../inetutils-&inetutils-version;-no_server_man_pages-1.patch</userinput></screen>
     
    4738    --disable-whois --disable-servers</userinput></screen>
    4839
    49 <para>The meaning of the configure options:</para>
    50 
    51 <variablelist>
    52 <varlistentry>
    53 <term><parameter>--disable-logger</parameter></term>
    54 <listitem><para>This option
    55 prevents Inetutils from installing the <command>logger</command> program, which is used by
    56 scripts to pass messages to the System Log Daemon. We do not install it
    57 because Util-linux installs a better version later.</para></listitem>
    58 </varlistentry>
    59 
    60 <varlistentry>
    61 <term><parameter>--disable-syslogd</parameter></term>
    62 <listitem><para>This option
    63 prevents Inetutils from installing the System Log Daemon, which is
    64 installed with the Sysklogd package.</para></listitem>
    65 </varlistentry>
    66 
    67 <varlistentry>
    68 <term><parameter>--disable-whois</parameter></term>
    69 <listitem><para>This option disables
    70 the building of the Inetutils whois client, which is woefully out of date.
    71 Instructions for a better whois client are in the BLFS book.</para></listitem>
    72 </varlistentry>
    73 
    74 <varlistentry>
    75 <term><parameter>--disable-servers</parameter></term>
    76 <listitem><para>This disables the
    77 installation of the various network servers included as part of the Inetutils
    78 package. These servers are deemed not appropriate in a basic LFS system. Some
    79 are insecure by nature and are only considered safe on trusted networks. More
    80 information can be found at
    81 <ulink url="&blfs-root;view/stable/basicnet/inetutils.html"/>. Note that better
    82 replacements are available for many of these servers.</para></listitem>
    83 </varlistentry>
    84 </variablelist>
    85 
    8640<para>Compile the package:</para>
    8741
     
    9246<screen><userinput>make install</userinput></screen>
    9347
    94 <para>Move the <command>ping</command> program to its FHS-compliant
    95 place:</para>
     48<para>Move the <command>ping</command> program:</para>
    9649
    9750<screen><userinput>mv /usr/bin/ping /bin</userinput></screen>
     
    10255<sect2 id="contents-inetutils" role="content"><title>Contents of Inetutils</title>
    10356
    104 <segmentedlist>
    105 <segtitle>Installed programs</segtitle>
    106 <seglistitem><seg>ftp, ping, rcp, rlogin, rsh, talk, telnet and tftp</seg></seglistitem>
    107 </segmentedlist>
    108 
    109 <variablelist><title>Short descriptions</title>
    110 
    111 <varlistentry id="ftp">
    112 <term><command>ftp</command></term>
    113 <listitem>
    114 <indexterm zone="ch-system-inetutils ftp"><primary sortas="b-ftp">ftp</primary></indexterm>
    115 <para>is the ARPANET file transfer program.</para>
    116 </listitem>
    117 </varlistentry>
    118 
    119 <varlistentry id="ping">
    120 <term><command>ping</command></term>
    121 <listitem>
    122 <indexterm zone="ch-system-inetutils ping"><primary sortas="b-ping">ping</primary></indexterm>
    123 <para>sends echo-request packets and reports how long the replies take.</para>
    124 </listitem>
    125 </varlistentry>
    126 
    127 <varlistentry id="rcp">
    128 <term><command>rcp</command></term>
    129 <listitem>
    130 <indexterm zone="ch-system-inetutils rcp"><primary sortas="b-rcp">rcp</primary></indexterm>
    131 <para>does remote file copy.</para>
    132 </listitem>
    133 </varlistentry>
    134 
    135 <varlistentry id="rlogin">
    136 <term><command>rlogin</command></term>
    137 <listitem>
    138 <indexterm zone="ch-system-inetutils rlogin"><primary sortas="b-rlogin">rlogin</primary></indexterm>
    139 <para>does remote login.</para>
    140 </listitem>
    141 </varlistentry>
    142 
    143 <varlistentry id="rsh">
    144 <term><command>rsh</command></term>
    145 <listitem>
    146 <indexterm zone="ch-system-inetutils rsh"><primary sortas="b-rsh">rsh</primary></indexterm>
    147 <para>runs a remote shell.</para>
    148 </listitem>
    149 </varlistentry>
    150 
    151 <varlistentry id="talk">
    152 <term><command>talk</command></term>
    153 <listitem>
    154 <indexterm zone="ch-system-inetutils talk"><primary sortas="b-talk">talk</primary></indexterm>
    155 <para>is used to chat up another user.</para>
    156 </listitem>
    157 </varlistentry>
    158 
    159 <varlistentry id="telnet">
    160 <term><command>telnet</command></term>
    161 <listitem>
    162 <indexterm zone="ch-system-inetutils telnet"><primary sortas="b-telnet">telnet</primary></indexterm>
    163 <para>is an interface to the TELNET protocol.</para>
    164 </listitem>
    165 </varlistentry>
    166 
    167 <varlistentry id="tftp">
    168 <term><command>tftp</command></term>
    169 <listitem>
    170 <indexterm zone="ch-system-inetutils tftp"><primary sortas="b-tftp">tftp</primary></indexterm>
    171 <para>is a trivial file transfer program.</para>
    172 </listitem>
    173 </varlistentry>
    174 </variablelist>
     57<para>See testing</para>
    17558
    17659</sect2>
  • chapter06/introduction.xml

    raaa3260 r3f0c882  
    88<?dbhtml filename="introduction.html"?>
    99
    10 <para>In this chapter we enter the building site, and start
    11 constructing our LFS system in earnest. That is, we chroot into
    12 our temporary mini Linux system, create some auxiliary things,
    13 and then start installing all the packages, one by one.</para>
    14  
    15 <para>The installation of all this software is pretty straightforward,
    16 and you will probably think it would be much shorter to give here
    17 the generic installation instructions and explain in full only the
    18 installation of those packages that require an alternate method.
    19 Although we agree with that, we nevertheless choose to give the
    20 full instructions for each and every package, simply to minimize
    21 the possibilities for mistakes.</para>
    22 
    23 <para>The key to learning what makes a Linux system work is to know
    24 what each package is used for and why the user (or the system) needs it.
    25 For this purpose for every installed package a summary of its content is
    26 given followed by concise descriptions of each program and library it
    27 installed.</para>
    28 
    29 <para>If you plan to use compiler optimizations in this chapter, take a look at
    30 the optimization hint at <ulink url="&hints-root;optimization.txt"/>. Compiler
    31 optimizations can make a program run slightly faster, but they may also cause
    32 compilation difficulties and even problems when running the program. If a
    33 package refuses to compile when using optimization, try to compile it without
    34 optimization and see if the problem goes away. Even if the package does compile
    35 when using optimization, there is the risk it may have been compiled incorrectly
    36 due to complex interactions between the code and build tools. In short, the
    37 small potential gains achieved in using compiler optimization are generally
    38 outweighed by the risk. First time builders of LFS are encouraged to build
    39 without custom optimizations. Your system will still be very fast and very
    40 stable at the same time.</para>
    41 
    42 <para>The order in which packages are installed in this chapter has
    43 to be strictly followed, to ensure that no program gets a path referring
    44 to <filename class="directory">/tools</filename> hard-wired into it.
    45 For the same reason, <emphasis>do not </emphasis> compile packages
    46 in parallel. Compiling in parallel may save you some time (especially on
    47 dual-CPU machines), but it could result in a program containing a
    48 hard-wired path to <filename class="directory">/tools</filename>,
    49 which will cause the program to stop working when that directory
    50 is removed.</para>
    51 
    52 <para>Before the installation instructions each installation page gives some
    53 information about the package: a concise description of what it contains,
    54 approximately how long it will take to build it, how much disk space it needs
    55 during this building process, and which other packages it
    56 needs in order to be built successfully. After the installation instructions
    57 follows a list of programs and libraries that the package installs, together
    58 with a series of short descriptions of these.</para>
    59 
    60 <para>If you wish to keep track of which package installs what files, you may
    61 want to use a package manager. For a general overview of package managers have
    62 a look at <ulink url="&blfs-root;view/cvs/introduction/pkgmgt.html"/>. And for
    63 a package management method specifically geared towards LFS see
    64 <ulink url="&hints-root;more_control_and_pkg_man.txt"/>.</para>
     10<para>See testing</para>
    6511
    6612</sect1>
  • chapter06/iproute2.xml

    raaa3260 r3f0c882  
    55]>
    66<sect1 id="ch-system-iproute2" xreflabel="IProute2" role="wrap">
    7   <title>Iproute2-&iproute2-version;</title>
     7<title>Iproute2-&iproute2-version;</title>
    88<?dbhtml filename="iproute2.html"?>
     9
    910  <indexterm zone="ch-system-iproute2">
    1011    <primary sortas="a-iproute2">iproute2</primary>
     
    1213  <sect2 role="package">
    1314    <title/>
    14     <para>The iproute2 package contains programs for basic and advanced
    15           IPV4-based networking.
    16     </para>
     15   
    1716    <segmentedlist>
    1817      <segtitle>&buildtime;</segtitle>
     
    2322      </seglistitem>
    2423    </segmentedlist>
    25     <segmentedlist>
    26       <segtitle>iproute2 installation depends on</segtitle>
    27       <seglistitem>
    28         <seg>sed, GCC, Glibc, Make, Linux-Headers</seg>
    29       </seglistitem>
    30     </segmentedlist>
     24   
    3125  </sect2>
     26 
    3227  <sect2 role="installation">
    3328    <title>Installation of iproute2</title>
    34     <para>The <command>arpd</command> binary included in this package is
    35           dependent on Berkeley DB.  As <command>arpd</command> is not a very
    36           common requirement on a base Linux system we remove the dependency on
    37           Berkeley DB by applying the patch using the command below.  If you
    38           need the <command>arpd</command> binary, then instructions for
    39           compiling Berkeley DB can be found in the <ulink
    40           url="http://www.linuxfromscratch.org/blfs/view/cvs/content/databases.html#db">BLFS book</ulink>.
    41     </para>
     29   
     30    <para>Apply a patch</para>
    4231
    4332    <screen><userinput>patch -Np1 -i ../iproute2-&iproute2-patch-version;-remove_db-1.patch</userinput></screen>
     
    5039
    5140    <para>Prepare iproute2 for compilation:</para>
    52     <screen> <userinput>./configure </userinput></screen>
     41   
     42    <screen><userinput>./configure </userinput></screen>
    5343
    5444    <para>Compile the package:</para>
     
    5646    <screen><userinput>make SBINDIR=/sbin</userinput></screen>
    5747
    58     <variablelist>
    59     <varlistentry>
    60     <term><parameter>SBINDIR=/sbin</parameter></term>
    61     <listitem><para>This makes sure that the iproute2 binaries will install into
    62       <filename class="directory">/sbin</filename>.  This is the correct
    63       location according to the FHS, as some of the iproute2 binaries are used
    64       in our bootscripts.</para>
    65     </listitem>
    66     </varlistentry>
    67     </variablelist>
    68 
    6948    <para>Now install it:</para>
    7049
    7150    <screen><userinput>make install SBINDIR=/sbin</userinput></screen>
     51   
    7252  </sect2>
    7353
    7454  <sect2 id="contents-iproute2" role="content">
    75     <title>Contents of iproute2</title>
    76     <segmentedlist>
    77       <segtitle>Installed programs</segtitle>
    78       <seglistitem>
    79         <seg>ifstat, ip, nstat, routef, routel, rtmon, rtstat, ss, and tc.</seg>
    80       </seglistitem>
    81     </segmentedlist>
    82 
    83     <variablelist>
    84       <title>Short descriptions</title>
    85 
    86       <varlistentry id="ifstat">
    87         <term>
    88           <command>ifstat</command>
    89         </term>
    90         <listitem>
    91           <indexterm zone="ch-system-iproute2 ifstat">
    92             <primary sortas="b-ifstat">ifstat</primary>
    93           </indexterm>
    94           <para>shows the interfaces statistics. Shows the amount of transmitted
    95                 and received packages by interface</para>
    96         </listitem>
    97       </varlistentry>
    98 
    99       <varlistentry id="ip">
    100         <term>
    101           <command>ip</command>
    102         </term>
    103         <listitem>
    104           <indexterm zone="ch-system-iproute2 ip">
    105             <primary sortas="b-ip">ip</primary>
    106           </indexterm>
    107 
    108           <para>is the main executable. Has several different functions.</para>
    109 
    110           <para><command>ip link <replaceable>[device]</replaceable></command>
    111                 allows you to look at the state of devices and to change it.
    112           </para>
    113 
    114           <para><command>ip addr</command> allows you to look at addresses and
    115                 their properties, add new addresses and to delete old ones.
    116           </para>
    117 
    118           <para><command>ip neighbor</command> allows you to look at neighbour
    119                 bindings and their properties, add new neighbour entries and to
    120                 delete old ones.
    121           </para>
    122 
    123           <para><command>ip rule</command> allows you to look at the routing
    124                 policies and change them.
    125           </para>
    126 
    127           <para><command>ip route</command> allows you to look at the routing
    128                 table and change routing table rules.
    129           </para>
    130 
    131           <para><command>ip tunnel</command> allows you to look at the ip
    132                 tunnels and their properties, and change them.
    133           </para>
    134 
    135           <para><command>ip maddr</command> allows you to look at the multicast
    136                 addresses and their properties, and change them.
    137           </para>
    138 
    139           <para><command>ip mroute</command> allows you to set, change, or
    140                 delete the mutlicast routing.
    141           </para>
    142 
    143           <para><command>ip monitor</command> allows you to monitor the state of
    144                 devices, addresses and routes continuously.
    145           </para>
    146         </listitem>
    147       </varlistentry>
    148 
    149       <varlistentry id="nstat">
    150         <term>
    151           <command>nstat</command>
    152         </term>
    153         <listitem>
    154           <indexterm zone="ch-system-iproute2 nstat">
    155             <primary sortas="b-nstat">nstat</primary>
    156           </indexterm>
    157           <para>Shows network statistics</para>
    158         </listitem>
    159       </varlistentry>
    160 
    161       <varlistentry id="routef">
    162         <term>
    163           <command>routef</command>
    164         </term>
    165         <listitem>
    166           <indexterm zone="ch-system-iproute2 routef">
    167             <primary sortas="b-routef">routef</primary>
    168           </indexterm>
    169           <para>A component of ip route. This is for flushing the routing
    170                 tables.
    171           </para>
    172         </listitem>
    173       </varlistentry>
    174 
    175       <varlistentry id="routel">
    176         <term>
    177           <command>routel</command>
    178         </term>
    179         <listitem>
    180           <indexterm zone="ch-system-iproute2 routel">
    181             <primary sortas="b-routel">routel</primary>
    182           </indexterm>
    183           <para>A component of ip route. This is for listing the routing
    184                 tables.
    185           </para>
    186         </listitem>
    187       </varlistentry>
    188 
    189       <varlistentry id="rtmon">
    190         <term>
    191           <command>rtmon</command>
    192         </term>
    193         <listitem>
    194           <indexterm zone="ch-system-iproute2 rtmon">
    195             <primary sortas="b-rtmon">rtmon</primary>
    196           </indexterm>
    197           <para>Route Monitoring Utility.</para>
    198         </listitem>
    199       </varlistentry>
    200 
    201       <varlistentry id="rtstat">
    202         <term>
    203           <command>rtstat</command>
    204         </term>
    205         <listitem>
    206           <indexterm zone="ch-system-iproute2 rtstat">
    207             <primary sortas="b-rtstat">rtstat</primary>
    208           </indexterm>
    209           <para>Route Status Utility</para>
    210         </listitem>
    211       </varlistentry>
    212 
    213       <varlistentry id="ss">
    214         <term>
    215           <command>ss</command>
    216         </term>
    217         <listitem>
    218           <indexterm zone="ch-system-iproute2 ss">
    219             <primary sortas="b-ss">ss</primary>
    220           </indexterm>
    221           <para>Similar to the netstat command. Shows active connections.</para>
    222         </listitem>
    223       </varlistentry>
    224 
    225       <varlistentry id="tc">
    226         <term>
    227           <command>tc</command>
    228         </term>
    229         <listitem>
    230           <indexterm zone="ch-system-iproute2 ss">
    231             <primary sortas="b-tc">tc</primary>
    232           </indexterm>
    233           <para>Traffic Controlling Executable. This is for QOS/COS
    234                 implementations.
    235           </para>
    236 
    237           <para><command>tc qdisc</command> allows you to setup the queueing
    238                 discipline.
    239           </para>
    240 
    241           <para><command>tc class</command> allows you to setup classes based on
    242                 the queuing discipline scheduling.
    243           </para>
    244 
    245           <para><command>tc estimator</command> allows you to estimate the
    246                 network flow into a network.
    247           </para>
    248 
    249           <para><command>tc filter</command> allows you to setup the QOS/COS
    250                 packet filtering.
    251           </para>
    252 
    253           <para><command>tc policy</command> allows you to setup the QOS/COS
    254                 policies.
    255           </para>
    256         </listitem>
    257       </varlistentry>
    258     </variablelist>
     55      <title>Contents of iproute2</title>
     56     
     57    <para>See testing</para>
     58   
    25959  </sect2>
    26060</sect1>
  • chapter06/kbd.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Kbd package contains key-table files and keyboard utilities.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>Kbd installation depends on</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Bison, Coreutils,
    24 Diffutils, Flex, GCC, Gettext, Glibc, Grep, Gzip, M4, Make, Sed</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
     
    4337</sect2>
    4438
    45 <!-- The "Configuring your keyboard" section has been moved to
    46 Chapter 7 and renamed to "Configuring Linux console" -->
    47 
    4839<sect2 id="contents-kbd" role="content"><title>Contents of Kbd</title>
    4940
    50 <segmentedlist>
    51 <segtitle>Installed programs</segtitle>
    52 <seglistitem><seg>chvt, deallocvt, dumpkeys,
    53 fgconsole, getkeycodes, getunimap, kbd_mode, kbdrate, loadkeys, loadunimap,
    54 mapscrn, openvt, psfaddtable (link to psfxtable), psfgettable (link to
    55 psfxtable), psfstriptable (link to psfxtable), psfxtable, resizecons,
    56 setfont, setkeycodes, setleds, setlogcons, setmetamode, setvesablank,
    57 showconsolefont, showkey, unicode_start and unicode_stop</seg></seglistitem>
    58 </segmentedlist>
    59 
    60 <variablelist><title>Short descriptions</title>
    61 
    62 <varlistentry id="chvt">
    63 <term><command>chvt</command></term>
    64 <listitem>
    65 <indexterm zone="ch-system-kbd chvt"><primary sortas="b-chvt">chvt</primary></indexterm>
    66 <para>changes the foreground virtual terminal.</para>
    67 </listitem>
    68 </varlistentry>
    69 
    70 <varlistentry id="deallocvt">
    71 <term><command>deallocvt</command></term>
    72 <listitem>
    73 <indexterm zone="ch-system-kbd deallocvt"><primary sortas="b-deallocvt">deallocvt</primary></indexterm>
    74 <para>deallocates unused virtual terminals.</para>
    75 </listitem>
    76 </varlistentry>
    77 
    78 <varlistentry id="dumpkeys">
    79 <term><command>dumpkeys</command></term>
    80 <listitem>
    81 <indexterm zone="ch-system-kbd dumpkeys"><primary sortas="b-dumpkeys">dumpkeys</primary></indexterm>
    82 <para>dumps the keyboard translation tables.</para>
    83 </listitem>
    84 </varlistentry>
    85 
    86 <varlistentry id="fgconsole">
    87 <term><command>fgconsole</command></term>
    88 <listitem>
    89 <indexterm zone="ch-system-kbd fgconsole"><primary sortas="b-fgconsole">fgconsole</primary></indexterm>
    90 <para>prints the number of the active virtual terminal.</para>
    91 </listitem>
    92 </varlistentry>
    93 
    94 <varlistentry id="getkeycodes">
    95 <term><command>getkeycodes</command></term>
    96 <listitem>
    97 <indexterm zone="ch-system-kbd getkeycodes"><primary sortas="b-getkeycodes">getkeycodes</primary></indexterm>
    98 <para>prints the kernel scancode-to-keycode mapping table.</para>
    99 </listitem>
    100 </varlistentry>
    101 
    102 <varlistentry id="getunimap">
    103 <term><command>getunimap</command></term>
    104 <listitem>
    105 <indexterm zone="ch-system-kbd getunimap"><primary sortas="b-getunimap">getunimap</primary></indexterm>
    106 <para>prints the currently used unimap.</para>
    107 </listitem>
    108 </varlistentry>
    109 
    110 <varlistentry id="kbd_mode">
    111 <term><command>kbd_mode</command></term>
    112 <listitem>
    113 <indexterm zone="ch-system-kbd kbd_mode"><primary sortas="b-kbd_mode">kbd_mode</primary></indexterm>
    114 <para>reports or sets the keyboard mode.</para>
    115 </listitem>
    116 </varlistentry>
    117 
    118 <varlistentry id="kbdrate">
    119 <term><command>kbdrate</command></term>
    120 <listitem>
    121 <indexterm zone="ch-system-kbd kbdrate"><primary sortas="b-kbdrate">kbdrate</primary></indexterm>
    122 <para>sets the keyboard repeat and delay rates.</para>
    123 </listitem>
    124 </varlistentry>
    125 
    126 <varlistentry id="loadkeys">
    127 <term><command>loadkeys</command></term>
    128 <listitem>
    129 <indexterm zone="ch-system-kbd loadkeys"><primary sortas="b-loadkeys">loadkeys</primary></indexterm>
    130 <para>loads the keyboard translation tables.</para>
    131 </listitem>
    132 </varlistentry>
    133 
    134 <varlistentry id="loadunimap">
    135 <term><command>loadunimap</command></term>
    136 <listitem>
    137 <indexterm zone="ch-system-kbd loadunimap"><primary sortas="b-loadunimap">loadunimap</primary></indexterm>
    138 <para>loads the kernel unicode-to-font mapping table.</para>
    139 </listitem>
    140 </varlistentry>
    141 
    142 <varlistentry id="mapscrn">
    143 <term><command>mapscrn</command></term>
    144 <listitem>
    145 <indexterm zone="ch-system-kbd mapscrn"><primary sortas="b-mapscrn">mapscrn</primary></indexterm>
    146 <para>is an obsolete program that used to load
    147 a user-defined output character mapping table into the console driver. This is
    148 now done by <command>setfont</command>.</para>
    149 </listitem>
    150 </varlistentry>
    151 
    152 <varlistentry id="openvt">
    153 <term><command>openvt</command></term>
    154 <listitem>
    155 <indexterm zone="ch-system-kbd openvt"><primary sortas="b-openvt">openvt</primary></indexterm>
    156 <para>starts a program on a new virtual terminal (VT).</para>
    157 </listitem>
    158 </varlistentry>
    159 
    160 <varlistentry id="psf">
    161 <term><command>psf*</command></term>
    162 <listitem>
    163 <indexterm zone="ch-system-kbd psf"><primary sortas="b-psf*">psf*</primary></indexterm>
    164 <para>are a set of tools for handling Unicode character tables for console fonts.</para>
    165 </listitem>
    166 </varlistentry>
    167 
    168 <varlistentry id="resizecons">
    169 <term><command>resizecons</command></term>
    170 <listitem>
    171 <indexterm zone="ch-system-kbd resizecons"><primary sortas="b-resizecons">resizecons</primary></indexterm>
    172 <para>changes the kernel idea of the console size.</para>
    173 </listitem>
    174 </varlistentry>
    175 
    176 <varlistentry id="setfont">
    177 <term><command>setfont</command></term>
    178 <listitem>
    179 <indexterm zone="ch-system-kbd setfont"><primary sortas="b-setfont">setfont</primary></indexterm>
    180 <para>lets you change the EGA/VGA fonts on the console.</para>
    181 </listitem>
    182 </varlistentry>
    183 
    184 <varlistentry id="setkeycodes">
    185 <term><command>setkeycodes</command></term>
    186 <listitem>
    187 <indexterm zone="ch-system-kbd setkeycodes"><primary sortas="b-setkeycodes">setkeycodes</primary></indexterm>
    188 <para>loads kernel scancode-to-keycode
    189 mapping table entries, useful if you have some unusual keys on your keyboard.</para>
    190 </listitem>
    191 </varlistentry>
    192 
    193 <varlistentry id="setleds">
    194 <term><command>setleds</command></term>
    195 <listitem>
    196 <indexterm zone="ch-system-kbd setleds"><primary sortas="b-setleds">setleds</primary></indexterm>
    197 <para>sets the keyboard flags and LEDs. Many
    198 people find it useful to have <quote>Num Lock</quote> on by default, <command>setleds +num</command> achieves this.</para>
    199 </listitem>
    200 </varlistentry>
    201 
    202 <varlistentry id="setlogcons">
    203 <term><command>setlogcons</command></term>
    204 <listitem>
    205 <indexterm zone="ch-system-kbd setlogcons"><primary sortas="b-setlogcons">setlogcons</primary></indexterm>
    206 <para>sends kernel messages to the console.</para>
    207 </listitem>
    208 </varlistentry>
    209 
    210 <varlistentry id="setmetamode">
    211 <term><command>setmetamode</command></term>
    212 <listitem>
    213 <indexterm zone="ch-system-kbd setmetamode"><primary sortas="b-setmetamode">setmetamode</primary></indexterm>
    214 <para>defines the keyboard meta-key handling.</para>
    215 </listitem>
    216 </varlistentry>
    217 
    218 <varlistentry id="setvesablank">
    219 <term><command>setvesablank</command></term>
    220 <listitem>
    221 <indexterm zone="ch-system-kbd setvesablank"><primary sortas="b-setvesablank">setvesablank</primary></indexterm>
    222 <para>lets you fiddle with the built-in
    223 hardware screensaver (no toasters, just a blank screen).</para>
    224 </listitem>
    225 </varlistentry>
    226 
    227 <varlistentry id="showconsolefont">
    228 <term><command>showconsolefont</command></term>
    229 <listitem>
    230 <indexterm zone="ch-system-kbd showconsolefont"><primary sortas="b-showconsolefont">showconsolefont</primary></indexterm>
    231 <para>shows the current EGA/VGA console screen font.</para>
    232 </listitem>
    233 </varlistentry>
    234 
    235 <varlistentry id="showkey">
    236 <term><command>showkey</command></term>
    237 <listitem>
    238 <indexterm zone="ch-system-kbd showkey"><primary sortas="b-showkey">showkey</primary></indexterm>
    239 <para>reports the scancodes and keycodes and
    240 ASCII codes of the keys pressed on the keyboard.</para>
    241 </listitem>
    242 </varlistentry>
    243 
    244 <varlistentry id="unicode_start">
    245 <term><command>unicode_start</command></term>
    246 <listitem>
    247 <indexterm zone="ch-system-kbd unicode_start"><primary sortas="b-unicode_start">unicode_start</primary></indexterm>
    248 <para>puts the keyboard and console in UNICODE mode. Never use it on LFS,
    249 because applications are not configured to support UNICODE.</para>
    250 </listitem>
    251 </varlistentry>
    252 
    253 <varlistentry id="unicode_stop">
    254 <term><command>unicode_stop</command></term>
    255 <listitem>
    256 <indexterm zone="ch-system-kbd unicode_stop"><primary sortas="b-unicode_stop">unicode_stop</primary></indexterm>
    257 <para>reverts keyboard and console from UNICODE mode.</para>
    258 </listitem>
    259 </varlistentry>
    260 </variablelist>
     41<para>See testing</para>
    26142
    26243</sect2>
  • chapter06/kernfs.xml

    raaa3260 r3f0c882  
    55<?dbhtml filename="kernfs.html"?>
    66
    7 <para>Various file systems exported by the kernel don't exist at all on your
    8 hard drive, but are used to communicate things to and from the kernel itself.</para>
    9 
    10 <para>Begin by creating directories onto which the file systems will be mounted:</para>
     7<para>Create the dirs:</para>
    118
    129<screen><userinput>mkdir -p $LFS/{proc,sys}</userinput></screen>
     
    1714mount -t sysfs sysfs $LFS/sys</userinput></screen>
    1815
    19 <para>Remember that if for any reason you stop working on your LFS, and start
    20 again later, it's important to check that these file systems are mounted again
    21 before entering the chroot environment, otherwise problems could occur.</para>
    22 
    23 <para>Shortly, we'll be mounting a few more file systems from within the chroot
    24 environment. To keep the host up-to-date, we'll do a <quote>fake mount</quote>
    25 for each of these now:</para>
     16<para>Do some <quote>fake mounts</quote>:</para>
    2617
    2718<screen><userinput>mount -f -t ramfs ramfs $LFS/dev
  • chapter06/less.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Less package contains a text file viewer.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>Less installation depends on</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
    24 GCC, Glibc, Grep, Make, Ncurses, Sed</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
     
    3226
    3327<screen><userinput>./configure --prefix=/usr --bindir=/bin --sysconfdir=/etc</userinput></screen>
    34 
    35 <para>The meaning of the configure option:</para>
    36 
    37 <variablelist>
    38 <varlistentry>
    39 <term><parameter>--sysconfdir=/etc</parameter></term>
    40 <listitem><para>This option tells the programs created by the package to look in
    41 <filename class="directory">/etc</filename> for their configuration files.</para></listitem>
    42 </varlistentry>
    43 </variablelist>
    4428
    4529<para>Compile the package:</para>
     
    5539<sect2 id="contents-less" role="content"><title>Contents of Less</title>
    5640
    57 <segmentedlist>
    58 <segtitle>Installed programs</segtitle>
    59 <seglistitem><seg>less, lessecho and lesskey</seg></seglistitem>
    60 </segmentedlist>
    61 
    62 <variablelist><title>Short descriptions</title>
    63 
    64 <varlistentry id="less">
    65 <term><command>less</command></term>
    66 <listitem>
    67 <indexterm zone="ch-system-less less"><primary sortas="b-less">less</primary></indexterm>
    68 <para>is a file viewer or pager. It displays the contents of the given file, letting you
    69 scroll around, find strings, and jump to marks.</para>
    70 </listitem>
    71 </varlistentry>
    72 
    73 <varlistentry id="lessecho">
    74 <term><command>lessecho</command></term>
    75 <listitem>
    76 <indexterm zone="ch-system-less lessecho"><primary sortas="b-lessecho">lessecho</primary></indexterm>
    77 <para>is needed to expand meta-characters, such as * and ?, in filenames on Unix systems.</para>
    78 </listitem>
    79 </varlistentry>
    80 
    81 <varlistentry id="lesskey">
    82 <term><command>lesskey</command></term>
    83 <listitem>
    84 <indexterm zone="ch-system-less lesskey"><primary sortas="b-lesskey">lesskey</primary></indexterm>
    85 <para>is used to specify the key bindings for <command>less</command>.</para>
    86 </listitem>
    87 </varlistentry>
    88 </variablelist>
     41<para>See testing</para>
    8942
    9043</sect2>
  • chapter06/libol.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Libol package contains support libraries needed by Syslog-ng.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>Libol installation depends on</segtitle>
    23 <seglistitem><seg>Unchecked</seg></seglistitem>
    24 </segmentedlist>
    2520</sect2>
    2621
     
    4540<sect2 id="contents-libol" role="content"><title>Contents of Libol</title>
    4641
    47 <segmentedlist>
    48 <segtitle>Installed programs</segtitle>
    49 <seglistitem><seg>Unchecked</seg></seglistitem>
    50 </segmentedlist>
    51 
    52 <!--
    53 <variablelist><title>Short descriptions</title>
    54 
    55 <varlistentry id="klogd">
    56 <term><command>klogd</command></term>
    57 <listitem>
    58 <indexterm zone="ch-system-sysklogd klogd"><primary sortas="b-klogd">klogd</primary></indexterm>
    59 <para>is a system daemon for intercepting and logging kernel messages.</para>
    60 </listitem>
    61 </varlistentry>
    62 
    63 <varlistentry id="syslogd">
    64 <term><command>syslogd</command></term>
    65 <listitem>
    66 <indexterm zone="ch-system-sysklogd syslogd"><primary sortas="b-syslogd">syslogd</primary></indexterm>
    67 <para>logs the messages that system programs
    68 offer for logging. Every logged message contains at least a date stamp and a
    69 hostname, and normally the program's name too, but that depends on how
    70 trusting the logging daemon is told to be.</para>
    71 </listitem>
    72 </varlistentry>
    73 </variablelist>
    74 -->
     42<para>See testing</para>
    7543
    7644</sect2>
  • chapter06/libtool.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Libtool package contains the GNU generic library support script.
    14 It wraps the complexity of using shared libraries in a consistent, portable
    15 interface.</para>
    1613
    1714<segmentedlist>
     
    2118</segmentedlist>
    2219
    23 <segmentedlist>
    24 <segtitle>Libtool installation depends on</segtitle>
    25 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
    26 GCC, Glibc, Grep, Make, Sed</seg></seglistitem>
    27 </segmentedlist>
    2820</sect2>
    2921
     
    5143<sect2 id="contents-libtool" role="content"><title>Contents of Libtool</title>
    5244
    53 <segmentedlist>
    54 <segtitle>Installed programs</segtitle>
    55 <segtitle>Installed libraries</segtitle>
    56 <seglistitem><seg>libtool and libtoolize</seg><seg>libltdl.[a,so]</seg></seglistitem>
    57 </segmentedlist>
    58 
    59 <variablelist><title>Short descriptions</title>
    60 
    61 <varlistentry id="libtool">
    62 <term><command>libtool</command></term>
    63 <listitem>
    64 <indexterm zone="ch-system-libtool libtool"><primary sortas="b-libtool">libtool</primary></indexterm>
    65 <para>provides generalized library-building support services.</para>
    66 </listitem>
    67 </varlistentry>
    68 
    69 <varlistentry id="libtoolize">
    70 <term><command>libtoolize</command></term>
    71 <listitem>
    72 <indexterm zone="ch-system-libtool libtoolize"><primary sortas="b-libtoolize">libtoolize</primary></indexterm>
    73 <para>provides a standard way to add libtool support to a package.</para>
    74 </listitem>
    75 </varlistentry>
    76 
    77 <varlistentry id="libltdl">
    78 <term><filename class="libraryfile">libltdl</filename></term>
    79 <listitem>
    80 <indexterm zone="ch-system-libtool libltdl"><primary sortas="c-libltdl">libltdl</primary></indexterm>
    81 <para>hides the various difficulties of dlopening libraries.</para>
    82 </listitem>
    83 </varlistentry>
    84 </variablelist>
     45<para>See testing</para>
    8546
    8647</sect2>
  • chapter06/linux-libc-headers.xml

    raaa3260 r3f0c882  
    2525<title>Installation of Linux-Libc-Headers</title>
    2626
    27 <para>For years it has been common practice to use so-called <quote>raw</quote>
    28 kernel headers (straight from a kernel tarball) in <filename class="directory">/usr/include</filename>, but over the
    29 last few years, the kernel developers have taken a strong stance that such
    30 things should not be done.  Thus was born the linux-libc-headers project,
    31 designed to maintain an API stable version of the Linux headers.</para>
    32 
    3327<para>Install the header files:</para>
    3428
     
    5044<sect2 id="contents-linux-libc-headers" role="content"><title>Contents of Linux-Libc-Headers</title>
    5145
    52 <segmentedlist>
    53 <segtitle>Installed headers</segtitle>
    54 <seglistitem><seg>/usr/include/{asm,linux}/*.h</seg></seglistitem>
    55 </segmentedlist>
    56 
    57 <variablelist><title>Short description</title>
    58 
    59 <varlistentry id="linux-libc-headers">
    60 <term><filename class="headerfile">/usr/include/{asm,linux}/*.h</filename></term>
    61 <listitem>
    62 <indexterm zone="ch-system-linux-libc-headers linux-libc-headers"><primary sortas="e-/usr/include/{asm,linux}/*.h">/usr/include/{asm,linux}/*.h</primary></indexterm>
    63 <para>This files are the Linux headers API.</para>
    64 </listitem>
    65 </varlistentry>
    66 </variablelist>
     46<para>See testing</para>
    6747
    6848</sect2>
  • chapter06/m4.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The M4 package contains a macro processor.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>M4 installation depends on</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, GCC,
    24 Gettext, Glibc, Grep, Make, Perl, Sed</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
     
    4943<sect2 id="contents-m4" role="content"><title>Contents of M4</title>
    5044
    51 <segmentedlist>
    52 <segtitle>Installed program</segtitle>
    53 <seglistitem><seg>m4</seg></seglistitem>
    54 </segmentedlist>
    55 
    56 <variablelist><title>Short descriptions</title>
    57 
    58 <varlistentry id="m4">
    59 <term><command>m4</command></term>
    60 <listitem>
    61 <indexterm zone="ch-system-m4 m4"><primary sortas="b-m4">m4</primary></indexterm>
    62 <para>copies the given files
    63 while expanding the macros that they contain. These macros are either built-in
    64 or user-defined and can take any number of arguments. Besides just doing macro
    65 expansion, <command>m4</command> has built-in functions for including named files, running Unix
    66 commands, doing integer arithmetic, manipulating text in various ways,
    67 recursion, and so on. The <command>m4</command> program can be used either as a front-end to a
    68 compiler or as a macro processor in its own right.</para>
    69 </listitem>
    70 </varlistentry>
    71 </variablelist>
     45<para>See testing</para>
    7246
    7347</sect2>
  • chapter06/make.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Make package contains a program for compiling large packages.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>Make installation depends on</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
    24 GCC, Gettext, Glibc, Grep, Sed</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
     
    4943<sect2 id="contents-make" role="content"><title>Contents of Make</title>
    5044
    51 <segmentedlist>
    52 <segtitle>Installed program</segtitle>
    53 <seglistitem><seg>make</seg></seglistitem>
    54 </segmentedlist>
    55 
    56 <variablelist><title>Short descriptions</title>
    57 
    58 <varlistentry id="make">
    59 <term><command>make</command></term>
    60 <listitem>
    61 <indexterm zone="ch-system-make make"><primary sortas="b-make">make</primary></indexterm>
    62 <para>automatically determines which pieces of a large package need to be
    63 recompiled, and then issues the relevant commands.</para>
    64 </listitem>
    65 </varlistentry>
    66 </variablelist>
     45<para>See testing</para>
    6746
    6847</sect2>
  • chapter06/man-pages.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Man-pages package contains over 1200 manual pages.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>For its installation Man-pages depends on</segtitle>
    23 <seglistitem><seg>Bash, Coreutils, Make</seg></seglistitem>
    24 </segmentedlist>
    2520</sect2>
    2621
     
    3732<sect2 id="contents-manpages" role="content"><title>Contents of Man-pages</title>
    3833
    39 <segmentedlist>
    40 <segtitle>Installed files</segtitle>
    41 <seglistitem><seg>various manual pages</seg></seglistitem>
    42 </segmentedlist>
    43 
    44 <variablelist><title>Short descriptions</title>
    45 
    46 <varlistentry id="manual-pages">
    47 <term><emphasis>manual pages</emphasis></term>
    48 <listitem>
    49 <indexterm zone="ch-system-man-pages manual-pages"><primary sortas="e-manual-pages">manual pages</primary></indexterm>
    50 <para>Examples of provided manual pages are the pages describing all the C and
    51 C++ functions, important device files, and important configuration files.</para>
    52 </listitem>
    53 </varlistentry>
    54 </variablelist>
     34<para>See testing</para>
    5535
    5636</sect2>
  • chapter06/man.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Man package contains programs for finding and viewing manual pages.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>Man installation depends on</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils, Gawk, GCC,
    24 Glibc, Grep, Make, Sed</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
     
    2923<title>Installation of Man</title>
    3024
    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
    34 of Groff. In particular, man pages will now display using the full terminal
    35 width instead of being limited to 80 characters:</para>
     25<para>Apply a patch:</para>
    3626
    3727<screen><userinput>patch -Np1 -i ../man-&man-version;-80cols-1.patch</userinput></screen>
    3828
    39 <para>The second is a sed substitution to add the <parameter>-R</parameter>
    40 switch to the <emphasis>PAGER</emphasis> variable so that escape sequences are
    41 properly handled by Less:</para>
     29<para>Issue a sed substitution:</para>
    4230
    4331<screen><userinput>sed -i 's@-is@&amp;R@g' configure</userinput></screen>
    4432
    45 <para>The third is also a sed substitution to comment out the <quote>MANPATH
    46 /usr/man</quote> line in the <filename>man.conf</filename> file to prevent
    47 redundant results when using programs such as <command>whatis</command>:</para>
     33<para>Issue another sed substitution:</para>
    4834
    4935<screen><userinput>sed -i 's@MANPATH./usr/man@#&amp;@g' src/man.conf.in</userinput></screen>
     
    5238
    5339<screen><userinput>./configure -confdir=/etc</userinput></screen>
    54 
    55 <para>The meaning of the configure options:</para>
    56 
    57 <variablelist>
    58 <varlistentry>
    59 <term><parameter>-confdir=/etc</parameter></term>
    60 <listitem><para>This tells the
    61 <command>man</command> program to look for the <filename>man.conf</filename>
    62 configuration file in the <filename class="directory">/etc</filename> directory.</para></listitem>
    63 </varlistentry>
    64 </variablelist>
    6540
    6641<para>Compile the package:</para>
     
    7247<screen><userinput>make install</userinput></screen>
    7348
    74 <note><para>If you wish to disable SGR (Select Graphic Rendition) escape sequences, you should edit the
    75 <filename>man.conf</filename> file and add the <parameter>-c</parameter> switch
    76 to NROFF.</para></note>
    77 
    78 <para>If your character set uses 8-bit characters, search for the line
    79 beginning with <quote>NROFF</quote> in <filename>/etc/man.conf</filename>, and verify that it coincides
    80 with the following:</para>
    81 
    82 <screen>NROFF  /usr/bin/nroff -Tlatin1 -mandoc</screen>
    83 
    84 <para>Note that you should use <quote>latin1</quote> even if it is not the character set
    85 of your locale. The reason is that,
    86 according to the specification, <application>groff</application> has
    87 no means of typesetting characters outside ISO-8859-1
    88 without some strange escape codes, and localized manual
    89 pages are therefore really a hack. When formatting manual pages,
    90 <application>groff</application> thinks that they are in the ISO-8859-1
    91 encoding and this <parameter>-Tlatin1</parameter> switch tells
    92 <application>groff</application> to use the same encoding for output.
    93 Since <application>groff</application> does no recoding of input characters,
    94 the formatted result is really in the same encoding as input (although
    95 <application>groff</application> doesn't know that it is not ISO-8859-1)
    96 and therefore it is usable as the input for a pager.</para>
    97 
    98 <para>Of course, this hack does not solve the problem of non-working
    99 <command>man2dvi</command> program for localized manual
    100 pages in non-ISO-8859-1 locales.
    101 Also, it does not work at all with multibyte character sets.
    102 The first problem does not have a solution currently. The second
    103 one is not of a concern because the LFS installation does not support
    104 multibyte character sets properly anyway. You may want to look at
    105 internationalization related hints, though.</para>
    106 
    107 <para>You may want to also take a look at the BLFS page at
    108 <ulink url="&blfs-root;view/cvs/postlfs/compressdoc.html"/> which deals with
    109 formatting and compression issues for man pages.</para>
    110 
    11149</sect2>
    11250
     
    11452<sect2 id="contents-man" role="content"><title>Contents of Man</title>
    11553
    116 <segmentedlist>
    117 <segtitle>Installed programs</segtitle>
    118 <seglistitem><seg>apropos, makewhatis, man,
    119 man2dvi, man2html and whatis</seg></seglistitem>
    120 </segmentedlist>
    121 
    122 <variablelist><title>Short descriptions</title>
    123 
    124 <varlistentry id="apropos">
    125 <term><command>apropos</command></term>
    126 <listitem>
    127 <indexterm zone="ch-system-man apropos"><primary sortas="b-apropos">apropos</primary></indexterm>
    128 <para>searches the whatis database and displays
    129 the short descriptions of system commands that contain a given string.</para>
    130 </listitem>
    131 </varlistentry>
    132 
    133 <varlistentry id="makewhatis">
    134 <term><command>makewhatis</command></term>
    135 <listitem>
    136 <indexterm zone="ch-system-man makewhatis"><primary sortas="b-makewhatis">makewhatis</primary></indexterm>
    137 <para>builds the whatis database. It reads
    138 all the manual pages in the manpath and for each page writes the name and a
    139 short description in the whatis database.</para>
    140 </listitem>
    141 </varlistentry>
    142 
    143 <varlistentry id="man">
    144 <term><command>man</command></term>
    145 <listitem>
    146 <indexterm zone="ch-system-man man"><primary sortas="b-man">man</primary></indexterm>
    147 <para>formats and displays the requested on-line manual page.</para>
    148 </listitem>
    149 </varlistentry>
    150 
    151 <varlistentry id="man2dvi">
    152 <term><command>man2dvi</command></term>
    153 <listitem>
    154 <indexterm zone="ch-system-man man2dvi"><primary sortas="b-man2dvi">man2dvi</primary></indexterm>
    155 <para>converts a manual page into dvi format.</para>
    156 </listitem>
    157 </varlistentry>
    158 
    159 <varlistentry id="man2html">
    160 <term><command>man2html</command></term>
    161 <listitem>
    162 <indexterm zone="ch-system-man man2html"><primary sortas="b-man2html">man2html</primary></indexterm>
    163 <para>converts a manual page into html.</para>
    164 </listitem>
    165 </varlistentry>
    166 
    167 <varlistentry id="whatis">
    168 <term><command>whatis</command></term>
    169 <listitem>
    170 <indexterm zone="ch-system-man whatis"><primary sortas="b-whatis">whatis</primary></indexterm>
    171 <para>searches the whatis database and displays the short descriptions of system
    172 commands that contain the given keyword as a separate word.</para>
    173 </listitem>
    174 </varlistentry>
    175 </variablelist>
     54<para>See testing</para>
    17655
    17756</sect2>
  • chapter06/mktemp.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Mktemp package contains programs used to create secure temporary
    14 files in shell scripts.</para>
    1513
    1614<segmentedlist>
     
    2018</segmentedlist>
    2119
    22 <para>The installation dependencies for Mktemp haven't been checked yet.</para>
    23 
    2420</sect2>
    2521
     
    2723<title>Installation of Mktemp</title>
    2824
    29 <para>Many scripts still use the deprecated <command>tempfile</command>
    30 program, which has functionality much the same as <command>mktemp</command>.
    31 Patch Mktemp to include a <command>tempfile</command> wrapper:</para>
     25<para>Apply a patch:</para>
    3226
    3327<screen><userinput>patch -Np1 -i ../mktemp-&mktemp-version;-add_tempfile-1.patch</userinput></screen>
     
    3630
    3731<screen><userinput>./configure --prefix=/usr --with-libc</userinput></screen>
    38 
    39 <para>The meaning of the configure option:</para>
    40 
    41 <variablelist>
    42 <varlistentry>
    43 <term><parameter>--with-libc</parameter></term>
    44 <listitem><para>This causes the <command>mktemp</command> program to
    45 use the <emphasis>mkstemp</emphasis> and <emphasis>mkdtemp</emphasis>
    46 functions from the system C library.</para></listitem>
    47 </varlistentry>
    48 </variablelist>
    4932
    5033<para>Compile the package:</para>
     
    6245<sect2 id="contents-mktemp" role="content"><title>Contents of Mktemp</title>
    6346
    64 <segmentedlist>
    65 <segtitle>Installed programs</segtitle>
    66 <seglistitem><seg>mktemp, tempfile</seg></seglistitem>
    67 </segmentedlist>
    68 
    69 <variablelist><title>Short descriptions</title>
    70 
    71 <varlistentry id="mktemp">
    72 <term><command>mktemp</command></term>
    73 <listitem>
    74 <indexterm zone="ch-system-mktemp mktemp"><primary sortas="b-mktemp">mktemp</primary></indexterm>
    75 <para>creates temporary files in a secure manner. It is used in scripts.</para>
    76 </listitem>
    77 </varlistentry>
    78 
    79 <varlistentry id="tempfile">
    80 <term><command>tempfile</command></term>
    81 <listitem>
    82 <indexterm zone="ch-system-mktemp tempfile"><primary sortas="b-tempfile">tempfile</primary></indexterm>
    83 <para>creates temporary files in a less secure manner than
    84 <command>mktemp</command>. It is installed for backwards-compatibility.</para>
    85 </listitem>
    86 </varlistentry>
    87 </variablelist>
     47<para>See testing</para>
    8848
    8949</sect2>
  • chapter06/module-init-tools.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Module-Init-Tools package contains programs for handling kernel
    14 modules in Linux kernels greater than or equal to version 2.5.47.</para>
    1513
    1614<segmentedlist>
     
    2018</segmentedlist>
    2119
    22 <segmentedlist>
    23 <segtitle>Module-Init-Tools installation depends on</segtitle>
    24 <seglistitem><seg>Bash, Binutils, Bison,
    25 Coreutils, Diffutils, Flex, GCC, Glibc, Grep, M4, Make, Sed</seg></seglistitem>
    26 </segmentedlist>
    2720</sect2>
    2821
     
    5043<sect2 id="contents-module-init-tools" role="content"><title>Contents of Module-Init-Tools</title>
    5144
    52 <segmentedlist>
    53 <segtitle>Installed programs</segtitle>
    54 <seglistitem><seg>depmod, genksyms, insmod,
    55 insmod_ksymoops_clean, kallsyms (link to insmod), kernelversion, ksyms
    56 (link to insmod), lsmod (link to insmod), modinfo, modprobe (link to insmod)
    57 and rmmod (link to insmod)</seg></seglistitem>
    58 </segmentedlist>
    59 
    60 <variablelist><title>Short descriptions</title>
    61 
    62 <varlistentry id="depmod">
    63 <term><command>depmod</command></term>
    64 <listitem>
    65 <indexterm zone="ch-system-module-init-tools depmod"><primary sortas="b-depmod">depmod</primary></indexterm>
    66 <para>creates a dependency file, based on the
    67 symbols it finds in the existing set of modules. This dependency file is used
    68 by modprobe to automatically load the required modules.</para>
    69 </listitem>
    70 </varlistentry>
    71 
    72 <varlistentry id="genksyms">
    73 <term><command>genksyms</command></term>
    74 <listitem>
    75 <indexterm zone="ch-system-module-init-tools genksyms"><primary sortas="b-genksyms">genksyms</primary></indexterm>
    76 <para>generates symbol version information.</para>
    77 </listitem>
    78 </varlistentry>
    79 
    80 <varlistentry id="insmod">
    81 <term><command>insmod</command></term>
    82 <listitem>
    83 <indexterm zone="ch-system-module-init-tools insmod"><primary sortas="b-insmod">insmod</primary></indexterm>
    84 <para>installs a loadable module in the running kernel.</para>
    85 </listitem>
    86 </varlistentry>
    87 
    88 <varlistentry id="insmod_ksymoops_clean">
    89 <term><command>insmod_ksymoops_clean</command></term>
    90 <listitem>
    91 <indexterm zone="ch-system-module-init-tools insmod_ksymoops_clean"><primary sortas="b-insmod_ksymoops_clean">insmod_ksymoops_clean</primary></indexterm>
    92 <para>deletes saved ksyms and modules not accessed for two days.</para>
    93 </listitem>
    94 </varlistentry>
    95 
    96 <varlistentry id="kallsyms">
    97 <term><command>kallsyms</command></term>
    98 <listitem>
    99 <indexterm zone="ch-system-module-init-tools kallsyms"><primary sortas="b-kallsyms">kallsyms</primary></indexterm>
    100 <para>extracts all kernel symbols for debugging.</para>
    101 </listitem>
    102 </varlistentry>
    103 
    104 <varlistentry id="kernelversion">
    105 <term><command>kernelversion</command></term>
    106 <listitem>
    107 <indexterm zone="ch-system-module-init-tools kernelversion"><primary sortas="b-kernelversion">kernelversion</primary></indexterm>
    108 <para>reports the major version of the running kernel.</para>
    109 </listitem>
    110 </varlistentry>
    111 
    112 <varlistentry id="ksyms">
    113 <term><command>ksyms</command></term>
    114 <listitem>
    115 <indexterm zone="ch-system-module-init-tools ksyms"><primary sortas="b-ksyms">ksyms</primary></indexterm>
    116 <para>displays exported kernel symbols.</para>
    117 </listitem>
    118 </varlistentry>
    119 
    120 <varlistentry id="lsmod">
    121 <term><command>lsmod</command></term>
    122 <listitem>
    123 <indexterm zone="ch-system-module-init-tools lsmod"><primary sortas="b-lsmod">lsmod</primary></indexterm>
    124 <para>shows which modules are loaded.</para>
    125 </listitem>
    126 </varlistentry>
    127 
    128 <varlistentry id="modinfo">
    129 <term><command>modinfo</command></term>
    130 <listitem>
    131 <indexterm zone="ch-system-module-init-tools modinfo"><primary sortas="b-modinfo">modinfo</primary></indexterm>
    132 <para>examines an object file associated with
    133 a kernel module and displays any information that it can glean.</para>
    134 </listitem>
    135 </varlistentry>
    136 
    137 <varlistentry id="modprobe">
    138 <term><command>modprobe</command></term>
    139 <listitem>
    140 <indexterm zone="ch-system-module-init-tools modprobe"><primary sortas="b-modprobe">modprobe</primary></indexterm>
    141 <para>uses a dependency file, created by
    142 <command>depmod</command>, to automatically load the relevant modules.</para>
    143 </listitem>
    144 </varlistentry>
    145 
    146 <varlistentry id="rmmod">
    147 <term><command>rmmod</command></term>
    148 <listitem>
    149 <indexterm zone="ch-system-module-init-tools rmmod"><primary sortas="b-rmmod">rmmod</primary></indexterm>
    150 <para>unloads modules from the running kernel.</para>
    151 </listitem>
    152 </varlistentry>
    153 </variablelist>
     45<para>See testing</para>
    15446
    15547</sect2>
  • chapter06/ncurses.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Ncurses package contains libraries for terminal-independent
    14 handling of character screens.</para>
    1513
    1614<segmentedlist>
     
    2018</segmentedlist>
    2119
    22 <segmentedlist>
    23 <segtitle>Ncurses installation depends on</segtitle>
    24 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
    25 Gawk, GCC, Glibc, Grep, Make, Sed</seg></seglistitem>
    26 </segmentedlist>
    2720</sect2>
    2821
     
    4639<screen><userinput>chmod 755 /usr/lib/*.&ncurses-version;</userinput></screen>
    4740
    48 <para>Now fix a library that shouldn't be executable:</para>
     41<para>Now fix a library:</para>
    4942
    5043<screen><userinput>chmod 644 /usr/lib/libncurses++.a</userinput></screen>
    5144
    52 <para>Move the libraries to the <filename class="directory">/lib</filename> directory,
    53 where they're expected to reside:</para>
     45<para>Move the libraries to the <filename class="directory">/lib</filename> directory:</para>
    5446
    5547<screen><userinput>mv /usr/lib/libncurses.so.5* /lib</userinput></screen>
    5648
    57 <para>Because the libraries have been moved, a few symlinks are pointing to
    58 non-existent files. Recreate those symlinks:</para>
     49<para>Recreate some symlinks:</para>
    5950
    6051<screen><userinput>ln -sf ../../lib/libncurses.so.5 /usr/lib/libncurses.so
     
    6556<sect2 id="contents-ncurses" role="content"><title>Contents of Ncurses</title>
    6657
    67 <segmentedlist>
    68 <segtitle>Installed programs</segtitle>
    69 <segtitle>Installed libraries</segtitle>
    70 <seglistitem><seg>captoinfo (link to tic), clear, infocmp, infotocap (link to tic),
    71 reset (link to tset), tack, tic, toe, tput and tset</seg>
    72 <seg>libcurses.[a,so] (link to libncurses.[a,so]), libform.[a,so], libmenu.[a,so],
    73 libncurses++.a, libncurses.[a,so], libpanel.[a,so]</seg></seglistitem>
    74 </segmentedlist>
    75 
    76 <variablelist><title>Short descriptions</title>
    77 
    78 <varlistentry id="captoinfo">
    79 <term><command>captoinfo</command></term>
    80 <listitem>
    81 <indexterm zone="ch-system-ncurses captoinfo"><primary sortas="b-captoinfo">captoinfo</primary></indexterm>
    82 <para>converts a termcap description into a terminfo description.</para>
    83 </listitem>
    84 </varlistentry>
    85 
    86 <varlistentry id="clear">
    87 <term><command>clear</command></term>
    88 <listitem>
    89 <indexterm zone="ch-system-ncurses clear"><primary sortas="b-clear">clear</primary></indexterm>
    90 <para>clears the screen, if this is possible.</para>
    91 </listitem>
    92 </varlistentry>
    93 
    94 <varlistentry id="infocmp">
    95 <term><command>infocmp</command></term>
    96 <listitem>
    97 <indexterm zone="ch-system-ncurses infocmp"><primary sortas="b-infocmp">infocmp</primary></indexterm>
    98 <para>compares or prints out terminfo descriptions.</para>
    99 </listitem>
    100 </varlistentry>
    101 
    102 <varlistentry id="infotocap">
    103 <term><command>infotocap</command></term>
    104 <listitem>
    105 <indexterm zone="ch-system-ncurses infotocap"><primary sortas="b-infotocap">infotocap</primary></indexterm>
    106 <para>converts a terminfo description into a termcap description.</para>
    107 </listitem>
    108 </varlistentry>
    109 
    110 <varlistentry id="reset">
    111 <term><command>reset</command></term>
    112 <listitem>
    113 <indexterm zone="ch-system-ncurses reset"><primary sortas="b-reset">reset</primary></indexterm>
    114 <para>reinitializes a terminal to its default values.</para>
    115 </listitem>
    116 </varlistentry>
    117 
    118 <varlistentry id="tack">
    119 <term><command>tack</command></term>
    120 <listitem>
    121 <indexterm zone="ch-system-ncurses tack"><primary sortas="b-tack">tack</primary></indexterm>
    122 <para>is the terminfo action checker. It is mainly
    123 used to test the correctness of an entry in the terminfo database.</para>
    124 </listitem>
    125 </varlistentry>
    126 
    127 <varlistentry id="tic">
    128 <term><command>tic</command></term>
    129 <listitem>
    130 <indexterm zone="ch-system-ncurses tic"><primary sortas="b-tic">tic</primary></indexterm>
    131 <para>is the terminfo entry-description compiler.
    132 It translates a terminfo file from source format into the binary format needed
    133 for the ncurses library routines. A terminfo file contains information on the
    134 capabilities of a certain terminal.</para>
    135 </listitem>
    136 </varlistentry>
    137 
    138 <varlistentry id="toe">
    139 <term><command>toe</command></term>
    140 <listitem>
    141 <indexterm zone="ch-system-ncurses toe"><primary sortas="b-toe">toe</primary></indexterm>
    142 <para>lists all available terminal types, for each
    143 giving its primary name and its description.</para>
    144 </listitem>
    145 </varlistentry>
    146 
    147 <varlistentry id="tput">
    148 <term><command>tput</command></term>
    149 <listitem>
    150 <indexterm zone="ch-system-ncurses tput"><primary sortas="b-tput">tput</primary></indexterm>
    151 <para>makes the values of terminal-dependent
    152 capabilities available to the shell. It can also be used to reset or initialize
    153 a terminal, or report its long name.</para>
    154 </listitem>
    155 </varlistentry>
    156 
    157 <varlistentry id="tset">
    158 <term><command>tset</command></term>
    159 <listitem>
    160 <indexterm zone="ch-system-ncurses tset"><primary sortas="b-tset">tset</primary></indexterm>
    161 <para>can be used to initialize terminals.</para>
    162 </listitem>
    163 </varlistentry>
    164 
    165 <varlistentry id="libncurses">
    166 <term><filename class="libraryfile">>libncurses*</filename></term>
    167 <listitem>
    168 <indexterm zone="ch-system-ncurses libncurses"><primary sortas="c-libncurses*">libncurses*</primary></indexterm>
    169 <para>contains functions to display text in
    170 many complicated ways on a terminal screen. A good example of the use of these
    171 functions is the menu displayed during the kernel's <command>make menuconfig</command>.</para>
    172 </listitem>
    173 </varlistentry>
    174 
    175 <varlistentry id="libform">
    176 <term><filename class="libraryfile">libform*</filename></term>
    177 <listitem>
    178 <indexterm zone="ch-system-ncurses libform"><primary sortas="c-libform*">libform*</primary></indexterm>
    179 <para>contains functions to implement forms.</para>
    180 </listitem>
    181 </varlistentry>
    182 
    183 <varlistentry id="libmenu">
    184 <term><filename class="libraryfile">libmenu*</filename></term>
    185 <listitem>
    186 <indexterm zone="ch-system-ncurses libmenu"><primary sortas="c-libmenu*">libmenu*</primary></indexterm>
    187 <para>contains functions to implement menus.</para>
    188 </listitem>
    189 </varlistentry>
    190 
    191 <varlistentry id="libpanel">
    192 <term><filename class="libraryfile">libpanel*</filename></term>
    193 <listitem>
    194 <indexterm zone="ch-system-ncurses libpanel"><primary sortas="c-libpanel*">libpanel*</primary></indexterm>
    195 <para>contains functions to implement panels.</para>
    196 </listitem>
    197 </varlistentry>
    198 </variablelist>
     58<para>See testing</para>
    19959
    20060</sect2>
  • chapter06/patch.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Patch package contains a program for modifying files.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>Patch installation depends on</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
    24 GCC, Glibc, Grep, Make, Sed</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
     
    2923<title>Installation of Patch</title>
    3024
    31 <para>Prepare Patch for compilation (the preprocessor flag
    32 <parameter>-D_GNU_SOURCE</parameter> is only needed on PowerPCs, on other
    33 machines you can leave it out):</para>
     25<para>Prepare Patch for compilation:</para>
    3426
    3527<screen><userinput>CPPFLAGS=-D_GNU_SOURCE ./configure --prefix=/usr</userinput></screen>
     
    4840<sect2 id="contents-patch" role="content"><title>Contents of Patch</title>
    4941
    50 <segmentedlist>
    51 <segtitle>Installed program</segtitle>
    52 <seglistitem><seg>patch</seg></seglistitem>
    53 </segmentedlist>
    54 
    55 <variablelist><title>Short descriptions</title>
    56 
    57 <varlistentry id="patch">
    58 <term><command>patch</command></term>
    59 <listitem>
    60 <indexterm zone="ch-system-patch patch"><primary sortas="b-patch">patch</primary></indexterm>
    61 <para>modifies files according to a patch file.
    62 A patch file normally is a difference listing created with the <command>diff</command> program.
    63 By applying these differences to the original files, <command>patch</command> creates the patched
    64 versions. Using patches instead of entirely new tarballs to keep your sources
    65 up-to-date can save you a lot of download time.</para>
    66 </listitem>
    67 </varlistentry>
    68 </variablelist>
     42<para>See testing</para>
    6943
    7044</sect2>
  • chapter06/perl.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Perl package contains the Practical Extraction and Report Language.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>Perl installation depends on</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
    24 Gawk, GCC, Glibc, Grep, Make, Sed</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
     
    2923<title>Installation of Perl</title>
    3024
    31 <para>If you want full control over the way Perl is set up, you can run the
    32 interactive <command>Configure</command> script and hand-pick the way this
    33 package is built. If you think you can live with the (sensible)
    34 defaults it auto-detects, then prepare Perl for compilation with:</para>
     25<para>Prepare Perl for compilation:</para>
    3526
    3627<screen><userinput>./configure.gnu --prefix=/usr -Dpager="/bin/less -isR"</userinput></screen>
    37 
    38 <para>The meaning of the configure option:</para>
    39 
    40 <variablelist>
    41 <varlistentry>
    42 <term><parameter>-Dpager="/bin/less -isR"</parameter></term>
    43 <listitem><para>This corrects an error in the <command>perldoc</command> code with the invocation
    44 of the <command>less</command> program.</para></listitem>
    45 </varlistentry>
    46 </variablelist>
    4728
    4829<para>Compile the package:</para>
     
    5031<screen><userinput>make</userinput></screen>
    5132
    52 <para>If you wish to run the test suite, you first have to create a basic
    53 <filename>/etc/hosts</filename> file, which is needed by a couple of tests to
    54 resolve the name <emphasis>localhost</emphasis>:</para>
     33<para>Create a basic <filename>/etc/hosts</filename> file:</para>
    5534
    5635<screen><userinput>echo "127.0.0.1 localhost $(hostname)" &gt; /etc/hosts</userinput></screen>
    5736
    58 <para>Now run the tests, if you wish:</para>
     37<para>Run the tests:</para>
    5938
    6039<screen><userinput>make test</userinput></screen>
    6140
    62 <para>Finally, install the package:</para>
     41<para>Install the package:</para>
    6342
    6443<screen><userinput>make install</userinput></screen>
     
    6948<sect2 id="contents-perl" role="content"><title>Contents of Perl</title>
    7049
    71 <segmentedlist>
    72 <segtitle>Installed programs</segtitle>
    73 <segtitle>Installed libraries</segtitle>
    74 <seglistitem><seg>a2p, c2ph, dprofpp, enc2xs,
    75 find2perl, h2ph, h2xs, libnetcfg, perl, perl&perl-version; (link to perl),
    76 perlbug, perlcc, perldoc, perlivp, piconv, pl2pm, pod2html, pod2latex, pod2man,
    77 pod2text, pod2usage, podchecker, podselect, psed (link to s2p), pstruct (link
    78 to c2ph), s2p, splain and xsubpp</seg>
    79 <seg>(too many to name)</seg></seglistitem>
    80 </segmentedlist>
    81 
    82 <variablelist><title>Short descriptions</title>
    83 
    84 <varlistentry id="a2p">
    85 <term><command>a2p</command></term>
    86 <listitem>
    87 <indexterm zone="ch-system-perl a2p"><primary sortas="b-a2p">a2p</primary></indexterm>
    88 <para>translates awk to Perl.</para>
    89 </listitem>
    90 </varlistentry>
    91 
    92 <varlistentry id="c2ph">
    93 <term><command>c2ph</command></term>
    94 <listitem>
    95 <indexterm zone="ch-system-perl c2ph"><primary sortas="b-c2ph">c2ph</primary></indexterm>
    96 <para>dumps C structures as generated from <quote>cc -g -S</quote> stabs.</para>
    97 </listitem>
    98 </varlistentry>
    99 
    100 <varlistentry id="dprofpp">
    101 <term><command>dprofpp</command></term>
    102 <listitem>
    103 <indexterm zone="ch-system-perl dprofpp"><primary sortas="b-dprofpp">dprofpp</primary></indexterm>
    104 <para>displays Perl profile data.</para>
    105 </listitem>
    106 </varlistentry>
    107 
    108 <varlistentry id="en2cxs">
    109 <term><command>en2cxs</command></term>
    110 <listitem>
    111 <indexterm zone="ch-system-perl en2cxs"><primary sortas="b-en2cxs">en2cxs</primary></indexterm>
    112 <para>builds a Perl extension for the Encode module,
    113 from either Unicode Character Mappings or Tcl Encoding Files.</para>
    114 </listitem>
    115 </varlistentry>
    116 
    117 <varlistentry id="find2perl">
    118 <term><command>find2perl</command></term>
    119 <listitem>
    120 <indexterm zone="ch-system-perl find2perl"><primary sortas="b-find2perl">find2perl</primary></indexterm>
    121 <para>translates find commands to Perl.</para>
    122 </listitem>
    123 </varlistentry>
    124 
    125 <varlistentry id="h2ph">
    126 <term><command>h2ph</command></term>
    127 <listitem>
    128 <indexterm zone="ch-system-perl h2ph"><primary sortas="b-h2ph">h2ph</primary></indexterm>
    129 <para>converts <filename class="extension">.h</filename> C header files to
    130 <filename class="extension">.ph</filename> Perl header files.</para>
    131 </listitem>
    132 </varlistentry>
    133 
    134 <varlistentry id="h2xs">
    135 <term><command>h2xs</command></term>
    136 <listitem>
    137 <indexterm zone="ch-system-perl h2xs"><primary sortas="b-h2xs">h2xs</primary></indexterm>
    138 <para>converts <filename class="extension">.h</filename> C header files to Perl extensions.</para>
    139 </listitem>
    140 </varlistentry>
    141 
    142 <varlistentry id="libnetcfg">
    143 <term><command>libnetcfg</command></term>
    144 <listitem>
    145 <indexterm zone="ch-system-perl libnetcfg"><primary sortas="b-libnetcfg">libnetcfg</primary></indexterm>
    146 <para>can be used to configure the <filename class="libraryfile">libnet</filename>.</para>
    147 </listitem>
    148 </varlistentry>
    149 
    150 <varlistentry id="perl">
    151 <term><command>perl</command></term>
    152 <listitem>
    153 <indexterm zone="ch-system-perl perl"><primary sortas="b-perl">perl</primary></indexterm>
    154 <para>combines some of the best features of C, sed,
    155 awk and sh into a single swiss-army language.</para>
    156 </listitem>
    157 </varlistentry>
    158 
    159 <varlistentry id="perlbug">
    160 <term><command>perlbug</command></term>
    161 <listitem>
    162 <indexterm zone="ch-system-perl perlbug"><primary sortas="b-perlbug">perlbug</primary></indexterm>
    163 <para>is used to generate bug reports about
    164 Perl or the modules that come with it, and mail them.</para>
    165 </listitem>
    166 </varlistentry>
    167 
    168 <varlistentry id="perlcc">
    169 <term><command>perlcc</command></term>
    170 <listitem>
    171 <indexterm zone="ch-system-perl perlcc"><primary sortas="b-perlcc">perlcc</primary></indexterm>
    172 <para>generates executables from Perl programs.</para>
    173 </listitem>
    174 </varlistentry>
    175 
    176 <varlistentry id="perldoc">
    177 <term><command>perldoc</command></term>
    178 <listitem>
    179 <indexterm zone="ch-system-perl perldoc"><primary sortas="b-perldoc">perldoc</primary></indexterm>
    180 <para>displays a piece of documentation in pod
    181 format that is embedded in the Perl installation tree or in a Perl script.</para>
    182 </listitem>
    183 </varlistentry>
    184 
    185 <varlistentry id="perlivp">
    186 <term><command>perlivp</command></term>
    187 <listitem>
    188 <indexterm zone="ch-system-perl perlivp"><primary sortas="b-perlivp">perlivp</primary></indexterm>
    189 <para>is the Perl Installation Verification Procedure. It can be used to verify that
    190 Perl and its libraries have been installed correctly.</para>
    191 </listitem>
    192 </varlistentry>
    193 
    194 <varlistentry id="piconv">
    195 <term><command>piconv</command></term>
    196 <listitem>
    197 <indexterm zone="ch-system-perl piconv"><primary sortas="b-piconv">piconv</primary></indexterm>
    198 <para>is a Perl version of the character encoding
    199 converter <command>iconv</command>.</para>
    200 </listitem>
    201 </varlistentry>
    202 
    203 <varlistentry id="pl2pm">
    204 <term><command>pl2pm</command></term>
    205 <listitem>
    206 <indexterm zone="ch-system-perl pl2pm"><primary sortas="b-pl2pm">pl2pm</primary></indexterm>
    207 <para>is a rough tool for converting Perl4 <filename class="extension">.pl</filename>
    208 files to Perl5 <filename class="extension">.pm</filename> modules.</para>
    209 </listitem>
    210 </varlistentry>
    211 
    212 <varlistentry id="pod2html">
    213 <term><command>pod2html</command></term>
    214 <listitem>
    215 <indexterm zone="ch-system-perl pod2html"><primary sortas="b-pod2html">pod2html</primary></indexterm>
    216 <para>converts files from pod format to HTML format.</para>
    217 </listitem>
    218 </varlistentry>
    219 
    220 <varlistentry id="pod2latex">
    221 <term><command>pod2latex</command></term>
    222 <listitem>
    223 <indexterm zone="ch-system-perl pod2latex"><primary sortas="b-pod2latex">pod2latex</primary></indexterm>
    224 <para>converts files from pod format to LaTeX format.</para>
    225 </listitem>
    226 </varlistentry>
    227 
    228 <varlistentry id="pod2man">
    229 <term><command>pod2man</command></term>
    230 <listitem>
    231 <indexterm zone="ch-system-perl pod2man"><primary sortas="b-pod2man">pod2man</primary></indexterm>
    232 <para>converts pod data to formatted *roff input.</para>
    233 </listitem>
    234 </varlistentry>
    235 
    236 <varlistentry id="pod2text">
    237 <term><command>pod2text</command></term>
    238 <listitem>
    239 <indexterm zone="ch-system-perl pod2text"><primary sortas="b-pod2text">pod2text</primary></indexterm>
    240 <para>converts pod data to formatted ASCII text.</para>
    241 </listitem>
    242 </varlistentry>
    243 
    244 <varlistentry id="pod2usage">
    245 <term><command>pod2usage</command></term>
    246 <listitem>
    247 <indexterm zone="ch-system-perl pod2usage"><primary sortas="b-pod2usage">pod2usage</primary></indexterm>
    248 <para>prints usage messages from embedded pod docs in files.</para>
    249 </listitem>
    250 </varlistentry>
    251 
    252 <varlistentry id="podchecker">
    253 <term><command>podchecker</command></term>
    254 <listitem>
    255 <indexterm zone="ch-system-perl podchecker"><primary sortas="b-podchecker">podchecker</primary></indexterm>
    256 <para>checks the syntax of pod format documentation files.</para>
    257 </listitem>
    258 </varlistentry>
    259 
    260 <varlistentry id="podselect">
    261 <term><command>podselect</command></term>
    262 <listitem>
    263 <indexterm zone="ch-system-perl podselect"><primary sortas="b-podselect">podselect</primary></indexterm>
    264 <para>displays selected sections of pod documentation.</para>
    265 </listitem>
    266 </varlistentry>
    267 
    268 <varlistentry id="psed">
    269 <term><command>psed</command></term>
    270 <listitem>
    271 <indexterm zone="ch-system-perl psed"><primary sortas="b-psed">psed</primary></indexterm>
    272 <para>is a Perl version of the stream editor <command>sed</command>.</para>
    273 </listitem>
    274 </varlistentry>
    275 
    276 <varlistentry id="pstruct">
    277 <term><command>pstruct</command></term>
    278 <listitem>
    279 <indexterm zone="ch-system-perl pstruct"><primary sortas="b-pstruct">pstruct</primary></indexterm>
    280 <para>dumps C structures as generated from <quote>cc -g -S</quote> stabs.</para>
    281 </listitem>
    282 </varlistentry>
    283 
    284 <varlistentry id="s2p">
    285 <term><command>s2p</command></term>
    286 <listitem>
    287 <indexterm zone="ch-system-perl s2p"><primary sortas="b-s2p">s2p</primary></indexterm>
    288 <para>translates sed to Perl.</para>
    289 </listitem>
    290 </varlistentry>
    291 
    292 <varlistentry id="splain">
    293 <term><command>splain</command></term>
    294 <listitem>
    295 <indexterm zone="ch-system-perl splain"><primary sortas="b-splain">splain</primary></indexterm>
    296 <para>is used to force verbose warning
    297 diagnostics in Perl.</para>
    298 </listitem>
    299 </varlistentry>
    300 
    301 <varlistentry id="xsubpp">
    302 <term><command>xsubpp</command></term>
    303 <listitem>
    304 <indexterm zone="ch-system-perl xsubpp"><primary sortas="b-xsubpp">xsubpp</primary></indexterm>
    305 <para>converts Perl XS code into C code.</para>
    306 </listitem>
    307 </varlistentry>
    308 </variablelist>
     50<para>See testing</para>
    30951
    31052</sect2>
  • chapter06/procps.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Procps package contains programs for monitoring processes.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>Procps installation depends on</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils, GCC, Glibc,
    24 Make, Ncurses</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
     
    4236<sect2 id="contents-procps" role="content"><title>Contents of Procps</title>
    4337
    44 <segmentedlist>
    45 <segtitle>Installed programs</segtitle>
    46 <segtitle>Installed library</segtitle>
    47 <seglistitem><seg>free, kill, pgrep, pkill,
    48 pmap, ps, skill, snice, sysctl, tload, top, uptime, vmstat, w and watch</seg>
    49 <seg>libproc.so</seg></seglistitem>
    50 </segmentedlist>
    51 
    52 <variablelist><title>Short descriptions</title>
    53 
    54 <varlistentry id="free">
    55 <term><command>free</command></term>
    56 <listitem>
    57 <indexterm zone="ch-system-procps free"><primary sortas="b-free">free</primary></indexterm>
    58 <para>reports the amount of free and used memory
    59 in the system, both physical and swap memory.</para>
    60 </listitem>
    61 </varlistentry>
    62 
    63 <varlistentry id="kill">
    64 <term><command>kill</command></term>
    65 <listitem>
    66 <indexterm zone="ch-system-procps kill"><primary sortas="b-kill">kill</primary></indexterm>
    67 <para>is used to send signals to processes.</para>
    68 </listitem>
    69 </varlistentry>
    70 
    71 <varlistentry id="pgrep">
    72 <term><command>pgrep</command></term>
    73 <listitem>
    74 <indexterm zone="ch-system-procps pgrep"><primary sortas="b-pgrep">pgrep</primary></indexterm>
    75 <para>looks up processes based on their name and other attributes.</para>
    76 </listitem>
    77 </varlistentry>
    78 
    79 <varlistentry id="pkill">
    80 <term><command>pkill</command></term>
    81 <listitem>
    82 <indexterm zone="ch-system-procps pkill"><primary sortas="b-pkill">pkill</primary></indexterm>
    83 <para>signals processes based on their name and other attributes.</para>
    84 </listitem>
    85 </varlistentry>
    86 
    87 <varlistentry id="pmap">
    88 <term><command>pmap</command></term>
    89 <listitem>
    90 <indexterm zone="ch-system-procps pmap"><primary sortas="b-pmap">pmap</primary></indexterm>
    91 <para>reports the memory map of the given process.</para>
    92 </listitem>
    93 </varlistentry>
    94 
    95 <varlistentry id="ps">
    96 <term><command>ps</command></term>
    97 <listitem>
    98 <indexterm zone="ch-system-procps ps"><primary sortas="b-ps">ps</primary></indexterm>
    99 <para>gives a snapshot of the current processes.</para>
    100 </listitem>
    101 </varlistentry>
    102 
    103 <varlistentry id="skill">
    104 <term><command>skill</command></term>
    105 <listitem>
    106 <indexterm zone="ch-system-procps skill"><primary sortas="b-skill">skill</primary></indexterm>
    107 <para>sends signals to processes matching the given criteria.</para>
    108 </listitem>
    109 </varlistentry>
    110 
    111 <varlistentry id="snice">
    112 <term><command>snice</command></term>
    113 <listitem>
    114 <indexterm zone="ch-system-procps snice"><primary sortas="b-snice">snice</primary></indexterm>
    115 <para>changes the scheduling priority of processes matching the given criteria.</para>
    116 </listitem>
    117 </varlistentry>
    118 
    119 <varlistentry id="sysctl">
    120 <term><command>sysctl</command></term>
    121 <listitem>
    122 <indexterm zone="ch-system-procps sysctl"><primary sortas="b-sysctl">sysctl</primary></indexterm>
    123 <para>modifies kernel parameters at run time.</para>
    124 </listitem>
    125 </varlistentry>
    126 
    127 <varlistentry id="tload">
    128 <term><command>tload</command></term>
    129 <listitem>
    130 <indexterm zone="ch-system-procps tload"><primary sortas="b-tload">tload</primary></indexterm>
    131 <para>prints a graph of the current system load average.</para>
    132 </listitem>
    133 </varlistentry>
    134 
    135 <varlistentry id="top">
    136 <term><command>top</command></term>
    137 <listitem>
    138 <indexterm zone="ch-system-procps top"><primary sortas="b-top">top</primary></indexterm>
    139 <para>displays the top CPU processes. It provides
    140 an ongoing look at processor activity in real time.</para>
    141 </listitem>
    142 </varlistentry>
    143 
    144 <varlistentry id="uptime">
    145 <term><command>uptime</command></term>
    146 <listitem>
    147 <indexterm zone="ch-system-procps uptime"><primary sortas="b-uptime">uptime</primary></indexterm>
    148 <para>reports how long the system has been
    149 running, how many users are logged on, and the system load averages.</para>
    150 </listitem>
    151 </varlistentry>
    152 
    153 <varlistentry id="vmstat">
    154 <term><command>vmstat</command></term>
    155 <listitem>
    156 <indexterm zone="ch-system-procps vmstat"><primary sortas="b-vmstat">vmstat</primary></indexterm>
    157 <para>reports virtual memory statistics, giving information about processes,
    158 memory, paging, block IO, traps, and CPU activity.</para>
    159 </listitem>
    160 </varlistentry>
    161 
    162 <varlistentry id="w">
    163 <term><command>w</command></term>
    164 <listitem>
    165 <indexterm zone="ch-system-procps w"><primary sortas="b-w">w</primary></indexterm>
    166 <para>shows which users are currently logged on, where and since when.</para>
    167 </listitem>
    168 </varlistentry>
    169 
    170 <varlistentry id="watch">
    171 <term><command>watch</command></term>
    172 <listitem>
    173 <indexterm zone="ch-system-procps watch"><primary sortas="b-watch">watch</primary></indexterm>
    174 <para>runs a given command repeatedly, displaying the first screen-full of its
    175 output. This allows you to watch the output change over time.</para>
    176 </listitem>
    177 </varlistentry>
    178 
    179 <varlistentry id="libproc">
    180 <term><filename class="libraryfile">libproc</filename></term>
    181 <listitem>
    182 <indexterm zone="ch-system-procps libproc"><primary sortas="c-libproc">libproc</primary></indexterm>
    183 <para>contains the functions used by most programs in this package.</para>
    184 </listitem>
    185 </varlistentry>
    186 </variablelist>
     38<para>See testing</para>
    18739
    18840</sect2>
  • chapter06/psmisc.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Psmisc package contains programs for displaying information on
    14 processes.</para>
    1513
    1614<segmentedlist>
     
    2018</segmentedlist>
    2119
    22 <segmentedlist>
    23 <segtitle>Psmisc installation depends on</segtitle>
    24 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
    25 GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed</seg></seglistitem>
    26 </segmentedlist>
    2720</sect2>
    2821
     
    3427<screen><userinput>./configure --prefix=/usr --exec-prefix=""</userinput></screen>
    3528
    36 <para>The meaning of the configure option:</para>
    37 
    38 <variablelist>
    39 <varlistentry>
    40 <term><parameter>--exec-prefix=""</parameter></term>
    41 <listitem><para>This causes the
    42 binaries to be installed in <filename class="directory">/bin</filename> instead of
    43 <filename class="directory">/usr/bin</filename>. As the Psmisc programs are often used in
    44 bootscripts, they should be available also when the <filename class="directory">/usr</filename>
    45 file system isn't mounted.</para></listitem>
    46 </varlistentry>
    47 </variablelist>
    48 
    4929<para>Compile the package:</para>
    5030
     
    5535<screen><userinput>make install</userinput></screen>
    5636
    57 <para>There is no reason for the <command>pstree</command> and
    58 <command>pstree.x11</command> programs to reside in
    59 <filename class="directory">/bin</filename>. We therefore move them to
    60 <filename class="directory">/usr/bin</filename>. Also, there is no need
    61 for <command>pstree.x11</command> to exist as a separate program. We
    62 therefore make it a symbolic link to <command>pstree</command>:</para>
     37<para>Move a program:</para>
    6338
    6439<screen><userinput>mv /bin/pstree* /usr/bin
    6540ln -sf pstree /usr/bin/pstree.x11</userinput></screen>
    6641
    67 <para>By default Psmisc's <command>pidof</command> program isn't installed.
    68 Generally, this isn't a problem because we later install the Sysvinit package,
    69 which provides a better <command>pidof</command> program. But if you're not
    70 going to use Sysvinit, you should complete the installation of Psmisc by
    71 creating the following symlink:</para>
     42<para>If you're not going to use Sysvinit, you should create the following symlink:</para>
    7243
    7344<screen><userinput>ln -s killall /bin/pidof</userinput></screen>
     
    7849<sect2 id="contents-psmisc" role="content"><title>Contents of Psmisc</title>
    7950
    80 <segmentedlist>
    81 <segtitle>Installed programs</segtitle>
    82 <seglistitem><seg>fuser, killall, pstree and pstree.x11 (link to pstree)</seg></seglistitem>
    83 </segmentedlist>
    84 
    85 <variablelist><title>Short descriptions</title>
    86 
    87 <varlistentry id="fuser">
    88 <term><command>fuser</command></term>
    89 <listitem>
    90 <indexterm zone="ch-system-psmisc fuser"><primary sortas="b-fuser">fuser</primary></indexterm>
    91 <para>reports the PIDs of processes that use the given files or file systems.</para>
    92 </listitem>
    93 </varlistentry>
    94 
    95 <varlistentry id="killall">
    96 <term><command>killall</command></term>
    97 <listitem>
    98 <indexterm zone="ch-system-psmisc killall"><primary sortas="b-killall">killall</primary></indexterm>
    99 <para>kills processes by name. It sends a signal
    100 to all processes running any of the given commands.</para>
    101 </listitem>
    102 </varlistentry>
    103 
    104 <varlistentry id="pstree">
    105 <term><command>pstree</command></term>
    106 <listitem>
    107 <indexterm zone="ch-system-psmisc pstree"><primary sortas="b-pstree">pstree</primary></indexterm>
    108 <para>displays running processes as a tree.</para>
    109 </listitem>
    110 </varlistentry>
    111 
    112 <varlistentry id="pstree.x11">
    113 <term><command>pstree.x11</command></term>
    114 <listitem>
    115 <indexterm zone="ch-system-psmisc pstree.x11"><primary sortas="b-pstree.x11">pstree.x11</primary></indexterm>
    116 <para>same as pstree except that it waits for confirmation before exiting.</para>
    117 </listitem>
    118 </varlistentry>
    119 </variablelist>
     51<para>See testing</para>
    12052
    12153</sect2>
  • chapter06/pwdgroup.xml

    raaa3260 r3f0c882  
    88<?dbhtml filename="pwdgroup.html"?>
    99
    10 <indexterm zone="ch-system-pwdgroup"><primary sortas="e-/etc/passwd">/etc/passwd</primary></indexterm>
    11 <indexterm zone="ch-system-pwdgroup"><primary sortas="e-/etc/group">/etc/group</primary></indexterm>
    12 <indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/run/utmp">/var/run/utmp</primary></indexterm>
    13 <indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/btmp">/var/log/btmp</primary></indexterm>
    14 <indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/lastlog">/var/log/lastlog</primary></indexterm>
    15 <indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/wtmp">/var/log/wtmp</primary></indexterm>
    16 
    17 <para>In order for <emphasis>root</emphasis> to be able to login and for the
    18 name <quote>root</quote> to be recognized, there need to be relevant entries in
    19 the <filename>/etc/passwd</filename> and <filename>/etc/group</filename> files.
    20 </para>
    21 
    22 <para>Create the <filename>/etc/passwd</filename> file by running the following
    23 command:</para>
     10<para>Create the <filename>/etc/passwd</filename> file:</para>
    2411
    2512<screen><userinput>cat &gt; /etc/passwd &lt;&lt; "EOF"
     
    2714EOF</userinput></screen>
    2815
    29 <para>The actual password for <emphasis>root</emphasis> (the <quote>x</quote>
    30 here is just a placeholder) will be set later.</para>
    31 
    32 <para>Create the <filename>/etc/group</filename> file by running the following
    33 command:</para>
     16<para>Create the <filename>/etc/group</filename> file:</para>
    3417
    3518<screen><userinput>cat &gt; /etc/group &lt;&lt; "EOF"
     
    5134EOF</userinput></screen>
    5235
    53 <para>The created groups aren't part of any standard -- they are some of the
    54 groups that the Udev configuration we will be using in the next section
    55 uses. The LSB (<ulink url="http://www.linuxbase.org/">Linux Standard
    56 Base</ulink>) recommends only that, beside the group <quote>root</quote> with a
    57 GID of 0, a group <quote>bin</quote> with a GID of 1 be present. All other group
    58 names and GIDs can be chosen freely by the system administrator, since
    59 well-written packages don't depend on GID numbers but use the group's name.
    60 </para>
    61 
    62 <para>To get rid of the <quote>I have no name!</quote> prompt, we will start a
    63 new shell.  Since we installed a full Glibc in
    64 <xref linkend="chapter-temporary-tools"/>, and have just created the
    65 <filename>/etc/passwd</filename> and <filename>/etc/group</filename> files,
    66 user name and group name resolution will now work.</para>
     36<para>Start a new shell:</para>
    6737
    6838<screen><userinput>exec /tools/bin/bash --login +h</userinput></screen>
    6939
    70 <para>Note the use of the <parameter>+h</parameter> directive. This tells
    71 <command>bash</command> not to use its internal path hashing. Without this
    72 directive, <command>bash</command> would remember the paths to binaries it
    73 has executed. Since we want to use our newly compiled binaries as soon as
    74 they are installed, we turn off this function for the duration of this
    75 chapter.</para>
    76 
    77 <para>The <command>login</command>, <command>agetty</command> and
    78 <command>init</command> programs (and some others) use a number of log
    79 files to record information such as who was logged into the system and when.
    80 These programs, however, won't write to the log files if they don't already
    81 exist. Initialize the log files and give them their proper permissions:</para>
     40<para>Initialize the log files and give them their proper permissions:</para>
    8241
    8342<screen><userinput>touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
     
    8544chmod 664 /var/run/utmp /var/log/lastlog</userinput></screen>
    8645
    87 <para>The <filename>/var/run/utmp</filename> file records the users that are
    88 currently logged in. The <filename>/var/log/wtmp</filename> file records all
    89 logins and logouts. The <filename>/var/log/lastlog</filename> file records for
    90 each user when he or she last logged in. The <filename>/var/log/btmp</filename>
    91 file records the bad login attempts.</para>
    92 
    9346</sect1>
  • chapter06/readjusting.xml

    raaa3260 r3f0c882  
    88<?dbhtml filename="readjusting.html"?>
    99
    10 <para>Now that the new and final C libraries have been installed, it's time to
    11 adjust our toolchain again. We'll adjust it so that it will link any newly
    12 compiled program against these new libraries. This is in fact the same thing we
    13 did in the <quote>Adjusting</quote> phase in the beginning of the previous
    14 chapter, even though it looks like the reverse: then we guided the chain from
    15 the host's <filename class="directory">/{,usr/}lib</filename> to the new
    16 <filename class="directory">/tools/lib</filename>, now we guide it from that
    17 same <filename class="directory">/tools/lib</filename> to the LFS's <filename
    18 class="directory">/{,usr/}lib</filename>.</para>
    19 
    20 <para>First we adjust the linker. For this we retained the
    21 source and build directories from the second pass over Binutils. Install the
    22 adjusted linker by running the following from within the
     10<para>Install the adjusted linker by running the following from within the
    2311<filename class="directory">binutils-build</filename> directory:</para>
    2412
    2513<screen><userinput>make -C ld INSTALL=/tools/bin/install install</userinput></screen>
    2614
    27 <note><para>If you somehow missed the earlier warning to retain the Binutils
    28 source and build directories from the second pass in
    29 <xref linkend="chapter-temporary-tools"/>, or otherwise accidentally deleted them or just
    30 don't have access to them, don't worry, all is not lost. Just ignore the above
    31 command. The result will be that the next package, Binutils, will link against
    32 the C libraries in <filename class="directory">/tools</filename> rather
    33 than in <filename class="directory">/{,usr/}lib</filename>. This is not ideal,
    34 however, our testing has shown that the resulting Binutils program binaries
    35 should be identical.</para></note>
    36 
    37 <para>From now on every compiled program will link <emphasis>only</emphasis>
    38 against the libraries in <filename class="directory">/usr/lib</filename> and
    39 <filename class="directory">/lib</filename>. The extra
    40 <parameter>INSTALL=/tools/bin/install</parameter> is needed because the Makefile
    41 created during the second pass still contains the reference to
    42 <command>/usr/bin/install</command>, which we obviously haven't installed yet.
    43 Some host distributions contain a <filename class="symlink">ginstall</filename>
    44 symbolic link which takes precedence in the Makefile and thus can cause a
    45 problem here. The above command takes care of this also.</para>
    46 
    47 <para>You can now remove the Binutils source and build directories.</para>
    48 
    49 <para>The next thing to do is to amend our GCC specs file so that it points
    50 to the new dynamic linker. Just like earlier on, we use a sed to accomplish
    51 this:</para>
     15<para>Amend the GCC specs file:</para>
    5216
    5317<!-- Ampersands are needed to allow cut and paste -->
     
    5721    `gcc --print-file specs`</userinput></screen>
    5822
    59 <para>Again, cutting and pasting the above is recommended. And just like
    60 before, it is a good idea to visually inspect the specs file to verify the
    61 intended change was actually made.</para>
    62 
    63 <important><para>If you are working on a platform where the name of the dynamic
    64 linker is something other than <filename>ld-linux.so.2</filename>, you
    65 <emphasis>must</emphasis> substitute <filename>ld-linux.so.2</filename> with the
    66 name of your platform's dynamic linker in the above commands. Refer back to
    67 <xref linkend="ch-tools-toolchaintechnotes"/> if necessary.</para></important>
    68 
    69 
    70 <caution><para>It is imperative at this point to stop and ensure that the
    71 basic functions (compiling and linking) of the adjusted toolchain are working
    72 as expected. For this we are going to perform a simple sanity check:</para>
     23<caution><para>Perform a simple sanity check:</para>
    7324
    7425<screen><userinput>echo 'main(){}' &gt; dummy.c
     
    7627readelf -l a.out | grep ': /lib'</userinput></screen>
    7728
    78 <para>If everything is working correctly, there should be no errors, and the
    79 output of the last command will be (allowing for platform specific differences
    80 in dynamic linker name):</para>
     29<para>The output of the last command will be:</para>
    8130
    8231<screen><computeroutput>[Requesting program interpreter: /lib/ld-linux.so.2]</computeroutput></screen>
    83 
    84 <para>Note especially that <filename class="directory">/lib</filename> is now
    85 the prefix of our dynamic linker.</para>
    86 
    87 <para> If you did not receive the output
    88 as shown above, or received no output at all, then something is seriously wrong.
    89 You will need to investigate and retrace your steps to find out where the
    90 problem is and correct it. There is no point in continuing until this is done.
    91 Most likely something went wrong with the specs file amendment above.</para>
    9232
    9333<para>Once you are satisfied that all is well, clean up the test files:</para>
  • chapter06/readline.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Readline package contains the Readline command-line library.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>Readline installation depends on</segtitle>
    23 <seglistitem><seg>Binutils, Coreutils, Diffutils, Gawk,
    24 GCC, Glibc, Grep, Make, Ncurses, Sed</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
     
    2923<title>Installation of Readline</title>
    3024
    31 <para>The following patch fixes various issues including a problem where Readline
    32 sometimes will only show 33 characters on a line and then wrap to the next line.</para>
     25<para>Apply a patch.</para>
    3326
    3427<screen><userinput>patch -Np1 -i ../readline-&readline-version;-fixes-1.patch</userinput></screen>
     
    6356
    6457<sect2 id="contents-readline" role="content"><title>Contents of Readline</title>
    65 <segmentedlist>
    66 <segtitle>Installed libraries</segtitle>
    67 <seglistitem><seg>Not checked</seg></seglistitem>
    68 </segmentedlist>
     58
     59<para>See testing</para>
     60
    6961</sect2>
    7062
  • chapter06/revisedchroot.xml

    raaa3260 r3f0c882  
    88<?dbhtml filename="revisedchroot.html"?>
    99
    10 <para>From now on, when you exit the chroot environment and wish to reenter
    11 it, you should use the following modified chroot command:</para>
     10<para>Modified chroot command:</para>
    1211
    1312<screen><userinput>chroot "$LFS" /usr/bin/env -i \
     
    1615    /bin/bash --login</userinput></screen>
    1716
    18 <para>The reason for this is that, since the programs in <filename
    19 class="directory">/tools</filename> are no longer needed, you may want to
    20 delete the whole directory and regain the space. Before actually deleting the
    21 directory, exit from chroot and reenter it with the above command. Also, before
    22 removing <filename class="directory">/tools</filename>, you may want to tar it
    23 up and store it in a safe place, in case you want to build another LFS system
    24 soon.</para>
    25 
    26 <note><para>Removing <filename class="directory">/tools</filename> will also
    27 remove the temporary copies of Tcl, Expect and DejaGNU, which were used for
    28 running the toolchain tests. If you want to use these programs later on, you
    29 will need to recompile and re-install them. The installation instructions are
    30 the same as in <xref linkend="chapter-temporary-tools"/>, apart from changing
    31 the prefix from <filename class="directory">/tools</filename> to <filename class="directory">/usr</filename>. The
    32 BLFS book discusses a slightly different approach to installing Tcl, see
    33 <ulink url="&blfs-root;"/>.</para></note>
    34 
    35 <para>You may also want to move the packages and patches stored in <filename
    36 class="directory">/sources</filename> to a more usual location, such as
    37 <filename class="directory">/usr/src/packages</filename>, and remove the
    38 directory -- or simply delete the whole directory if you've burned its contents
    39 on a CD).</para>
    40 
    4117</sect1>
  • chapter06/sed.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Sed package contains a stream editor.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>Sed installation depends on</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils,
    24 Diffutils, GCC, Gettext, Glibc, Grep, Make, Texinfo</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
     
    4943<sect2 id="contents-sed" role="content"><title>Contents of Sed</title>
    5044
    51 <segmentedlist>
    52 <segtitle>Installed program</segtitle>
    53 <seglistitem><seg>sed</seg></seglistitem>
    54 </segmentedlist>
    55 
    56 <variablelist><title>Short descriptions</title>
    57 
    58 <varlistentry id="sed">
    59 <term><command>sed</command></term>
    60 <listitem>
    61 <indexterm zone="ch-system-sed sed"><primary sortas="b-sed">sed</primary></indexterm>
    62 <para>is used to filter and transform text files in a single pass.</para>
    63 </listitem>
    64 </varlistentry>
    65 </variablelist>
     45<para>See testing</para>
    6646
    6747</sect2>
  • chapter06/shadow.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Shadow package contains programs for handling passwords in a secure
    14 way.</para>
    1513
    1614<segmentedlist>
     
    2018</segmentedlist>
    2119
    22 <segmentedlist>
    23 <segtitle>Shadow installation depends on</segtitle>
    24 <seglistitem><seg>Bash, Binutils, Bison, Coreutils,
    25 Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed</seg></seglistitem>
    26 </segmentedlist>
    2720</sect2>
    2821
     
    4235<screen><userinput>make install</userinput></screen>
    4336
    44 <para>Shadow uses two files to configure authentication settings for the
    45 system. Install these two config files:</para>
     37<para>Install two config files:</para>
    4638
    4739<screen><userinput>cp etc/{limits,login.access} /etc</userinput></screen>
    4840
    49 <para>Instead of using the default <emphasis>crypt</emphasis> method, we want
    50 to use the more secure <emphasis>MD5</emphasis> method of password encryption,
    51 which also allows passwords longer than 8 characters. We also need to
    52 change the obsolete <filename class="directory">/var/spool/mail</filename>
    53 location for user mailboxes that Shadow uses by default to the <filename
    54 class="directory">/var/mail</filename> location used currently. We accomplish
    55 both these things by changing the relevant configuration file while copying it
    56 to its destination (it's probably better to cut-and-paste this rather than try
    57 and type it all in):</para>
     41<para>Change a configuration file while copying it:</para>
    5842
    5943<screen><userinput>sed -e's@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@' \
     
    6145    &lt; etc/login.defs.linux &gt; /etc/login.defs</userinput></screen>
    6246
    63 <para>Move some misplaced symlinks/programs to their proper locations:</para>
     47<para>Move a program:</para>
    6448
    6549<screen><userinput>mv /usr/bin/passwd /bin</userinput></screen>
    6650
    67 <para>And move Shadow's static library to a more appropriate location:</para>
     51<para>Move a library:</para>
    6852
    6953<screen><userinput>mv /lib/libshadow.*a /usr/lib</userinput></screen>
    7054
    71 <para>As some packages expect to find the libraries in
    72 <filename class="directory">/usr/lib</filename>, create the following symlinks:</para>
     55<para>Create the following symlinks:</para>
    7356
    7457<screen><userinput>rm /lib/libshadow.so
    7558ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so</userinput></screen>
    7659
    77 <para>The <parameter>-D</parameter> option of the <command>useradd</command> program requires this
    78 directory for it to work properly:</para>
     60<para>Create a dir:</para>
    7961
    8062<screen><userinput>mkdir /etc/default</userinput></screen>
    8163
    82 <para>Coreutils has already installed a better <command>groups</command>
    83 program in <filename class="directory">/usr/bin</filename>. Remove the one
    84 installed by Shadow:</para>
     64<para>Remove a program:</para>
    8565
    8666<screen><userinput>rm /bin/groups</userinput></screen>
     
    9070
    9171<sect2 id="conf-shadow" role="configuration"><title>Configuring Shadow</title>
    92 <indexterm zone="conf-shadow">
    93 <primary sortas="a-Shadow">Shadow</primary>
    94 <secondary>configuring</secondary></indexterm>
    9572
    96 <para>This package contains utilities to add, modify and delete users and
    97 groups, set and change their passwords, and other such administrative tasks.
    98 For a full explanation of what <emphasis>password shadowing</emphasis> means,
    99 see the <filename>doc/HOWTO</filename> file within the unpacked source tree.
    100 There's one thing to keep in mind if you decide to use Shadow support: programs
    101 that need to verify passwords (display managers, ftp programs, pop3 daemons,
    102 and the like) need to be <emphasis>shadow-compliant</emphasis>, that is they
    103 need to be able to work with shadowed passwords.</para>
    104 
    105 <para>To enable shadowed passwords, run the following command:</para>
     73<para>To enable shadowed passwords:</para>
    10674
    10775<screen><userinput>pwconv</userinput></screen>
     
    11078
    11179<screen><userinput>grpconv</userinput></screen>
    112 
    113 <para>Under normal circumstances, you won't have created any passwords yet.
    114 However, if returning to this section later to enable shadowing, you should
    115 reset any current user passwords with the <command>passwd</command> command or
    116 any group passwords with the <command>gpasswd</command> command.</para>
    11780
    11881</sect2>
     
    13194<sect2 id="contents-shadow" role="content"><title>Contents of Shadow</title>
    13295
    133 <segmentedlist>
    134 <segtitle>Installed programs</segtitle>
    135 <seglistitem><seg>chage, chfn, chpasswd, chsh, expiry, faillog, gpasswd,
    136 groupadd, groupdel, groupmod, groups, grpck, grpconv, grpunconv, lastlog, login,
    137 logoutd, mkpasswd, newgrp, newusers, passwd, pwck, pwconv, pwunconv, sg
    138 (link to newgrp), useradd, userdel, usermod, vigr (link to vipw) and vipw</seg>
    139 </seglistitem>
    140 </segmentedlist>
    141 
    142 <variablelist><title>Short descriptions</title>
    143 
    144 <varlistentry id="chage">
    145 <term><command>chage</command></term>
    146 <listitem>
    147 <indexterm zone="ch-system-shadow chage"><primary sortas="b-chage">chage</primary></indexterm>
    148 <para>is used to change the maximum number of
    149 days between obligatory password changes.</para>
    150 </listitem>
    151 </varlistentry>
    152 
    153 <varlistentry id="chfn">
    154 <term><command>chfn</command></term>
    155 <listitem>
    156 <indexterm zone="ch-system-shadow chfn"><primary sortas="b-chfn">chfn</primary></indexterm>
    157 <para>is used to change a user's full name and some other info.</para>
    158 </listitem>
    159 </varlistentry>
    160 
    161 <varlistentry id="chpasswd">
    162 <term><command>chpasswd</command></term>
    163 <listitem>
    164 <indexterm zone="ch-system-shadow chpasswd"><primary sortas="b-chpasswd">chpasswd</primary></indexterm>
    165 <para>is used to update the passwords of a
    166 whole series of user accounts in one go.</para>
    167 </listitem>
    168 </varlistentry>
    169 
    170 <varlistentry id="chsh">
    171 <term><command>chsh</command></term>
    172 <listitem>
    173 <indexterm zone="ch-system-shadow chsh"><primary sortas="b-chsh">chsh</primary></indexterm>
    174 <para>is used to change a user's default  login shell.</para>
    175 </listitem>
    176 </varlistentry>
    177 
    178 <varlistentry id="expiry">
    179 <term><command>expiry</command></term>
    180 <listitem>
    181 <indexterm zone="ch-system-shadow expiry"><primary sortas="b-expiry">expiry</primary></indexterm>
    182 <para>checks and enforces the current password expiration policy.</para>
    183 </listitem>
    184 </varlistentry>
    185 
    186 <varlistentry id="faillog">
    187 <term><command>faillog</command></term>
    188 <listitem>
    189 <indexterm zone="ch-system-shadow faillog"><primary sortas="b-faillog">faillog</primary></indexterm>
    190 <para>is used to examine the log of login failures, to set a maximum number of
    191 failures before an account is blocked, or to reset the failure count.</para>
    192 </listitem>
    193 </varlistentry>
    194 
    195 <varlistentry id="gpasswd">
    196 <term><command>gpasswd</command></term>
    197 <listitem>
    198 <indexterm zone="ch-system-shadow gpasswd"><primary sortas="b-gpasswd">gpasswd</primary></indexterm>
    199 <para>is used to add and delete members and administrators to groups.</para>
    200 </listitem>
    201 </varlistentry>
    202 
    203 <varlistentry id="groupadd">
    204 <term><command>groupadd</command></term>
    205 <listitem>
    206 <indexterm zone="ch-system-shadow groupadd"><primary sortas="b-groupadd">groupadd</primary></indexterm>
    207 <para>creates a group with the given name.</para>
    208 </listitem>
    209 </varlistentry>
    210 
    211 <varlistentry id="groupdel">
    212 <term><command>groupdel</command></term>
    213 <listitem>
    214 <indexterm zone="ch-system-shadow groupdel"><primary sortas="b-groupdel">groupdel</primary></indexterm>
    215 <para>deletes the group with the given name.</para>
    216 </listitem>
    217 </varlistentry>
    218 
    219 <varlistentry id="groupmod">
    220 <term><command>groupmod</command></term>
    221 <listitem>
    222 <indexterm zone="ch-system-shadow groupmod"><primary sortas="b-groupmod">groupmod</primary></indexterm>
    223 <para>is used to modify the given group's name or GID.</para>
    224 </listitem>
    225 </varlistentry>
    226 
    227 <varlistentry id="groups">
    228 <term><command>groups</command></term>
    229 <listitem>
    230 <indexterm zone="ch-system-shadow groups"><primary sortas="b-groups">groups</primary></indexterm>
    231 <para>reports the groups of which the given users are members.</para>
    232 </listitem>
    233 </varlistentry>
    234 
    235 <varlistentry id="grpck">
    236 <term><command>grpck</command></term>
    237 <listitem>
    238 <indexterm zone="ch-system-shadow grpck"><primary sortas="b-grpck">grpck</primary></indexterm>
    239 <para>verifies the integrity of the group files, <filename>/etc/group</filename>
    240 and <filename>/etc/gshadow</filename>.</para>
    241 </listitem>
    242 </varlistentry>
    243 
    244 <varlistentry id="grpconv">
    245 <term><command>grpconv</command></term>
    246 <listitem>
    247 <indexterm zone="ch-system-shadow grpconv"><primary sortas="b-grpconv">grpconv</primary></indexterm>
    248 <para>creates or updates the shadow group file from the normal group file.</para>
    249 </listitem>
    250 </varlistentry>
    251 
    252 <varlistentry id="grpunconv">
    253 <term><command>grpunconv</command></term>
    254 <listitem>
    255 <indexterm zone="ch-system-shadow grpunconv"><primary sortas="b-grpunconv">grpunconv</primary></indexterm>
    256 <para>updates <filename>/etc/group</filename>
    257 from <filename>/etc/gshadow</filename> and then deletes the latter.</para>
    258 </listitem>
    259 </varlistentry>
    260 
    261 <varlistentry id="lastlog">
    262 <term><command>lastlog</command></term>
    263 <listitem>
    264 <indexterm zone="ch-system-shadow lastlog"><primary sortas="b-lastlog">lastlog</primary></indexterm>
    265 <para>reports the most recent login of all users, or of a given user.</para>
    266 </listitem>
    267 </varlistentry>
    268 
    269 <varlistentry id="login">
    270 <term><command>login</command></term>
    271 <listitem>
    272 <indexterm zone="ch-system-shadow login"><primary sortas="b-login">login</primary></indexterm>
    273 <para>is used by the system to let users sign on.</para>
    274 </listitem>
    275 </varlistentry>
    276 
    277 <varlistentry id="logoutd">
    278 <term><command>logoutd</command></term>
    279 <listitem>
    280 <indexterm zone="ch-system-shadow logoutd"><primary sortas="b-logoutd">logoutd</primary></indexterm>
    281 <para>is a daemon used to enforce restrictions on log-on time and ports.</para>
    282 </listitem>
    283 </varlistentry>
    284 
    285 <varlistentry id="mkpasswd">
    286 <term><command>mkpasswd</command></term>
    287 <listitem>
    288 <indexterm zone="ch-system-shadow mkpasswd"><primary sortas="b-mkpasswd">mkpasswd</primary></indexterm>
    289 <para>encrypts the given password using the also given perturbation.</para>
    290 </listitem>
    291 </varlistentry>
    292 
    293 <varlistentry id="newgrp">
    294 <term><command>newgrp</command></term>
    295 <listitem>
    296 <indexterm zone="ch-system-shadow newgrp"><primary sortas="b-newgrp">newgrp</primary></indexterm>
    297 <para>is used to change the current GID during a login session.</para>
    298 </listitem>
    299 </varlistentry>
    300 
    301 <varlistentry id="newusers">
    302 <term><command>newusers</command></term>
    303 <listitem>
    304 <indexterm zone="ch-system-shadow newusers"><primary sortas="b-newusers">newusers</primary></indexterm>
    305 <para>is used to create or update a whole series of user accounts in one go.</para>
    306 </listitem>
    307 </varlistentry>
    308 
    309 <varlistentry id="passwd">
    310 <term><command>passwd</command></term>
    311 <listitem>
    312 <indexterm zone="ch-system-shadow passwd"><primary sortas="b-passwd">passwd</primary></indexterm>
    313 <para>is used to change the password for a user or group account.</para>
    314 </listitem>
    315 </varlistentry>
    316 
    317 <varlistentry id="pwck">
    318 <term><command>pwck</command></term>
    319 <listitem>
    320 <indexterm zone="ch-system-shadow pwck"><primary sortas="b-pwck">pwck</primary></indexterm>
    321 <para>verifies the integrity of the password files,
    322 <filename>/etc/passwd</filename> and <filename>/etc/shadow</filename>.</para>
    323 </listitem>
    324 </varlistentry>
    325 
    326 <varlistentry id="pwconv">
    327 <term><command>pwconv</command></term>
    328 <listitem>
    329 <indexterm zone="ch-system-shadow pwconv"><primary sortas="b-pwconv">pwconv</primary></indexterm>
    330 <para>creates or updates the shadow password file
    331 from the normal password file.</para>
    332 </listitem>
    333 </varlistentry>
    334 
    335 <varlistentry id="pwunconv">
    336 <term><command>pwunconv</command></term>
    337 <listitem>
    338 <indexterm zone="ch-system-shadow pwunconv"><primary sortas="b-pwunconv">pwunconv</primary></indexterm>
    339 <para>updates <filename>/etc/passwd</filename>
    340 from <filename>/etc/shadow</filename> and then deletes the latter.</para>
    341 </listitem>
    342 </varlistentry>
    343 
    344 <varlistentry id="sg">
    345 <term><command>sg</command></term>
    346 <listitem>
    347 <indexterm zone="ch-system-shadow sg"><primary sortas="b-sg">sg</primary></indexterm>
    348 <para>executes a given command while the user's GID
    349 is set to that of the given group.</para>
    350 </listitem>
    351 </varlistentry>
    352 
    353 <varlistentry id="su">
    354 <term><command>su</command></term>
    355 <listitem>
    356 <indexterm zone="ch-system-shadow su"><primary sortas="b-su">su</primary></indexterm>
    357 <para>runs a shell with substitute user and group IDs.</para>
    358 </listitem>
    359 </varlistentry>
    360 
    361 <varlistentry id="useradd">
    362 <term><command>useradd</command></term>
    363 <listitem>
    364 <indexterm zone="ch-system-shadow useradd"><primary sortas="b-useradd">useradd</primary></indexterm>
    365 <para>creates a new user with the given name,
    366 or updates the default new-user information.</para>
    367 </listitem>
    368 </varlistentry>
    369 
    370 <varlistentry id="userdel">
    371 <term><command>userdel</command></term>
    372 <listitem>
    373 <indexterm zone="ch-system-shadow userdel"><primary sortas="b-userdel">userdel</primary></indexterm>
    374 <para>deletes the given user account.</para>
    375 </listitem>
    376 </varlistentry>
    377 
    378 <varlistentry id="usermod">
    379 <term><command>usermod</command></term>
    380 <listitem>
    381 <indexterm zone="ch-system-shadow usermod"><primary sortas="b-usermod">usermod</primary></indexterm>
    382 <para>is used to modify the given user's login name, UID (User Identification),
    383 shell, initial group, home directory, and the like.</para>
    384 </listitem>
    385 </varlistentry>
    386 
    387 <varlistentry id="vigr">
    388 <term><command>vigr</command></term>
    389 <listitem>
    390 <indexterm zone="ch-system-shadow vigr"><primary sortas="b-vigr">vigr</primary></indexterm>
    391 <para>can be used to edit the <filename>/etc/group</filename> or
    392 <filename>/etc/gshadow</filename> files.</para>
    393 </listitem>
    394 </varlistentry>
    395 
    396 <varlistentry id="vipw">
    397 <term><command>vipw</command></term>
    398 <listitem>
    399 <indexterm zone="ch-system-shadow vipw"><primary sortas="b-vipw">vipw</primary></indexterm>
    400 <para>can be used to edit the <filename>/etc/passwd</filename> or
    401 <filename>/etc/shadow</filename> files.</para>
    402 </listitem>
    403 </varlistentry>
    404 
    405 <varlistentry id="libmisc">
    406 <term><filename class="libraryfile">libmisc</filename></term>
    407 <listitem>
    408 <indexterm zone="ch-system-shadow libmisc"><primary sortas="c-libmisc">libmisc</primary></indexterm>
    409 <para>...</para>
    410 </listitem>
    411 </varlistentry>
    412 
    413 <varlistentry id="libshadow">
    414 <term><filename class="libraryfile">libshadow</filename></term>
    415 <listitem>
    416 <indexterm zone="ch-system-shadow libshadow"><primary sortas="c-libshadow">libshadow</primary></indexterm>
    417 <para>contains functions used by most programs in this package.</para>
    418 </listitem>
    419 </varlistentry>
    420 </variablelist>
     96<para>See testing</para>
    42197
    42298</sect2>
  • chapter06/strippingagain.xml

    raaa3260 r3f0c882  
    55<?dbhtml filename="strippingagain.html"?>
    66
    7 <para>If you are not a programmer and don't plan to do any debugging on your
    8 system software, you can shrink your system by about 200 MB by removing the
    9 debugging symbols from binaries and libraries. This causes no inconvenience
    10 other than not being able to debug the software fully any more.</para>
    11 
    12 <para>Most people who use the command mentioned below don't experience any
    13 problems. But it is easy to make a typo and render your new system unusable, so
    14 before running the strip command it is probably a good idea to make a backup of
    15 the current situation.</para>
    16 
    17 <para>If you are going to perform the stripping, special care is needed to
    18 ensure you're not running any of the binaries that are about to be stripped.
    19 If you're not sure whether you entered chroot with the command given in
    20 <xref linkend="ch-system-chroot"/>, then first exit from chroot:</para>
     7<para>Exit from chroot:</para>
    218
    229<screen><userinput>logout</userinput></screen>
    2310
    24 <para>Then reenter it with:</para>
     11<para>Reenter with:</para>
    2512
    2613<screen><userinput>chroot $LFS /tools/bin/env -i \
     
    2916    /tools/bin/bash --login</userinput></screen>
    3017
    31 <para>Now you can safely strip the binaries and libraries:</para>
     18<para>Strip the binaries and libraries:</para>
    3219
    3320<screen><userinput>/tools/bin/find /{,usr/}{bin,lib,sbin} -type f \
    3421   -exec /tools/bin/strip --strip-debug '{}' ';'</userinput></screen>
    3522
    36 <para>A large number of files will be reported as having their file format not
    37 recognized. These warnings can be safely ignored, they just mean that those
    38 files are scripts instead of binaries, no harm is done.</para>
    39 
    40 <para>If you are really tight on disk space, you may want to use
    41 <parameter>--strip-all</parameter> on the binaries in
    42 <filename class="directory">/{,usr/}{bin,sbin}</filename> to gain several more megabytes. But do
    43 <emphasis>not</emphasis> use this option on libraries: they would be
    44 destroyed.</para>
    45 
    4623</sect1>
    4724
  • chapter06/syslogng.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Syslog-ng package contains programs for logging system messages, such
    14 as those given by the kernel when unusual things happen.</para>
    1513
    1614<segmentedlist>
     
    2018</segmentedlist>
    2119
    22 <segmentedlist>
    23 <segtitle>Syslog-ng installation depends on</segtitle>
    24 <seglistitem><seg>Unchecked</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
     
    4539
    4640<sect2 id="conf-syslogng" role="configuration"><title>Configuring Syslog-ng</title>
    47 <indexterm zone="conf-syslogng">
    48 <primary sortas="a-Syslogng">Syslog-ng</primary>
    49 <secondary>configuring</secondary></indexterm>
    5041
    51 <indexterm zone="conf-syslogng"><primary sortas="e-/etc/syslog-ng/syslog-ng.conf">/etc/syslog-ng/syslog-ng.conf</primary></indexterm>
    52 
    53 <para>Create a new <filename>/etc/syslog-ng/syslog-ng.conf</filename> file by
    54 running the following:</para>
     42<para>Create a <filename>/etc/syslog-ng/syslog-ng.conf</filename> file:</para>
    5543
    5644<screen><userinput>mkdir -p /etc/syslog-ng
     
    134122<sect2 id="contents-syslogng" role="content"><title>Contents of Syslog-ng</title>
    135123
    136 <segmentedlist>
    137 <segtitle>Installed programs</segtitle>
    138 <seglistitem><seg>Unchecked</seg></seglistitem>
    139 </segmentedlist>
    140 
    141 <variablelist><title>Short descriptions</title>
    142 
    143 <varlistentry id="syslog-ng">
    144 <term><command>syslog-ng</command></term>
    145 <listitem>
    146 <indexterm zone="ch-system-syslogng"><primary sortas="b-syslog-ng">syslog-ng</primary></indexterm>
    147 <para>logs the messages that system programs
    148 offer for logging. Every logged message contains at least a date stamp and a
    149 hostname, and normally the program's name too, but that depends on how
    150 trusting the logging daemon is told to be.</para>
    151 </listitem>
    152 
    153 </varlistentry>
    154 </variablelist>
     124<para>See testing</para>
    155125
    156126</sect2>
  • chapter06/sysvinit.xml

    raaa3260 r3f0c882  
    2929<title>Installation of Sysvinit</title>
    3030
    31 <para>When run-levels are changed (for example, when halting the system),
    32 <command>init</command> sends termination signals to those processes that
    33 <command>init</command> itself started and that shouldn't be running in the new
    34 run-level. While doing this, <command>init</command> outputs messages like
    35 <quote>Sending processes the TERM signal</quote> which seem to imply that it is sending these signals to all currently running processes. To avoid this
    36 misinterpretation, you can modify the source so that these messages read like
    37 <quote>Sending processes started by init the TERM signal</quote> instead:</para>
     31<para>Issue a sed sustitution:</para>
    3832
    3933<screen><userinput>sed -i 's@Sending processes@&amp; started by init@g' \
     
    5246
    5347<sect2 id="conf-sysvinit" role="configuration"><title>Configuring Sysvinit</title>
    54 <indexterm zone="conf-sysvinit">
    55 <primary sortas="a-Sysvinit">Sysvinit</primary>
    56 <secondary>configuring</secondary></indexterm>
    5748
    58 <indexterm zone="conf-sysvinit"><primary sortas="e-/etc/inittab">/etc/inittab</primary></indexterm>
    59 
    60 <para>Create a new <filename>/etc/inittab</filename> file by running the
    61 following:</para>
     49<para>Create a <filename>/etc/inittab</filename> file:</para>
    6250
    6351<screen><userinput>cat &gt; /etc/inittab &lt;&lt; "EOF"
     
    9078EOF</userinput></screen>
    9179
    92 <para> The <parameter>-I '\033(K'</parameter> switch tells <command>agetty</command> to send this escape sequence to
    93 the terminal before doing anything else. This escape sequence switches the
    94 console character set to a user-defined one, which can be modified by
    95 running the <command>setfont</command> program.
    96 Actually, the <command>console</command> initscript from the LFS-Bootscripts
    97 package calls the <command>setfont</command> program during system
    98 startup. Sending this escape sequence is necessary for
    99 people who use non-ISO-8859-1 screen font, but does not hurt native English
    100 speakers.</para>
    101 
    10280</sect2>
    10381
     
    10583<sect2 id="contents-sysvinit" role="content"><title>Contents of Sysvinit</title>
    10684
    107 <segmentedlist>
    108 <segtitle>Installed programs</segtitle>
    109 <seglistitem><seg>halt, init, killall5, last, lastb (link to last), mesg, pidof (link to
    110 killall5), poweroff (link to halt), reboot (link to halt), runlevel, shutdown, sulogin, telinit
    111 (link to init), utmpdump and wall</seg></seglistitem>
    112 </segmentedlist>
     85<para>See testing</para>
    11386
    114 <variablelist><title>Short descriptions</title>
    115 
    116 <varlistentry id="halt">
    117 <term><command>halt</command></term>
    118 <listitem>
    119 <indexterm zone="ch-system-sysvinit halt"><primary sortas="b-halt">halt</primary></indexterm>
    120 <para>normally invokes <command>shutdown</command> with the <parameter>-h</parameter> flag,
    121 except when already in run-level 0, then it tells the kernel to halt the system.
    122 But first it notes in the file <filename>/var/log/wtmp</filename> that the
    123 system is being brought down.</para>
    124 </listitem>
    125 </varlistentry>
    126 
    127 <varlistentry id="init">
    128 <term><command>init</command></term>
    129 <listitem>
    130 <indexterm zone="ch-system-sysvinit init"><primary sortas="b-init">init</primary></indexterm>
    131 <para>is the mother of all processes. It reads its
    132 commands from <filename>/etc/inittab</filename>, which normally tell it which
    133 scripts to run for which run-level, and how many gettys to spawn.</para>
    134 </listitem>
    135 </varlistentry>
    136 
    137 <varlistentry id="killall5">
    138 <term><command>killall5</command></term>
    139 <listitem>
    140 <indexterm zone="ch-system-sysvinit killall5"><primary sortas="b-killall5">killall5</primary></indexterm>
    141 <para>sends a signal to all processes, except the processes in its own session --
    142 so it won't kill the shell running the script that called it.</para>
    143 </listitem>
    144 </varlistentry>
    145 
    146 <varlistentry id="last">
    147 <term><command>last</command></term>
    148 <listitem>
    149 <indexterm zone="ch-system-sysvinit last"><primary sortas="b-last">last</primary></indexterm>
    150 <para>shows which users last logged in (and out),
    151 searching back through the file <filename>/var/log/wtmp</filename>. It can
    152 also show system boots and shutdowns, and run-level changes.</para>
    153 </listitem>
    154 </varlistentry>
    155 
    156 <varlistentry id="lastb">
    157 <term><command>lastb</command></term>
    158 <listitem>
    159 <indexterm zone="ch-system-sysvinit lastb"><primary sortas="b-lastb">lastb</primary></indexterm>
    160 <para>shows the failed login attempts, as logged in
    161 <filename>/var/log/btmp</filename>.</para>
    162 </listitem>
    163 </varlistentry>
    164 
    165 <varlistentry id="mesg">
    166 <term><command>mesg</command></term>
    167 <listitem>
    168 <indexterm zone="ch-system-sysvinit mesg"><primary sortas="b-mesg">mesg</primary></indexterm>
    169 <para>controls whether other users can send
    170 messages to the current user's terminal.</para>
    171 </listitem>
    172 </varlistentry>
     87<!-- This should be added to testing:
    17388
    17489<varlistentry id="mountpoint">
    17590<term><command>mountpoint</command></term>
    17691<listitem>
     92<para>Checks if the directory is a mountpoint</para>
    17793<indexterm zone="ch-system-sysvinit mountpoint"><primary sortas="b-mountpoint">mountpoint</primary></indexterm>
    178 <para>checks if the directory is a mountpoint.</para>
    17994</listitem>
    18095</varlistentry>
    18196
    182 <varlistentry id="pidof">
    183 <term><command>pidof</command></term>
    184 <listitem>
    185 <indexterm zone="ch-system-sysvinit pidof"><primary sortas="b-pidof">pidof</primary></indexterm>
    186 <para>reports the PIDs of the given programs.</para>
    187 </listitem>
    188 </varlistentry>
    189 
    190 <varlistentry id="poweroff">
    191 <term><command>poweroff</command></term>
    192 <listitem>
    193 <indexterm zone="ch-system-sysvinit poweroff"><primary sortas="b-poweroff">poweroff</primary></indexterm>
    194 <para>tells the kernel to halt the system and
    195 switch off the computer. But see <command>halt</command>.</para>
    196 </listitem>
    197 </varlistentry>
    198 
    199 <varlistentry id="reboot">
    200 <term><command>reboot</command></term>
    201 <listitem>
    202 <indexterm zone="ch-system-sysvinit reboot"><primary sortas="b-reboot">reboot</primary></indexterm>
    203 <para>tells the kernel to reboot the system. But see <command>halt</command>.</para>
    204 </listitem>
    205 </varlistentry>
    206 
    207 <varlistentry id="runlevel">
    208 <term><command>runlevel</command></term>
    209 <listitem>
    210 <indexterm zone="ch-system-sysvinit runlevel"><primary sortas="b-runlevel">runlevel</primary></indexterm>
    211 <para>reports the previous and the current run-level, as noted in the last run-level
    212 record in <filename>/var/run/utmp</filename>.</para>
    213 </listitem>
    214 </varlistentry>
    215 
    216 <varlistentry id="shutdown">
    217 <term><command>shutdown</command></term>
    218 <listitem>
    219 <indexterm zone="ch-system-sysvinit shutdown"><primary sortas="b-shutdown">shutdown</primary></indexterm>
    220 <para>brings the system down in a secure way,
    221 signaling all processes and notifying all logged-in users.</para>
    222 </listitem>
    223 </varlistentry>
    224 
    225 <varlistentry id="sulogin">
    226 <term><command>sulogin</command></term>
    227 <listitem>
    228 <indexterm zone="ch-system-sysvinit sulogin"><primary sortas="b-sulogin">sulogin</primary></indexterm>
    229 <para>allows the superuser to log in. It is
    230 normally invoked by <command>init</command> when the system goes into single user mode.</para>
    231 </listitem>
    232 </varlistentry>
    233 
    234 <varlistentry id="telinit">
    235 <term><command>telinit</command></term>
    236 <listitem>
    237 <indexterm zone="ch-system-sysvinit telinit"><primary sortas="b-telinit">telinit</primary></indexterm>
    238 <para>tells <command>init</command> which run-level to enter.</para>
    239 </listitem>
    240 </varlistentry>
    241 
    242 <varlistentry id="utmpdump">
    243 <term><command>utmpdump</command></term>
    244 <listitem>
    245 <indexterm zone="ch-system-sysvinit utmpdump"><primary sortas="b-utmpdump">utmpdump</primary></indexterm>
    246 <para>displays the content of the given login file in a friendlier format.</para>
    247 </listitem>
    248 </varlistentry>
    249 
    250 <varlistentry id="wall">
    251 <term><command>wall</command></term>
    252 <listitem>
    253 <indexterm zone="ch-system-sysvinit wall"><primary sortas="b-wall">wall</primary></indexterm>
    254 <para>writes a message to all logged-in users.</para>
    255 </listitem>
    256 </varlistentry>
    257 </variablelist>
     97-->
    25898
    25999</sect2>
  • chapter06/tar.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Tar package contains an archiving program.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>Tar installation depends on</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils,
    24 Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
     
    4943<sect2 id="contents-tar" role="content"><title>Contents of Tar</title>
    5044
    51 <segmentedlist>
    52 <segtitle>Installed programs</segtitle>
    53 <seglistitem><seg>rmt and tar</seg></seglistitem>
    54 </segmentedlist>
    55 
    56 <variablelist><title>Short descriptions</title>
    57 
    58 <varlistentry id="rmt">
    59 <term><command>rmt</command></term>
    60 <listitem>
    61 <indexterm zone="ch-system-tar rmt"><primary sortas="b-rmt">rmt</primary></indexterm>
    62 <para>is used to remotely manipulate a magnetic
    63 tape drive, through an interprocess communication connection.</para>
    64 </listitem>
    65 </varlistentry>
    66 
    67 <varlistentry id="tar">
    68 <term><command>tar</command></term>
    69 <listitem>
    70 <indexterm zone="ch-system-tar tar"><primary sortas="b-tar">tar</primary></indexterm>
    71 <para>is used to create and extract files from archives, also known as tarballs.</para>
    72 </listitem>
    73 </varlistentry>
    74 </variablelist>
     45<para>See testing</para>
    7546
    7647</sect2>
  • chapter06/texinfo.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Texinfo package contains programs for reading, writing, and
    14 converting Info documents.</para>
    1513
    1614<segmentedlist>
     
    2018</segmentedlist>
    2119
    22 <segmentedlist>
    23 <segtitle>Texinfo installation depends on</segtitle>
    24 <seglistitem><seg>Bash, Binutils, Coreutils,
    25 Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed</seg></seglistitem>
    26 </segmentedlist>
    2720</sect2>
    2821
     
    3023<title>Installation of Texinfo</title>
    3124
    32 <para>Prepare Texinfo for compilation:</para>
    33 
    34 <para>The patch listed below fixes a known segfault in texinfo:</para>
     25<para>Apply a patch:</para>
    3526
    3627<screen><userinput>patch -Np1 -i ../texinfo-&texinfo-version;-segfault-1.patch</userinput></screen>
     
    5546<screen><userinput>make TEXMF=/usr/share/texmf install-tex</userinput></screen>
    5647
    57 <para>The meaning of the make parameter:</para>
    58 
    59 <variablelist>
    60 <varlistentry>
    61 <term><parameter>TEXMF=/usr/share/texmf</parameter></term>
    62 <listitem><para>The TEXMF
    63 makefile variable holds the location of the root of your TeX tree if, for
    64 example, you plan to install a TeX package later on.</para></listitem>
    65 </varlistentry>
    66 </variablelist>
    67 
    68 <para>The Info documentation system uses a plain text file to hold its list of
    69 menu entries. The file is located at <filename>/usr/share/info/dir</filename>.
    70 Unfortunately, due to occasional problems in the Makefiles of various packages,
    71 it can sometimes get out of step with the Info manuals actually installed on the
    72 system. If ever you need to recreate the
    73 <filename>/usr/share/info/dir</filename> file, the following optional commands
    74 will accomplish the task:</para>
     48<para>If ever you need to recreate the
     49<filename>/usr/share/info/dir</filename> file, run this:</para>
    7550
    7651<screen><userinput>cd /usr/share/info
     
    8560<sect2 id="contents-texinfo" role="content"><title>Contents of Texinfo</title>
    8661
    87 <segmentedlist>
    88 <segtitle>Installed programs</segtitle>
    89 <seglistitem><seg>info, infokey, install-info,
    90 makeinfo, texi2dvi and texindex</seg></seglistitem>
    91 </segmentedlist>
    92 
    93 <variablelist><title>Short descriptions</title>
    94 
    95 <varlistentry id="info">
    96 <term><command>info</command></term>
    97 <listitem>
    98 <indexterm zone="ch-system-texinfo info"><primary sortas="b-info">info</primary></indexterm>
    99 <para>is used to read Info documents. Info
    100 documents are a bit like man pages, but often go much deeper than just
    101 explaining all the flags. Compare for example <command>man tar</command>
    102 and <command>info tar</command>.</para>
    103 </listitem>
    104 </varlistentry>
    105 
    106 <varlistentry id="infokey">
    107 <term><command>infokey</command></term>
    108 <listitem>
    109 <indexterm zone="ch-system-texinfo infokey"><primary sortas="b-infokey">infokey</primary></indexterm>
    110 <para>compiles a source file containing Info
    111 customizations into a binary format.</para>
    112 </listitem>
    113 </varlistentry>
    114 
    115 <varlistentry id="install-info">
    116 <term><command>install-info</command></term>
    117 <listitem>
    118 <indexterm zone="ch-system-texinfo install-info"><primary sortas="b-install-info">install-info</primary></indexterm>
    119 <para>is used to install Info files. It updates entries in the Info index file.</para>
    120 </listitem>
    121 </varlistentry>
    122 
    123 <varlistentry id="makeinfo">
    124 <term><command>makeinfo</command></term>
    125 <listitem>
    126 <indexterm zone="ch-system-texinfo makeinfo"><primary sortas="b-makeinfo">makeinfo</primary></indexterm>
    127 <para>translates the given Texinfo source
    128 documents into various other formats: Info files, plain text, or HTML.</para>
    129 </listitem>
    130 </varlistentry>
    131 
    132 <varlistentry id="texi2dvi">
    133 <term><command>texi2dvi</command></term>
    134 <listitem>
    135 <indexterm zone="ch-system-texinfo texi2dvi"><primary sortas="b-texi2dvi">texi2dvi</primary></indexterm>
    136 <para>is used to format the given Texinfo
    137 document into a device-independent file that can be printed.</para>
    138 </listitem>
    139 </varlistentry>
    140 
    141 <varlistentry id="texindex">
    142 <term><command>texindex</command></term>
    143 <listitem>
    144 <indexterm zone="ch-system-texinfo texindex"><primary sortas="b-texindex">texindex</primary></indexterm>
    145 <para>is used to sort Texinfo index files.</para>
    146 </listitem>
    147 </varlistentry>
    148 </variablelist>
     62<para>See testing</para>
    14963
    15064</sect2>
  • chapter06/udev.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Udev package contains programs for dynamic creation of device nodes.</para>
    1413
    1514<segmentedlist>
     
    2827<screen><userinput>make udevdir=/dev</userinput></screen>
    2928
    30 <variablelist>
    31 <varlistentry>
    32 <term><parameter>udevdir=/dev</parameter></term>
    33 <listitem><para>This tells <command>udev</command> which directory it is to
    34 create device nodes in.</para></listitem>
    35 </varlistentry>
    36 </variablelist>
    37 
    3829<para>Install it:</para>
    3930
    4031<screen><userinput>make udevdir=/dev install</userinput></screen>
    4132
    42 <para>Udev's configuration is far from ideal by default, so we install our own
    43 configuration files here:</para>
     33<para>Install our configuration files:</para>
    4434
    4535<screen><userinput>cp ../udev-config-2.permissions /etc/udev/permissions.d/25-lfs.permissions
    4636cp ../udev-config-1.rules /etc/udev/rules.d/25-lfs.rules</userinput></screen>
    4737
    48 <para>Finally, we'll allow udev to create the full compliment of device
    49 nodes, since earlier we only created a minimal set.</para>
     38<para>Create the full compliment of device  nodes:</para>
    5039
    5140<screen><userinput>/sbin/udevstart</userinput></screen>
     
    5645<sect2 id="contents-udev" role="content"><title>Contents of Udev</title>
    5746
    58 <segmentedlist>
    59 <segtitle>Installed programs</segtitle>
    60 <seglistitem><seg>udev, udevd, udevsend, udevstart, udevinfo, udevtest</seg></seglistitem>
    61 </segmentedlist>
     47<para>See testing</para>
    6248
    63 <variablelist><title>Short descriptions</title>
    64                                                                                
    65 <varlistentry id="udev">
    66 <term><command>udev</command></term>
    67 <listitem><indexterm zone="ch-system-udev udev"><primary
    68 sortas="b-udev">udev</primary></indexterm>
    69 <para>is used to create device nodes in <filename
    70 class="directory">/dev</filename> or to rename network interfaces (not in LFS)
    71 in response to hotplug events.</para>
    72 </listitem></varlistentry>
    73 
    74 <varlistentry id="udevd">
    75 <term><command>udevd</command></term>
    76 <listitem> <indexterm zone="ch-system-udev udevd"><primary
    77 sortas="b-udevd">udevd</primary></indexterm>
    78 <para>is a daemon that reorders hotplug events before submitting them to
    79 <command>udev</command>,
    80 thus avoiding various race conditions.</para>
    81 </listitem></varlistentry>
    82 
    83 <varlistentry id="udevsend">
    84 <term><command>udevsend</command></term>
    85 <listitem> <indexterm zone="ch-system-udev udevsend"><primary
    86 sortas="b-udevsend">udevsend</primary></indexterm>
    87 <para>is used to deliver hotplug events to <command>udevd</command>.</para>
    88 </listitem></varlistentry>
    89 
    90 <varlistentry id="udevstart">
    91 <term><command>udevstart</command></term>
    92 <listitem> <indexterm zone="ch-system-udev udevstart"><primary
    93 sortas="b-udevstart">udevstart</primary></indexterm>
    94 <para>is used to create device nodes in <filename
    95 class="directory">/dev</filename> that correspond to drivers compiled directly
    96 into the kernel. It performs that task by simulating hotplug events presumably
    97 dropped by the kernel before invocation of this program (e.g. because the root
    98 filesystem has not been mounted) and submitting such synthetic hotplug events
    99 to <command>udev</command>.</para>
    100 </listitem>
    101 </varlistentry>
    102 
    103 <varlistentry id="udevinfo">
    104 <term><command>udevinfo</command></term>
    105 <listitem> <indexterm zone="ch-system-udev udevinfo"><primary
    106 sortas="b-udevinfo">udevinfo</primary></indexterm>
    107 <para>allows users to query the <command>udev</command> database for
    108 information on any device currently present on the system. It also
    109 provides a way to query any device in the sysfs tree to help creating udev
    110 rules.</para>
    111 </listitem></varlistentry>
    112 
    113 <varlistentry id="udevtest">
    114 <term><command>udevtest</command></term>
    115 <listitem> <indexterm zone="ch-system-udev udevtest"><primary
    116 sortas="b-udevtest">udevtest</primary></indexterm>
    117 <para>simulates a <command>udev</command> run for the given device,
    118 and prints out the name of the node the real <command>udev</command> would
    119 have created, or (not in LFS) the name of the renamed network interface.</para>
    120 </listitem></varlistentry>
    121 
    122 <varlistentry id="etc-dev-d">
    123 <term><filename class="directory">/etc/dev.d</filename></term>
    124 <listitem> <indexterm zone="ch-system-udev etc-dev-d"><primary
    125 sortas="e-etc-dev-d">/etc/dev.d</primary></indexterm>
    126 <para>directory is supposed to contain user-written handlers for device
    127 creation hotplug events.</para>
    128 </listitem></varlistentry>
    129 
    130 <varlistentry id="etc-udev">
    131 <term><filename class="directory">/etc/udev</filename></term>
    132 <listitem> <indexterm zone="ch-system-udev etc-udev"><primary
    133 sortas="e-etc-udev">/etc/udev</primary></indexterm>
    134 <para>directory contains <command>udev</command> configuration files,
    135 device permissions and rules for device naming.</para>
    136 </listitem></varlistentry>
    137 </variablelist>
    13849</sect2>
    13950
  • chapter06/util-linux.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Util-linux package contains miscellaneous utility programs. Among
    14 them are utilities for handling file systems, consoles, partitions, and
    15 messages.</para>
    1613
    1714<segmentedlist>
     
    2118</segmentedlist>
    2219
    23 <segmentedlist>
    24 <segtitle>Util-linux installation depends on</segtitle>
    25 <seglistitem><seg>Bash, Binutils, Coreutils,
    26 Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed, Zlib</seg></seglistitem>
    27 </segmentedlist>
    2820</sect2>
    2921
     
    3123<title>FHS compliance notes</title>
    3224
    33 <para>The FHS recommends that we use <filename class="directory">/var/lib/hwclock</filename>,
    34 instead of the usual <filename class="directory">/etc</filename>, as the location for the
    35 <filename>adjtime</filename> file. To make the <command>hwclock</command>
    36 program FHS-compliant, run the following:</para>
     25<para>Issue a sed sustitution:</para>
    3726
    3827<screen><userinput>sed -i 's@etc/adjtime@var/lib/hwclock/adjtime@g' hwclock/hwclock.c
     
    5241<screen><userinput>make HAVE_KILL=yes HAVE_SLN=yes</userinput></screen>
    5342
    54 <para>The meaning of the make parameters:</para>
    55 
    56 <variablelist>
    57 <varlistentry>
    58 <term><parameter>HAVE_KILL=yes</parameter></term>
    59 <listitem><para>This prevents the
    60 <command>kill</command> program (already installed by Procps) from being
    61 built and installed again.</para></listitem>
    62 </varlistentry>
    63 
    64 <varlistentry>
    65 <term><parameter>HAVE_SLN=yes</parameter></term>
    66 <listitem><para>This prevents the
    67 <command>sln</command> program (a statically linked
    68 <command>ln</command> already installed by Glibc) from being built and
    69 installed again.</para></listitem>
    70 </varlistentry>
    71 </variablelist>
    72 
    7343<para>Now install the package:</para>
    7444
     
    8050<sect2 id="contents-utillinux" role="content"><title>Contents of Util-linux</title>
    8151
    82 <segmentedlist>
    83 <segtitle>Installed programs</segtitle>
    84 <seglistitem><seg>agetty, arch, blockdev, cal, cfdisk, chkdupexe, col, colcrt,
    85 colrm, column, ctrlaltdel, cytune, ddate, dmesg, elvtune, fdformat, fdisk,
    86 fsck.cramfs, fsck.minix, getopt, hexdump, hwclock, ipcrm, ipcs, isosize, line,
    87 logger, look, losetup, mcookie, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap,
    88 more, mount, namei, pg, pivot_root, ramsize (link to rdev), raw, rdev, readprofile,
    89 rename, renice, rev, rootflags (link to rdev), script, setfdprm, setsid, setterm,
    90 sfdisk, swapoff (link to swapon), swapon, tunelp, ul, umount, vidmode (link to rdev),
    91 whereis and write</seg></seglistitem>
    92 </segmentedlist>
    93 
    94 <variablelist><title>Short descriptions</title>
    95 
    96 <varlistentry id="agetty">
    97 <term><command>agetty</command></term>
    98 <listitem>
    99 <indexterm zone="ch-system-util-linux agetty"><primary sortas="b-agetty">agetty</primary></indexterm>
    100 <para>opens a tty port, prompts for a login name,
    101 and then invokes the <command>login</command> program.</para>
    102 </listitem>
    103 </varlistentry>
    104 
    105 <varlistentry id="arch">
    106 <term><command>arch</command></term>
    107 <listitem>
    108 <indexterm zone="ch-system-util-linux arch"><primary sortas="b-arch">arch</primary></indexterm>
    109 <para>reports the machine's architecture.</para>
    110 </listitem>
    111 </varlistentry>
    112 
    113 <varlistentry id="blockdev">
    114 <term><command>blockdev</command></term>
    115 <listitem>
    116 <indexterm zone="ch-system-util-linux blockdev"><primary sortas="b-blockdev">blockdev</primary></indexterm>
    117 <para>allows you to call block device ioctls from the command line.</para>
    118 </listitem>
    119 </varlistentry>
    120 
    121 <varlistentry id="cal">
    122 <term><command>cal</command></term>
    123 <listitem>
    124 <indexterm zone="ch-system-util-linux cal"><primary sortas="b-cal">cal</primary></indexterm>
    125 <para>displays a simple calendar.</para>
    126 </listitem>
    127 </varlistentry>
    128 
    129 <varlistentry id="cfdisk">
    130 <term><command>cfdisk</command></term>
    131 <listitem>
    132 <indexterm zone="ch-system-util-linux cfdisk"><primary sortas="b-cfdisk">cfdisk</primary></indexterm>
    133 <para>is used to manipulate the partition table of the given device.</para>
    134 </listitem>
    135 </varlistentry>
    136 
    137 <varlistentry id="chkdupexe">
    138 <term><command>chkdupexe</command></term>
    139 <listitem>
    140 <indexterm zone="ch-system-util-linux chkdupexe"><primary sortas="b-chkdupexe">chkdupexe</primary></indexterm>
    141 <para>finds duplicate executables.</para>
    142 </listitem>
    143 </varlistentry>
    144 
    145 <varlistentry id="col">
    146 <term><command>col</command></term>
    147 <listitem>
    148 <indexterm zone="ch-system-util-linux col"><primary sortas="b-col">col</primary></indexterm>
    149 <para>filters out reverse line feeds.</para>
    150 </listitem>
    151 </varlistentry>
    152 
    153 <varlistentry id="colcrt">
    154 <term><command>colcrt</command></term>
    155 <listitem>
    156 <indexterm zone="ch-system-util-linux colcrt"><primary sortas="b-colcrt">colcrt</primary></indexterm>
    157 <para>is used to filter nroff output for terminals
    158 that lack some capabilities such as overstriking and half-lines.</para>
    159 </listitem>
    160 </varlistentry>
    161 
    162 <varlistentry id="colrm">
    163 <term><command>colrm</command></term>
    164 <listitem>
    165 <indexterm zone="ch-system-util-linux colrm"><primary sortas="b-colrm">colrm</primary></indexterm>
    166 <para>filters out the given columns.</para>
    167 </listitem>
    168 </varlistentry>
    169 
    170 <varlistentry id="column">
    171 <term><command>column</command></term>
    172 <listitem>
    173 <indexterm zone="ch-system-util-linux column"><primary sortas="b-column">column</primary></indexterm>
    174 <para>formats a given file into multiple columns.</para>
    175 </listitem>
    176 </varlistentry>
    177 
    178 <varlistentry id="ctrlaltdel">
    179 <term><command>ctrlaltdel</command></term>
    180 <listitem>
    181 <indexterm zone="ch-system-util-linux ctrlaltdel"><primary sortas="b-ctrlaltdel">ctrlaltdel</primary></indexterm>
    182 <para>sets the function of the Ctrl+Alt+Del key combination to a hard or a
    183 soft reset.</para>
    184 </listitem>
    185 </varlistentry>
    186 
    187 <varlistentry id="cytune">
    188 <term><command>cytune</command></term>
    189 <listitem>
    190 <indexterm zone="ch-system-util-linux cytune"><primary sortas="b-cytune">cytune</primary></indexterm>
    191 <para>was used to tune the parameters of the
    192 serial line drivers for Cyclades cards.</para>
    193 </listitem>
    194 </varlistentry>
    195 
    196 <varlistentry id="ddate">
    197 <term><command>ddate</command></term>
    198 <listitem>
    199 <indexterm zone="ch-system-util-linux ddate"><primary sortas="b-ddate">ddate</primary></indexterm>
    200 <para>gives the Discordian date, or converts the
    201 given Gregorian date to a Discordian one.</para>
    202 </listitem>
    203 </varlistentry>
    204 
    205 <varlistentry id="dmesg">
    206 <term><command>dmesg</command></term>
    207 <listitem>
    208 <indexterm zone="ch-system-util-linux dmesg"><primary sortas="b-dmesg">dmesg</primary></indexterm>
    209 <para>dumps the kernel boot messages.</para>
    210 </listitem>
    211 </varlistentry>
    212 
    213 <varlistentry id="elvtune">
    214 <term><command>elvtune</command></term>
    215 <listitem>
    216 <indexterm zone="ch-system-util-linux elvtune"><primary sortas="b-elvtune">elvtune</primary></indexterm>
    217 <para>can be used to tune the performance
    218 and interactivity of a block device.</para>
    219 </listitem>
    220 </varlistentry>
    221 
    222 <varlistentry id="fdformat">
    223 <term><command>fdformat</command></term>
    224 <listitem>
    225 <indexterm zone="ch-system-util-linux fdformat"><primary sortas="b-fdformat">fdformat</primary></indexterm>
    226 <para>low-level formats a floppy disk.</para>
    227 </listitem>
    228 </varlistentry>
    229 
    230 <varlistentry id="fdisk">
    231 <term><command>fdisk</command></term>
    232 <listitem>
    233 <indexterm zone="ch-system-util-linux fdisk"><primary sortas="b-fdisk">fdisk</primary></indexterm>
    234 <para>could be used to manipulate the partition table of the given device.</para>
    235 </listitem>
    236 </varlistentry>
    237 
    238 <varlistentry id="fsck.cramfs">
    239 <term><command>fsck.cramfs</command></term>
    240 <listitem>
    241 <indexterm zone="ch-system-util-linux fsck.cramfs"><primary sortas="b-fsck.cramfs">fsck.cramfs</primary></indexterm>
    242 <para>performs a consistency check on the
    243 Cramfs file system on the given device.</para>
    244 </listitem>
    245 </varlistentry>
    246 
    247 <varlistentry id="fsck.minix">
    248 <term><command>fsck.minix</command></term>
    249 <listitem>
    250 <indexterm zone="ch-system-util-linux fsck.minix"><primary sortas="b-fsck.minix">fsck.minix</primary></indexterm>
    251 <para>performs a consistency check on the
    252 Minix file system on the given device.</para>
    253 </listitem>
    254 </varlistentry>
    255 
    256 <varlistentry id="getopt">
    257 <term><command>getopt</command></term>
    258 <listitem>
    259 <indexterm zone="ch-system-util-linux getopt"><primary sortas="b-getopt">getopt</primary></indexterm>
    260 <para>parses options in the given command line.</para>
    261 </listitem>
    262 </varlistentry>
    263 
    264 <varlistentry id="hexdump">
    265 <term><command>hexdump</command></term>
    266 <listitem>
    267 <indexterm zone="ch-system-util-linux hexdump"><primary sortas="b-hexdump">hexdump</primary></indexterm>
    268 <para>dumps the given file in hexadecimal, or in another given format.</para>
    269 </listitem>
    270 </varlistentry>
    271 
    272 <varlistentry id="hwclock">
    273 <term><command>hwclock</command></term>
    274 <listitem>
    275 <indexterm zone="ch-system-util-linux hwclock"><primary sortas="b-hwclock">hwclock</primary></indexterm>
    276 <para>is used to read or set the system's hardware clock, also called the RTC
    277 (Real-Time Clock) or BIOS (Basic Input-Output System) clock.</para>
    278 </listitem>
    279 </varlistentry>
    280 
    281 <varlistentry id="ipcrm">
    282 <term><command>ipcrm</command></term>
    283 <listitem>
    284 <indexterm zone="ch-system-util-linux ipcrm"><primary sortas="b-ipcrm">ipcrm</primary></indexterm>
    285 <para>removes the given IPC resource.</para>
    286 </listitem>
    287 </varlistentry>
    288 
    289 <varlistentry id="ipcs">
    290 <term><command>ipcs</command></term>
    291 <listitem>
    292 <indexterm zone="ch-system-util-linux ipcs"><primary sortas="b-ipcs">ipcs</primary></indexterm>
    293 <para>provides IPC status information.</para>
    294 </listitem>
    295 </varlistentry>
    296 
    297 <varlistentry id="isosize">
    298 <term><command>isosize</command></term>
    299 <listitem>
    300 <indexterm zone="ch-system-util-linux isosize"><primary sortas="b-isosize">isosize</primary></indexterm>
    301 <para>reports the size of an iso9660 file system.</para>
    302 </listitem>
    303 </varlistentry>
    304 
    305 <varlistentry id="line">
    306 <term><command>line</command></term>
    307 <listitem>
    308 <indexterm zone="ch-system-util-linux line"><primary sortas="b-line">line</primary></indexterm>
    309 <para>copies a single line.</para>
    310 </listitem>
    311 </varlistentry>
    312 
    313 <varlistentry id="logger">
    314 <term><command>logger</command></term>
    315 <listitem>
    316 <indexterm zone="ch-system-util-linux logger"><primary sortas="b-logger">logger</primary></indexterm>
    317 <para>enters the given message into the system log.</para>
    318 </listitem>
    319 </varlistentry>
    320 
    321 <varlistentry id="look">
    322 <term><command>look</command></term>
    323 <listitem>
    324 <indexterm zone="ch-system-util-linux look"><primary sortas="b-look">look</primary></indexterm>
    325 <para>displays lines that begin with the given string.</para>
    326 </listitem>
    327 </varlistentry>
    328 
    329 <varlistentry id="losetup">
    330 <term><command>losetup</command></term>
    331 <listitem>
    332 <indexterm zone="ch-system-util-linux losetup"><primary sortas="b-losetup">losetup</primary></indexterm>
    333 <para>is used to set up and control loop devices.</para>
    334 </listitem>
    335 </varlistentry>
    336 
    337 <varlistentry id="mcookie">
    338 <term><command>mcookie</command></term>
    339 <listitem>
    340 <indexterm zone="ch-system-util-linux mcookie"><primary sortas="b-mcookie">mcookie</primary></indexterm>
    341 <para>generates magic cookies, 128-bit random hexadecimal numbers,
    342 for <command>xauth</command>.</para>
    343 </listitem>
    344 </varlistentry>
    345 
    346 <varlistentry id="mkfs">
    347 <term><command>mkfs</command></term>
    348 <listitem>
    349 <indexterm zone="ch-system-util-linux mkfs"><primary sortas="b-mkfs">mkfs</primary></indexterm>
    350 <para>is used to build a file system on a device
    351 (usually a hard disk partition).</para>
    352 </listitem>
    353 </varlistentry>
    354 
    355 <varlistentry id="mkfs.bfs">
    356 <term><command>mkfs.bfs</command></term>
    357 <listitem>
    358 <indexterm zone="ch-system-util-linux mkfs.bfs"><primary sortas="b-mkfs.bfs">mkfs.bfs</primary></indexterm>
    359 <para>creates an SCO (Santa Cruz Operations) bfs file system.</para>
    360 </listitem>
    361 </varlistentry>
    362 
    363 <varlistentry id="mkfs.cramfs">
    364 <term><command>mkfs.cramfs</command></term>
    365 <listitem>
    366 <indexterm zone="ch-system-util-linux mkfs.cramfs"><primary sortas="b-mkfs.cramfs">mkfs.cramfs</primary></indexterm>
    367 <para>creates a cramfs file system.</para>
    368 </listitem>
    369 </varlistentry>
    370 
    371 <varlistentry id="mkfs.minix">
    372 <term><command>mkfs.minix</command></term>
    373 <listitem>
    374 <indexterm zone="ch-system-util-linux mkfs.minix"><primary sortas="b-mkfs.minix">mkfs.minix</primary></indexterm>
    375 <para>creates a Minix file system.</para>
    376 </listitem>
    377 </varlistentry>
    378 
    379 <varlistentry id="mkswap">
    380 <term><command>mkswap</command></term>
    381 <listitem>
    382 <indexterm zone="ch-system-util-linux mkswap"><primary sortas="b-mkswap">mkswap</primary></indexterm>
    383 <para>initializes the given device or file to be used as a swap area.</para>
    384 </listitem>
    385 </varlistentry>
    386 
    387 <varlistentry id="more">
    388 <term><command>more</command></term>
    389 <listitem>
    390 <indexterm zone="ch-system-util-linux more"><primary sortas="b-more">more</primary></indexterm>
    391 <para>is a filter for paging through text one
    392 screen full at a time. But <command>less</command> is much better.</para>
    393 </listitem>
    394 </varlistentry>
    395 
    396 <varlistentry id="mount">
    397 <term><command>mount</command></term>
    398 <listitem>
    399 <indexterm zone="ch-system-util-linux mount"><primary sortas="b-mount">mount</primary></indexterm>
    400 <para>attaches the file system on the given device to a specified directory (thus
    401 hiding the contents of that directory) in the file-system tree.</para>
    402 </listitem>
    403 </varlistentry>
    404 
    405 <varlistentry id="namei">
    406 <term><command>namei</command></term>
    407 <listitem>
    408 <indexterm zone="ch-system-util-linux namei"><primary sortas="b-namei">namei</primary></indexterm>
    409 <para>shows the symbolic links in the given pathnames.</para>
    410 </listitem>
    411 </varlistentry>
    412 
    413 <varlistentry id="pg">
    414 <term><command>pg</command></term>
    415 <listitem>
    416 <indexterm zone="ch-system-util-linux pg"><primary sortas="b-pg">pg</primary></indexterm>
    417 <para>displays a text file one screen full at a time.</para>
    418 </listitem>
    419 </varlistentry>
    420 
    421 <varlistentry id="pivot_root">
    422 <term><command>pivot_root</command></term>
    423 <listitem>
    424 <indexterm zone="ch-system-util-linux pivot_root"><primary sortas="b-pivot_root">pivot_root</primary></indexterm>
    425 <para>makes the given file system the new
    426 root file system of the current process.</para>
    427 </listitem>
    428 </varlistentry>
    429 
    430 <varlistentry id="ramsize">
    431 <term><command>ramsize</command></term>
    432 <listitem>
    433 <indexterm zone="ch-system-util-linux ramsize"><primary sortas="b-ramsize">ramsize</primary></indexterm>
    434 <para>is used to set the size of the RAM disk in a bootable image.</para>
    435 </listitem>
    436 </varlistentry>
    437 
    438 <varlistentry id="rdev">
    439 <term><command>rdev</command></term>
    440 <listitem>
    441 <indexterm zone="ch-system-util-linux rdev"><primary sortas="b-rdev">rdev</primary></indexterm>
    442 <para>is used to query and set the root
    443 device and other things in a bootable image.</para>
    444 </listitem>
    445 </varlistentry>
    446 
    447 <varlistentry id="readprofile">
    448 <term><command>readprofile</command></term>
    449 <listitem>
    450 <indexterm zone="ch-system-util-linux readprofile"><primary sortas="b-readprofile">readprofile</primary></indexterm>
    451 <para>reads kernel profiling information.</para>
    452 </listitem>
    453 </varlistentry>
    454 
    455 <varlistentry id="rename">
    456 <term><command>rename</command></term>
    457 <listitem>
    458 <indexterm zone="ch-system-util-linux rename"><primary sortas="b-rename">rename</primary></indexterm>
    459 <para>renames the given files, replacing a given string with another.</para>
    460 </listitem>
    461 </varlistentry>
    462 
    463 <varlistentry id="renice">
    464 <term><command>renice</command></term>
    465 <listitem>
    466 <indexterm zone="ch-system-util-linux renice"><primary sortas="b-renice">renice</primary></indexterm>
    467 <para>is used to alter the priority of running processes.</para>
    468 </listitem>
    469 </varlistentry>
    470 
    471 <varlistentry id="rev">
    472 <term><command>rev</command></term>
    473 <listitem>
    474 <indexterm zone="ch-system-util-linux rev"><primary sortas="b-rev">rev</primary></indexterm>
    475 <para>reverses the lines of a given file.</para>
    476 </listitem>
    477 </varlistentry>
    478 
    479 <varlistentry id="rootflags">
    480 <term><command>rootflags</command></term>
    481 <listitem>
    482 <indexterm zone="ch-system-util-linux rootflags"><primary sortas="b-rootflags">rootflags</primary></indexterm>
    483 <para>is used to set the rootflags in a bootable image.</para>
    484 </listitem>
    485 </varlistentry>
    486 
    487 <varlistentry id="script">
    488 <term><command>script</command></term>
    489 <listitem>
    490 <indexterm zone="ch-system-util-linux script"><primary sortas="b-script">script</primary></indexterm>
    491 <para>makes a typescript of a terminal session, of everything printed to
    492 the terminal.</para>
    493 </listitem>
    494 </varlistentry>
    495 
    496 <varlistentry id="setfdprm">
    497 <term><command>setfdprm</command></term>
    498 <listitem>
    499 <indexterm zone="ch-system-util-linux setfdprm"><primary sortas="b-setfdprm">setfdprm</primary></indexterm>
    500 <para>sets user-provided floppy disk parameters.</para>
    501 </listitem>
    502 </varlistentry>
    503 
    504 <varlistentry id="setsid">
    505 <term><command>setsid</command></term>
    506 <listitem>
    507 <indexterm zone="ch-system-util-linux setsid"><primary sortas="b-setsid">setsid</primary></indexterm>
    508 <para>runs the given program in a new session.</para>
    509 </listitem>
    510 </varlistentry>
    511 
    512 <varlistentry id="setterm">
    513 <term><command>setterm</command></term>
    514 <listitem>
    515 <indexterm zone="ch-system-util-linux setterm"><primary sortas="b-setterm">setterm</primary></indexterm>
    516 <para>is used to set terminal attributes.</para>
    517 </listitem>
    518 </varlistentry>
    519 
    520 <varlistentry id="sfdisk">
    521 <term><command>sfdisk</command></term>
    522 <listitem>
    523 <indexterm zone="ch-system-util-linux sfdisk"><primary sortas="b-sfdisk">sfdisk</primary></indexterm>
    524 <para>is a disk partition table manipulator.</para>
    525 </listitem>
    526 </varlistentry>
    527 
    528 <varlistentry id="swapdev">
    529 <term><command>swapdev</command></term>
    530 <listitem>
    531 <indexterm zone="ch-system-util-linux swapdev"><primary sortas="b-swapdev">swapdev</primary></indexterm>
    532 <para>is used to set the swap device in a bootable image.</para>
    533 </listitem>
    534 </varlistentry>
    535 
    536 <varlistentry id="swapoff">
    537 <term><command>swapoff</command></term>
    538 <listitem>
    539 <indexterm zone="ch-system-util-linux swapoff"><primary sortas="b-swapoff">swapoff</primary></indexterm>
    540 <para>disables devices and files for paging and swapping.</para>
    541 </listitem>
    542 </varlistentry>
    543 
    544 <varlistentry id="swapon">
    545 <term><command>swapon</command></term>
    546 <listitem>
    547 <indexterm zone="ch-system-util-linux swapon"><primary sortas="b-swapon">swapon</primary></indexterm>
    548 <para>enables devices and files for paging and swapping.</para>
    549 </listitem>
    550 </varlistentry>
    551 
    552 <varlistentry id="tunelp">
    553 <term><command>tunelp</command></term>
    554 <listitem>
    555 <indexterm zone="ch-system-util-linux tunelp"><primary sortas="b-tunelp">tunelp</primary></indexterm>
    556 <para>is used to tune the parameters of the line printer.</para>
    557 </listitem>
    558 </varlistentry>
    559 
    560 <varlistentry id="ul">
    561 <term><command>ul</command></term>
    562 <listitem>
    563 <indexterm zone="ch-system-util-linux ul"><primary sortas="b-ul">ul</primary></indexterm>
    564 <para>is a filter for translating underscores into
    565 escape sequences indicating underlining for the terminal in use.</para>
    566 </listitem>
    567 </varlistentry>
    568 
    569 <varlistentry id="umount">
    570 <term><command>umount</command></term>
    571 <listitem>
    572 <indexterm zone="ch-system-util-linux umount"><primary sortas="b-umount">umount</primary></indexterm>
    573 <para>disconnects a file system from the system's file tree.</para>
    574 </listitem>
    575 </varlistentry>
    576 
    577 <varlistentry id="vidmode">
    578 <term><command>vidmode</command></term>
    579 <listitem>
    580 <indexterm zone="ch-system-util-linux vidmode"><primary sortas="b-vidmode">vidmode</primary></indexterm>
    581 <para>could be used to set the video mode in a bootable image.</para>
    582 </listitem>
    583 </varlistentry>
    584 
    585 <varlistentry id="whereis">
    586 <term><command>whereis</command></term>
    587 <listitem>
    588 <indexterm zone="ch-system-util-linux whereis"><primary sortas="b-whereis">whereis</primary></indexterm>
    589 <para>reports the location of binary, the
    590 source, and the manual page for the given command.</para>
    591 </listitem>
    592 </varlistentry>
    593 
    594 <varlistentry id="write">
    595 <term><command>write</command></term>
    596 <listitem>
    597 <indexterm zone="ch-system-util-linux write"><primary sortas="b-write">write</primary></indexterm>
    598 <para>sends a message to the given user,
    599 <emphasis>if</emphasis> that user has not disabled such messages.</para>
    600 </listitem>
    601 </varlistentry>
    602 </variablelist>
     52<para>See testing</para>
    60353
    60454</sect2>
  • chapter06/vim.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Vim package contains a powerful text editor.</para>
    1413
    1514<segmentedlist>
     
    1918</segmentedlist>
    2019
    21 <segmentedlist>
    22 <segtitle>Vim installation depends on</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
    24 GCC, Glibc, Grep, Make, Ncurses, Sed</seg></seglistitem>
    25 </segmentedlist>
    26 
    27 <tip>
    28 <title>Alternatives to Vim</title>
    29 <para>If you prefer another editor -- like Emacs, Joe, or Nano -- to Vim,
    30 have a look at <ulink url="&blfs-root;view/stable/postlfs/editors.html"/> for
    31 suggested installation instructions.</para>
    32 </tip>
    3320</sect2>
    3421
     
    3623<title>Installation of Vim</title>
    3724
    38 <para>First, unpack both
    39 <filename>vim-&vim-version;.tar.bz2</filename> and (optionally)
    40 <filename>vim-&vim-version;-lang.tar.gz</filename> archives into the same
    41 directory. Then change the default locations of the <filename>vimrc</filename> and
    42 <filename>gvimrc</filename> configuration files to <filename class="directory">/etc</filename>.</para>
     25<para>Change the default locations of the configuration files:</para>
    4326
    4427<screen><userinput>echo '#define SYS_VIMRC_FILE "/etc/vimrc"' &gt;&gt; src/feature.h
     
    4932<screen><userinput>./configure --prefix=/usr --enable-multibyte</userinput></screen>
    5033
    51 <para>The optional but highly recommended
    52 <parameter>--enable-multibyte</parameter> switch
    53 includes support for editing files in multibyte character encodings into
    54 <command>vim</command>.
    55 It is needed for those people who ignore our recommendation not to
    56 use LFS in locales with multibyte character sets. It is also needed for
    57 people who want to be able to edit text files initially created
    58 in Linux distributions like Fedora Core
    59 that use UTF-8 as a default character set.</para>
    60 
    6134<para>Compile the package:</para>
    6235
    6336<screen><userinput>make</userinput></screen>
    6437
    65 <para>To test the results, you can issue:
    66 <userinput>make test</userinput>. However, this test suite outputs a lot of
    67 seemingly garbage characters to the screen, and this can wreak havoc with the
    68 settings of the current terminal. Therefore the running of the test suite here
    69 is strictly optional.</para>
     38<para>To test the results, issue:
     39<userinput>make test</userinput></para>
    7040
    7141<para>Now install the package:</para>
     
    7343<screen><userinput>make install</userinput></screen>
    7444
    75 <para>Many users are used to using <command>vi</command>, instead of
    76 <command>vim</command>. To let them execute <command>vim</command> when
    77 they habitually enter <command>vi</command>, create a symlink:</para>
     45<para>Create a symlink:</para>
    7846
    7947<screen><userinput>ln -s vim /usr/bin/vi</userinput></screen>
    80 
    81 <para>If you are going to install the X Window System on your LFS system, you
    82 may want to re-compile Vim after having installed X. Vim comes with a nice GUI
    83 version of the editor that requires X and a few other libraries to be
    84 installed. For more information read the Vim documentation.</para>
    8548
    8649</sect2>
     
    8851
    8952<sect2 id="conf-vim" role="configuration"><title>Configuring Vim</title>
    90 <indexterm zone="conf-vim"><primary sortas="e-/etc/vim">/etc/vim</primary></indexterm>
    9153
    92 <para>By default, <command>vim</command> runs in vi-incompatible mode. Some
    93 people might not like this, but we prefer to run <command>vim</command> in its
    94 own mode (else we wouldn't have included it in this book, but the original
    95 <command>vi</command>). We've included the setting of <quote>nocompatible</quote>
    96 below to high-light the fact that the new behavior is being used. It
    97 also reminds those who would change to <quote>compatible</quote> mode that it should
    98 appear first because it changes other settings and overrides must come
    99 after this setting. Create a default vim configuration file by running
     54<para>Create a default vim configuration file by running
    10055the following:</para>
    10156
     
    11469EOF</userinput></screen>
    11570
    116 <para>The <parameter>set nocompatible</parameter> makes
    117 <command>vim</command> behave in a more useful way (the default) than the
    118 vi-compatible manner. Remove the <quote>no</quote> if you want the old <command>vi</command>
    119 behavior. The <parameter>set backspace=2</parameter> allows
    120 backspacing over line breaks, autoindents and the start of insert. The
    121 <parameter>syntax on</parameter> enables <command>vim</command>'s
    122 syntax highliting.
    12371<!-- XXX: the ascii-only files are considered to be in utf-8 - that's not what
    12472one expects . That's why fileencodings stuff is commented out for now
     
    13482passed the <parameter>- -enable-multibyte</parameter> switch to the
    13583<command>./configure</command> command above, this line will not work. -->
    136 Finally, the <emphasis>if</emphasis> statement with the
    137 <parameter>set background=dark</parameter> corrects <command>vim</command>'s
    138 guess about the background color of some terminal emulators. This gives the
    139 highliting a better color scheme for use on the black background of
    140 these programs.
    141 </para>
    14284
    14385<para>Documentation for other available options can be obtained by running
     
    15193<sect2 id="contents-vim" role="content"><title>Contents of Vim</title>
    15294
    153 <segmentedlist>
    154 <segtitle>Installed programs</segtitle>
    155 <seglistitem><seg>efm_filter.pl, efm_perl.pl, ex (link to vim), less.sh, mve.awk,
    156 pltags.pl, ref, rview (link to vim), rvim (link to vim), shtags.pl, tcltags, vi (link to vim),
    157 view (link to vim), vim, vim132, vim2html.pl, vimdiff (link to vim), vimm, vimspell.sh,
    158 vimtutor and xxd</seg></seglistitem>
    159 </segmentedlist>
    160 
    161 <variablelist><title>Short descriptions</title>
    162 
    163 <varlistentry id="efm_filter.pl">
    164 <term><command>efm_filter.pl</command></term>
    165 <listitem>
    166 <indexterm zone="ch-system-vim efm_filter.pl"><primary sortas="b-efm_filter.pl">efm_filter.pl</primary></indexterm>
    167 <para>is a filter for creating an error file that can be read by <command>vim</command>.</para>
    168 </listitem>
    169 </varlistentry>
    170 
    171 <varlistentry id="efm_perl.pl">
    172 <term><command>efm_perl.pl</command></term>
    173 <listitem>
    174 <indexterm zone="ch-system-vim efm_perl.pl"><primary sortas="b-efm_perl.pl">efm_perl.pl</primary></indexterm>
    175 <para>reformats the error messages of the
    176 Perl interpreter for use with the <quote>quickfix</quote> mode of <command>vim</command>.</para>
    177 </listitem>
    178 </varlistentry>
    179 
    180 <varlistentry id="ex">
    181 <term><command>ex</command></term>
    182 <listitem>
    183 <indexterm zone="ch-system-vim ex"><primary sortas="b-ex">ex</primary></indexterm>
    184 <para>starts <command>vim</command> in ex mode.</para>
    185 </listitem>
    186 </varlistentry>
    187 
    188 <varlistentry id="less.sh">
    189 <term><command>less.sh</command></term>
    190 <listitem>
    191 <indexterm zone="ch-system-vim less.sh"><primary sortas="b-less.sh">less.sh</primary></indexterm>
    192 <para>is a script that starts <command>vim</command> with less.vim.</para>
    193 </listitem>
    194 </varlistentry>
    195 
    196 <varlistentry id="mve.awk">
    197 <term><command>mve.awk</command></term>
    198 <listitem>
    199 <indexterm zone="ch-system-vim mve.awk"><primary sortas="b-mve.awk">mve.awk</primary></indexterm>
    200 <para>processes <command>vim</command> errors.</para>
    201 </listitem>
    202 </varlistentry>
    203 
    204 <varlistentry id="pltags.pl">
    205 <term><command>pltags.pl</command></term>
    206 <listitem>
    207 <indexterm zone="ch-system-vim pltags.pl"><primary sortas="b-pltags.pl">pltags.pl</primary></indexterm>
    208 <para>creates a tags file for Perl code, for use by <command>vim</command>.</para>
    209 </listitem>
    210 </varlistentry>
    211 
    212 <varlistentry id="ref">
    213 <term><command>ref</command></term>
    214 <listitem>
    215 <indexterm zone="ch-system-vim ref"><primary sortas="b-ref">ref</primary></indexterm>
    216 <para>checks the spelling of arguments.</para>
    217 </listitem>
    218 </varlistentry>
    219 
    220 <varlistentry id="rview">
    221 <term><command>rview</command></term>
    222 <listitem>
    223 <indexterm zone="ch-system-vim rview"><primary sortas="b-rview">rview</primary></indexterm>
    224 <para>is a restricted version of <command>view</command>: no shell
    225 commands can be started and <command>view</command> can't be suspended.</para>
    226 </listitem>
    227 </varlistentry>
    228 
    229 <varlistentry id="rvim">
    230 <term><command>rvim</command></term>
    231 <listitem>
    232 <indexterm zone="ch-system-vim rvim"><primary sortas="b-rvim">rvim</primary></indexterm>
    233 <para>is a restricted version of <command>vim</command>: no shell
    234 commands can be started and <command>vim</command> can't be suspended.</para>
    235 </listitem>
    236 </varlistentry>
    237 
    238 <varlistentry id="shtags.pl">
    239 <term><command>shtags.pl</command></term>
    240 <listitem>
    241 <indexterm zone="ch-system-vim shtags.pl"><primary sortas="b-shtags.pl">shtags.pl</primary></indexterm>
    242 <para>generates a tag file for Perl scripts.</para>
    243 </listitem>
    244 </varlistentry>
    245 
    246 <varlistentry id="tcltags">
    247 <term><command>tcltags</command></term>
    248 <listitem>
    249 <indexterm zone="ch-system-vim tcltags"><primary sortas="b-tcltags">tcltags</primary></indexterm>
    250 <para>generates a tag file for TCL code.</para>
    251 </listitem>
    252 </varlistentry>
    253 
    254 <varlistentry id="view">
    255 <term><command>view</command></term>
    256 <listitem>
    257 <indexterm zone="ch-system-vim view"><primary sortas="b-view">view</primary></indexterm>
    258 <para>starts <command>vim</command> in read-only mode.</para>
    259 </listitem>
    260 </varlistentry>
    261 
    262 <varlistentry id="vim">
    263 <term><command>vim</command></term>
    264 <listitem>
    265 <indexterm zone="ch-system-vim vim"><primary sortas="b-vim">vim</primary></indexterm>
    266 <para>is the editor.</para>
    267 </listitem>
    268 </varlistentry>
    269 
    270 <varlistentry id="vim132">
    271 <term><command>vim132</command></term>
    272 <listitem>
    273 <indexterm zone="ch-system-vim vim132"><primary sortas="b-vim132">vim132</primary></indexterm>
    274 <para>starts <command>vim</command> with the terminal in 132-column mode.</para>
    275 </listitem>
    276 </varlistentry>
    277 
    278 <varlistentry id="vim2html.pl">
    279 <term><command>vim2html.pl</command></term>
    280 <listitem>
    281 <indexterm zone="ch-system-vim vim2html.pl"><primary sortas="b-vim2html.pl">vim2html.pl</primary></indexterm>
    282 <para>converts Vim documentation to HTML.</para>
    283 </listitem>
    284 </varlistentry>
    285 
    286 <varlistentry id="vimdiff">
    287 <term><command>vimdiff</command></term>
    288 <listitem>
    289 <indexterm zone="ch-system-vim vimdiff"><primary sortas="b-vimdiff">vimdiff</primary></indexterm>
    290 <para>edits two or three versions of a file with <command>vim</command> and show differences.</para>
    291 </listitem>
    292 </varlistentry>
    293 
    294 <varlistentry id="vimm">
    295 <term><command>vimm</command></term>
    296 <listitem>
    297 <indexterm zone="ch-system-vim vimm"><primary sortas="b-vimm">vimm</primary></indexterm>
    298 <para>enables the DEC locator input model on a remote terminal.</para>
    299 </listitem>
    300 </varlistentry>
    301 
    302 <varlistentry id="vimspell.sh">
    303 <term><command>vimspell.sh</command></term>
    304 <listitem>
    305 <indexterm zone="ch-system-vim vimspell.sh"><primary sortas="b-vimspell.sh">vimspell.sh</primary></indexterm>
    306 <para>is a script which spells a file and generates the syntax statements necessary
    307 to highlight in <command>vim</command>. This script requires the old Unix <command>spell</command>
    308 command, which is provided neither in LFS nor in BLFS.</para>
    309 </listitem>
    310 </varlistentry>
    311 
    312 <varlistentry id="vimtutor">
    313 <term><command>vimtutor</command></term>
    314 <listitem>
    315 <indexterm zone="ch-system-vim vimtutor"><primary sortas="b-vimtutor">vimtutor</primary></indexterm>
    316 <para>teaches you the basic keys and commands of <command>vim</command>.</para>
    317 </listitem>
    318 </varlistentry>
    319 
    320 <varlistentry id="xxd">
    321 <term><command>xxd</command></term>
    322 <listitem>
    323 <indexterm zone="ch-system-vim xxd"><primary sortas="b-xxd">xxd</primary></indexterm>
    324 <para>makes a hex dump of the given file. It can
    325 also do the reverse, so it can be used for binary patching.</para>
    326 </listitem>
    327 </varlistentry>
    328 </variablelist>
     95<para>See testing</para>
    32996
    33097</sect2>
  • chapter06/zlib.xml

    raaa3260 r3f0c882  
    1111
    1212<sect2 role="package"><title/>
    13 <para>The Zlib package contains compression and un-compression routines used by
    14 some programs.</para>
    1513
    1614<segmentedlist>
     
    2018</segmentedlist>
    2119
    22 <segmentedlist>
    23 <segtitle>Zlib installation depends on</segtitle>
    24 <seglistitem><seg>Binutils, Coreutils, GCC, Glibc, Make, Sed</seg></seglistitem>
    25 </segmentedlist>
    2620</sect2>
    2721
    2822<sect2 role="installation">
    2923<title>Installation of Zlib</title>
    30 
    31 <note><para>Zlib is known to build its shared library incorrectly if CFLAGS is
    32 specified in the environment. If you are using your own CFLAGS variable, be
    33 sure to add the <parameter>-fPIC</parameter> directive to your CFLAGS for the
    34 duration of the below <command>configure</command> command, then remove it
    35 afterwards.</para></note>
    3624
    3725<para>Prepare Zlib for compilation:</para>
     
    7765<sect2 id="contents-zlib" role="content"><title>Contents of Zlib</title>
    7866
    79 <segmentedlist>
    80 <segtitle>Installed libraries</segtitle>
    81 <seglistitem><seg>libz[a,so]</seg></seglistitem>
    82 </segmentedlist>
    83 
    84 <variablelist><title>Short description</title>
    85 
    86 <varlistentry id="libz">
    87 <term><filename class="libraryfile">libz*</filename></term>
    88 <listitem>
    89 <indexterm zone="ch-system-zlib libz"><primary sortas="c-libz*">libz*</primary></indexterm>
    90 <para>contains compression and un-compression
    91 functions used by some programs.</para>
    92 </listitem>
    93 </varlistentry>
    94 </variablelist>
     67<para>See testing</para>
    9568
    9669</sect2>
Note: See TracChangeset for help on using the changeset viewer.