Changeset e6ab4b5


Ignore:
Timestamp:
02/03/2006 06:23:22 PM (18 years ago)
Author:
Manuel Canales Esparcia <manuel@…>
Children:
fa994c9
Parents:
b4cd3c5
Message:

Ported r7294 to r7325 from trunk to alphabetical branch.

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

Files:
1 added
38 edited

Legend:

Unmodified
Added
Removed
  • appendixa/acronymlist.xml

    rb4cd3c5 re6ab4b5  
    327327      <term><emphasis role="bold">LSB</emphasis></term>
    328328      <listitem>
    329         <para>Linux Standards Base</para>
     329        <para>Linux Standard Base</para>
    330330      </listitem>
    331331    </varlistentry>
  • chapter01/changelog.xml

    rb4cd3c5 re6ab4b5  
    3838
    3939    <listitem>
     40      <para>January 30, 2006</para>
     41      <itemizedlist>
     42        <listitem>
     43          <para>[jhuntwork] - Adjust binutils-pass1 so we don't need to hang
     44          on to its source directories. Also use 'gcc -dumpmachine' instead
     45          of the MACHTYPE var.</para>
     46        </listitem>
     47        <listitem>
     48          <para>[jhuntwork] - Various textual corrections. Thanks Chris
     49          Staub.</para>
     50        </listitem>
     51        <listitem>
     52          <para>[jhuntwork] - Remove unnecessary LDFLAGS variables in binutils
     53          pass 1 and 2. Thanks Dan Nicholson.</para>
     54        </listitem>
     55      </itemizedlist>
     56    </listitem>
     57
     58    <listitem>
     59      <para>January 29, 2006</para>
     60      <itemizedlist>
     61        <listitem>
     62          <para>[jhuntwork] - Restore the use of *startfile_prefix_spec.</para>
     63        </listitem>
     64        <listitem>
     65          <para>[jhuntwork] - Remove a spurious -i from the perl command when
     66          readjusting the toolchain. Thanks Dan Nicholson.</para>
     67        </listitem>
     68      </itemizedlist>
     69    </listitem>
     70
     71    <listitem>
     72      <para>January 26, 2006</para>
     73      <itemizedlist>
     74        <listitem>
     75          <para>[jhuntwork] - Modify chapter 6 Glibc's make install command to
     76          allow test-installation.pl to run.</para>
     77        </listitem>
     78        <listitem>
     79          <para>[jhuntwork] - Adjust chapter 5 binutils to build a static ld-new
     80          for use in the chapter 6 readjusting section. Also add some extended
     81          sanity checks. These fixes are adapted from DIY-Linux and Greg Schafer.
     82          Thanks to Dan Nicholson for the report, as well.</para>
     83        </listitem>
     84        <listitem>
     85          <para>[jhuntwork] - Added 'nodump' to commands in the Package Management
     86          section.</para>
     87        </listitem>
     88      </itemizedlist>
     89    </listitem>
     90
     91    <listitem>
     92      <para>January 25, 2006</para>
     93      <itemizedlist>
     94        <listitem>
     95          <para>[jhuntwork] - Remove ppc specific instructions from chapter 6
     96          patch. Cross-LFS can handle non-x86 arch specifics at this point.</para>
     97        </listitem>
     98        <listitem>
     99          <para>[jhuntwork] - Fix chapter 6 Glibc's test-installation.pl to test
     100          the correct Glibc. Fixes bug 1675. Thanks to Dan Nicholson for the report
     101          and Greg Schafer for the fix.</para>
     102        </listitem>
     103        <listitem>
     104          <para>[jhuntwork] - Fixed the re-adjusting of the toolchain in chapter
     105          6 so that chapter 6 GCC and Binutils links against the proper Glibc and
     106          so that we don't have to keep the binutils directories from chapter 5.
     107          Also moved a note about saving the /tools directory to the beginning of
     108          chapter 6. Fixes bug 1677. Thanks to Chris Staub, Alexander Patrakov,
     109          Greg Schafer and Tushar Teredesai for reporting and resolving this
     110          issue.</para>
     111        </listitem>
     112        <listitem>
     113          <para>[matthew] - Upgrade coreutils i18n patch to version 2 to fix
     114          <command>sort -n</command> and add the en_US.UTF-8 locale to improve
     115          coreutils' test coverage.  Fixes bugs 1688 and 1689.  Thanks to
     116          Alexander Patrakov.</para>
     117        </listitem>
     118        <listitem>
     119          <para>[matthew] - Add information about package management.  Thanks to
     120          the BLFS project for the text.</para>
     121        </listitem>
     122      </itemizedlist>
     123    </listitem>
     124
     125    <listitem>
     126      <para>January 24, 2006</para>
     127      <itemizedlist>
     128        <listitem>
     129          <para>[matthew] - Upgrade to Groff-1.18.1.1-11.</para>
     130        </listitem>
     131      </itemizedlist>
     132    </listitem>
     133
     134    <listitem>
     135      <para>January 23, 2006</para>
     136      <itemizedlist>
     137        <listitem>
     138          <para>[matthew] - Upgrade to Man-pages 2.21.</para>
     139        </listitem>
     140        <listitem>
     141          <para>[matthew] - Upgrade to Psmisc 22.1.</para>
     142        </listitem>
     143        <listitem>
     144          <para>[matthew] - Upgrade to Shadow 4.0.14.</para>
     145        </listitem>
     146        <listitem>
     147          <para>[matthew] - Install documentation for the Linux kernel.  Thanks
     148          to Tushar for the report.  Fixes bug 1683.</para>
     149        </listitem>
     150        <listitem>
     151          <para>[matthew] - Added a patch to enable Perl's DB_File module to
     152          compile with the latest version of Berkeley DB.  Thanks to Alexander
     153          Patrakov for the patch.</para>
     154        </listitem>
     155      </itemizedlist>
     156    </listitem>
     157
     158    <listitem>
    40159      <para>January 20, 2006</para>
    41160      <itemizedlist>
  • chapter01/whatsnew.xml

    rb4cd3c5 re6ab4b5  
    233233    </listitem>
    234234    <listitem>
     235      <para>&perl-db_file-patch;</para>
     236    </listitem>
     237    <listitem>
    235238      <para>&perl-libc-patch;</para>
    236239    </listitem>
    237240    <listitem>
    238       <para>&shadow-configure-patch;</para>
    239     </listitem>
    240     <listitem>
    241241      <para>&tar-gcc4_fix-patch;</para>
    242242    </listitem>
  • chapter03/packages.xml

    rb4cd3c5 re6ab4b5  
    292292
    293293    <varlistentry>
    294       <term>Man-pages (&man-pages-version;) - 1,688 KB:</term>
     294      <term>Man-pages (&man-pages-version;) - 1,705 KB:</term>
    295295      <listitem>
    296296        <para><ulink url="&kernel;linux/docs/manpages/"/></para>
     
    357357
    358358    <varlistentry>
    359       <term>Psmisc (&psmisc-version;) - 193 KB:</term>
     359      <term>Psmisc (&psmisc-version;) - 194 KB:</term>
    360360      <listitem>
    361361        <para><ulink url="&sourceforge;psmisc/"/></para>
     
    378378
    379379    <varlistentry>
    380       <term>Shadow (&shadow-version;) - 1,057 KB:</term>
     380      <term>Shadow (&shadow-version;) - 1,218 KB:</term>
    381381      <listitem>
    382382        <para><ulink url="ftp://ftp.pld.org.pl/software/shadow/"/></para>
  • chapter03/patches.xml

    rb4cd3c5 re6ab4b5  
    3636      <term>Coreutils Internationalization Fixes Patch - 110 KB:</term>
    3737      <listitem>
    38         <para><ulink url="&alexpatches;&coreutils-i18n-patch;"/></para>
     38        <para><ulink url="&patches-root;&coreutils-i18n-patch;"/></para>
    3939      </listitem>
    4040    </varlistentry>
     
    5757      <term>Diffutils Internationalization Fixes Patch - 18 KB:</term>
    5858      <listitem>
    59         <para><ulink url="&alexpatches;&diffutils-i18n-patch;"/></para>
     59        <para><ulink url="&patches-root;&diffutils-i18n-patch;"/></para>
    6060      </listitem>
    6161    </varlistentry>
     
    9292      <term>Grep RedHat Fixes Patch - 56 KB:</term>
    9393      <listitem>
    94         <para><ulink url="&alexpatches;&grep-fixes-patch;"/></para>
     94        <para><ulink url="&patches-root;&grep-fixes-patch;"/></para>
    9595      </listitem>
    9696    </varlistentry>
     
    122122      <term>Kbd Backspace/Delete Fix Patch - 1 KB:</term>
    123123      <listitem>
    124         <para><ulink url="&alexpatches;&kbd-backspace-patch;"/></para>
     124        <para><ulink url="&patches-root;&kbd-backspace-patch;"/></para>
    125125      </listitem>
    126126    </varlistentry>
     
    150150      <term>Linux kernel UTF-8 Composing Patch - 3 KB:</term>
    151151      <listitem>
    152         <para><ulink url="&alexpatches;&linux-utf8-patch;"/></para>
     152        <para><ulink url="&patches-root;&linux-utf8-patch;"/></para>
    153153      </listitem>
    154154    </varlistentry>
     
    164164      <term>Ncurses Fixes Patch - 9 KB:</term>
    165165      <listitem>
    166         <para><ulink url="&alexpatches;&ncurses-fixes-patch;"/></para>
     166        <para><ulink url="&patches-root;&ncurses-fixes-patch;"/></para>
     167      </listitem>
     168    </varlistentry>
     169
     170    <varlistentry>
     171      <term>Perl DB_File Module Update patch - 6 KB:</term>
     172      <listitem>
     173        <para><ulink url="&patches-root;&perl-db_file-patch;"/></para>
    167174      </listitem>
    168175    </varlistentry>
     
    183190
    184191    <varlistentry>
    185       <term>Shadow Configure Script Patch - 1KB:</term>
    186       <listitem>
    187         <para><ulink url="&patches-root;&shadow-configure-patch;"/></para>
    188       </listitem>
    189     </varlistentry>
    190 
    191     <varlistentry>
    192192      <term>Sysklogd 8-Bit Cleanness Patch - 1 KB:</term>
    193193      <listitem>
    194         <para><ulink url="&lfs-root;patches/downloads/sysklogd/&sysklogd-8bit-patch;"/></para>
     194        <para><ulink url="&patches-root;&sysklogd-8bit-patch;"/></para>
    195195      </listitem>
    196196    </varlistentry>
     
    220220      <term>Texinfo Multibyte Fixes Patch - 1 KB:</term>
    221221      <listitem>
    222         <para><ulink url="&alexpatches;&texinfo-multibyte-patch;"/></para>
     222        <para><ulink url="&patches-root;&texinfo-multibyte-patch;"/></para>
    223223      </listitem>
    224224    </varlistentry>
  • chapter05/adjusting.xml

    rb4cd3c5 re6ab4b5  
    1616  compiler's specs file need to be adjusted.</para>
    1717
    18   <para>The linker, adjusted at the end of the first pass of Binutils,
    19   is installed by running the following command from within the
    20   <filename class="directory">binutils-build</filename> directory:</para>
     18  <para>The linker, adjusted at the end of the first pass of Binutils, needs
     19  to be renamed so that it can be properly found and used. First, backup the
     20  original linker, then replace it with the adjusted linker. We'll also
     21  create a link to its counterpart in <filename class="directory">
     22  /tools/$(gcc -dumpmachine)/bin</filename></para>
    2123
    22 <screen><userinput>make -C ld install</userinput></screen>
     24<screen><userinput>mv -v /tools/bin/{ld,ld-old}
     25mv -v /tools/$(gcc -dumpmachine)/bin/{ld,ld-old}
     26mv -v /tools/bin/{ld-new,ld}
     27ln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld</userinput></screen>
    2328
    2429  <para>From this point onwards, everything will link only against the
    2530  libraries in <filename class="directory">/tools/lib</filename>.</para>
    26 
    27   <note>
    28     <para>If the earlier warning to retain the Binutils source and
    29     build directories from the first pass was missed, ignore the above
    30     command. This results in a small chance that the subsequent testing
    31     programs will link against libraries on the host. This is not ideal,
    32     but it is not a major problem. The situation is corrected when the
    33     second pass of Binutils is installed later.</para>
    34   </note>
    35 
    36   <para>Now that the adjusted linker is installed, the Binutils build and source
    37   directories should be removed.</para>
    3831
    3932  <para>The next task is to point GCC to the new dynamic linker. This is done by
  • chapter05/bash.xml

    rb4cd3c5 re6ab4b5  
    4747
    4848    <variablelist>
    49       <title>The meaning of the configure options:</title>
     49      <title>The meaning of the configure option:</title>
    5050
    5151      <varlistentry>
    5252        <term><parameter>--without-bash-malloc</parameter></term>
    5353        <listitem>
    54           <para>This options turns off the use of Bash's memory allocation
     54          <para>This option turns off the use of Bash's memory allocation
    5555          (<function>malloc</function>) function which is known to cause
    5656          segmentation faults. By turning this option off, Bash will use
  • chapter05/binutils-pass1.xml

    rb4cd3c5 re6ab4b5  
    106106
    107107<screen><userinput>make -C ld clean
    108 make -C ld LIB_PATH=/tools/lib</userinput></screen>
     108make -C ld LIB_PATH=/tools/lib
     109cp -v ld/ld-new /tools/bin</userinput></screen>
    109110
    110111    <variablelist>
     
    135136    </variablelist>
    136137
    137     <warning>
    138       <para><emphasis>Do not</emphasis> remove the Binutils build and source
    139       directories yet. These will be needed again in their current state later
    140       in this chapter.</para>
    141     </warning>
    142 
    143138  </sect2>
    144139
  • chapter05/binutils-pass2.xml

    rb4cd3c5 re6ab4b5  
    5050
    5151<screen><userinput>../binutils-&binutils-version;/configure --prefix=/tools \
    52     --disable-nls --enable-shared --with-lib-path=/tools/lib</userinput></screen>
     52    --disable-nls --with-lib-path=/tools/lib</userinput></screen>
    5353
    5454    <variablelist>
     
    8787
    8888<screen><userinput>make -C ld clean
    89 make -C ld LIB_PATH=/usr/lib:/lib</userinput></screen>
     89make -C ld LIB_PATH=/usr/lib:/lib
     90cp -v ld/ld-new /tools/bin</userinput></screen>
    9091
    91     <warning>
    92       <para><emphasis>Do not</emphasis> remove the Binutils source and build
    93       directories yet. These directories will be needed again in the next
    94       chapter in their current state.</para>
    95     </warning>
    9692
    9793  </sect2>
  • chapter05/gcc-pass1.xml

    rb4cd3c5 re6ab4b5  
    9494
    9595    <variablelist>
    96       <title>The meaning of the make parameters:</title>
     96      <title>The meaning of the make parameter:</title>
    9797
    9898      <varlistentry>
  • chapter05/gettext.xml

    rb4cd3c5 re6ab4b5  
    5151
    5252    <variablelist>
    53       <title>The meaning of the configure options:</title>
     53      <title>The meaning of the configure option:</title>
    5454
    5555      <varlistentry>
  • chapter05/grep.xml

    rb4cd3c5 re6ab4b5  
    4848
    4949    <variablelist>
    50       <title>The meaning of the configure options:</title>
     50      <title>The meaning of the configure option:</title>
    5151
    5252      <varlistentry>
  • chapter05/introduction.xml

    rb4cd3c5 re6ab4b5  
    5353    <para>After installing each package, delete its source and build directories,
    5454    unless specifically instructed otherwise. Deleting the sources prevents
    55     mis-configuration when the same package is reinstalled later. Only three
    56     of the packages need to retain the source and build directories in order
    57     for their contents to be used by later commands. Pay special attention to
    58     these reminders.</para>
     55    mis-configuration when the same package is reinstalled later.</para>
    5956  </important>
    6057
  • chapter06/aboutdebug.xml

    rb4cd3c5 re6ab4b5  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-aboutdebug">
    7 <title>About Debugging Symbols</title>
    8 <?dbhtml filename="aboutdebug.html"?>
     9  <?dbhtml filename="aboutdebug.html"?>
    910
    10 <para>Most programs and libraries are, by default, compiled with
    11 debugging symbols included (with <command>gcc</command>'s
    12 <parameter>-g</parameter> option). This means that when debugging a
    13 program or library that was compiled with debugging information
    14 included, the debugger can provide not only memory addresses, but also
    15 the names of the routines and variables.</para>
     11  <title>About Debugging Symbols</title>
    1612
    17 <para>However, the inclusion of these debugging symbols enlarges a
    18 program or library significantly. The following is an example of the
    19 amount of space these symbols occupy:</para>
    20  
    21 <itemizedlist>
     13  <para>Most programs and libraries are, by default, compiled with
     14  debugging symbols included (with <command>gcc</command>'s
     15  <parameter>-g</parameter> option). This means that when debugging a
     16  program or library that was compiled with debugging information
     17  included, the debugger can provide not only memory addresses, but also
     18  the names of the routines and variables.</para>
    2219
    23 <listitem><para>a bash binary
    24 with debugging symbols: 1200 KB</para></listitem>
     20  <para>However, the inclusion of these debugging symbols enlarges a
     21  program or library significantly. The following is an example of the
     22  amount of space these symbols occupy:</para>
    2523
    26 <listitem><para>a bash binary
    27 without debugging symbols: 480 KB</para></listitem>
     24  <itemizedlist>
     25    <listitem>
     26      <para>A <command>bash</command> binary with debugging symbols:
     27      1200 KB</para>
     28    </listitem>
     29    <listitem>
     30      <para>A <command>bash</command> binary without debugging symbols:
     31      480 KB</para>
     32    </listitem>
     33    <listitem>
     34      <para>Glibc and GCC files (<filename class="directory">/lib</filename>
     35      and <filename class="directory">/usr/lib</filename>) with debugging
     36      symbols: 87 MB</para>
     37    </listitem>
     38    <listitem>
     39      <para>Glibc and GCC files without debugging symbols: 16 MB</para>
     40    </listitem>
     41  </itemizedlist>
    2842
    29 <listitem><para>Glibc and GCC files (<filename class="directory">/lib</filename>
    30 and <filename class="directory">/usr/lib</filename>)
    31 with debugging symbols: 87 MB</para></listitem>
     43  <para>Sizes may vary depending on which compiler and C library were used,
     44  but when comparing programs with and without debugging symbols, the
     45  difference will usually be a factor between two and five.</para>
    3246
    33 <listitem><para>Glibc and GCC files
    34 without debugging symbols: 16 MB</para></listitem>
    35 
    36 </itemizedlist>
    37 
    38 <para>Sizes may vary depending on which compiler and C
    39 library were used, but when comparing programs with and without debugging
    40 symbols, the difference will usually be a factor between two and
    41 five.</para>
    42 
    43 <para>Because most users will never use a debugger on their system
    44 software, a lot of disk space can be regained by removing these
    45 symbols. The next section shows how to strip all debugging symbols
    46 from the programs and libraries. Additional information on system
    47 optimization can be found at <ulink url="&hints-root;optimization.txt"/>.</para>
     47  <para>Because most users will never use a debugger on their system software,
     48  a lot of disk space can be regained by removing these symbols. The next
     49  section shows how to strip all debugging symbols from the programs and
     50  libraries. Additional information on system optimization can be found at
     51  <ulink url="&hints-root;optimization.txt"/>.</para>
    4852
    4953</sect1>
    50 
  • chapter06/autoconf.xml

    rb4cd3c5 re6ab4b5  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-autoconf" role="wrap">
    7 <title>Autoconf-&autoconf-version;</title>
    8 <?dbhtml filename="autoconf.html"?>
     9  <?dbhtml filename="autoconf.html"?>
    910
    10 <indexterm zone="ch-system-autoconf"><primary sortas="a-Autoconf">Autoconf</primary></indexterm>
     11  <title>Autoconf-&autoconf-version;</title>
    1112
    12 <sect2 role="package"><title/>
    13 <para>The Autoconf package contains programs for producing shell scripts that
    14 can automatically configure source code.</para>
     13  <indexterm zone="ch-system-autoconf">
     14    <primary sortas="a-Autoconf">Autoconf</primary>
     15  </indexterm>
    1516
    16 <segmentedlist>
    17 <segtitle>&buildtime;</segtitle>
    18 <segtitle>&diskspace;</segtitle>
    19 <seglistitem><seg>0.5 SBU</seg><seg>8.5 MB</seg></seglistitem>
    20 </segmentedlist>
     17  <sect2 role="package">
     18    <title/>
    2119
    22 <segmentedlist>
    23 <segtitle>&dependencies;</segtitle>
    24 <seglistitem><seg>Bash, Coreutils, Diffutils, Grep,
    25 M4, Make, Perl, and Sed</seg></seglistitem>
    26 </segmentedlist>
    27 </sect2>
     20    <para>The Autoconf package contains programs for producing shell scripts that
     21    can automatically configure source code.</para>
    2822
    29 <sect2 role="installation">
    30 <title>Installation of Autoconf</title>
     23    <segmentedlist>
     24      <segtitle>&buildtime;</segtitle>
     25      <segtitle>&diskspace;</segtitle>
    3126
    32 <para>Prepare Autoconf for compilation:</para>
     27      <seglistitem>
     28        <seg>0.5 SBU</seg>
     29        <seg>8.5 MB</seg>
     30      </seglistitem>
     31    </segmentedlist>
     32
     33    <segmentedlist>
     34    <segtitle>&dependencies;</segtitle>
     35
     36      <seglistitem>
     37        <seg>Bash, Coreutils, Diffutils, Grep, M4, Make, Perl, and Sed</seg>
     38      </seglistitem>
     39    </segmentedlist>
     40
     41  </sect2>
     42
     43  <sect2 role="installation">
     44    <title>Installation of Autoconf</title>
     45
     46    <para>Prepare Autoconf for compilation:</para>
    3347
    3448<screen><userinput>./configure --prefix=/usr</userinput></screen>
    3549
    36 <para>Compile the package:</para>
     50    <para>Compile the package:</para>
    3751
    3852<screen><userinput>make</userinput></screen>
    3953
    40 <para>To test the results, issue:
    41 <userinput>make check</userinput>. This takes a long time, about 2 SBUs.</para>
     54    <para>To test the results, issue:
     55    <userinput>make check</userinput>.
     56    This takes a long time, about 2 SBUs.</para>
    4257
    43 <para>Install the package:</para>
     58    <para>Install the package:</para>
    4459
    4560<screen><userinput>make install</userinput></screen>
    4661
    47 </sect2>
     62  </sect2>
    4863
    49 <sect2 id="contents-autoconf" role="content"><title>Contents of Autoconf</title>
     64  <sect2 id="contents-autoconf" role="content">
     65    <title>Contents of Autoconf</title>
    5066
    51 <segmentedlist>
    52 <segtitle>Installed programs</segtitle>
    53 <seglistitem><seg>autoconf, autoheader, autom4te,
    54 autoreconf, autoscan, autoupdate, and ifnames</seg></seglistitem>
    55 </segmentedlist>
     67    <segmentedlist>
     68      <segtitle>Installed programs</segtitle>
    5669
    57 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
    58 <?dbfo list-presentation="list"?>
    59 <?dbhtml list-presentation="table"?>
     70      <seglistitem>
     71        <seg>autoconf, autoheader, autom4te, autoreconf, autoscan, autoupdate,
     72        and ifnames</seg>
     73      </seglistitem>
     74    </segmentedlist>
    6075
    61 <varlistentry id="autoconf">
    62 <term><command>autoconf</command></term>
    63 <listitem>
    64 <para>Produces shell scripts that automatically
    65 configure software source code packages to adapt to many kinds of
    66 Unix-like systems. The configuration scripts it produces are
    67 independent&mdash;running them does not require the <command>autoconf</command> program.</para>
    68 <indexterm zone="ch-system-autoconf autoconf"><primary sortas="b-autoconf">autoconf</primary></indexterm>
    69 </listitem>
    70 </varlistentry>
     76    <variablelist>
     77      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     78      <?dbfo list-presentation="list"?>
     79      <?dbhtml list-presentation="table"?>
    7180
    72 <varlistentry id="autoheader">
    73 <term><command>autoheader</command> </term>
    74 <listitem>
    75 <para>A tool for creating template files of C
    76 <emphasis>#define</emphasis> statements for configure to use</para>
    77 <indexterm zone="ch-system-autoconf autoheader"><primary sortas="b-autoheader">autoheader</primary></indexterm>
    78 </listitem>
    79 </varlistentry>
     81      <varlistentry id="autoconf">
     82        <term><command>autoconf</command></term>
     83        <listitem>
     84          <para>Produces shell scripts that automatically configure software
     85          source code packages to adapt to many kinds of Unix-like systems.
     86          The configuration scripts it produces are independent&mdash;running
     87          them does not require the <command>autoconf</command> program.</para>
     88          <indexterm zone="ch-system-autoconf autoconf">
     89            <primary sortas="b-autoconf">autoconf</primary>
     90          </indexterm>
     91        </listitem>
     92      </varlistentry>
    8093
    81 <varlistentry id="autom4te">
    82 <term><command>autom4te</command></term>
    83 <listitem>
    84 <para>A wrapper for the M4 macro processor</para>
    85 <indexterm zone="ch-system-autoconf autom4te"><primary sortas="b-autom4te">autom4te</primary></indexterm>
    86 </listitem>
    87 </varlistentry>
     94      <varlistentry id="autoheader">
     95        <term><command>autoheader</command> </term>
     96        <listitem>
     97          <para>A tool for creating template files of C
     98          <emphasis>#define</emphasis> statements for configure to use</para>
     99          <indexterm zone="ch-system-autoconf autoheader">
     100            <primary sortas="b-autoheader">autoheader</primary>
     101          </indexterm>
     102        </listitem>
     103      </varlistentry>
    88104
    89 <varlistentry id="autoreconf">
    90 <term><command>autoreconf</command></term>
    91 <listitem>
    92 <para>Automatically runs <command>autoconf</command>,
    93 <command>autoheader</command>, <command>aclocal</command>,
    94 <command>automake</command>, <command>gettextize</command>, and
    95 <command>libtoolize</command> in the correct order to save time
    96 when changes are made to <command>autoconf</command> and
    97 <command>automake</command> template files</para>
    98 <indexterm zone="ch-system-autoconf autoreconf"><primary sortas="b-autoreconf">autoreconf</primary></indexterm>
    99 </listitem>
    100 </varlistentry>
     105      <varlistentry id="autom4te">
     106        <term><command>autom4te</command></term>
     107        <listitem>
     108          <para>A wrapper for the M4 macro processor</para>
     109          <indexterm zone="ch-system-autoconf autom4te">
     110            <primary sortas="b-autom4te">autom4te</primary>
     111          </indexterm>
     112        </listitem>
     113      </varlistentry>
    101114
    102 <varlistentry id="autoscan">
    103 <term><command>autoscan</command> </term>
    104 <listitem>
    105 <para>Helps to create a <filename>configure.in</filename> file for a
    106 software package; it examines the source files in a directory tree,
    107 searching them for common portability issues, and creates a
    108 <filename>configure.scan</filename> file that serves as as a
    109 preliminary <filename>configure.in</filename> file for the
    110 package</para>
    111 <indexterm zone="ch-system-autoconf autoscan"><primary sortas="b-autoscan">autoscan</primary></indexterm>
    112 </listitem>
    113 </varlistentry>
     115      <varlistentry id="autoreconf">
     116        <term><command>autoreconf</command></term>
     117        <listitem>
     118          <para>Automatically runs <command>autoconf</command>,
     119          <command>autoheader</command>, <command>aclocal</command>,
     120          <command>automake</command>, <command>gettextize</command>, and
     121          <command>libtoolize</command> in the correct order to save time
     122          when changes are made to <command>autoconf</command> and
     123          <command>automake</command> template files</para>
     124          <indexterm zone="ch-system-autoconf autoreconf">
     125            <primary sortas="b-autoreconf">autoreconf</primary>
     126          </indexterm>
     127        </listitem>
     128      </varlistentry>
    114129
    115 <varlistentry id="autoupdate">
    116 <term><command>autoupdate</command></term>
    117 <listitem>
    118 <para>Modifies a <filename>configure.in</filename> file that still
    119 calls <command>autoconf</command> macros by their old names to use the
    120 current macro names</para>
    121 <indexterm zone="ch-system-autoconf autoupdate"><primary sortas="b-autoupdate">autoupdate</primary></indexterm>
    122 </listitem>
    123 </varlistentry>
     130      <varlistentry id="autoscan">
     131        <term><command>autoscan</command> </term>
     132        <listitem>
     133          <para>Helps to create a <filename>configure.in</filename> file for a
     134          software package; it examines the source files in a directory tree,
     135          searching them for common portability issues, and creates a
     136          <filename>configure.scan</filename> file that serves as as a
     137          preliminary <filename>configure.in</filename> file for the
     138          package</para>
     139          <indexterm zone="ch-system-autoconf autoscan">
     140            <primary sortas="b-autoscan">autoscan</primary>
     141          </indexterm>
     142        </listitem>
     143      </varlistentry>
    124144
    125 <varlistentry id="ifnames">
    126 <term><command>ifnames</command> </term>
    127 <listitem>
    128 <para>Helps when writing <filename>configure.in</filename> files
    129 for a software package; it prints the identifiers that the package
    130 uses in C preprocessor conditionals. If a package has already been set
    131 up to have some portability, this program can help determine what
    132 <command>configure</command> needs to check for. It can also fill in
    133 gaps in a <filename>configure.in</filename> file generated by
    134 <command>autoscan</command></para>
    135 <indexterm zone="ch-system-autoconf ifnames"><primary sortas="b-ifnames">ifnames</primary></indexterm>
    136 </listitem>
    137 </varlistentry>
    138 </variablelist>
     145      <varlistentry id="autoupdate">
     146        <term><command>autoupdate</command></term>
     147        <listitem>
     148          <para>Modifies a <filename>configure.in</filename> file that still
     149          calls <command>autoconf</command> macros by their old names to use the
     150          current macro names</para>
     151          <indexterm zone="ch-system-autoconf autoupdate">
     152            <primary sortas="b-autoupdate">autoupdate</primary>
     153          </indexterm>
     154        </listitem>
     155      </varlistentry>
    139156
    140 </sect2>
     157      <varlistentry id="ifnames">
     158        <term><command>ifnames</command> </term>
     159        <listitem>
     160          <para>Helps when writing <filename>configure.in</filename> files
     161          for a software package; it prints the identifiers that the package
     162          uses in C preprocessor conditionals. If a package has already been set
     163          up to have some portability, this program can help determine what
     164          <command>configure</command> needs to check for. It can also fill in
     165          gaps in a <filename>configure.in</filename> file generated by
     166          <command>autoscan</command></para>
     167          <indexterm zone="ch-system-autoconf ifnames">
     168            <primary sortas="b-ifnames">ifnames</primary>
     169          </indexterm>
     170        </listitem>
     171      </varlistentry>
     172
     173    </variablelist>
     174
     175  </sect2>
    141176
    142177</sect1>
    143 
  • chapter06/automake.xml

    rb4cd3c5 re6ab4b5  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-automake" role="wrap">
    7 <title>Automake-&automake-version;</title>
    8 <?dbhtml filename="automake.html"?>
    9 
    10 <indexterm zone="ch-system-automake"><primary sortas="a-Automake">Automake</primary></indexterm>
    11 
    12 <sect2 role="package"><title/>
    13 <para>The Automake package contains programs for generating Makefiles for use
    14 with Autoconf.</para>
    15 
    16 <segmentedlist>
    17 <segtitle>&buildtime;</segtitle>
    18 <segtitle>&diskspace;</segtitle>
    19 <seglistitem><seg>0.2 SBU</seg><seg>8.8 MB</seg></seglistitem>
    20 </segmentedlist>
    21 
    22 <segmentedlist>
    23 <segtitle>&dependencies;</segtitle>
    24 <seglistitem><seg>Autoconf, Bash, Coreutils,
    25 Diffutils, Grep, M4, Make, Perl, and Sed</seg></seglistitem>
    26 </segmentedlist>
    27 </sect2>
    28 
    29 <sect2 role="installation">
    30 <title>Installation of Automake</title>
    31 
    32 <para>Prepare Automake for compilation:</para>
     9  <?dbhtml filename="automake.html"?>
     10
     11  <title>Automake-&automake-version;</title>
     12
     13  <indexterm zone="ch-system-automake">
     14    <primary sortas="a-Automake">Automake</primary>
     15  </indexterm>
     16
     17  <sect2 role="package">
     18    <title/>
     19
     20    <para>The Automake package contains programs for generating Makefiles for use
     21    with Autoconf.</para>
     22
     23    <segmentedlist>
     24      <segtitle>&buildtime;</segtitle>
     25      <segtitle>&diskspace;</segtitle>
     26
     27      <seglistitem>
     28        <seg>0.2 SBU</seg>
     29        <seg>8.8 MB</seg>
     30      </seglistitem>
     31    </segmentedlist>
     32
     33    <segmentedlist>
     34      <segtitle>&dependencies;</segtitle>
     35
     36      <seglistitem>
     37        <seg>Autoconf, Bash, Coreutils, Diffutils, Grep, M4, Make, Perl,
     38        and Sed</seg>
     39      </seglistitem>
     40    </segmentedlist>
     41
     42  </sect2>
     43
     44  <sect2 role="installation">
     45    <title>Installation of Automake</title>
     46
     47    <para>Prepare Automake for compilation:</para>
    3348
    3449<screen><userinput>./configure --prefix=/usr</userinput></screen>
    3550
    36 <para>Compile the package:</para>
     51    <para>Compile the package:</para>
    3752
    3853<screen><userinput>make</userinput></screen>
    3954
    40 <para>To test the results, issue:
    41 <userinput>make check</userinput>. This takes a long time, about 5 SBUs.</para>
    42 
    43 <para>Install the package:</para>
     55    <para>To test the results, issue:
     56    <userinput>make check</userinput>.
     57    This takes a long time, about 5 SBUs.</para>
     58
     59    <para>Install the package:</para>
    4460
    4561<screen><userinput>make install</userinput></screen>
    4662
    47 </sect2>
    48 
    49 
    50 <sect2 id="contents-automake" role="content"><title>Contents of Automake</title>
    51 
    52 <segmentedlist>
    53 <segtitle>Installed programs</segtitle>
    54 <seglistitem><seg>acinstall, aclocal, aclocal-&automake-version;,
    55 automake, automake-&automake-version;,
    56 compile, config.guess, config.sub, depcomp, elisp-comp, install-sh, mdate-sh,
    57 missing, mkinstalldirs, py-compile, symlink-tree, and ylwrap</seg></seglistitem>
    58 </segmentedlist>
    59 
    60 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
    61 <?dbfo list-presentation="list"?>
    62 <?dbhtml list-presentation="table"?>
    63 
    64 <varlistentry id="acinstall">
    65 <term><command>acinstall</command></term>
    66 <listitem>
    67 <para>A script that installs aclocal-style M4 files</para>
    68 <indexterm zone="ch-system-automake acinstall"><primary sortas="b-acinstall">acinstall</primary></indexterm>
    69 </listitem>
    70 </varlistentry>
    71 
    72 <varlistentry id="aclocal">
    73 <term><command>aclocal</command></term>
    74 <listitem>
    75 <para>Generates <filename>aclocal.m4</filename>
    76 files based on the contents of <filename>configure.in</filename> files</para>
    77 <indexterm zone="ch-system-automake aclocal"><primary sortas="b-aclocal">aclocal</primary></indexterm>
    78 </listitem>
    79 </varlistentry>
    80 
    81 <varlistentry id="aclocal-version">
    82 <term><command>aclocal-&automake-version;</command></term>
    83 <listitem>
    84 <para>A hard link to <command>aclocal</command></para>
    85 <indexterm zone="ch-system-automake aclocal-version"><primary
    86 sortas="b-aclocal-&automake-version;">aclocal-&automake-version;</primary></indexterm>
    87 </listitem>
    88 </varlistentry>
    89 
    90 <varlistentry id="automake">
    91 <term><command>automake</command></term>
    92 <listitem>
    93 <para>A tool for automatically generating
    94 <filename>Makefile.in</filename> files from
    95 <filename>Makefile.am</filename> files. To create all the
    96 <filename>Makefile.in</filename> files for a package, run this program
    97 in the top-level directory. By scanning the
    98 <filename>configure.in</filename> file, it automatically finds each
    99 appropriate <filename>Makefile.am</filename> file and generates the
    100 corresponding <filename>Makefile.in</filename> file</para>
    101 <indexterm zone="ch-system-automake automake"><primary sortas="b-automake">automake</primary></indexterm>
    102 </listitem>
    103 </varlistentry>
    104 
    105 <varlistentry id="automake-version">
    106 <term><command>automake-&automake-version;</command></term>
    107 <listitem>
    108 <para>A hard link to <command>automake</command></para>
    109 <indexterm zone="ch-system-automake automake-version"><primary
    110 sortas="b-automake-&automake-version;">automake-&automake-version;</primary></indexterm>
    111 </listitem>
    112 </varlistentry>
    113 
    114 <varlistentry id="compile">
    115 <term><command>compile</command></term>
    116 <listitem>
    117 <para>A wrapper for compilers</para>
    118 <indexterm zone="ch-system-automake compile"><primary sortas="b-compile">compile</primary></indexterm>
    119 </listitem>
    120 </varlistentry>
    121 
    122 <varlistentry id="config.guess">
    123 <term><command>config.guess</command></term>
    124 <listitem>
    125 <para>A script that attempts to guess
    126 the canonical triplet for the given build, host, or target architecture</para>
    127 <indexterm zone="ch-system-automake config.guess"><primary sortas="b-config.guess">config.guess</primary></indexterm>
    128 </listitem>
    129 </varlistentry>
    130 
    131 <varlistentry id="config.sub">
    132 <term><command>config.sub</command></term>
    133 <listitem>
    134 <para>A configuration validation subroutine script</para>
    135 <indexterm zone="ch-system-automake config.sub"><primary sortas="b-config.sub">config.sub</primary></indexterm>
    136 </listitem>
    137 </varlistentry>
    138 
    139 <varlistentry id="depcomp">
    140 <term><command>depcomp</command></term>
    141 <listitem>
    142 <para>A script for compiling a program so that dependency information
    143 is generated in addition to the desired output</para>
    144 <indexterm zone="ch-system-automake depcomp"><primary sortas="b-depcomp">depcomp</primary></indexterm>
    145 </listitem>
    146 </varlistentry>
    147 
    148 <varlistentry id="elisp-comp">
    149 <term><command>elisp-comp</command></term>
    150 <listitem>
    151 <para>Byte-compiles Emacs Lisp code</para>
    152 <indexterm zone="ch-system-automake elisp-comp"><primary sortas="b-elisp-comp">elisp-comp</primary></indexterm>
    153 </listitem>
    154 </varlistentry>
    155 
    156 <varlistentry id="install-sh">
    157 <term><command>install-sh</command></term>
    158 <listitem>
    159 <para>A script that installs a program, script, or data file</para>
    160 <indexterm zone="ch-system-automake install-sh"><primary sortas="b-install-sh">install-sh</primary></indexterm>
    161 </listitem>
    162 </varlistentry>
    163 
    164 <varlistentry id="mdate-sh">
    165 <term><command>mdate-sh</command></term>
    166 <listitem>
    167 <para>A script that prints the modification time of a file or directory</para>
    168 <indexterm zone="ch-system-automake mdate-sh"><primary sortas="b-mdate-sh">mdate-sh</primary></indexterm>
    169 </listitem>
    170 </varlistentry>
    171 
    172 <varlistentry id="missing">
    173 <term><command>missing</command></term>
    174 <listitem>
    175 <para>A script acting as a common stub for missing GNU programs during
    176 an installation</para>
    177 <indexterm zone="ch-system-automake missing"><primary sortas="b-missing">missing</primary></indexterm>
    178 </listitem>
    179 </varlistentry>
    180 
    181 <varlistentry id="mkinstalldirs">
    182 <term><command>mkinstalldirs</command></term>
    183 <listitem>
    184 <para>A script that creates a directory tree</para>
    185 <indexterm zone="ch-system-automake mkinstalldirs"><primary sortas="b-mkinstalldirs">mkinstalldirs</primary></indexterm>
    186 </listitem>
    187 </varlistentry>
    188 
    189 <varlistentry id="py-compile">
    190 <term><command>py-compile</command></term>
    191 <listitem>
    192 <para>Compiles a Python program</para>
    193 <indexterm zone="ch-system-automake py-compile"><primary sortas="b-py-compile">py-compile</primary></indexterm>
    194 </listitem>
    195 </varlistentry>
    196 
    197 <varlistentry id="symlink-tree">
    198 <term><command>symlink-tree</command></term>
    199 <listitem>
    200 <para>A script to create a symlink tree of a directory tree</para>
    201 <indexterm zone="ch-system-automake symlink-tree"><primary sortas="b-symlink-tree">symlink-tree</primary></indexterm>
    202 </listitem>
    203 </varlistentry>
    204 
    205 <varlistentry id="ylwrap">
    206 <term><command>ylwrap</command></term>
    207 <listitem>
    208 <para>A wrapper for <command>lex</command> and <command>yacc</command></para>
    209 <indexterm zone="ch-system-automake ylwrap"><primary sortas="b-ylwrap">ylwrap</primary></indexterm>
    210 </listitem>
    211 </varlistentry>
    212 </variablelist>
    213 
    214 </sect2>
     63  </sect2>
     64
     65
     66  <sect2 id="contents-automake" role="content">
     67    <title>Contents of Automake</title>
     68
     69    <segmentedlist>
     70      <segtitle>Installed programs</segtitle>
     71
     72      <seglistitem>
     73        <seg>acinstall, aclocal, aclocal-&automake-version;, automake,
     74        automake-&automake-version;, compile, config.guess, config.sub,
     75        depcomp, elisp-comp, install-sh, mdate-sh, missing, mkinstalldirs,
     76        py-compile, symlink-tree, and ylwrap</seg>
     77      </seglistitem>
     78    </segmentedlist>
     79
     80    <variablelist>
     81      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     82      <?dbfo list-presentation="list"?>
     83      <?dbhtml list-presentation="table"?>
     84
     85      <varlistentry id="acinstall">
     86        <term><command>acinstall</command></term>
     87        <listitem>
     88          <para>A script that installs aclocal-style M4 files</para>
     89          <indexterm zone="ch-system-automake acinstall">
     90            <primary sortas="b-acinstall">acinstall</primary>
     91          </indexterm>
     92        </listitem>
     93      </varlistentry>
     94
     95      <varlistentry id="aclocal">
     96        <term><command>aclocal</command></term>
     97        <listitem>
     98          <para>Generates <filename>aclocal.m4</filename> files based on the
     99          contents of <filename>configure.in</filename> files</para>
     100          <indexterm zone="ch-system-automake aclocal">
     101            <primary sortas="b-aclocal">aclocal</primary>
     102          </indexterm>
     103        </listitem>
     104      </varlistentry>
     105
     106      <varlistentry id="aclocal-version">
     107        <term><command>aclocal-&automake-version;</command></term>
     108        <listitem>
     109          <para>A hard link to <command>aclocal</command></para>
     110          <indexterm zone="ch-system-automake aclocal-version">
     111            <primary sortas="b-aclocal-&automake-version;">aclocal-&automake-version;</primary>
     112          </indexterm>
     113        </listitem>
     114      </varlistentry>
     115
     116      <varlistentry id="automake">
     117        <term><command>automake</command></term>
     118        <listitem>
     119          <para>A tool for automatically generating
     120          <filename>Makefile.in</filename> files from
     121          <filename>Makefile.am</filename> files. To create all the
     122          <filename>Makefile.in</filename> files for a package, run this program
     123          in the top-level directory. By scanning the
     124          <filename>configure.in</filename> file, it automatically finds each
     125          appropriate <filename>Makefile.am</filename> file and generates the
     126          corresponding <filename>Makefile.in</filename> file</para>
     127          <indexterm zone="ch-system-automake automake">
     128            <primary sortas="b-automake">automake</primary>
     129          </indexterm>
     130        </listitem>
     131      </varlistentry>
     132
     133      <varlistentry id="automake-version">
     134        <term><command>automake-&automake-version;</command></term>
     135        <listitem>
     136          <para>A hard link to <command>automake</command></para>
     137          <indexterm zone="ch-system-automake automake-version">
     138            <primary sortas="b-automake-&automake-version;">automake-&automake-version;</primary>
     139          </indexterm>
     140        </listitem>
     141      </varlistentry>
     142
     143      <varlistentry id="compile">
     144        <term><command>compile</command></term>
     145        <listitem>
     146          <para>A wrapper for compilers</para>
     147          <indexterm zone="ch-system-automake compile">
     148            <primary sortas="b-compile">compile</primary>
     149          </indexterm>
     150        </listitem>
     151      </varlistentry>
     152
     153      <varlistentry id="config.guess">
     154        <term><command>config.guess</command></term>
     155        <listitem>
     156          <para>A script that attempts to guess the canonical triplet for
     157          the given build, host, or target architecture</para>
     158          <indexterm zone="ch-system-automake config.guess">
     159            <primary sortas="b-config.guess">config.guess</primary>
     160          </indexterm>
     161        </listitem>
     162      </varlistentry>
     163
     164      <varlistentry id="config.sub">
     165        <term><command>config.sub</command></term>
     166        <listitem>
     167          <para>A configuration validation subroutine script</para>
     168          <indexterm zone="ch-system-automake config.sub">
     169            <primary sortas="b-config.sub">config.sub</primary>
     170          </indexterm>
     171        </listitem>
     172      </varlistentry>
     173
     174      <varlistentry id="depcomp">
     175        <term><command>depcomp</command></term>
     176        <listitem>
     177          <para>A script for compiling a program so that dependency information
     178          is generated in addition to the desired output</para>
     179          <indexterm zone="ch-system-automake depcomp">
     180            <primary sortas="b-depcomp">depcomp</primary>
     181          </indexterm>
     182        </listitem>
     183      </varlistentry>
     184
     185      <varlistentry id="elisp-comp">
     186        <term><command>elisp-comp</command></term>
     187        <listitem>
     188          <para>Byte-compiles Emacs Lisp code</para>
     189          <indexterm zone="ch-system-automake elisp-comp">
     190            <primary sortas="b-elisp-comp">elisp-comp</primary>
     191          </indexterm>
     192        </listitem>
     193      </varlistentry>
     194
     195      <varlistentry id="install-sh">
     196        <term><command>install-sh</command></term>
     197        <listitem>
     198          <para>A script that installs a program, script, or data file</para>
     199          <indexterm zone="ch-system-automake install-sh">
     200            <primary sortas="b-install-sh">install-sh</primary>
     201          </indexterm>
     202        </listitem>
     203      </varlistentry>
     204
     205      <varlistentry id="mdate-sh">
     206        <term><command>mdate-sh</command></term>
     207        <listitem>
     208          <para>A script that prints the modification time of a file or
     209          directory</para>
     210          <indexterm zone="ch-system-automake mdate-sh">
     211            <primary sortas="b-mdate-sh">mdate-sh</primary>
     212          </indexterm>
     213        </listitem>
     214      </varlistentry>
     215
     216      <varlistentry id="missing">
     217        <term><command>missing</command></term>
     218        <listitem>
     219          <para>A script acting as a common stub for missing GNU programs during
     220          an installation</para>
     221          <indexterm zone="ch-system-automake missing">
     222            <primary sortas="b-missing">missing</primary>
     223          </indexterm>
     224        </listitem>
     225      </varlistentry>
     226
     227      <varlistentry id="mkinstalldirs">
     228        <term><command>mkinstalldirs</command></term>
     229        <listitem>
     230          <para>A script that creates a directory tree</para>
     231          <indexterm zone="ch-system-automake mkinstalldirs">
     232            <primary sortas="b-mkinstalldirs">mkinstalldirs</primary>
     233          </indexterm>
     234        </listitem>
     235      </varlistentry>
     236
     237      <varlistentry id="py-compile">
     238        <term><command>py-compile</command></term>
     239        <listitem>
     240          <para>Compiles a Python program</para>
     241          <indexterm zone="ch-system-automake py-compile">
     242            <primary sortas="b-py-compile">py-compile</primary>
     243          </indexterm>
     244        </listitem>
     245      </varlistentry>
     246
     247      <varlistentry id="symlink-tree">
     248        <term><command>symlink-tree</command></term>
     249        <listitem>
     250          <para>A script to create a symlink tree of a directory tree</para>
     251          <indexterm zone="ch-system-automake symlink-tree">
     252            <primary sortas="b-symlink-tree">symlink-tree</primary>
     253          </indexterm>
     254        </listitem>
     255      </varlistentry>
     256
     257      <varlistentry id="ylwrap">
     258        <term><command>ylwrap</command></term>
     259        <listitem>
     260          <para>A wrapper for <command>lex</command> and
     261          <command>yacc</command></para>
     262          <indexterm zone="ch-system-automake ylwrap">
     263            <primary sortas="b-ylwrap">ylwrap</primary>
     264          </indexterm>
     265        </listitem>
     266      </varlistentry>
     267
     268    </variablelist>
     269
     270  </sect2>
    215271
    216272</sect1>
    217 
  • chapter06/bash.xml

    rb4cd3c5 re6ab4b5  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-bash" role="wrap">
    7 <title>Bash-&bash-version;</title>
    8 <?dbhtml filename="bash.html"?>
     9  <?dbhtml filename="bash.html"?>
    910
    10 <indexterm zone="ch-system-bash"><primary sortas="a-Bash">Bash</primary></indexterm>
     11  <title>Bash-&bash-version;</title>
    1112
    12 <sect2 role="package"><title/>
    13 <para>The Bash package contains the Bourne-Again SHell.</para>
     13  <indexterm zone="ch-system-bash">
     14    <primary sortas="a-Bash">Bash</primary>
     15  </indexterm>
    1416
    15 <segmentedlist>
    16 <segtitle>&buildtime;</segtitle>
    17 <segtitle>&diskspace;</segtitle>
    18 <seglistitem><seg>1.2 SBU</seg><seg>24.6 MB</seg></seglistitem>
    19 </segmentedlist>
     17  <sect2 role="package">
     18    <title/>
    2019
    21 <segmentedlist>
    22 <segtitle>&dependencies;</segtitle>
    23 <seglistitem><seg>Binutils, Coreutils, Diffutils, Gawk,
    24 GCC, Glibc, Grep, Make, Ncurses, Readline, and Sed.</seg></seglistitem>
    25 </segmentedlist>
    26 </sect2>
     20    <para>The Bash package contains the Bourne-Again SHell.</para>
    2721
    28 <sect2 role="installation">
    29 <title>Installation of Bash</title>
     22    <segmentedlist>
     23      <segtitle>&buildtime;</segtitle>
     24      <segtitle>&diskspace;</segtitle>
    3025
    31 <para>If you downloaded the Bash documentation tarball and wish to install HTML
    32 documentation, issue the following commands:</para>
     26      <seglistitem>
     27        <seg>1.2 SBU</seg>
     28        <seg>24.6 MB</seg>
     29      </seglistitem>
     30    </segmentedlist>
     31
     32    <segmentedlist>
     33      <segtitle>&dependencies;</segtitle>
     34
     35      <seglistitem>
     36        <seg>Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make,
     37        Ncurses, Readline, and Sed</seg>
     38      </seglistitem>
     39    </segmentedlist>
     40
     41  </sect2>
     42
     43  <sect2 role="installation">
     44    <title>Installation of Bash</title>
     45
     46    <para>If you downloaded the Bash documentation tarball and wish to install
     47    HTML documentation, issue the following commands:</para>
    3348
    3449<screen><userinput>tar -xvf ../bash-doc-&bash-doc-version;.tar.gz &amp;&amp;
     
    3651    Makefile.in</userinput></screen>
    3752
    38 <para>Prepare Bash for compilation:</para>
     53    <para>Prepare Bash for compilation:</para>
    3954
    4055<screen><userinput>./configure --prefix=/usr --bindir=/bin \
    4156    --without-bash-malloc --with-installed-readline</userinput></screen>
    4257
    43 <para>The meaning of the configure options:</para>
     58    <variablelist>
     59      <title>The meaning of the configure options:</title>
    4460
    45 <variablelist>
    46 <varlistentry>
    47 <term><parameter>--with-installed-readline</parameter></term>
    48 <listitem><para>This option tells Bash to use the
    49 <filename class="libraryfile">readline</filename> library that is already installed
    50 on the system rather than using its own readline version.</para></listitem>
    51 </varlistentry>
    52 </variablelist>
     61      <varlistentry>
     62        <term><parameter>--with-installed-readline</parameter></term>
     63        <listitem>
     64          <para>This option tells Bash to use the <filename
     65          class="libraryfile">readline</filename> library that is already
     66          installed on the system rather than using its own readline
     67          version.</para>
     68        </listitem>
     69      </varlistentry>
    5370
    54 <para>Compile the package:</para>
     71    </variablelist>
     72
     73    <para>Compile the package:</para>
    5574
    5675<screen><userinput>make</userinput></screen>
    5776
    58 <para>To test the results, issue:
    59 <userinput>make tests</userinput>.</para>
     77    <para>To test the results, issue:
     78    <userinput>make tests</userinput>.</para>
    6079
    61 <para>Install the package:</para>
     80    <para>Install the package:</para>
    6281
    6382<screen><userinput>make install</userinput></screen>
    6483
    65 <para>Run the newly compiled <command>bash</command> program (replacing the one that is
    66 currently being executed):</para>
     84    <para>Run the newly compiled <command>bash</command> program (replacing the one that is
     85    currently being executed):</para>
    6786
    6887<screen role="nodump"><userinput>exec /bin/bash --login +h</userinput></screen>
    6988
    70 <note><para>The parameters used make the <command>bash</command>
    71 process an interactive login shell and continue to disable hashing so
    72 that new programs are found as they become available.</para></note>
     89    <note>
     90      <para>The parameters used make the <command>bash</command>
     91      process an interactive login shell and continue to disable hashing so
     92      that new programs are found as they become available.</para>
     93    </note>
    7394
    74 </sect2>
     95  </sect2>
    7596
     97  <sect2 id="contents-bash" role="content">
     98    <title>Contents of Bash</title>
    7699
    77 <sect2 id="contents-bash" role="content"><title>Contents of Bash</title>
     100    <segmentedlist>
     101      <segtitle>Installed programs</segtitle>
    78102
    79 <segmentedlist>
    80 <segtitle>Installed programs</segtitle>
    81 <seglistitem><seg>bash, bashbug, and sh (link to bash)</seg></seglistitem>
    82 </segmentedlist>
     103      <seglistitem>
     104        <seg>bash, bashbug, and sh (link to bash)</seg>
     105      </seglistitem>
     106    </segmentedlist>
    83107
    84 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
    85 <?dbfo list-presentation="list"?>
    86 <?dbhtml list-presentation="table"?>
     108    <variablelist>
     109      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     110      <?dbfo list-presentation="list"?>
     111      <?dbhtml list-presentation="table"?>
    87112
    88 <varlistentry id="bash">
    89 <term><command>bash</command></term>
    90 <listitem>
    91 <para>A widely-used command interpreter; it performs many types of
    92 expansions and substitutions on a given command line before executing
    93 it, thus making this interpreter a powerful tool</para>
    94 <indexterm zone="ch-system-bash bash"><primary sortas="b-bash">bash</primary></indexterm>
    95 </listitem>
    96 </varlistentry>
     113      <varlistentry id="bash">
     114        <term><command>bash</command></term>
     115        <listitem>
     116          <para>A widely-used command interpreter; it performs many types of
     117          expansions and substitutions on a given command line before executing
     118          it, thus making this interpreter a powerful tool</para>
     119          <indexterm zone="ch-system-bash bash">
     120            <primary sortas="b-bash">bash</primary>
     121          </indexterm>
     122        </listitem>
     123      </varlistentry>
    97124
    98 <varlistentry id="bashbug">
    99 <term><command>bashbug</command></term>
    100 <listitem>
    101 <para>A shell script to help the user compose and mail standard formatted bug
    102 reports concerning <command>bash</command></para>
    103 <indexterm zone="ch-system-bash bashbug"><primary sortas="b-bashbug">bashbug</primary></indexterm>
    104 </listitem>
    105 </varlistentry>
     125      <varlistentry id="bashbug">
     126        <term><command>bashbug</command></term>
     127        <listitem>
     128          <para>A shell script to help the user compose and mail standard
     129          formatted bug reports concerning <command>bash</command></para>
     130          <indexterm zone="ch-system-bash bashbug">
     131            <primary sortas="b-bashbug">bashbug</primary>
     132          </indexterm>
     133        </listitem>
     134      </varlistentry>
    106135
    107 <varlistentry id="sh">
    108 <term><command>sh</command></term>
    109 <listitem>
    110 <para>A symlink to the <command>bash</command> program; when invoked
    111 as <command>sh</command>, <command>bash</command> tries to mimic the
    112 startup behavior of historical versions of <command>sh</command> as
    113 closely as possible, while conforming to the POSIX standard as well</para>
    114 <indexterm zone="ch-system-bash sh"><primary sortas="b-sh">sh</primary></indexterm>
    115 </listitem>
    116 </varlistentry>
    117 </variablelist>
     136      <varlistentry id="sh">
     137        <term><command>sh</command></term>
     138        <listitem>
     139          <para>A symlink to the <command>bash</command> program; when invoked
     140          as <command>sh</command>, <command>bash</command> tries to mimic the
     141          startup behavior of historical versions of <command>sh</command> as
     142          closely as possible, while conforming to the POSIX standard as
     143          well</para>
     144          <indexterm zone="ch-system-bash sh">
     145            <primary sortas="b-sh">sh</primary>
     146          </indexterm>
     147        </listitem>
     148      </varlistentry>
    118149
    119 </sect2>
     150    </variablelist>
     151
     152  </sect2>
    120153
    121154</sect1>
    122 
  • chapter06/binutils.xml

    rb4cd3c5 re6ab4b5  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-binutils" role="wrap">
    7 <title>Binutils-&binutils-version;</title>
    8 <?dbhtml filename="binutils.html"?>
    9 
    10 <indexterm zone="ch-system-binutils"><primary sortas="a-Binutils">Binutils</primary></indexterm>
    11 
    12 <sect2 role="package"><title/>
    13 <para>The Binutils package contains a linker, an assembler, and other tools for
    14 handling object files.</para>
    15 
    16 <segmentedlist>
    17 <segtitle>&buildtime;</segtitle>
    18 <segtitle>&diskspace;</segtitle>
    19 <seglistitem><seg>1.3 SBU</seg><seg>158 MB</seg></seglistitem>
    20 </segmentedlist>
    21 
    22 <segmentedlist>
    23 <segtitle>&dependencies;</segtitle>
    24 <seglistitem><seg>Bash, Coreutils, Diffutils, Expect, GCC, Gettext,
    25 Glibc, Grep, Make, Perl, Sed, Tcl, and Texinfo</seg></seglistitem>
    26 </segmentedlist>
    27 </sect2>
    28 
    29 <sect2 role="installation">
    30 <title>Installation of Binutils</title>
    31 
    32 <para>Verify that the PTYs are working properly inside the chroot
    33 environment. Check that everything is set up correctly by performing a
    34 simple test:</para>
     9  <?dbhtml filename="binutils.html"?>
     10
     11  <title>Binutils-&binutils-version;</title>
     12
     13  <indexterm zone="ch-system-binutils">
     14    <primary sortas="a-Binutils">Binutils</primary>
     15  </indexterm>
     16
     17  <sect2 role="package">
     18    <title/>
     19
     20    <para>The Binutils package contains a linker, an assembler, and other
     21    tools for handling object files.</para>
     22
     23    <segmentedlist>
     24      <segtitle>&buildtime;</segtitle>
     25      <segtitle>&diskspace;</segtitle>
     26
     27      <seglistitem>
     28        <seg>1.3 SBU</seg>
     29        <seg>158 MB</seg>
     30      </seglistitem>
     31    </segmentedlist>
     32
     33    <segmentedlist>
     34      <segtitle>&dependencies;</segtitle>
     35
     36      <seglistitem>
     37        <seg>Bash, Coreutils, Diffutils, Expect, GCC, Gettext, Glibc, Grep,
     38        Make, Perl, Sed, Tcl, and Texinfo</seg>
     39      </seglistitem>
     40    </segmentedlist>
     41
     42  </sect2>
     43
     44  <sect2 role="installation">
     45    <title>Installation of Binutils</title>
     46
     47    <para>Verify that the PTYs are working properly inside the chroot
     48    environment. Check that everything is set up correctly by performing a
     49    simple test:</para>
    3550
    3651<screen><userinput>expect -c "spawn ls"</userinput></screen>
    3752
    38 <para>If the following message shows up, the chroot environment is not
    39 set up for proper PTY operation:</para>
    40 
    41 <screen><computeroutput>The system has no more ptys. 
     53    <para>If the following message shows up, the chroot environment is not
     54    set up for proper PTY operation:</para>
     55
     56<screen><computeroutput>The system has no more ptys.
    4257Ask your system administrator to create more.</computeroutput></screen>
    4358
    44 <para>This issue needs to be resolved before running the test suites
    45 for Binutils and GCC.</para>
    46 
    47 <para>The Binutils documentation recommends building Binutils outside of the
    48 source directory in a dedicated build directory:</para>
     59    <para>This issue needs to be resolved before running the test suites
     60    for Binutils and GCC.</para>
     61
     62    <para>The Binutils documentation recommends building Binutils outside of the
     63    source directory in a dedicated build directory:</para>
    4964
    5065<screen><userinput>mkdir -v ../binutils-build
    5166cd ../binutils-build</userinput></screen>
    5267
    53 <para>Prepare Binutils for compilation:</para>
     68    <para>Prepare Binutils for compilation:</para>
    5469
    5570<screen><userinput>../binutils-&binutils-version;/configure --prefix=/usr \
    5671    --enable-shared</userinput></screen>
    5772
    58 <para>Compile the package:</para>
     73    <para>Compile the package:</para>
    5974
    6075<screen><userinput>make tooldir=/usr</userinput></screen>
    6176
    62 <para>Normally, the tooldir (the directory where the executables will ultimately
    63 be located) is set to <filename
    64 class="directory">$(exec_prefix)/$(target_alias)</filename>. For example, i686
    65 machines would expand that to <filename
    66 class="directory">/usr/i686-pc-linux-gnu</filename>. Because this is a custom
    67 system, this target-specific directory in <filename
    68 class="directory">/usr</filename> is not required. <filename
    69 class="directory">$(exec_prefix)/$(target_alias)</filename> would be used if the
    70 system was used to cross-compile (for example, compiling a package on an Intel
    71 machine that generates code that can be executed on PowerPC machines).</para>
    72 
    73 <important><para>The test suite for Binutils in this section is
    74 considered critical. Do not skip it under any
    75 circumstances.</para></important>
    76 
    77 <para>Test the results:</para>
     77    <variablelist>
     78      <title>The meaning of the make parameter:</title>
     79
     80      <varlistentry>
     81        <term><parameter>tooldir=/usr</parameter></term>
     82        <listitem>
     83          <para>Normally, the tooldir (the directory where the executables will
     84          ultimately be located) is set to <filename
     85          class="directory">$(exec_prefix)/$(target_alias)</filename>. For
     86          example, i686 machines would expand that to <filename
     87          class="directory">/usr/i686-pc-linux-gnu</filename>. Because this is
     88          a custom system, this target-specific directory in <filename
     89          class="directory">/usr</filename> is not required. <filename
     90          class="directory">$(exec_prefix)/$(target_alias)</filename> would be
     91          used if the system was used to cross-compile (for example, compiling a
     92          package on an Intel machine that generates code that can be executed
     93          on PowerPC machines).</para>
     94        </listitem>
     95      </varlistentry>
     96
     97    </variablelist>
     98
     99    <important>
     100      <para>The test suite for Binutils in this section is considered critical.
     101      Do not skip it under any circumstances.</para>
     102    </important>
     103
     104    <para>Test the results:</para>
    78105
    79106<screen><userinput>make check</userinput></screen>
    80107
    81 <para>Install the package:</para>
     108    <para>Install the package:</para>
    82109
    83110<screen><userinput>make tooldir=/usr install</userinput></screen>
    84111
    85 <para>Install the <filename class="headerfile">libiberty</filename> header file that is needed by
    86 some packages:</para>
     112    <para>Install the <filename class="headerfile">libiberty</filename> header
     113    file that is needed by some packages:</para>
    87114
    88115<screen><userinput>cp -v ../binutils-&binutils-version;/include/libiberty.h /usr/include</userinput></screen>
    89116
    90 </sect2>
    91 
    92 
    93 <sect2 id="contents-binutils" role="content"><title>Contents of Binutils</title>
    94 
    95 <segmentedlist>
    96 <segtitle>Installed programs</segtitle>
    97 <segtitle>Installed libraries</segtitle>
    98 <seglistitem><seg>addr2line, ar, as, c++filt, gprof, ld, nm, objcopy, objdump,
    99 ranlib, readelf, size, strings, and strip</seg>
    100 <seg>libiberty.a, libbfd.[a,so], and libopcodes.[a,so]</seg></seglistitem>
    101 </segmentedlist>
    102 
    103 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
    104 <?dbfo list-presentation="list"?>
    105 <?dbhtml list-presentation="table"?>
    106 
    107 <varlistentry id="addr2line">
    108 <term><command>addr2line</command></term>
    109 <listitem>
    110 <para>Translates program addresses to file names and line numbers;
    111 given an address and the name of an executable, it uses the debugging
    112 information in the executable to determine which source file and line
    113 number are associated with the address</para>
    114 <indexterm zone="ch-system-binutils addr2line"><primary sortas="b-addr2line">addr2line</primary></indexterm>
    115 </listitem>
    116 </varlistentry>
    117 
    118 <varlistentry id="ar">
    119 <term><command>ar</command></term>
    120 <listitem>
    121 <para>Creates, modifies, and extracts from archives</para>
    122 <indexterm zone="ch-system-binutils ar"><primary sortas="b-ar">ar</primary></indexterm>
    123 </listitem>
    124 </varlistentry>
    125 
    126 <varlistentry id="as">
    127 <term><command>as</command></term>
    128 <listitem>
    129 <para>An assembler that assembles the output of <command>gcc</command>
    130 into object files</para>
    131 <indexterm zone="ch-system-binutils as"><primary sortas="b-as">as</primary></indexterm>
    132 </listitem>
    133 </varlistentry>
    134 
    135 <varlistentry id="c-filt">
    136 <term><command>c++filt</command></term>
    137 <listitem>
    138 <para>Used by the linker to de-mangle C++ and Java symbols and to keep
    139 overloaded functions from clashing</para>
    140 <indexterm zone="ch-system-binutils c-filt"><primary sortas="b-c++filt">c++filt</primary></indexterm>
    141 </listitem>
    142 </varlistentry>
    143 
    144 <varlistentry id="gprof">
    145 <term><command>gprof</command></term>
    146 <listitem>
    147 <para>Displays call graph profile data</para>
    148 <indexterm zone="ch-system-binutils gprof"><primary sortas="b-gprof">gprof</primary></indexterm>
    149 </listitem>
    150 </varlistentry>
    151 
    152 <varlistentry id="ld">
    153 <term><command>ld</command></term>
    154 <listitem>
    155 <para>A linker that combines a number of object and archive files into a single file,
    156 relocating their data and tying up symbol references</para>
    157 <indexterm zone="ch-system-binutils ld"><primary sortas="b-ld">ld</primary></indexterm>
    158 </listitem>
    159 </varlistentry>
    160 
    161 <varlistentry id="nm">
    162 <term><command>nm</command></term>
    163 <listitem>
    164 <para>Lists the symbols occurring in a given object file</para>
    165 <indexterm zone="ch-system-binutils nm"><primary sortas="b-nm">nm</primary></indexterm>
    166 </listitem>
    167 </varlistentry>
    168 
    169 <varlistentry id="objcopy">
    170 <term><command>objcopy</command></term>
    171 <listitem>
    172 <para>Translates one type of object file into another</para>
    173 <indexterm zone="ch-system-binutils objcopy"><primary sortas="b-objcopy">objcopy</primary></indexterm>
    174 </listitem>
    175 </varlistentry>
    176 
    177 <varlistentry id="objdump">
    178 <term><command>objdump</command></term>
    179 <listitem>
    180 <para>Displays information about the given object file, with options
    181 controlling the particular information to display; the information
    182 shown is useful to programmers who are working on the compilation
    183 tools</para>
    184 <indexterm zone="ch-system-binutils objdump"><primary sortas="b-objdump">objdump</primary></indexterm>
    185 </listitem>
    186 </varlistentry>
    187 
    188 <varlistentry id="ranlib">
    189 <term><command>ranlib</command></term>
    190 <listitem>
    191 <para>Generates an index of the contents of an archive and stores it
    192 in the archive; the index lists all of the symbols defined by archive
    193 members that are relocatable object files</para>
    194 <indexterm zone="ch-system-binutils ranlib"><primary sortas="b-ranlib">ranlib</primary></indexterm>
    195 </listitem>
    196 </varlistentry>
    197 
    198 <varlistentry id="readelf">
    199 <term><command>readelf</command></term>
    200 <listitem>
    201 <para>Displays information about ELF type binaries</para>
    202 <indexterm zone="ch-system-binutils readelf"><primary sortas="b-readelf">readelf</primary></indexterm>
    203 </listitem>
    204 </varlistentry>
    205 
    206 <varlistentry id="size">
    207 <term><command>size</command></term>
    208 <listitem>
    209 <para>Lists the section sizes and the total size for the given object files</para>
    210 <indexterm zone="ch-system-binutils size"><primary sortas="b-size">size</primary></indexterm>
    211 </listitem>
    212 </varlistentry>
    213 
    214 <varlistentry id="strings">
    215 <term><command>strings</command></term>
    216 <listitem>
    217 <para>Outputs, for each given file, the sequences of printable
    218 characters that are of at least the specified length (defaulting to
    219 four); for object files, it prints, by default, only the strings from
    220 the initializing and loading sections while for other types of files, it
    221 scans the entire file</para>
    222 <indexterm zone="ch-system-binutils strings"><primary sortas="b-strings">strings</primary></indexterm>
    223 </listitem>
    224 </varlistentry>
    225 
    226 <varlistentry id="strip">
    227 <term><command>strip</command></term>
    228 <listitem>
    229 <para>Discards symbols from object files</para>
    230 <indexterm zone="ch-system-binutils strip"><primary sortas="b-strip">strip</primary></indexterm>
    231 </listitem>
    232 </varlistentry>
    233 
    234 <varlistentry id="libiberty">
    235 <term><filename class="libraryfile">libiberty</filename></term>
    236 <listitem>
    237 <para>Contains routines used by various GNU programs, including
    238 <command>getopt</command>, <command>obstack</command>,
    239 <command>strerror</command>, <command>strtol</command>, and
    240 <command>strtoul</command></para>
    241 <indexterm zone="ch-system-binutils libiberty"><primary sortas="c-libiberty">libiberty</primary></indexterm>
    242 </listitem>
    243 </varlistentry>
    244 
    245 <varlistentry id="libbfd">
    246 <term><filename class="libraryfile">libbfd</filename></term>
    247 <listitem>
    248 <para>The Binary File Descriptor library</para>
    249 <indexterm zone="ch-system-binutils libbfd"><primary sortas="c-libbfd">libbfd</primary></indexterm>
    250 </listitem>
    251 </varlistentry>
    252 
    253 <varlistentry id="libopcodes">
    254 <term><filename class="libraryfile">libopcodes</filename></term>
    255 <listitem>
    256 <para>A library for dealing with opcodes&mdash;the <quote>readable
    257 text</quote> versions of instructions for the processor;
    258 it is used for building utilities like
    259 <command>objdump</command>.</para>
    260 <indexterm zone="ch-system-binutils libopcodes"><primary sortas="c-libopcodes">libopcodes</primary></indexterm>
    261 </listitem>
    262 </varlistentry>
    263 </variablelist>
    264 
    265 </sect2>
     117  </sect2>
     118
     119
     120  <sect2 id="contents-binutils" role="content">
     121    <title>Contents of Binutils</title>
     122
     123    <segmentedlist>
     124      <segtitle>Installed programs</segtitle>
     125      <segtitle>Installed libraries</segtitle>
     126
     127      <seglistitem>
     128        <seg>addr2line, ar, as, c++filt, gprof, ld, nm, objcopy, objdump,
     129        ranlib, readelf, size, strings, and strip</seg>
     130        <seg>libiberty.a, libbfd.[a,so], and libopcodes.[a,so]</seg>
     131      </seglistitem>
     132    </segmentedlist>
     133
     134    <variablelist>
     135      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     136      <?dbfo list-presentation="list"?>
     137      <?dbhtml list-presentation="table"?>
     138
     139      <varlistentry id="addr2line">
     140        <term><command>addr2line</command></term>
     141        <listitem>
     142          <para>Translates program addresses to file names and line numbers;
     143          given an address and the name of an executable, it uses the debugging
     144          information in the executable to determine which source file and line
     145          number are associated with the address</para>
     146          <indexterm zone="ch-system-binutils addr2line">
     147            <primary sortas="b-addr2line">addr2line</primary>
     148          </indexterm>
     149        </listitem>
     150      </varlistentry>
     151
     152      <varlistentry id="ar">
     153        <term><command>ar</command></term>
     154        <listitem>
     155          <para>Creates, modifies, and extracts from archives</para>
     156          <indexterm zone="ch-system-binutils ar">
     157            <primary sortas="b-ar">ar</primary>
     158          </indexterm>
     159        </listitem>
     160      </varlistentry>
     161
     162      <varlistentry id="as">
     163        <term><command>as</command></term>
     164        <listitem>
     165          <para>An assembler that assembles the output of <command>gcc</command>
     166          into object files</para>
     167          <indexterm zone="ch-system-binutils as">
     168            <primary sortas="b-as">as</primary>
     169          </indexterm>
     170        </listitem>
     171      </varlistentry>
     172
     173      <varlistentry id="c-filt">
     174        <term><command>c++filt</command></term>
     175        <listitem>
     176          <para>Used by the linker to de-mangle C++ and Java symbols and to keep
     177          overloaded functions from clashing</para>
     178          <indexterm zone="ch-system-binutils c-filt">
     179            <primary sortas="b-c++filt">c++filt</primary>
     180          </indexterm>
     181        </listitem>
     182      </varlistentry>
     183
     184      <varlistentry id="gprof">
     185        <term><command>gprof</command></term>
     186        <listitem>
     187          <para>Displays call graph profile data</para>
     188          <indexterm zone="ch-system-binutils gprof">
     189            <primary sortas="b-gprof">gprof</primary>
     190          </indexterm>
     191        </listitem>
     192      </varlistentry>
     193
     194      <varlistentry id="ld">
     195        <term><command>ld</command></term>
     196        <listitem>
     197          <para>A linker that combines a number of object and archive files
     198          into a single file, relocating their data and tying up symbol
     199          references</para>
     200          <indexterm zone="ch-system-binutils ld">
     201            <primary sortas="b-ld">ld</primary>
     202          </indexterm>
     203        </listitem>
     204      </varlistentry>
     205
     206      <varlistentry id="nm">
     207        <term><command>nm</command></term>
     208        <listitem>
     209          <para>Lists the symbols occurring in a given object file</para>
     210          <indexterm zone="ch-system-binutils nm">
     211            <primary sortas="b-nm">nm</primary>
     212          </indexterm>
     213        </listitem>
     214      </varlistentry>
     215
     216      <varlistentry id="objcopy">
     217        <term><command>objcopy</command></term>
     218        <listitem>
     219          <para>Translates one type of object file into another</para>
     220          <indexterm zone="ch-system-binutils objcopy">
     221            <primary sortas="b-objcopy">objcopy</primary>
     222          </indexterm>
     223        </listitem>
     224      </varlistentry>
     225
     226      <varlistentry id="objdump">
     227        <term><command>objdump</command></term>
     228        <listitem>
     229          <para>Displays information about the given object file, with options
     230          controlling the particular information to display; the information
     231          shown is useful to programmers who are working on the compilation
     232          tools</para>
     233          <indexterm zone="ch-system-binutils objdump">
     234            <primary sortas="b-objdump">objdump</primary>
     235          </indexterm>
     236        </listitem>
     237      </varlistentry>
     238
     239      <varlistentry id="ranlib">
     240        <term><command>ranlib</command></term>
     241        <listitem>
     242          <para>Generates an index of the contents of an archive and stores it
     243          in the archive; the index lists all of the symbols defined by archive
     244          members that are relocatable object files</para>
     245          <indexterm zone="ch-system-binutils ranlib">
     246            <primary sortas="b-ranlib">ranlib</primary>
     247          </indexterm>
     248        </listitem>
     249      </varlistentry>
     250
     251      <varlistentry id="readelf">
     252        <term><command>readelf</command></term>
     253        <listitem>
     254          <para>Displays information about ELF type binaries</para>
     255          <indexterm zone="ch-system-binutils readelf">
     256            <primary sortas="b-readelf">readelf</primary>
     257          </indexterm>
     258        </listitem>
     259      </varlistentry>
     260
     261      <varlistentry id="size">
     262        <term><command>size</command></term>
     263        <listitem>
     264          <para>Lists the section sizes and the total size for the given
     265          object files</para>
     266          <indexterm zone="ch-system-binutils size">
     267            <primary sortas="b-size">size</primary>
     268          </indexterm>
     269        </listitem>
     270      </varlistentry>
     271
     272      <varlistentry id="strings">
     273        <term><command>strings</command></term>
     274        <listitem>
     275          <para>Outputs, for each given file, the sequences of printable
     276          characters that are of at least the specified length (defaulting to
     277          four); for object files, it prints, by default, only the strings from
     278          the initializing and loading sections while for other types of files, it
     279          scans the entire file</para>
     280          <indexterm zone="ch-system-binutils strings">
     281            <primary sortas="b-strings">strings</primary>
     282          </indexterm>
     283        </listitem>
     284      </varlistentry>
     285
     286      <varlistentry id="strip">
     287        <term><command>strip</command></term>
     288        <listitem>
     289          <para>Discards symbols from object files</para>
     290          <indexterm zone="ch-system-binutils strip">
     291            <primary sortas="b-strip">strip</primary>
     292          </indexterm>
     293        </listitem>
     294      </varlistentry>
     295
     296      <varlistentry id="libiberty">
     297        <term><filename class="libraryfile">libiberty</filename></term>
     298        <listitem>
     299          <para>Contains routines used by various GNU programs, including
     300          <command>getopt</command>, <command>obstack</command>,
     301          <command>strerror</command>, <command>strtol</command>, and
     302          <command>strtoul</command></para>
     303          <indexterm zone="ch-system-binutils libiberty">
     304            <primary sortas="c-libiberty">libiberty</primary>
     305          </indexterm>
     306        </listitem>
     307      </varlistentry>
     308
     309      <varlistentry id="libbfd">
     310        <term><filename class="libraryfile">libbfd</filename></term>
     311        <listitem>
     312          <para>The Binary File Descriptor library</para>
     313          <indexterm zone="ch-system-binutils libbfd">
     314            <primary sortas="c-libbfd">libbfd</primary>
     315          </indexterm>
     316        </listitem>
     317      </varlistentry>
     318
     319      <varlistentry id="libopcodes">
     320        <term><filename class="libraryfile">libopcodes</filename></term>
     321        <listitem>
     322          <para>A library for dealing with opcodes&mdash;the <quote>readable
     323          text</quote> versions of instructions for the processor;
     324          it is used for building utilities like
     325          <command>objdump</command>.</para>
     326          <indexterm zone="ch-system-binutils libopcodes">
     327            <primary sortas="c-libopcodes">libopcodes</primary>
     328          </indexterm>
     329        </listitem>
     330      </varlistentry>
     331
     332    </variablelist>
     333
     334  </sect2>
    266335
    267336</sect1>
    268 
  • chapter06/bison.xml

    rb4cd3c5 re6ab4b5  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-bison" role="wrap">
    7 <title>Bison-&bison-version;</title>
    8 <?dbhtml filename="bison.html"?>
     9  <?dbhtml filename="bison.html"?>
    910
    10 <indexterm zone="ch-system-bison"><primary sortas="a-Bison">Bison</primary></indexterm>
     11  <title>Bison-&bison-version;</title>
    1112
    12 <sect2 role="package"><title/>
    13 <para>The Bison package contains a parser generator.</para>
     13  <indexterm zone="ch-system-bison">
     14    <primary sortas="a-Bison">Bison</primary>
     15  </indexterm>
    1416
    15 <segmentedlist>
    16 <segtitle>&buildtime;</segtitle>
    17 <segtitle>&diskspace;</segtitle>
    18 <seglistitem><seg>0.6 SBU</seg><seg>9.9 MB</seg></seglistitem>
    19 </segmentedlist>
     17  <sect2 role="package">
     18    <title/>
    2019
    21 <segmentedlist>
    22 <segtitle>&dependencies;</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
    24 GCC, Gettext, Glibc, Grep, M4, Make, and Sed</seg></seglistitem>
    25 </segmentedlist>
    26 </sect2>
     20    <para>The Bison package contains a parser generator.</para>
    2721
    28 <sect2 role="installation">
    29 <title>Installation of Bison</title>
     22    <segmentedlist>
     23      <segtitle>&buildtime;</segtitle>
     24      <segtitle>&diskspace;</segtitle>
    3025
    31 <para>Prepare Bison for compilation:</para>
     26      <seglistitem>
     27        <seg>0.6 SBU</seg>
     28        <seg>9.9 MB</seg>
     29      </seglistitem>
     30    </segmentedlist>
     31
     32    <segmentedlist>
     33      <segtitle>&dependencies;</segtitle>
     34
     35      <seglistitem>
     36        <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc,
     37        Grep, M4, Make, and Sed</seg>
     38      </seglistitem>
     39    </segmentedlist>
     40
     41  </sect2>
     42
     43  <sect2 role="installation">
     44    <title>Installation of Bison</title>
     45
     46    <para>Prepare Bison for compilation:</para>
    3247
    3348<screen><userinput>./configure --prefix=/usr</userinput></screen>
    3449
    35 <para>Compile the package:</para>
     50    <para>Compile the package:</para>
    3651
    3752<screen><userinput>make</userinput></screen>
    3853
    39 <para>To test the results, issue:
    40 <userinput>make check</userinput>.</para>
     54    <para>To test the results, issue:
     55    <userinput>make check</userinput>.</para>
    4156
    42 <para>Install the package:</para>
     57    <para>Install the package:</para>
    4358
    4459<screen><userinput>make install</userinput></screen>
    4560
    46 </sect2>
     61  </sect2>
    4762
    48 <sect2 id="contents-bison" role="content"><title>Contents of Bison</title>
     63  <sect2 id="contents-bison" role="content">
     64    <title>Contents of Bison</title>
    4965
    50 <segmentedlist>
    51 <segtitle>Installed programs</segtitle>
    52 <segtitle>Installed library</segtitle>
    53 <seglistitem><seg>bison and yacc</seg><seg>liby.a</seg></seglistitem>
    54 </segmentedlist>
     66    <segmentedlist>
     67      <segtitle>Installed programs</segtitle>
     68      <segtitle>Installed library</segtitle>
    5569
    56 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
    57 <?dbfo list-presentation="list"?>
    58 <?dbhtml list-presentation="table"?>
     70      <seglistitem>
     71        <seg>bison and yacc</seg>
     72        <seg>liby.a</seg>
     73      </seglistitem>
     74    </segmentedlist>
    5975
    60 <varlistentry id="bison">
    61 <term><command>bison</command></term>
    62 <listitem>
    63 <para>Generates, from a series of rules, a program for analyzing the structure
    64 of text files; Bison is a replacement for Yacc (Yet Another Compiler
    65 Compiler)</para>
    66 <indexterm zone="ch-system-bison bison"><primary sortas="b-bison">bison</primary></indexterm>
    67 </listitem>
    68 </varlistentry>
     76    <variablelist>
     77      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     78      <?dbfo list-presentation="list"?>
     79      <?dbhtml list-presentation="table"?>
    6980
    70 <varlistentry id="yacc">
    71 <term><command>yacc</command></term>
    72 <listitem>
    73 <para>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 <indexterm zone="ch-system-bison yacc"><primary sortas="b-yacc">yacc</primary></indexterm>
    77 </listitem>
    78 </varlistentry>
     81      <varlistentry id="bison">
     82        <term><command>bison</command></term>
     83        <listitem>
     84          <para>Generates, from a series of rules, a program for analyzing the
     85          structure of text files; Bison is a replacement for Yacc (Yet Another
     86          Compiler Compiler)</para>
     87          <indexterm zone="ch-system-bison bison">
     88            <primary sortas="b-bison">bison</primary>
     89          </indexterm>
     90        </listitem>
     91      </varlistentry>
    7992
    80 <varlistentry id="liby.a">
    81 <term><filename class="libraryfile">liby.a</filename></term>
    82 <listitem>
    83 <para>The Yacc library containing implementations of Yacc-compatible
    84 <emphasis>yyerror</emphasis> and <emphasis>main</emphasis> functions;
    85 this library is normally not very useful, but POSIX requires
    86 it</para>
    87 <indexterm zone="ch-system-bison liby.a"><primary sortas="c-liby.a">liby.a</primary></indexterm>
    88 </listitem>
    89 </varlistentry>
    90 </variablelist>
     93      <varlistentry id="yacc">
     94        <term><command>yacc</command></term>
     95        <listitem>
     96          <para>A wrapper for <command>bison</command>, meant for programs that
     97          still call <command>yacc</command> instead of <command>bison</command>;
     98          it calls <command>bison</command> with the <parameter>-y</parameter>
     99          option</para>
     100          <indexterm zone="ch-system-bison yacc">
     101            <primary sortas="b-yacc">yacc</primary>
     102          </indexterm>
     103        </listitem>
     104      </varlistentry>
    91105
    92 </sect2>
     106      <varlistentry id="liby.a">
     107        <term><filename class="libraryfile">liby.a</filename></term>
     108        <listitem>
     109          <para>The Yacc library containing implementations of Yacc-compatible
     110          <function>yyerror</function> and <function>main</function> functions;
     111          this library is normally not very useful, but POSIX requires it</para>
     112          <indexterm zone="ch-system-bison liby.a">
     113            <primary sortas="c-liby.a">liby.a</primary>
     114          </indexterm>
     115        </listitem>
     116      </varlistentry>
     117
     118    </variablelist>
     119
     120  </sect2>
    93121
    94122</sect1>
    95 
  • chapter06/bzip2.xml

    rb4cd3c5 re6ab4b5  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-bzip2" role="wrap">
    7 <title>Bzip2-&bzip2-version;</title>
    8 <?dbhtml filename="bzip2.html"?>
    9 
    10 <indexterm zone="ch-system-bzip2"><primary sortas="a-Bzip2">Bzip2</primary></indexterm>
    11 
    12 <sect2 role="package"><title/>
    13 <para>The Bzip2 package contains programs for compressing and decompressing
    14 files. Compressing text files with <command>bzip2</command> yields a much better
    15 compression percentage than with the traditional <command>gzip</command>.</para>
    16 
    17 <segmentedlist>
    18 <segtitle>&buildtime;</segtitle>
    19 <segtitle>&diskspace;</segtitle>
    20 <seglistitem><seg>0.1 SBU</seg><seg>3.9 MB</seg></seglistitem>
    21 </segmentedlist>
    22 
    23 <segmentedlist>
    24 <segtitle>&dependencies;</segtitle>
    25 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
    26 GCC, Glibc, Patch, and Make</seg></seglistitem>
    27 </segmentedlist>
    28 </sect2>
    29 
    30 <sect2 role="installation">
    31 <title>Installation of Bzip2</title>
    32 
    33 <para>Apply a patch to install the documentation for this package:</para>
     9  <?dbhtml filename="bzip2.html"?>
     10
     11  <title>Bzip2-&bzip2-version;</title>
     12
     13  <indexterm zone="ch-system-bzip2">
     14    <primary sortas="a-Bzip2">Bzip2</primary>
     15  </indexterm>
     16
     17  <sect2 role="package">
     18    <title/>
     19
     20    <para>The Bzip2 package contains programs for compressing and decompressing
     21    files. Compressing text files with <command>bzip2</command> yields a much
     22    better compression percentage than with the traditional
     23    <command>gzip</command>.</para>
     24
     25    <segmentedlist>
     26      <segtitle>&buildtime;</segtitle>
     27      <segtitle>&diskspace;</segtitle>
     28
     29      <seglistitem>
     30        <seg>0.1 SBU</seg>
     31        <seg>3.9 MB</seg>
     32      </seglistitem>
     33    </segmentedlist>
     34
     35    <segmentedlist>
     36      <segtitle>&dependencies;</segtitle>
     37
     38      <seglistitem>
     39        <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Patch,
     40        and Make</seg>
     41      </seglistitem>
     42    </segmentedlist>
     43
     44  </sect2>
     45
     46  <sect2 role="installation">
     47    <title>Installation of Bzip2</title>
     48
     49    <para>Apply a patch to install the documentation for this package:</para>
    3450
    3551<screen><userinput>patch -Np1 -i ../&bzip2-docs-patch;</userinput></screen>
    3652
    37 <para>The <command>bzgrep</command> command does not escape '|' and '&amp;' in
    38 filenames passed to it. This allows arbitrary commands to be executed with the
    39 privileges of the user running <command>bzgrep</command>. Apply the following to
    40 address this:</para>
     53    <para>The <command>bzgrep</command> command does not escape '|' and '&amp;'
     54    in filenames passed to it. This allows arbitrary commands to be executed
     55    with the privileges of the user running <command>bzgrep</command>. Apply
     56    the following to address this:</para>
    4157
    4258<screen><userinput>patch -Np1 -i ../&bzip2-bzgrep-patch;</userinput></screen>
    4359
    44 <para>Prepare Bzip2 for compilation with:</para>
     60    <para>Prepare Bzip2 for compilation with:</para>
    4561
    4662<screen><userinput>make -f Makefile-libbz2_so
    4763make clean</userinput></screen>
    4864
    49 <para>The <parameter>-f</parameter> flag will cause Bzip2 to be built
    50 using a different <filename>Makefile</filename> file, in this case the
    51 <filename>Makefile-libbz2_so</filename> file, which creates a dynamic
    52 <filename class="libraryfile">libbz2.so</filename> library and links the Bzip2
    53 utilities against it.</para>
    54 
    55 <para>Compile and test the package:</para>
     65    <variablelist>
     66      <title>The meaning of the make parameter:</title>
     67
     68      <varlistentry>
     69        <term><parameter>-f Makefile-libbz2_so</parameter></term>
     70        <listitem>
     71          <para>This will cause Bzip2 to be built using a different
     72          <filename>Makefile</filename> file, in this case the
     73          <filename>Makefile-libbz2_so</filename> file, which creates a dynamic
     74          <filename class="libraryfile">libbz2.so</filename> library and links
     75          the Bzip2 utilities against it.</para>
     76        </listitem>
     77      </varlistentry>
     78
     79    </variablelist>
     80
     81    <para>Compile and test the package:</para>
    5682
    5783<screen><userinput>make</userinput></screen>
    5884
    59 <para>If reinstalling Bzip2, perform
    60 <userinput>rm -vf /usr/bin/bz*</userinput> first, otherwise the following
    61 <command>make install</command> will fail.</para>
    62 
    63 <para>Install the programs:</para>
     85    <para>If reinstalling Bzip2, perform
     86    <userinput>rm -vf /usr/bin/bz*</userinput> first, otherwise the following
     87    <command>make install</command> will fail.</para>
     88
     89    <para>Install the programs:</para>
    6490
    6591<screen><userinput>make install</userinput></screen>
    6692
    67 <para>Install the shared <command>bzip2</command> binary into the
    68 <filename class="directory">/bin</filename> directory, make
    69 some necessary symbolic links, and clean up:</para>
     93    <para>Install the shared <command>bzip2</command> binary into the
     94    <filename class="directory">/bin</filename> directory, make
     95    some necessary symbolic links, and clean up:</para>
    7096
    7197<screen><userinput>cp -v bzip2-shared /bin/bzip2
     
    76102ln -sv bzip2 /bin/bzcat</userinput></screen>
    77103
    78 </sect2>
    79 
    80 
    81 <sect2 id="contents-bzip2" role="content"><title>Contents of Bzip2</title>
    82 
    83 <segmentedlist>
    84 <segtitle>Installed programs</segtitle>
    85 <segtitle>Installed libraries</segtitle>
    86 <seglistitem><seg>bunzip2 (link to bzip2), bzcat (link to bzip2), bzcmp, bzdiff,
    87 bzegrep, bzfgrep, bzgrep, bzip2, bzip2recover, bzless, and bzmore</seg>
    88 <seg>libbz2.[a,so]</seg></seglistitem>
    89 </segmentedlist>
    90 
    91 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
    92 <?dbfo list-presentation="list"?>
    93 <?dbhtml list-presentation="table"?>
    94 
    95 <varlistentry id="bunzip2">
    96 <term><command>bunzip2</command></term>
    97 <listitem>
    98 <para>Decompresses bzipped files</para>
    99 <indexterm zone="ch-system-bzip2 bunzip2"><primary sortas="b-bunzip2">bunzip2</primary></indexterm>
    100 </listitem>
    101 </varlistentry>
    102 
    103 <varlistentry id="bzcat">
    104 <term><command>bzcat</command></term>
    105 <listitem>
    106 <para>Decompresses to standard output</para>
    107 <indexterm zone="ch-system-bzip2 bzcat"><primary sortas="b-bzcat">bzcat</primary></indexterm>
    108 </listitem>
    109 </varlistentry>
    110 
    111 <varlistentry id="bzcmp">
    112 <term><command>bzcmp</command></term>
    113 <listitem>
    114 <para>Runs <command>cmp</command> on bzipped files</para>
    115 <indexterm zone="ch-system-bzip2 bzcmp"><primary sortas="b-bzcmp">bzcmp</primary></indexterm>
    116 </listitem>
    117 </varlistentry>
    118 
    119 <varlistentry id="bzdiff">
    120 <term><command>bzdiff</command></term>
    121 <listitem>
    122 <para>Runs <command>diff</command> on bzipped files</para>
    123 <indexterm zone="ch-system-bzip2 bzdiff"><primary sortas="b-bzdiff">bzdiff</primary></indexterm>
    124 </listitem>
    125 </varlistentry>
    126 
    127 <varlistentry id="bzgrep">
    128 <term><command>bzgrep</command></term>
    129 <listitem>
    130 <para>Runs <command>grep</command> on bzipped files</para>
    131 <indexterm zone="ch-system-bzip2 bzgrep"><primary sortas="b-bzgrep">bzgrep</primary></indexterm>
    132 </listitem>
    133 </varlistentry>
    134 
    135 <varlistentry id="bzegrep">
    136 <term><command>bzegrep</command></term>
    137 <listitem>
    138 <para>Runs <command>egrep</command> on bzipped files</para>
    139 <indexterm zone="ch-system-bzip2 bzegrep"><primary sortas="b-bzegrep">bzegrep</primary></indexterm>
    140 </listitem>
    141 </varlistentry>
    142 
    143 <varlistentry id="bzfgrep">
    144 <term><command>bzfgrep</command></term>
    145 <listitem>
    146 <para>Runs <command>fgrep</command> on bzipped files</para>
    147 <indexterm zone="ch-system-bzip2 bzfgrep"><primary sortas="b-bzfgrep">bzfgrep</primary></indexterm>
    148 </listitem>
    149 </varlistentry>
    150 
    151 <varlistentry id="bzip2">
    152 <term><command>bzip2</command></term>
    153 <listitem>
    154 <para>Compresses files using the Burrows-Wheeler block sorting text
    155 compression algorithm with Huffman coding; the compression rate is
    156 better than that achieved by more conventional compressors using
    157 <quote>Lempel-Ziv</quote> algorithms, like <command>gzip</command></para>
    158 <indexterm zone="ch-system-bzip2 bzip2"><primary sortas="b-bzip2">bzip2</primary></indexterm>
    159 </listitem>
    160 </varlistentry>
    161 
    162 <varlistentry id="bzip2recover">
    163 <term><command>bzip2recover</command></term>
    164 <listitem>
    165 <para>Tries to recover data from damaged bzipped files</para>
    166 <indexterm zone="ch-system-bzip2 bzip2recover"><primary sortas="b-bzip2recover">bzip2recover</primary></indexterm>
    167 </listitem>
    168 </varlistentry>
    169 
    170 <varlistentry id="bzless">
    171 <term><command>bzless</command></term>
    172 <listitem>
    173 <para>Runs <command>less</command> on bzipped files</para>
    174 <indexterm zone="ch-system-bzip2 bzless"><primary sortas="b-bzless">bzless</primary></indexterm>
    175 </listitem>
    176 </varlistentry>
    177 
    178 <varlistentry id="bzmore">
    179 <term><command>bzmore</command></term>
    180 <listitem>
    181 <para>Runs <command>more</command> on bzipped files</para>
    182 <indexterm zone="ch-system-bzip2 bzmore"><primary sortas="b-bzmore">bzmore</primary></indexterm>
    183 </listitem>
    184 </varlistentry>
    185 
    186 <varlistentry id="libbz2">
    187 <term><filename class="libraryfile">libbz2*</filename></term>
    188 <listitem>
    189 <para>The library implementing lossless, block-sorting data
    190 compression, using the Burrows-Wheeler algorithm</para>
    191 <indexterm zone="ch-system-bzip2 libbz2"><primary sortas="c-libbz2*">libbz2*</primary></indexterm>
    192 </listitem>
    193 </varlistentry>
    194 </variablelist>
    195 
    196 </sect2>
     104  </sect2>
     105
     106  <sect2 id="contents-bzip2" role="content">
     107    <title>Contents of Bzip2</title>
     108
     109    <segmentedlist>
     110      <segtitle>Installed programs</segtitle>
     111      <segtitle>Installed libraries</segtitle>
     112
     113      <seglistitem>
     114        <seg>bunzip2 (link to bzip2), bzcat (link to bzip2), bzcmp, bzdiff,
     115        bzegrep, bzfgrep, bzgrep, bzip2, bzip2recover, bzless, and bzmore</seg>
     116        <seg>libbz2.[a,so]</seg>
     117      </seglistitem>
     118    </segmentedlist>
     119
     120    <variablelist>
     121      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     122      <?dbfo list-presentation="list"?>
     123      <?dbhtml list-presentation="table"?>
     124
     125      <varlistentry id="bunzip2">
     126        <term><command>bunzip2</command></term>
     127        <listitem>
     128          <para>Decompresses bzipped files</para>
     129          <indexterm zone="ch-system-bzip2 bunzip2">
     130            <primary sortas="b-bunzip2">bunzip2</primary>
     131          </indexterm>
     132        </listitem>
     133      </varlistentry>
     134
     135      <varlistentry id="bzcat">
     136        <term><command>bzcat</command></term>
     137        <listitem>
     138          <para>Decompresses to standard output</para>
     139          <indexterm zone="ch-system-bzip2 bzcat">
     140            <primary sortas="b-bzcat">bzcat</primary>
     141          </indexterm>
     142        </listitem>
     143      </varlistentry>
     144
     145      <varlistentry id="bzcmp">
     146        <term><command>bzcmp</command></term>
     147        <listitem>
     148          <para>Runs <command>cmp</command> on bzipped files</para>
     149          <indexterm zone="ch-system-bzip2 bzcmp">
     150            <primary sortas="b-bzcmp">bzcmp</primary>
     151          </indexterm>
     152        </listitem>
     153      </varlistentry>
     154
     155      <varlistentry id="bzdiff">
     156        <term><command>bzdiff</command></term>
     157        <listitem>
     158          <para>Runs <command>diff</command> on bzipped files</para>
     159          <indexterm zone="ch-system-bzip2 bzdiff">
     160            <primary sortas="b-bzdiff">bzdiff</primary>
     161          </indexterm>
     162        </listitem>
     163      </varlistentry>
     164
     165      <varlistentry id="bzgrep">
     166        <term><command>bzgrep</command></term>
     167        <listitem>
     168          <para>Runs <command>grep</command> on bzipped files</para>
     169          <indexterm zone="ch-system-bzip2 bzgrep">
     170            <primary sortas="b-bzgrep">bzgrep</primary>
     171          </indexterm>
     172        </listitem>
     173      </varlistentry>
     174
     175      <varlistentry id="bzegrep">
     176        <term><command>bzegrep</command></term>
     177        <listitem>
     178          <para>Runs <command>egrep</command> on bzipped files</para>
     179          <indexterm zone="ch-system-bzip2 bzegrep">
     180            <primary sortas="b-bzegrep">bzegrep</primary>
     181          </indexterm>
     182        </listitem>
     183      </varlistentry>
     184
     185      <varlistentry id="bzfgrep">
     186        <term><command>bzfgrep</command></term>
     187        <listitem>
     188          <para>Runs <command>fgrep</command> on bzipped files</para>
     189          <indexterm zone="ch-system-bzip2 bzfgrep">
     190            <primary sortas="b-bzfgrep">bzfgrep</primary>
     191          </indexterm>
     192        </listitem>
     193      </varlistentry>
     194
     195      <varlistentry id="bzip2">
     196        <term><command>bzip2</command></term>
     197        <listitem>
     198          <para>Compresses files using the Burrows-Wheeler block sorting text
     199          compression algorithm with Huffman coding; the compression rate is
     200          better than that achieved by more conventional compressors using
     201          <quote>Lempel-Ziv</quote> algorithms, like <command>gzip</command></para>
     202          <indexterm zone="ch-system-bzip2 bzip2">
     203            <primary sortas="b-bzip2">bzip2</primary>
     204          </indexterm>
     205        </listitem>
     206      </varlistentry>
     207
     208      <varlistentry id="bzip2recover">
     209        <term><command>bzip2recover</command></term>
     210        <listitem>
     211          <para>Tries to recover data from damaged bzipped files</para>
     212          <indexterm zone="ch-system-bzip2 bzip2recover">
     213            <primary sortas="b-bzip2recover">bzip2recover</primary>
     214          </indexterm>
     215        </listitem>
     216      </varlistentry>
     217
     218      <varlistentry id="bzless">
     219        <term><command>bzless</command></term>
     220        <listitem>
     221          <para>Runs <command>less</command> on bzipped files</para>
     222          <indexterm zone="ch-system-bzip2 bzless">
     223            <primary sortas="b-bzless">bzless</primary>
     224          </indexterm>
     225        </listitem>
     226      </varlistentry>
     227
     228      <varlistentry id="bzmore">
     229        <term><command>bzmore</command></term>
     230        <listitem>
     231          <para>Runs <command>more</command> on bzipped files</para>
     232          <indexterm zone="ch-system-bzip2 bzmore">
     233            <primary sortas="b-bzmore">bzmore</primary>
     234          </indexterm>
     235        </listitem>
     236      </varlistentry>
     237
     238      <varlistentry id="libbz2">
     239        <term><filename class="libraryfile">libbz2*</filename></term>
     240        <listitem>
     241          <para>The library implementing lossless, block-sorting data
     242          compression, using the Burrows-Wheeler algorithm</para>
     243          <indexterm zone="ch-system-bzip2 libbz2">
     244            <primary sortas="c-libbz2*">libbz2*</primary>
     245          </indexterm>
     246        </listitem>
     247      </varlistentry>
     248
     249    </variablelist>
     250
     251  </sect2>
    197252
    198253</sect1>
    199 
  • chapter06/changingowner.xml

    rb4cd3c5 re6ab4b5  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-changingowner">
    7 <title>Changing Ownership</title>
    8 <?dbhtml filename="changingowner.html"?>
     9  <?dbhtml filename="changingowner.html"?>
    910
    10 <para>Currently, the <filename class="directory">/tools</filename>
    11 directory is owned by the user <emphasis>lfs</emphasis>, a user that
    12 exists only on the host system. Although the <filename
    13 class="directory">/tools</filename> directory can be deleted once the
    14 LFS system has been finished, it can be retained to build additional
    15 LFS systems. If the <filename class="directory">/tools</filename>
    16 directory is kept as is, the files are owned by a user ID without a
    17 corresponding account. This is dangerous because a user account
    18 created later could get this same user ID and would own the <filename
    19 class="directory">/tools</filename> directory and all the files
    20 therein, thus exposing these files to possible malicious
    21 manipulation.</para>
     11  <title>Changing Ownership</title>
    2212
    23 <para>To avoid this issue, add the <emphasis>lfs</emphasis> user to
    24 the new LFS system later when creating the
    25 <filename>/etc/passwd</filename> file, taking care to assign it the
    26 same user and group IDs as on the host system. Alternatively, assign
    27 the contents of the <filename class="directory">/tools</filename>
    28 directory to user <emphasis>root</emphasis> by running the following
    29 command:</para>
     13  <para>Currently, the <filename class="directory">/tools</filename> directory
     14  is owned by the user <systemitem class="username">lfs</systemitem>, a user
     15  that exists only on the host system. Although the <filename
     16  class="directory">/tools</filename> directory can be deleted once the LFS
     17  system has been finished, it can be retained to build additional LFS systems.
     18  If the <filename class="directory">/tools</filename> directory is kept as is,
     19  the files are owned by a user ID without a corresponding account. This is
     20  dangerous because a user account created later could get this same user ID
     21  and would own the <filename class="directory">/tools</filename> directory
     22  and all the files therein, thus exposing these files to possible malicious
     23  manipulation.</para>
     24
     25  <para>To avoid this issue, add the <systemitem class="username">lfs</systemitem>
     26  user to the new LFS system later when creating the
     27  <filename>/etc/passwd</filename> file, taking care to assign it the same user
     28  and group IDs as on the host system. Alternatively, assign the contents of
     29  the <filename class="directory">/tools</filename> directory to user
     30  <systemitem class="username">root</systemitem> by running the following
     31  command:</para>
    3032
    3133<screen><userinput>chown -R 0:0 /tools</userinput></screen>
    3234
    33 <para>The command uses <parameter>0:0</parameter> instead of
    34 <parameter>root:root</parameter>, because <command>chown</command>
    35 is unable to resolve the name <quote>root</quote> until the password
    36 file has been created. This book assumes you ran this
    37 <command>chown</command> command.</para>
     35  <para>The command uses <parameter>0:0</parameter> instead of
     36  <parameter>root:root</parameter>, because <command>chown</command>
     37  is unable to resolve the name <quote>root</quote> until the
     38  <filename>passwd</filename> file has been created.</para>
    3839
    3940</sect1>
    40 
  • chapter06/chapter06.xml

    rb4cd3c5 re6ab4b5  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<chapter id="chapter-building-system" xreflabel="Chapter 6">
    7 <?dbhtml dir="chapter06"?>
    8 <title>Installing Basic System Software</title>
    9 <?dbhtml filename="chapter06.html"?>
     9  <?dbhtml dir="chapter06"?>
     10  <?dbhtml filename="chapter06.html"?>
    1011
    11 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
    12 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kernfs.xml"/>
    13 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chroot.xml"/>
    14 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="changingowner.xml"/>
    15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingdirs.xml"/>
    16 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="createfiles.xml"/>
    17 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="pwdgroup.xml"/>
    18 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="devices.xml"/>
    19 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="linux-libc-headers.xml"/>
    20 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="man-pages.xml"/>
    21 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="glibc.xml"/>
    22 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="readjusting.xml"/>
    23 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="binutils.xml"/>
    24 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc.xml"/>
    25 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="coreutils.xml"/>
    26 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="flex.xml"/>
    27 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gettext.xml"/>
    28 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="groff.xml"/>
    29 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="iana-etc.xml"/>
    30 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="m4.xml"/>
    31 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ncurses.xml"/>
    32 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="procps.xml"/>
    33 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sed.xml"/>
    34 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="perl.xml"/>
    35 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="readline.xml"/>
    36 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="zlib.xml"/>
    37 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="autoconf.xml"/>
    38 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="automake.xml"/>
    39 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bash.xml"/>
    40 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bison.xml"/>
    41 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bzip2.xml"/>
    42 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="diffutils.xml"/>
    43 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="db.xml"/>
    44 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="e2fsprogs.xml"/>
    45 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="file.xml"/>
    46 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="findutils.xml"/>
    47 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grub.xml"/>
    48 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gawk.xml"/>
    49 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grep.xml"/>
    50 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gzip.xml"/>
    51 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="hotplug.xml"/>
    52 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="inetutils.xml"/>
    53 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="iproute2.xml"/>
    54 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kbd.xml"/>
    55 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="less.xml"/>
    56 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="libtool.xml"/>
    57 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="make.xml"/>
    58 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="man-db.xml"/>
    59 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mktemp.xml"/>
    60 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="module-init-tools.xml"/>
    61 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="patch.xml"/>
    62 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="psmisc.xml"/>
    63 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="shadow.xml"/>
    64 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sysklogd.xml"/>
    65 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sysvinit.xml"/>
    66 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="tar.xml"/>
    67 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="texinfo.xml"/>
    68 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="udev.xml"/>
    69 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="util-linux.xml"/>
    70 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="vim.xml"/>
    71 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="aboutdebug.xml"/>
    72 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="strippingagain.xml"/>
    73 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="revisedchroot.xml"/>
     12  <title>Installing Basic System Software</title>
     13
     14  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
     15  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="pkgmgt.xml"/>
     16  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kernfs.xml"/>
     17  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chroot.xml"/>
     18  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="changingowner.xml"/>
     19  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingdirs.xml"/>
     20  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="createfiles.xml"/>
     21  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="pwdgroup.xml"/>
     22  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="devices.xml"/>
     23  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="linux-libc-headers.xml"/>
     24  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="man-pages.xml"/>
     25  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="glibc.xml"/>
     26  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="readjusting.xml"/>
     27  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="binutils.xml"/>
     28  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc.xml"/>
     29  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="coreutils.xml"/>
     30  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="flex.xml"/>
     31  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gettext.xml"/>
     32  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="groff.xml"/>
     33  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="iana-etc.xml"/>
     34  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="m4.xml"/>
     35  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ncurses.xml"/>
     36  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="procps.xml"/>
     37  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sed.xml"/>
     38  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="perl.xml"/>
     39  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="readline.xml"/>
     40  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="zlib.xml"/>
     41  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="autoconf.xml"/>
     42  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="automake.xml"/>
     43  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bash.xml"/>
     44  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bison.xml"/>
     45  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bzip2.xml"/>
     46  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="diffutils.xml"/>
     47  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="db.xml"/>
     48  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="e2fsprogs.xml"/>
     49  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="file.xml"/>
     50  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="findutils.xml"/>
     51  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grub.xml"/>
     52  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gawk.xml"/>
     53  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grep.xml"/>
     54  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gzip.xml"/>
     55  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="hotplug.xml"/>
     56  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="inetutils.xml"/>
     57  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="iproute2.xml"/>
     58  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kbd.xml"/>
     59  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="less.xml"/>
     60  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="libtool.xml"/>
     61  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="make.xml"/>
     62  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="man-db.xml"/>
     63  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mktemp.xml"/>
     64  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="module-init-tools.xml"/>
     65  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="patch.xml"/>
     66  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="psmisc.xml"/>
     67  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="shadow.xml"/>
     68  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sysklogd.xml"/>
     69  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sysvinit.xml"/>
     70  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="tar.xml"/>
     71  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="texinfo.xml"/>
     72  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="udev.xml"/>
     73  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="util-linux.xml"/>
     74  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="vim.xml"/>
     75  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="aboutdebug.xml"/>
     76  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="strippingagain.xml"/>
     77  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="revisedchroot.xml"/>
    7478
    7579</chapter>
  • chapter06/chroot.xml

    rb4cd3c5 re6ab4b5  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-chroot">
    7 <title>Entering the Chroot Environment</title>
    8 <?dbhtml filename="chroot.html"?>
     9  <?dbhtml filename="chroot.html"?>
    910
    10 <para>It is time to enter the chroot environment to begin
    11 building and installing the final LFS system. As user
    12 <emphasis>root</emphasis>, run the following command to enter the
    13 realm that is, at the moment, populated with only the temporary
    14 tools:</para>
     11  <title>Entering the Chroot Environment</title>
     12
     13  <para>It is time to enter the chroot environment to begin building and
     14  installing the final LFS system. As user <systemitem
     15  class="username">root</systemitem>, run the following command to enter the
     16  realm that is, at the moment, populated with only the temporary tools:</para>
    1517
    1618<screen><userinput>chroot "$LFS" /tools/bin/env -i \
     
    1921    /tools/bin/bash --login +h</userinput></screen>
    2022
    21 <para>The <parameter>-i</parameter> option given to the
    22 <command>env</command> command will clear all variables of the chroot
    23 environment. After that, only the <envar>HOME</envar>,
    24 <envar>TERM</envar>, <envar>PS1</envar>, and
    25 <envar>PATH</envar> variables are set again. The
    26 <parameter>TERM=$TERM</parameter> construct will set the
    27 <envar>TERM</envar> variable inside chroot to the same value as
    28 outside chroot. This variable is needed for programs like
    29 <command>vim</command> and <command>less</command> to operate
    30 properly.  If other variables are needed, such as
    31 <envar>CFLAGS</envar> or <envar>CXXFLAGS</envar>, this is
    32 a good place to set them again.</para>
     23  <para>The <parameter>-i</parameter> option given to the <command>env</command>
     24  command will clear all variables of the chroot environment. After that, only
     25  the <envar>HOME</envar>, <envar>TERM</envar>, <envar>PS1</envar>, and
     26  <envar>PATH</envar> variables are set again. The
     27  <parameter>TERM=$TERM</parameter> construct will set the <envar>TERM</envar>
     28  variable inside chroot to the same value as outside chroot. This variable is
     29  needed for programs like <command>vim</command> and <command>less</command>
     30  to operate properly.  If other variables are needed, such as
     31  <envar>CFLAGS</envar> or <envar>CXXFLAGS</envar>, this is a good place to set
     32  them again.</para>
    3333
    34 <para>From this point on, there is no need to use the
    35 <envar>LFS</envar> variable anymore, because all work will be
    36 restricted to the LFS file system.  This is because the Bash shell is
    37 told that <filename class="directory">$LFS</filename> is now the root
    38 (<filename class="directory">/</filename>) directory.</para>
     34  <para>From this point on, there is no need to use the
     35  <envar>LFS</envar> variable anymore, because all work will be restricted
     36  to the LFS file system.  This is because the Bash shell is told that
     37  <filename class="directory">$LFS</filename> is now the root
     38  (<filename class="directory">/</filename>) directory.</para>
    3939
    40 <para>Notice that <filename class="directory">/tools/bin</filename> comes last
    41 in the <envar>PATH</envar>. This means that a temporary tool will no longer be
    42 used once its final version is installed. This occurs when the shell does not
    43 <quote>remember</quote> the locations of executed binaries&mdash;for this
    44 reason, hashing is switched off by passing the <parameter>+h</parameter> option
    45 to <command>bash</command>.</para>
     40  <para>Notice that <filename class="directory">/tools/bin</filename> comes last
     41  in the <envar>PATH</envar>. This means that a temporary tool will no longer be
     42  used once its final version is installed. This occurs when the shell does not
     43  <quote>remember</quote> the locations of executed binaries&mdash;for this
     44  reason, hashing is switched off by passing the <parameter>+h</parameter> option
     45  to <command>bash</command>.</para>
    4646
    47 <para>It is important that all the commands throughout the remainder
    48 of this chapter and the following chapters are run from within the
    49 chroot environment. If you leave this environment for any reason
    50 (rebooting for example), remember to first mount the <systemitem
    51 class="filesystem">proc</systemitem> and <systemitem
    52 class="filesystem">devpts</systemitem> file systems (discussed in the
    53 previous section) and enter chroot again before continuing with the
    54 installations.</para>
     47  <para>It is important that all the commands throughout the remainder of this
     48  chapter and the following chapters are run from within the chroot environment.
     49  If you leave this environment for any reason (rebooting for example), remember
     50  to first mount the <systemitem class="filesystem">proc</systemitem> and
     51  <systemitem class="filesystem">devpts</systemitem> file systems (discussed
     52  in the previous section) and enter chroot again before continuing with the
     53  installations.</para>
    5554
    56 <para>Note that the <command>bash</command> prompt will say
    57 <computeroutput>I have no name!</computeroutput> This is normal because the
    58 <filename>/etc/passwd</filename> file has not been created yet.</para>
     55  <para>Note that the <command>bash</command> prompt will say
     56  <computeroutput>I have no name!</computeroutput> This is normal because the
     57  <filename>/etc/passwd</filename> file has not been created yet.</para>
    5958
    6059</sect1>
    61 
  • chapter06/coreutils.xml

    rb4cd3c5 re6ab4b5  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-coreutils" role="wrap">
    7 <title>Coreutils-&coreutils-version;</title>
    8 <?dbhtml filename="coreutils.html"?>
    9 
    10 <indexterm zone="ch-system-coreutils"><primary sortas="a-Coreutils">Coreutils</primary></indexterm>
    11 
    12 <sect2 role="package"><title/>
    13 <para>The Coreutils package contains utilities for showing and setting the
    14 basic system characteristics.</para>
    15 
    16 <segmentedlist>
    17 <segtitle>&buildtime;</segtitle>
    18 <segtitle>&diskspace;</segtitle>
    19 <seglistitem><seg>0.9 SBU</seg><seg>52.8 MB</seg></seglistitem>
    20 </segmentedlist>
    21 
    22 <segmentedlist>
    23 <segtitle>&dependencies;</segtitle>
    24 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, GCC,
    25 Gettext, Glibc, Grep, Make, Patch, Perl, and Sed</seg></seglistitem>
    26 </segmentedlist>
    27 </sect2>
    28 
    29 <sect2 role="installation">
    30 <title>Installation of Coreutils</title>
    31 
    32 <para>A known issue with the <command>uname</command> program from
    33 this package is that the <parameter>-p</parameter> switch always
    34 returns <computeroutput>unknown</computeroutput>. The following patch
    35 fixes this behavior for Intel architectures:</para>
     9  <?dbhtml filename="coreutils.html"?>
     10
     11  <title>Coreutils-&coreutils-version;</title>
     12
     13  <indexterm zone="ch-system-coreutils">
     14    <primary sortas="a-Coreutils">Coreutils</primary>
     15  </indexterm>
     16
     17  <sect2 role="package">
     18    <title/>
     19
     20    <para>The Coreutils package contains utilities for showing and setting the
     21    basic system characteristics.</para>
     22
     23    <segmentedlist>
     24      <segtitle>&buildtime;</segtitle>
     25      <segtitle>&diskspace;</segtitle>
     26
     27      <seglistitem>
     28        <seg>0.9 SBU</seg>
     29        <seg>52.8 MB</seg>
     30      </seglistitem>
     31    </segmentedlist>
     32
     33    <segmentedlist>
     34      <segtitle>&dependencies;</segtitle>
     35
     36      <seglistitem>
     37        <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep,
     38        Make, Patch, Perl, and Sed</seg>
     39      </seglistitem>
     40    </segmentedlist>
     41
     42  </sect2>
     43
     44  <sect2 role="installation">
     45    <title>Installation of Coreutils</title>
     46
     47    <para>A known issue with the <command>uname</command> program from
     48    this package is that the <parameter>-p</parameter> switch always
     49    returns <computeroutput>unknown</computeroutput>. The following patch
     50    fixes this behavior for Intel architectures:</para>
    3651
    3752<screen><userinput>patch -Np1 -i ../&coreutils-uname-patch;</userinput></screen>
    3853
    39 <para>Prevent Coreutils from installing binaries that will be installed by
    40 other packages later:</para>
     54    <para>Prevent Coreutils from installing binaries that will be installed by
     55    other packages later:</para>
    4156
    4257<screen><userinput>patch -Np1 -i ../&coreutils-suppress-patch;</userinput></screen>
    4358
    44 <para>POSIX requires that programs from Coreutils recognize character
    45 boundaries correctly even in multibyte locales. The following patch
    46 fixes this non-compliance and other internationalization-related bugs:</para>
     59    <para>POSIX requires that programs from Coreutils recognize character
     60    boundaries correctly even in multibyte locales. The following patch
     61    fixes this non-compliance and other internationalization-related bugs:</para>
    4762
    4863<screen><userinput>patch -Np1 -i ../&coreutils-i18n-patch;</userinput></screen>
    4964
    50 <para>In order for the tests added by this patch to pass, the permissions for
    51 the test file have to be changed:</para>
     65    <para>In order for the tests added by this patch to pass, the permissions for
     66    the test file have to be changed:</para>
    5267
    5368<screen><userinput>chmod +x tests/sort/sort-mb-tests</userinput></screen>
    5469
    55 <note><para>In the past, many bugs were found in this patch. When reporting
    56 new bugs to Coreutils maintainers, please check first if they are reproducible
    57 without this patch.</para></note>
    58 
    59 <para>It has been found that translated messages sometimes overflow a buffer
    60 in the <command>who -Hu</command> command. Increase the buffer size:</para>
     70    <note>
     71      <para>In the past, many bugs were found in this patch. When reporting new
     72      bugs to Coreutils maintainers, please check first if they are reproducible
     73      without this patch.</para>
     74    </note>
     75
     76    <para>It has been found that translated messages sometimes overflow a buffer
     77    in the <command>who -Hu</command> command. Increase the buffer size:</para>
    6178
    6279<screen><userinput>sed -i 's/_LEN 6/_LEN 20/' src/who.c</userinput></screen>
    6380
    64 <para>Now prepare Coreutils for compilation:</para>
     81    <para>Now prepare Coreutils for compilation:</para>
    6582
    6683<screen><userinput>./configure --prefix=/usr</userinput></screen>
    6784
    68 <para>Compile the package:</para>
     85    <para>Compile the package:</para>
    6986
    7087<screen><userinput>make</userinput></screen>
    7188
    72 <para>The test suite of Coreutils makes several assumptions about the presence
    73 of system users and groups that are not valid within the minimal environment
    74 that exists at the moment. Therefore, additional items need to be set up before
    75 running the tests. Skip down to <quote>Install the package</quote> if not
    76 running the test suite.</para>
    77 
    78 <para>Create two dummy groups and a dummy user:</para>
     89    <para>The test suite of Coreutils makes several assumptions about the
     90    presence of system users and groups that are not valid within the minimal
     91    environment that exists at the moment. Therefore, additional items need
     92    to be set up before running the tests. Skip down to <quote>Install the
     93    package</quote> if not running the test suite.</para>
     94
     95    <para>Create two dummy groups and a dummy user:</para>
    7996
    8097<screen><userinput>echo "dummy1:x:1000:" &gt;&gt; /etc/group
     
    8299echo "dummy:x:1000:1000::/root:/bin/bash" &gt;&gt; /etc/passwd</userinput></screen>
    83100
    84 <para>Now the test suite is ready to be run. First, run the tests that
    85 are meant to be run as user <emphasis>root</emphasis>:</para>
     101    <para>Now the test suite is ready to be run. First, run the tests that are
     102    meant to be run as user <systemitem class="username">root</systemitem>:</para>
    86103
    87104<screen><userinput>make NON_ROOT_USERNAME=dummy check-root</userinput></screen>
    88105
    89 <para>Then run the remainder of the tests as the
    90 <emphasis>dummy</emphasis> user:</para>
     106    <para>Then run the remainder of the tests as the
     107    <systemitem class="username">dummy</systemitem> user:</para>
    91108
    92109<screen><userinput>src/su dummy -c "make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
    93110
    94 <para>When testing is complete, remove the dummy user and
    95 groups:</para>
     111    <para>When testing is complete, remove the dummy user and groups:</para>
    96112
    97113<screen><userinput>sed -i '/dummy/d' /etc/passwd /etc/group</userinput></screen>
    98114
    99 <para>Install the package:</para>
     115    <para>Install the package:</para>
    100116
    101117<screen><userinput>make install</userinput></screen>
    102118
    103 <para>Move programs to the locations specified by the FHS:</para>
     119    <para>Move programs to the locations specified by the FHS:</para>
    104120
    105121<screen><userinput>mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} /bin
     
    108124mv -v /usr/bin/chroot /usr/sbin</userinput></screen>
    109125
    110 <para>Some of the scripts in the LFS-Bootscripts package depend on
    111 <command>head</command> and <command>sleep</command>.  As
    112 <filename class="directory">/usr</filename> may not be available during the
    113 early stages of booting, those binaries need to be on the root partition:</para>
     126    <para>Some of the scripts in the LFS-Bootscripts package depend on
     127    <command>head</command> and <command>sleep</command>.  As
     128    <filename class="directory">/usr</filename> may not be available during the
     129    early stages of booting, those binaries need to be on the root
     130    partition:</para>
    114131
    115132<screen><userinput>mv -v /usr/bin/{head,sleep} /bin</userinput></screen>
    116133
    117 </sect2>
    118 
    119 
    120 <sect2 id="contents-coreutils" role="content"><title>Contents of Coreutils</title>
    121 
    122 <segmentedlist>
    123 <segtitle>Installed programs</segtitle>
    124 <seglistitem><seg>basename, cat, chgrp, chmod, chown, chroot, cksum,
    125 comm, cp, csplit, cut, date, dd, df, dir, dircolors, dirname, du,
    126 echo, env, expand, expr, factor, false, fmt, fold, groups, head,
    127 hostid, hostname, id, install, join, link, ln, logname, ls, md5sum,
    128 mkdir, mkfifo, mknod, mv, nice, nl, nohup, od, paste, pathchk, pinky,
    129 pr, printenv, printf, ptx, pwd, readlink, rm, rmdir, seq, sha1sum,
    130 shred, sleep, sort, split, stat, stty, sum, sync, tac, tail, tee,
    131 test, touch, tr, true, tsort, tty, uname, unexpand, uniq, unlink,
    132 users, vdir, wc, who, whoami, and yes</seg></seglistitem>
    133 </segmentedlist>
    134 
    135 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
    136 <?dbfo list-presentation="list"?>
    137 <?dbhtml list-presentation="table"?>
    138 
    139 <varlistentry id="basename">
    140 <term><command>basename</command></term>
    141 <listitem>
    142 <para>Strips any path and a given suffix from a file name</para>
    143 <indexterm zone="ch-system-coreutils basename"><primary sortas="b-basename">basename</primary></indexterm>
    144 </listitem>
    145 </varlistentry>
    146 
    147 <varlistentry id="cat">
    148 <term><command>cat</command></term>
    149 <listitem>
    150 <para>Concatenates files to standard output</para>
    151 <indexterm zone="ch-system-coreutils cat"><primary sortas="b-cat">cat</primary></indexterm>
    152 </listitem>
    153 </varlistentry>
    154 
    155 <varlistentry id="chgrp">
    156 <term><command>chgrp</command></term>
    157 <listitem>
    158 <para>Changes the group ownership of files and directories</para>
    159 <indexterm zone="ch-system-coreutils chgrp"><primary sortas="b-chgrp">chgrp</primary></indexterm>
    160 </listitem>
    161 </varlistentry>
    162 
    163 <varlistentry id="chmod">
    164 <term><command>chmod</command></term>
    165 <listitem>
    166 <para>Changes the permissions of each file to the given mode; the mode
    167 can be either a symbolic representation of the changes to make or an
    168 octal number representing the new permissions</para>
    169 <indexterm zone="ch-system-coreutils chmod"><primary sortas="b-chmod">chmod</primary></indexterm>
    170 </listitem>
    171 </varlistentry>
    172 
    173 <varlistentry id="chown">
    174 <term><command>chown</command></term>
    175 <listitem>
    176 <para>Changes the user and/or group ownership of files and directories</para>
    177 <indexterm zone="ch-system-coreutils chown"><primary sortas="b-chown">chown</primary></indexterm>
    178 </listitem>
    179 </varlistentry>
    180 
    181 <varlistentry id="chroot">
    182 <term><command>chroot</command></term>
    183 <listitem>
    184 <para>Runs a command with the specified directory as the
    185 <filename class="directory">/</filename> directory</para>
    186 <indexterm zone="ch-system-coreutils chroot"><primary sortas="b-chroot">chroot</primary></indexterm>
    187 </listitem>
    188 </varlistentry>
    189 
    190 <varlistentry id="cksum">
    191 <term><command>cksum</command></term>
    192 <listitem>
    193 <para>Prints the Cyclic Redundancy Check (CRC) checksum and the byte
    194 counts of each specified file</para>
    195 <indexterm zone="ch-system-coreutils cksum"><primary sortas="b-cksum">cksum</primary></indexterm>
    196 </listitem>
    197 </varlistentry>
    198 
    199 <varlistentry id="comm">
    200 <term><command>comm</command></term>
    201 <listitem>
    202 <para>Compares two sorted files, outputting in three columns the lines
    203 that are unique and the lines that are common</para>
    204 <indexterm zone="ch-system-coreutils comm"><primary sortas="b-comm">comm</primary></indexterm>
    205 </listitem>
    206 </varlistentry>
    207 
    208 <varlistentry id="cp">
    209 <term><command>cp</command></term>
    210 <listitem>
    211 <para>Copies files</para>
    212 <indexterm zone="ch-system-coreutils cp"><primary sortas="b-cp">cp</primary></indexterm>
    213 </listitem>
    214 </varlistentry>
    215 
    216 <varlistentry id="csplit">
    217 <term><command>csplit</command></term>
    218 <listitem>
    219 <para>Splits a given file into several new files, separating them
    220 according to given patterns or line numbers and outputting the byte
    221 count of each new file</para>
    222 <indexterm zone="ch-system-coreutils csplit"><primary sortas="b-csplit">csplit</primary></indexterm>
    223 </listitem>
    224 </varlistentry>
    225 
    226 <varlistentry id="cut">
    227 <term><command>cut</command></term>
    228 <listitem>
    229 <para>Prints sections of lines, selecting the parts according to given
    230 fields or positions</para>
    231 <indexterm zone="ch-system-coreutils cut"><primary sortas="b-cut">cut</primary></indexterm>
    232 </listitem>
    233 </varlistentry>
    234 
    235 <varlistentry id="date">
    236 <term><command>date</command></term>
    237 <listitem>
    238 <para>Displays the current time in the given format, or sets the
    239 system date</para>
    240 <indexterm zone="ch-system-coreutils date"><primary sortas="b-date">date</primary></indexterm>
    241 </listitem>
    242 </varlistentry>
    243 
    244 <varlistentry id="dd">
    245 <term><command>dd</command> </term>
    246 <listitem>
    247 <para>Copies a file using the given block size and count, while
    248 optionally performing conversions on it</para>
    249 <indexterm zone="ch-system-coreutils dd"><primary sortas="b-dd">dd</primary></indexterm>
    250 </listitem>
    251 </varlistentry>
    252 
    253 <varlistentry id="df">
    254 <term><command>df</command></term>
    255 <listitem>
    256 <para>Reports the amount of disk space available (and used) on all
    257 mounted file systems, or only on the file systems holding the selected
    258 files</para>
    259 <indexterm zone="ch-system-coreutils df"><primary sortas="b-df">df</primary></indexterm>
    260 </listitem>
    261 </varlistentry>
    262 
    263 <varlistentry id="dir">
    264 <term><command>dir</command></term>
    265 <listitem>
    266 <para>Lists the contents of each given directory (the same as
    267 the <command>ls</command> command)</para>
    268 <indexterm zone="ch-system-coreutils dir"><primary sortas="b-dir">dir</primary></indexterm>
    269 </listitem>
    270 </varlistentry>
    271 
    272 <varlistentry id="dircolors">
    273 <term><command>dircolors</command></term>
    274 <listitem>
    275 <para>Outputs commands to set the <envar>LS_COLOR</envar>
    276 environment variable to change the color scheme used by
    277 <command>ls</command></para>
    278 <indexterm zone="ch-system-coreutils dircolors"><primary sortas="b-dircolors">dircolors</primary></indexterm>
    279 </listitem>
    280 </varlistentry>
    281 
    282 <varlistentry id="dirname">
    283 <term><command>dirname</command></term>
    284 <listitem>
    285 <para>Strips the non-directory suffix from a file name</para>
    286 <indexterm zone="ch-system-coreutils dirname"><primary sortas="b-dirname">dirname</primary></indexterm>
    287 </listitem>
    288 </varlistentry>
    289 
    290 <varlistentry id="du">
    291 <term><command>du</command></term>
    292 <listitem>
    293 <para>Reports the amount of disk space used by the current directory,
    294 by each of the given directories (including all subdirectories) or by
    295 each of the given files</para>
    296 <indexterm zone="ch-system-coreutils du"><primary sortas="b-du">du</primary></indexterm>
    297 </listitem>
    298 </varlistentry>
    299 
    300 <varlistentry id="echo">
    301 <term><command>echo</command></term>
    302 <listitem>
    303 <para>Displays the given strings</para>
    304 <indexterm zone="ch-system-coreutils echo"><primary sortas="b-echo">echo</primary></indexterm>
    305 </listitem>
    306 </varlistentry>
    307 
    308 <varlistentry id="env">
    309 <term><command>env</command></term>
    310 <listitem>
    311 <para>Runs a command in a modified environment</para>
    312 <indexterm zone="ch-system-coreutils env"><primary sortas="b-env">env</primary></indexterm>
    313 </listitem>
    314 </varlistentry>
    315 
    316 <varlistentry id="expand">
    317 <term><command>expand</command></term>
    318 <listitem>
    319 <para>Converts tabs to spaces</para>
    320 <indexterm zone="ch-system-coreutils expand"><primary sortas="b-expand">expand</primary></indexterm>
    321 </listitem>
    322 </varlistentry>
    323 
    324 <varlistentry id="expr">
    325 <term><command>expr</command></term>
    326 <listitem>
    327 <para>Evaluates expressions</para>
    328 <indexterm zone="ch-system-coreutils expr"><primary sortas="b-expr">expr</primary></indexterm>
    329 </listitem>
    330 </varlistentry>
    331 
    332 <varlistentry id="factor">
    333 <term><command>factor</command></term>
    334 <listitem>
    335 <para>Prints the prime factors of all specified integer numbers</para>
    336 <indexterm zone="ch-system-coreutils factor"><primary sortas="b-factor">factor</primary></indexterm>
    337 </listitem>
    338 </varlistentry>
    339 
    340 <varlistentry id="false">
    341 <term><command>false</command></term>
    342 <listitem>
    343 <para>Does nothing, unsuccessfully; it always exits with a status code
    344 indicating failure</para>
    345 <indexterm zone="ch-system-coreutils false"><primary sortas="b-false">false</primary></indexterm>
    346 </listitem>
    347 </varlistentry>
    348 
    349 <varlistentry id="fmt">
    350 <term><command>fmt</command></term>
    351 <listitem>
    352 <para>Reformats the paragraphs in the given files</para>
    353 <indexterm zone="ch-system-coreutils fmt"><primary sortas="b-fmt">fmt</primary></indexterm>
    354 </listitem>
    355 </varlistentry>
    356 
    357 <varlistentry id="fold">
    358 <term><command>fold</command></term>
    359 <listitem>
    360 <para>Wraps the lines in the given files</para>
    361 <indexterm zone="ch-system-coreutils fold"><primary sortas="b-fold">fold</primary></indexterm>
    362 </listitem>
    363 </varlistentry>
    364 
    365 <varlistentry id="groups">
    366 <term><command>groups</command></term>
    367 <listitem>
    368 <para>Reports a user's group memberships</para>
    369 <indexterm zone="ch-system-coreutils groups"><primary sortas="b-groups">groups</primary></indexterm>
    370 </listitem>
    371 </varlistentry>
    372 
    373 <varlistentry id="head">
    374 <term><command>head</command></term>
    375 <listitem>
    376 <para>Prints the first ten lines (or the given number of lines) of each given file</para>
    377 <indexterm zone="ch-system-coreutils head"><primary sortas="b-head">head</primary></indexterm>
    378 </listitem>
    379 </varlistentry>
    380 
    381 <varlistentry id="hostid">
    382 <term><command>hostid</command></term>
    383 <listitem>
    384 <para>Reports the numeric identifier (in hexadecimal) of the host</para>
    385 <indexterm zone="ch-system-coreutils hostid"><primary sortas="b-hostid">hostid</primary></indexterm>
    386 </listitem>
    387 </varlistentry>
    388 
    389 <varlistentry id="hostname">
    390 <term><command>hostname</command></term>
    391 <listitem>
    392 <para>Reports or sets the name of the host</para>
    393 <indexterm zone="ch-system-coreutils hostname"><primary sortas="b-hostname">hostname</primary></indexterm>
    394 </listitem>
    395 </varlistentry>
    396 
    397 <varlistentry id="id">
    398 <term><command>id</command></term>
    399 <listitem>
    400 <para>Reports the effective user ID, group ID, and
    401 group memberships of the current user or specified user</para>
    402 <indexterm zone="ch-system-coreutils id"><primary sortas="b-id">id</primary></indexterm>
    403 </listitem>
    404 </varlistentry>
    405 
    406 <varlistentry id="install">
    407 <term><command>install</command> </term>
    408 <listitem>
    409 <para>Copies files while setting their
    410 permission modes and, if possible, their owner and group</para>
    411 <indexterm zone="ch-system-coreutils install"><primary sortas="b-install">install</primary></indexterm>
    412 </listitem>
    413 </varlistentry>
    414 
    415 <varlistentry id="join">
    416 <term><command>join</command></term>
    417 <listitem>
    418 <para>Joins the lines that have identical join fields from two
    419 separate files</para>
    420 <indexterm zone="ch-system-coreutils join"><primary sortas="b-join">join</primary></indexterm>
    421 </listitem>
    422 </varlistentry>
    423 
    424 <varlistentry id="link">
    425 <term><command>link</command></term>
    426 <listitem>
    427 <para>Creates a hard link with the given name to a file</para>
    428 <indexterm zone="ch-system-coreutils link"><primary sortas="b-link">link</primary></indexterm>
    429 </listitem>
    430 </varlistentry>
    431 
    432 <varlistentry id="ln">
    433 <term><command>ln</command></term>
    434 <listitem>
    435 <para>Makes hard links or soft (symbolic) links between files</para>
    436 <indexterm zone="ch-system-coreutils ln"><primary sortas="b-ln">ln</primary></indexterm>
    437 </listitem>
    438 </varlistentry>
    439 
    440 <varlistentry id="logname">
    441 <term><command>logname</command></term>
    442 <listitem>
    443 <para>Reports the current user's login name</para>
    444 <indexterm zone="ch-system-coreutils logname"><primary sortas="b-logname">logname</primary></indexterm>
    445 </listitem>
    446 </varlistentry>
    447 
    448 <varlistentry id="ls">
    449 <term><command>ls</command></term>
    450 <listitem>
    451 <para>Lists the contents of each given directory</para>
    452 <indexterm zone="ch-system-coreutils ls"><primary sortas="b-ls">ls</primary></indexterm>
    453 </listitem>
    454 </varlistentry>
    455 
    456 <varlistentry id="md5sum">
    457 <term><command>md5sum</command></term>
    458 <listitem>
    459 <para>Reports or checks Message Digest 5 (MD5) checksums</para>
    460 <indexterm zone="ch-system-coreutils md5sum"><primary sortas="b-md5sum">md5sum</primary></indexterm>
    461 </listitem>
    462 </varlistentry>
    463 
    464 <varlistentry id="mkdir">
    465 <term><command>mkdir</command></term>
    466 <listitem>
    467 <para>Creates directories with the given names</para>
    468 <indexterm zone="ch-system-coreutils mkdir"><primary sortas="b-mkdir">mkdir</primary></indexterm>
    469 </listitem>
    470 </varlistentry>
    471 
    472 <varlistentry id="mkfifo">
    473 <term><command>mkfifo</command></term>
    474 <listitem>
    475 <para>Creates First-In, First-Outs (FIFOs), a <quote>named
    476 pipe</quote> in UNIX parlance, with the given names</para>
    477 <indexterm zone="ch-system-coreutils mkfifo"><primary sortas="b-mkfifo">mkfifo</primary></indexterm>
    478 </listitem>
    479 </varlistentry>
    480 
    481 <varlistentry id="mknod">
    482 <term><command>mknod</command></term>
    483 <listitem>
    484 <para>Creates device nodes with the given names; a device node is a
    485 character special file, a block special file, or a FIFO</para>
    486 <indexterm zone="ch-system-coreutils mknod"><primary sortas="b-mknod">mknod</primary></indexterm>
    487 </listitem>
    488 </varlistentry>
    489 
    490 <varlistentry id="mv">
    491 <term><command>mv</command></term>
    492 <listitem>
    493 <para>Moves or renames files or directories</para>
    494 <indexterm zone="ch-system-coreutils mv"><primary sortas="b-mv">mv</primary></indexterm>
    495 </listitem>
    496 </varlistentry>
    497 
    498 <varlistentry id="nice">
    499 <term><command>nice</command></term>
    500 <listitem>
    501 <para>Runs a program with modified scheduling priority</para>
    502 <indexterm zone="ch-system-coreutils nice"><primary sortas="b-nice">nice</primary></indexterm>
    503 </listitem>
    504 </varlistentry>
    505 
    506 <varlistentry id="nl">
    507 <term><command>nl</command></term>
    508 <listitem>
    509 <para>Numbers the lines from the given files</para>
    510 <indexterm zone="ch-system-coreutils nl"><primary sortas="b-nl">nl</primary></indexterm>
    511 </listitem>
    512 </varlistentry>
    513 
    514 <varlistentry id="nohup">
    515 <term><command>nohup</command></term>
    516 <listitem>
    517 <para>Runs a command immune to hangups, with its output redirected to
    518 a log file</para>
    519 <indexterm zone="ch-system-coreutils nohup"><primary sortas="b-nohup">nohup</primary></indexterm>
    520 </listitem>
    521 </varlistentry>
    522 
    523 <varlistentry id="od">
    524 <term><command>od</command></term>
    525 <listitem>
    526 <para>Dumps files in octal and other formats</para>
    527 <indexterm zone="ch-system-coreutils od"><primary sortas="b-od">od</primary></indexterm>
    528 </listitem>
    529 </varlistentry>
    530 
    531 <varlistentry id="paste">
    532 <term><command>paste</command></term>
    533 <listitem>
    534 <para>Merges the given files, joining sequentially corresponding lines
    535 side by side, separated by tab characters</para>
    536 <indexterm zone="ch-system-coreutils paste"><primary sortas="b-paste">paste</primary></indexterm>
    537 </listitem>
    538 </varlistentry>
    539 
    540 <varlistentry id="pathchk">
    541 <term><command>pathchk</command></term>
    542 <listitem>
    543 <para>Checks if file names are valid or portable</para>
    544 <indexterm zone="ch-system-coreutils pathchk"><primary sortas="b-pathchk">pathchk</primary></indexterm>
    545 </listitem>
    546 </varlistentry>
    547 
    548 <varlistentry id="pinky">
    549 <term><command>pinky</command></term>
    550 <listitem>
    551 <para>Is a lightweight finger client; it reports some information about the given users</para>
    552 <indexterm zone="ch-system-coreutils pinky"><primary sortas="b-pinky">pinky</primary></indexterm>
    553 </listitem>
    554 </varlistentry>
    555 
    556 <varlistentry id="pr">
    557 <term><command>pr</command></term>
    558 <listitem>
    559 <para>Paginates and columnates files for printing</para>
    560 <indexterm zone="ch-system-coreutils pr"><primary sortas="b-pr">pr</primary></indexterm>
    561 </listitem>
    562 </varlistentry>
    563 
    564 <varlistentry id="printenv">
    565 <term><command>printenv</command></term>
    566 <listitem>
    567 <para>Prints the environment</para>
    568 <indexterm zone="ch-system-coreutils printenv"><primary sortas="b-printenv">printenv</primary></indexterm>
    569 </listitem>
    570 </varlistentry>
    571 
    572 <varlistentry id="printf">
    573 <term><command>printf</command></term>
    574 <listitem>
    575 <para>Prints the given arguments according to the given format, much
    576 like the C printf function</para>
    577 <indexterm zone="ch-system-coreutils printf"><primary sortas="b-printf">printf</primary></indexterm>
    578 </listitem>
    579 </varlistentry>
    580 
    581 <varlistentry id="ptx">
    582 <term><command>ptx</command></term>
    583 <listitem>
    584 <para>Produces a permuted index from the contents of the given files,
    585 with each keyword in its context</para>
    586 <indexterm zone="ch-system-coreutils ptx"><primary sortas="b-ptx">ptx</primary></indexterm>
    587 </listitem>
    588 </varlistentry>
    589 
    590 <varlistentry id="pwd">
    591 <term><command>pwd</command></term>
    592 <listitem>
    593 <para>Reports the name of the current working directory</para>
    594 <indexterm zone="ch-system-coreutils pwd"><primary sortas="b-pwd">pwd</primary></indexterm>
    595 </listitem>
    596 </varlistentry>
    597 
    598 <varlistentry id="readlink">
    599 <term><command>readlink</command></term>
    600 <listitem>
    601 <para>Reports the value of the given symbolic link</para>
    602 <indexterm zone="ch-system-coreutils readlink"><primary sortas="b-readlink">readlink</primary></indexterm>
    603 </listitem>
    604 </varlistentry>
    605 
    606 <varlistentry id="rm">
    607 <term><command>rm</command></term>
    608 <listitem>
    609 <para>Removes files or directories</para>
    610 <indexterm zone="ch-system-coreutils rm"><primary sortas="b-rm">rm</primary></indexterm>
    611 </listitem>
    612 </varlistentry>
    613 
    614 <varlistentry id="rmdir">
    615 <term><command>rmdir</command></term>
    616 <listitem>
    617 <para>Removes directories if they are empty</para>
    618 <indexterm zone="ch-system-coreutils rmdir"><primary sortas="b-rmdir">rmdir</primary></indexterm>
    619 </listitem>
    620 </varlistentry>
    621 
    622 <varlistentry id="seq">
    623 <term><command>seq</command></term>
    624 <listitem>
    625 <para>Prints a sequence of numbers within a given range and with a
    626 given increment</para>
    627 <indexterm zone="ch-system-coreutils seq"><primary sortas="b-seq">seq</primary></indexterm>
    628 </listitem>
    629 </varlistentry>
    630 
    631 <varlistentry id="sha1sum">
    632 <term><command>sha1sum</command></term>
    633 <listitem>
    634 <para>Prints or checks 160-bit Secure Hash Algorithm 1 (SHA1) checksums</para>
    635 <indexterm zone="ch-system-coreutils sha1sum"><primary sortas="b-sha1sum">sha1sum</primary></indexterm>
    636 </listitem>
    637 </varlistentry>
    638 
    639 <varlistentry id="shred">
    640 <term><command>shred</command></term>
    641 <listitem>
    642 <para>Overwrites the given files repeatedly with complex patterns,
    643 making it difficult to recover the data</para>
    644 <indexterm zone="ch-system-coreutils shred"><primary sortas="b-shred">shred</primary></indexterm>
    645 </listitem>
    646 </varlistentry>
    647 
    648 <varlistentry id="sleep">
    649 <term><command>sleep</command></term>
    650 <listitem>
    651 <para>Pauses for the given amount of time</para>
    652 <indexterm zone="ch-system-coreutils sleep"><primary sortas="b-sleep">sleep</primary></indexterm>
    653 </listitem>
    654 </varlistentry>
    655 
    656 <varlistentry id="sort">
    657 <term><command>sort</command></term>
    658 <listitem>
    659 <para>Sorts the lines from the given files</para>
    660 <indexterm zone="ch-system-coreutils sort"><primary sortas="b-sort">sort</primary></indexterm>
    661 </listitem>
    662 </varlistentry>
    663 
    664 <varlistentry id="split">
    665 <term><command>split</command></term>
    666 <listitem>
    667 <para>Splits the given file into pieces, by size or by number of lines</para>
    668 <indexterm zone="ch-system-coreutils split"><primary sortas="b-split">split</primary></indexterm>
    669 </listitem>
    670 </varlistentry>
    671 
    672 <varlistentry id="stat">
    673 <term><command>stat</command></term>
    674 <listitem>
    675 <para>Displays file or filesystem status</para>
    676 <indexterm zone="ch-system-coreutils stat"><primary sortas="b-stat">stat</primary></indexterm>
    677 </listitem>
    678 </varlistentry>
    679 
    680 <varlistentry id="stty">
    681 <term><command>stty</command></term>
    682 <listitem>
    683 <para>Sets or reports terminal line settings</para>
    684 <indexterm zone="ch-system-coreutils stty"><primary sortas="b-stty">stty</primary></indexterm>
    685 </listitem>
    686 </varlistentry>
    687 
    688 <varlistentry id="sum">
    689 <term><command>sum</command></term>
    690 <listitem>
    691 <para>Prints checksum and block counts for each given file</para>
    692 <indexterm zone="ch-system-coreutils sum"><primary sortas="b-sum">sum</primary></indexterm>
    693 </listitem>
    694 </varlistentry>
    695 
    696 <varlistentry id="sync">
    697 <term><command>sync</command></term>
    698 <listitem>
    699 <para>Flushes file system buffers; it forces changed blocks to disk
    700 and updates the super block</para>
    701 <indexterm zone="ch-system-coreutils sync"><primary sortas="b-sync">sync</primary></indexterm>
    702 </listitem>
    703 </varlistentry>
    704 
    705 <varlistentry id="tac">
    706 <term><command>tac</command></term>
    707 <listitem>
    708 <para>Concatenates the given files in reverse</para>
    709 <indexterm zone="ch-system-coreutils tac"><primary sortas="b-tac">tac</primary></indexterm>
    710 </listitem>
    711 </varlistentry>
    712 
    713 <varlistentry id="tail">
    714 <term><command>tail</command></term>
    715 <listitem>
    716 <para>Prints the last ten lines (or the given number of lines) of each
    717 given file</para>
    718 <indexterm zone="ch-system-coreutils tail"><primary sortas="b-tail">tail</primary></indexterm>
    719 </listitem>
    720 </varlistentry>
    721 
    722 <varlistentry id="tee">
    723 <term><command>tee</command></term>
    724 <listitem>
    725 <para>Reads from standard input while writing both to standard output
    726 and to the given files</para>
    727 <indexterm zone="ch-system-coreutils tee"><primary sortas="b-tee">tee</primary></indexterm>
    728 </listitem>
    729 </varlistentry>
    730 
    731 <varlistentry id="test">
    732 <term><command>test</command></term>
    733 <listitem>
    734 <para>Compares values and checks file types</para>
    735 <indexterm zone="ch-system-coreutils test"><primary sortas="b-test">test</primary></indexterm>
    736 </listitem>
    737 </varlistentry>
    738 
    739 <varlistentry id="touch">
    740 <term><command>touch</command></term>
    741 <listitem>
    742 <para>Changes file timestamps, setting the access and modification
    743 times of the given files to the current time; files that do not exist
    744 are created with zero length</para>
    745 <indexterm zone="ch-system-coreutils touch"><primary sortas="b-touch">touch</primary></indexterm>
    746 </listitem>
    747 </varlistentry>
    748 
    749 <varlistentry id="tr">
    750 <term><command>tr</command></term>
    751 <listitem>
    752 <para>Translates, squeezes, and deletes the given characters from
    753 standard input</para>
    754 <indexterm zone="ch-system-coreutils tr"><primary sortas="b-tr">tr</primary></indexterm>
    755 </listitem>
    756 </varlistentry>
    757 
    758 <varlistentry id="true">
    759 <term><command>true</command></term>
    760 <listitem>
    761 <para>Does nothing, successfully; it always exits with a status code
    762 indicating success</para>
    763 <indexterm zone="ch-system-coreutils true"><primary sortas="b-true">true</primary></indexterm>
    764 </listitem>
    765 </varlistentry>
    766 
    767 <varlistentry id="tsort">
    768 <term><command>tsort</command></term>
    769 <listitem>
    770 <para>Performs a topological sort; it writes a completely ordered list
    771 according to the partial ordering in a given file</para>
    772 <indexterm zone="ch-system-coreutils tsort"><primary sortas="b-tsort">tsort</primary></indexterm>
    773 </listitem>
    774 </varlistentry>
    775 
    776 <varlistentry id="tty">
    777 <term><command>tty</command></term>
    778 <listitem>
    779 <para>Reports the file name of the terminal connected to standard
    780 input</para>
    781 <indexterm zone="ch-system-coreutils tty"><primary sortas="b-tty">tty</primary></indexterm>
    782 </listitem>
    783 </varlistentry>
    784 
    785 <varlistentry id="uname">
    786 <term><command>uname</command></term>
    787 <listitem>
    788 <para>Reports system information</para>
    789 <indexterm zone="ch-system-coreutils uname"><primary sortas="b-uname">uname</primary></indexterm>
    790 </listitem>
    791 </varlistentry>
    792 
    793 <varlistentry id="unexpand">
    794 <term><command>unexpand</command></term>
    795 <listitem>
    796 <para>Converts spaces to tabs</para>
    797 <indexterm zone="ch-system-coreutils unexpand"><primary sortas="b-unexpand">unexpand</primary></indexterm>
    798 </listitem>
    799 </varlistentry>
    800 
    801 <varlistentry id="uniq">
    802 <term><command>uniq</command></term>
    803 <listitem>
    804 <para>Discards all but one of successive identical lines</para>
    805 <indexterm zone="ch-system-coreutils uniq"><primary sortas="b-uniq">uniq</primary></indexterm>
    806 </listitem>
    807 </varlistentry>
    808 
    809 <varlistentry id="unlink">
    810 <term><command>unlink</command></term>
    811 <listitem>
    812 <para>Removes the given file</para>
    813 <indexterm zone="ch-system-coreutils unlink"><primary sortas="b-unlink">unlink</primary></indexterm>
    814 </listitem>
    815 </varlistentry>
    816 
    817 <varlistentry id="users">
    818 <term><command>users</command></term>
    819 <listitem>
    820 <para>Reports the names of the users currently logged on</para>
    821 <indexterm zone="ch-system-coreutils users"><primary sortas="b-users">users</primary></indexterm>
    822 </listitem>
    823 </varlistentry>
    824 
    825 <varlistentry id="vdir">
    826 <term><command>vdir</command></term>
    827 <listitem>
    828 <para>Is the same as <command>ls -l</command></para>
    829 <indexterm zone="ch-system-coreutils vdir"><primary sortas="b-vdir">vdir</primary></indexterm>
    830 </listitem>
    831 </varlistentry>
    832 
    833 <varlistentry id="wc">
    834 <term><command>wc</command></term>
    835 <listitem>
    836 <para>Reports the number of lines, words, and bytes for each given
    837 file, as well as a total line when more than one file is given</para>
    838 <indexterm zone="ch-system-coreutils wc"><primary sortas="b-wc">wc</primary></indexterm>
    839 </listitem>
    840 </varlistentry>
    841 
    842 <varlistentry id="who">
    843 <term><command>who</command></term>
    844 <listitem>
    845 <para>Reports who is logged on</para>
    846 <indexterm zone="ch-system-coreutils who"><primary sortas="b-who">who</primary></indexterm>
    847 </listitem>
    848 </varlistentry>
    849 
    850 <varlistentry id="whoami">
    851 <term><command>whoami</command></term>
    852 <listitem>
    853 <para>Reports the user name associated with the current effective user ID</para>
    854 <indexterm zone="ch-system-coreutils whoami"><primary sortas="b-whoami">whoami</primary></indexterm>
    855 </listitem>
    856 </varlistentry>
    857 
    858 <varlistentry id="yes">
    859 <term><command>yes</command></term>
    860 <listitem>
    861 <para>Repeatedly outputs <quote>y</quote> or a given string until
    862 killed</para>
    863 <indexterm zone="ch-system-coreutils yes"><primary sortas="b-yes">yes</primary></indexterm>
    864 </listitem>
    865 </varlistentry>
    866 </variablelist>
    867 
    868 </sect2>
     134  </sect2>
     135
     136
     137  <sect2 id="contents-coreutils" role="content">
     138    <title>Contents of Coreutils</title>
     139
     140    <segmentedlist>
     141      <segtitle>Installed programs</segtitle>
     142
     143      <seglistitem>
     144        <seg>basename, cat, chgrp, chmod, chown, chroot, cksum, comm, cp,
     145        csplit, cut, date, dd, df, dir, dircolors, dirname, du, echo, env,
     146        expand, expr, factor, false, fmt, fold, groups, head, hostid,
     147        hostname, id, install, join, link, ln, logname, ls, md5sum, mkdir,
     148        mkfifo, mknod, mv, nice, nl, nohup, od, paste, pathchk, pinky, pr,
     149        printenv, printf, ptx, pwd, readlink, rm, rmdir, seq, sha1sum, shred,
     150        sleep, sort, split, stat, stty, sum, sync, tac, tail, tee, test,
     151        touch, tr, true, tsort, tty, uname, unexpand, uniq, unlink, users,
     152        vdir, wc, who, whoami, and yes</seg>
     153      </seglistitem>
     154    </segmentedlist>
     155
     156    <variablelist>
     157      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     158      <?dbfo list-presentation="list"?>
     159      <?dbhtml list-presentation="table"?>
     160
     161      <varlistentry id="basename">
     162        <term><command>basename</command></term>
     163        <listitem>
     164          <para>Strips any path and a given suffix from a file name</para>
     165          <indexterm zone="ch-system-coreutils basename">
     166            <primary sortas="b-basename">basename</primary>
     167          </indexterm>
     168        </listitem>
     169      </varlistentry>
     170
     171      <varlistentry id="cat">
     172        <term><command>cat</command></term>
     173        <listitem>
     174          <para>Concatenates files to standard output</para>
     175          <indexterm zone="ch-system-coreutils cat">
     176            <primary sortas="b-cat">cat</primary>
     177          </indexterm>
     178        </listitem>
     179      </varlistentry>
     180
     181      <varlistentry id="chgrp">
     182        <term><command>chgrp</command></term>
     183        <listitem>
     184          <para>Changes the group ownership of files and directories</para>
     185          <indexterm zone="ch-system-coreutils chgrp">
     186            <primary sortas="b-chgrp">chgrp</primary>
     187          </indexterm>
     188        </listitem>
     189      </varlistentry>
     190
     191      <varlistentry id="chmod">
     192        <term><command>chmod</command></term>
     193        <listitem>
     194          <para>Changes the permissions of each file to the given mode; the mode
     195          can be either a symbolic representation of the changes to make or an
     196          octal number representing the new permissions</para>
     197          <indexterm zone="ch-system-coreutils chmod">
     198            <primary sortas="b-chmod">chmod</primary>
     199          </indexterm>
     200        </listitem>
     201      </varlistentry>
     202
     203      <varlistentry id="chown">
     204        <term><command>chown</command></term>
     205        <listitem>
     206          <para>Changes the user and/or group ownership of files and
     207          directories</para>
     208          <indexterm zone="ch-system-coreutils chown">
     209            <primary sortas="b-chown">chown</primary>
     210          </indexterm>
     211        </listitem>
     212      </varlistentry>
     213
     214      <varlistentry id="chroot">
     215        <term><command>chroot</command></term>
     216        <listitem>
     217          <para>Runs a command with the specified directory as the
     218          <filename class="directory">/</filename> directory</para>
     219          <indexterm zone="ch-system-coreutils chroot">
     220            <primary sortas="b-chroot">chroot</primary>
     221          </indexterm>
     222        </listitem>
     223      </varlistentry>
     224
     225      <varlistentry id="cksum">
     226        <term><command>cksum</command></term>
     227        <listitem>
     228          <para>Prints the Cyclic Redundancy Check (CRC) checksum and the byte
     229          counts of each specified file</para>
     230          <indexterm zone="ch-system-coreutils cksum">
     231            <primary sortas="b-cksum">cksum</primary>
     232          </indexterm>
     233        </listitem>
     234      </varlistentry>
     235
     236      <varlistentry id="comm">
     237        <term><command>comm</command></term>
     238        <listitem>
     239          <para>Compares two sorted files, outputting in three columns the lines
     240          that are unique and the lines that are common</para>
     241          <indexterm zone="ch-system-coreutils comm">
     242            <primary sortas="b-comm">comm</primary>
     243          </indexterm>
     244        </listitem>
     245      </varlistentry>
     246
     247      <varlistentry id="cp">
     248        <term><command>cp</command></term>
     249        <listitem>
     250          <para>Copies files</para>
     251          <indexterm zone="ch-system-coreutils cp">
     252            <primary sortas="b-cp">cp</primary>
     253          </indexterm>
     254        </listitem>
     255      </varlistentry>
     256
     257      <varlistentry id="csplit">
     258        <term><command>csplit</command></term>
     259        <listitem>
     260          <para>Splits a given file into several new files, separating them
     261          according to given patterns or line numbers and outputting the byte
     262          count of each new file</para>
     263          <indexterm zone="ch-system-coreutils csplit">
     264            <primary sortas="b-csplit">csplit</primary>
     265          </indexterm>
     266        </listitem>
     267      </varlistentry>
     268
     269      <varlistentry id="cut">
     270        <term><command>cut</command></term>
     271        <listitem>
     272          <para>Prints sections of lines, selecting the parts according to given
     273          fields or positions</para>
     274          <indexterm zone="ch-system-coreutils cut">
     275            <primary sortas="b-cut">cut</primary>
     276          </indexterm>
     277        </listitem>
     278      </varlistentry>
     279
     280      <varlistentry id="date">
     281        <term><command>date</command></term>
     282        <listitem>
     283          <para>Displays the current time in the given format, or sets the
     284          system date</para>
     285          <indexterm zone="ch-system-coreutils date">
     286            <primary sortas="b-date">date</primary>
     287          </indexterm>
     288        </listitem>
     289      </varlistentry>
     290
     291      <varlistentry id="dd">
     292        <term><command>dd</command> </term>
     293        <listitem>
     294          <para>Copies a file using the given block size and count, while
     295          optionally performing conversions on it</para>
     296          <indexterm zone="ch-system-coreutils dd">
     297            <primary sortas="b-dd">dd</primary>
     298          </indexterm>
     299        </listitem>
     300      </varlistentry>
     301
     302      <varlistentry id="df">
     303        <term><command>df</command></term>
     304        <listitem>
     305          <para>Reports the amount of disk space available (and used) on all
     306          mounted file systems, or only on the file systems holding the selected
     307          files</para>
     308          <indexterm zone="ch-system-coreutils df">
     309            <primary sortas="b-df">df</primary>
     310          </indexterm>
     311        </listitem>
     312      </varlistentry>
     313
     314      <varlistentry id="dir">
     315        <term><command>dir</command></term>
     316        <listitem>
     317          <para>Lists the contents of each given directory (the same as
     318          the <command>ls</command> command)</para>
     319          <indexterm zone="ch-system-coreutils dir">
     320            <primary sortas="b-dir">dir</primary>
     321          </indexterm>
     322        </listitem>
     323      </varlistentry>
     324
     325      <varlistentry id="dircolors">
     326        <term><command>dircolors</command></term>
     327        <listitem>
     328          <para>Outputs commands to set the <envar>LS_COLOR</envar>
     329          environment variable to change the color scheme used by
     330          <command>ls</command></para>
     331          <indexterm zone="ch-system-coreutils dircolors">
     332            <primary sortas="b-dircolors">dircolors</primary>
     333          </indexterm>
     334        </listitem>
     335      </varlistentry>
     336
     337      <varlistentry id="dirname">
     338        <term><command>dirname</command></term>
     339        <listitem>
     340          <para>Strips the non-directory suffix from a file name</para>
     341          <indexterm zone="ch-system-coreutils dirname">
     342            <primary sortas="b-dirname">dirname</primary>
     343          </indexterm>
     344        </listitem>
     345      </varlistentry>
     346
     347      <varlistentry id="du">
     348        <term><command>du</command></term>
     349        <listitem>
     350          <para>Reports the amount of disk space used by the current directory,
     351          by each of the given directories (including all subdirectories) or by
     352          each of the given files</para>
     353          <indexterm zone="ch-system-coreutils du">
     354            <primary sortas="b-du">du</primary>
     355          </indexterm>
     356        </listitem>
     357      </varlistentry>
     358
     359      <varlistentry id="echo">
     360        <term><command>echo</command></term>
     361        <listitem>
     362          <para>Displays the given strings</para>
     363          <indexterm zone="ch-system-coreutils echo">
     364            <primary sortas="b-echo">echo</primary>
     365          </indexterm>
     366        </listitem>
     367      </varlistentry>
     368
     369      <varlistentry id="env">
     370        <term><command>env</command></term>
     371        <listitem>
     372          <para>Runs a command in a modified environment</para>
     373          <indexterm zone="ch-system-coreutils env">
     374            <primary sortas="b-env">env</primary>
     375          </indexterm>
     376        </listitem>
     377      </varlistentry>
     378
     379      <varlistentry id="expand">
     380        <term><command>expand</command></term>
     381        <listitem>
     382          <para>Converts tabs to spaces</para>
     383          <indexterm zone="ch-system-coreutils expand">
     384            <primary sortas="b-expand">expand</primary>
     385          </indexterm>
     386        </listitem>
     387      </varlistentry>
     388
     389      <varlistentry id="expr">
     390        <term><command>expr</command></term>
     391        <listitem>
     392          <para>Evaluates expressions</para>
     393          <indexterm zone="ch-system-coreutils expr">
     394            <primary sortas="b-expr">expr</primary>
     395          </indexterm>
     396        </listitem>
     397      </varlistentry>
     398
     399      <varlistentry id="factor">
     400        <term><command>factor</command></term>
     401        <listitem>
     402          <para>Prints the prime factors of all specified integer numbers</para>
     403          <indexterm zone="ch-system-coreutils factor">
     404            <primary sortas="b-factor">factor</primary>
     405          </indexterm>
     406        </listitem>
     407      </varlistentry>
     408
     409      <varlistentry id="false">
     410        <term><command>false</command></term>
     411        <listitem>
     412          <para>Does nothing, unsuccessfully; it always exits with a status code
     413          indicating failure</para>
     414          <indexterm zone="ch-system-coreutils false">
     415            <primary sortas="b-false">false</primary>
     416          </indexterm>
     417        </listitem>
     418      </varlistentry>
     419
     420      <varlistentry id="fmt">
     421        <term><command>fmt</command></term>
     422        <listitem>
     423          <para>Reformats the paragraphs in the given files</para>
     424          <indexterm zone="ch-system-coreutils fmt">
     425            <primary sortas="b-fmt">fmt</primary>
     426          </indexterm>
     427        </listitem>
     428      </varlistentry>
     429
     430      <varlistentry id="fold">
     431        <term><command>fold</command></term>
     432        <listitem>
     433          <para>Wraps the lines in the given files</para>
     434          <indexterm zone="ch-system-coreutils fold">
     435            <primary sortas="b-fold">fold</primary>
     436          </indexterm>
     437        </listitem>
     438      </varlistentry>
     439
     440      <varlistentry id="groups">
     441        <term><command>groups</command></term>
     442        <listitem>
     443          <para>Reports a user's group memberships</para>
     444          <indexterm zone="ch-system-coreutils groups">
     445            <primary sortas="b-groups">groups</primary>
     446          </indexterm>
     447        </listitem>
     448      </varlistentry>
     449
     450      <varlistentry id="head">
     451        <term><command>head</command></term>
     452        <listitem>
     453          <para>Prints the first ten lines (or the given number of lines)
     454          of each given file</para>
     455          <indexterm zone="ch-system-coreutils head">
     456            <primary sortas="b-head">head</primary>
     457          </indexterm>
     458        </listitem>
     459      </varlistentry>
     460
     461      <varlistentry id="hostid">
     462        <term><command>hostid</command></term>
     463        <listitem>
     464          <para>Reports the numeric identifier (in hexadecimal) of the host</para>
     465          <indexterm zone="ch-system-coreutils hostid">
     466            <primary sortas="b-hostid">hostid</primary>
     467          </indexterm>
     468        </listitem>
     469      </varlistentry>
     470
     471      <varlistentry id="hostname">
     472        <term><command>hostname</command></term>
     473        <listitem>
     474          <para>Reports or sets the name of the host</para>
     475          <indexterm zone="ch-system-coreutils hostname">
     476            <primary sortas="b-hostname">hostname</primary>
     477          </indexterm>
     478        </listitem>
     479      </varlistentry>
     480
     481      <varlistentry id="id">
     482        <term><command>id</command></term>
     483        <listitem>
     484          <para>Reports the effective user ID, group ID, and group memberships
     485          of the current user or specified user</para>
     486          <indexterm zone="ch-system-coreutils id">
     487            <primary sortas="b-id">id</primary>
     488          </indexterm>
     489        </listitem>
     490      </varlistentry>
     491
     492      <varlistentry id="install">
     493        <term><command>install</command> </term>
     494        <listitem>
     495          <para>Copies files while setting their permission modes and, if
     496          possible, their owner and group</para>
     497          <indexterm zone="ch-system-coreutils install">
     498            <primary sortas="b-install">install</primary>
     499          </indexterm>
     500        </listitem>
     501      </varlistentry>
     502
     503      <varlistentry id="join">
     504        <term><command>join</command></term>
     505        <listitem>
     506          <para>Joins the lines that have identical join fields from two
     507          separate files</para>
     508          <indexterm zone="ch-system-coreutils join">
     509            <primary sortas="b-join">join</primary>
     510          </indexterm>
     511        </listitem>
     512      </varlistentry>
     513
     514      <varlistentry id="link">
     515        <term><command>link</command></term>
     516        <listitem>
     517          <para>Creates a hard link with the given name to a file</para>
     518          <indexterm zone="ch-system-coreutils link">
     519            <primary sortas="b-link">link</primary>
     520          </indexterm>
     521        </listitem>
     522      </varlistentry>
     523
     524      <varlistentry id="ln">
     525        <term><command>ln</command></term>
     526        <listitem>
     527          <para>Makes hard links or soft (symbolic) links between files</para>
     528          <indexterm zone="ch-system-coreutils ln">
     529            <primary sortas="b-ln">ln</primary>
     530          </indexterm>
     531        </listitem>
     532      </varlistentry>
     533
     534      <varlistentry id="logname">
     535        <term><command>logname</command></term>
     536        <listitem>
     537          <para>Reports the current user's login name</para>
     538          <indexterm zone="ch-system-coreutils logname">
     539            <primary sortas="b-logname">logname</primary>
     540          </indexterm>
     541        </listitem>
     542      </varlistentry>
     543
     544      <varlistentry id="ls">
     545        <term><command>ls</command></term>
     546        <listitem>
     547          <para>Lists the contents of each given directory</para>
     548          <indexterm zone="ch-system-coreutils ls">
     549            <primary sortas="b-ls">ls</primary>
     550          </indexterm>
     551        </listitem>
     552      </varlistentry>
     553
     554      <varlistentry id="md5sum">
     555        <term><command>md5sum</command></term>
     556        <listitem>
     557          <para>Reports or checks Message Digest 5 (MD5) checksums</para>
     558          <indexterm zone="ch-system-coreutils md5sum">
     559            <primary sortas="b-md5sum">md5sum</primary>
     560          </indexterm>
     561        </listitem>
     562      </varlistentry>
     563
     564      <varlistentry id="mkdir">
     565        <term><command>mkdir</command></term>
     566        <listitem>
     567          <para>Creates directories with the given names</para>
     568          <indexterm zone="ch-system-coreutils mkdir">
     569            <primary sortas="b-mkdir">mkdir</primary>
     570          </indexterm>
     571        </listitem>
     572      </varlistentry>
     573
     574      <varlistentry id="mkfifo">
     575        <term><command>mkfifo</command></term>
     576        <listitem>
     577          <para>Creates First-In, First-Outs (FIFOs), a <quote>named
     578          pipe</quote> in UNIX parlance, with the given names</para>
     579          <indexterm zone="ch-system-coreutils mkfifo">
     580            <primary sortas="b-mkfifo">mkfifo</primary>
     581          </indexterm>
     582        </listitem>
     583      </varlistentry>
     584
     585      <varlistentry id="mknod">
     586        <term><command>mknod</command></term>
     587        <listitem>
     588          <para>Creates device nodes with the given names; a device node is a
     589          character special file, a block special file, or a FIFO</para>
     590          <indexterm zone="ch-system-coreutils mknod">
     591            <primary sortas="b-mknod">mknod</primary>
     592          </indexterm>
     593        </listitem>
     594      </varlistentry>
     595
     596      <varlistentry id="mv">
     597        <term><command>mv</command></term>
     598        <listitem>
     599          <para>Moves or renames files or directories</para>
     600          <indexterm zone="ch-system-coreutils mv">
     601            <primary sortas="b-mv">mv</primary>
     602          </indexterm>
     603        </listitem>
     604      </varlistentry>
     605
     606      <varlistentry id="nice">
     607        <term><command>nice</command></term>
     608        <listitem>
     609          <para>Runs a program with modified scheduling priority</para>
     610          <indexterm zone="ch-system-coreutils nice">
     611            <primary sortas="b-nice">nice</primary>
     612          </indexterm>
     613        </listitem>
     614      </varlistentry>
     615
     616      <varlistentry id="nl">
     617        <term><command>nl</command></term>
     618        <listitem>
     619          <para>Numbers the lines from the given files</para>
     620          <indexterm zone="ch-system-coreutils nl">
     621            <primary sortas="b-nl">nl</primary>
     622          </indexterm>
     623        </listitem>
     624      </varlistentry>
     625
     626      <varlistentry id="nohup">
     627        <term><command>nohup</command></term>
     628        <listitem>
     629          <para>Runs a command immune to hangups, with its output redirected to
     630          a log file</para>
     631          <indexterm zone="ch-system-coreutils nohup">
     632            <primary sortas="b-nohup">nohup</primary>
     633          </indexterm>
     634        </listitem>
     635      </varlistentry>
     636
     637      <varlistentry id="od">
     638        <term><command>od</command></term>
     639        <listitem>
     640          <para>Dumps files in octal and other formats</para>
     641          <indexterm zone="ch-system-coreutils od">
     642            <primary sortas="b-od">od</primary>
     643          </indexterm>
     644        </listitem>
     645      </varlistentry>
     646
     647      <varlistentry id="paste">
     648        <term><command>paste</command></term>
     649        <listitem>
     650          <para>Merges the given files, joining sequentially corresponding lines
     651          side by side, separated by tab characters</para>
     652          <indexterm zone="ch-system-coreutils paste">
     653            <primary sortas="b-paste">paste</primary>
     654          </indexterm>
     655        </listitem>
     656      </varlistentry>
     657
     658      <varlistentry id="pathchk">
     659        <term><command>pathchk</command></term>
     660        <listitem>
     661          <para>Checks if file names are valid or portable</para>
     662          <indexterm zone="ch-system-coreutils pathchk">
     663            <primary sortas="b-pathchk">pathchk</primary>
     664          </indexterm>
     665        </listitem>
     666      </varlistentry>
     667
     668      <varlistentry id="pinky">
     669        <term><command>pinky</command></term>
     670        <listitem>
     671          <para>Is a lightweight finger client; it reports some information
     672          about the given users</para>
     673          <indexterm zone="ch-system-coreutils pinky">
     674            <primary sortas="b-pinky">pinky</primary>
     675          </indexterm>
     676        </listitem>
     677      </varlistentry>
     678
     679      <varlistentry id="pr">
     680        <term><command>pr</command></term>
     681        <listitem>
     682          <para>Paginates and columnates files for printing</para>
     683          <indexterm zone="ch-system-coreutils pr">
     684            <primary sortas="b-pr">pr</primary>
     685          </indexterm>
     686        </listitem>
     687      </varlistentry>
     688
     689      <varlistentry id="printenv">
     690        <term><command>printenv</command></term>
     691        <listitem>
     692          <para>Prints the environment</para>
     693          <indexterm zone="ch-system-coreutils printenv">
     694            <primary sortas="b-printenv">printenv</primary>
     695          </indexterm>
     696        </listitem>
     697      </varlistentry>
     698
     699      <varlistentry id="printf">
     700        <term><command>printf</command></term>
     701        <listitem>
     702          <para>Prints the given arguments according to the given format, much
     703          like the C printf function</para>
     704          <indexterm zone="ch-system-coreutils printf">
     705            <primary sortas="b-printf">printf</primary>
     706          </indexterm>
     707        </listitem>
     708      </varlistentry>
     709
     710      <varlistentry id="ptx">
     711        <term><command>ptx</command></term>
     712        <listitem>
     713          <para>Produces a permuted index from the contents of the given files,
     714          with each keyword in its context</para>
     715          <indexterm zone="ch-system-coreutils ptx">
     716            <primary sortas="b-ptx">ptx</primary>
     717          </indexterm>
     718        </listitem>
     719      </varlistentry>
     720
     721      <varlistentry id="pwd">
     722        <term><command>pwd</command></term>
     723        <listitem>
     724          <para>Reports the name of the current working directory</para>
     725          <indexterm zone="ch-system-coreutils pwd">
     726            <primary sortas="b-pwd">pwd</primary>
     727          </indexterm>
     728        </listitem>
     729      </varlistentry>
     730
     731      <varlistentry id="readlink">
     732        <term><command>readlink</command></term>
     733        <listitem>
     734          <para>Reports the value of the given symbolic link</para>
     735          <indexterm zone="ch-system-coreutils readlink">
     736            <primary sortas="b-readlink">readlink</primary>
     737          </indexterm>
     738        </listitem>
     739      </varlistentry>
     740
     741      <varlistentry id="rm">
     742        <term><command>rm</command></term>
     743        <listitem>
     744          <para>Removes files or directories</para>
     745          <indexterm zone="ch-system-coreutils rm">
     746            <primary sortas="b-rm">rm</primary>
     747          </indexterm>
     748        </listitem>
     749      </varlistentry>
     750
     751      <varlistentry id="rmdir">
     752        <term><command>rmdir</command></term>
     753        <listitem>
     754          <para>Removes directories if they are empty</para>
     755          <indexterm zone="ch-system-coreutils rmdir">
     756            <primary sortas="b-rmdir">rmdir</primary>
     757          </indexterm>
     758        </listitem>
     759      </varlistentry>
     760
     761      <varlistentry id="seq">
     762        <term><command>seq</command></term>
     763        <listitem>
     764          <para>Prints a sequence of numbers within a given range and with a
     765          given increment</para>
     766          <indexterm zone="ch-system-coreutils seq">
     767            <primary sortas="b-seq">seq</primary>
     768          </indexterm>
     769        </listitem>
     770      </varlistentry>
     771
     772      <varlistentry id="sha1sum">
     773        <term><command>sha1sum</command></term>
     774        <listitem>
     775          <para>Prints or checks 160-bit Secure Hash Algorithm 1 (SHA1)
     776          checksums</para>
     777          <indexterm zone="ch-system-coreutils sha1sum">
     778            <primary sortas="b-sha1sum">sha1sum</primary>
     779          </indexterm>
     780        </listitem>
     781      </varlistentry>
     782
     783      <varlistentry id="shred">
     784        <term><command>shred</command></term>
     785        <listitem>
     786          <para>Overwrites the given files repeatedly with complex patterns,
     787          making it difficult to recover the data</para>
     788          <indexterm zone="ch-system-coreutils shred">
     789            <primary sortas="b-shred">shred</primary>
     790          </indexterm>
     791        </listitem>
     792      </varlistentry>
     793
     794      <varlistentry id="sleep">
     795        <term><command>sleep</command></term>
     796        <listitem>
     797          <para>Pauses for the given amount of time</para>
     798          <indexterm zone="ch-system-coreutils sleep">
     799            <primary sortas="b-sleep">sleep</primary>
     800          </indexterm>
     801        </listitem>
     802      </varlistentry>
     803
     804      <varlistentry id="sort">
     805        <term><command>sort</command></term>
     806        <listitem>
     807          <para>Sorts the lines from the given files</para>
     808          <indexterm zone="ch-system-coreutils sort">
     809            <primary sortas="b-sort">sort</primary>
     810          </indexterm>
     811        </listitem>
     812      </varlistentry>
     813
     814      <varlistentry id="split">
     815        <term><command>split</command></term>
     816        <listitem>
     817          <para>Splits the given file into pieces, by size or by number of
     818          lines</para>
     819          <indexterm zone="ch-system-coreutils split">
     820            <primary sortas="b-split">split</primary>
     821          </indexterm>
     822        </listitem>
     823      </varlistentry>
     824
     825      <varlistentry id="stat">
     826        <term><command>stat</command></term>
     827        <listitem>
     828          <para>Displays file or filesystem status</para>
     829          <indexterm zone="ch-system-coreutils stat">
     830            <primary sortas="b-stat">stat</primary>
     831          </indexterm>
     832        </listitem>
     833      </varlistentry>
     834
     835      <varlistentry id="stty">
     836        <term><command>stty</command></term>
     837        <listitem>
     838          <para>Sets or reports terminal line settings</para>
     839          <indexterm zone="ch-system-coreutils stty">
     840            <primary sortas="b-stty">stty</primary>
     841          </indexterm>
     842        </listitem>
     843      </varlistentry>
     844
     845      <varlistentry id="sum">
     846        <term><command>sum</command></term>
     847        <listitem>
     848          <para>Prints checksum and block counts for each given file</para>
     849          <indexterm zone="ch-system-coreutils sum">
     850            <primary sortas="b-sum">sum</primary>
     851          </indexterm>
     852        </listitem>
     853      </varlistentry>
     854
     855      <varlistentry id="sync">
     856        <term><command>sync</command></term>
     857        <listitem>
     858          <para>Flushes file system buffers; it forces changed blocks to disk
     859          and updates the super block</para>
     860          <indexterm zone="ch-system-coreutils sync">
     861            <primary sortas="b-sync">sync</primary>
     862          </indexterm>
     863        </listitem>
     864      </varlistentry>
     865
     866      <varlistentry id="tac">
     867        <term><command>tac</command></term>
     868        <listitem>
     869          <para>Concatenates the given files in reverse</para>
     870          <indexterm zone="ch-system-coreutils tac">
     871            <primary sortas="b-tac">tac</primary>
     872          </indexterm>
     873        </listitem>
     874      </varlistentry>
     875
     876      <varlistentry id="tail">
     877        <term><command>tail</command></term>
     878        <listitem>
     879          <para>Prints the last ten lines (or the given number of lines) of each
     880          given file</para>
     881          <indexterm zone="ch-system-coreutils tail">
     882            <primary sortas="b-tail">tail</primary>
     883          </indexterm>
     884        </listitem>
     885      </varlistentry>
     886
     887      <varlistentry id="tee">
     888        <term><command>tee</command></term>
     889        <listitem>
     890          <para>Reads from standard input while writing both to standard output
     891          and to the given files</para>
     892          <indexterm zone="ch-system-coreutils tee">
     893            <primary sortas="b-tee">tee</primary>
     894          </indexterm>
     895        </listitem>
     896      </varlistentry>
     897
     898      <varlistentry id="test">
     899        <term><command>test</command></term>
     900        <listitem>
     901          <para>Compares values and checks file types</para>
     902          <indexterm zone="ch-system-coreutils test">
     903            <primary sortas="b-test">test</primary>
     904          </indexterm>
     905        </listitem>
     906      </varlistentry>
     907
     908      <varlistentry id="touch">
     909        <term><command>touch</command></term>
     910        <listitem>
     911          <para>Changes file timestamps, setting the access and modification
     912          times of the given files to the current time; files that do not exist
     913          are created with zero length</para>
     914          <indexterm zone="ch-system-coreutils touch">
     915            <primary sortas="b-touch">touch</primary>
     916          </indexterm>
     917        </listitem>
     918      </varlistentry>
     919
     920      <varlistentry id="tr">
     921        <term><command>tr</command></term>
     922        <listitem>
     923          <para>Translates, squeezes, and deletes the given characters from
     924          standard input</para>
     925          <indexterm zone="ch-system-coreutils tr">
     926            <primary sortas="b-tr">tr</primary>
     927          </indexterm>
     928        </listitem>
     929      </varlistentry>
     930
     931      <varlistentry id="true">
     932        <term><command>true</command></term>
     933        <listitem>
     934          <para>Does nothing, successfully; it always exits with a status code
     935          indicating success</para>
     936          <indexterm zone="ch-system-coreutils true">
     937            <primary sortas="b-true">true</primary>
     938          </indexterm>
     939        </listitem>
     940      </varlistentry>
     941
     942      <varlistentry id="tsort">
     943        <term><command>tsort</command></term>
     944        <listitem>
     945          <para>Performs a topological sort; it writes a completely ordered list
     946          according to the partial ordering in a given file</para>
     947          <indexterm zone="ch-system-coreutils tsort">
     948            <primary sortas="b-tsort">tsort</primary>
     949          </indexterm>
     950        </listitem>
     951      </varlistentry>
     952
     953      <varlistentry id="tty">
     954        <term><command>tty</command></term>
     955        <listitem>
     956          <para>Reports the file name of the terminal connected to standard
     957          input</para>
     958          <indexterm zone="ch-system-coreutils tty">
     959            <primary sortas="b-tty">tty</primary>
     960          </indexterm>
     961        </listitem>
     962      </varlistentry>
     963
     964      <varlistentry id="uname">
     965        <term><command>uname</command></term>
     966        <listitem>
     967          <para>Reports system information</para>
     968          <indexterm zone="ch-system-coreutils uname">
     969            <primary sortas="b-uname">uname</primary>
     970          </indexterm>
     971        </listitem>
     972      </varlistentry>
     973
     974      <varlistentry id="unexpand">
     975        <term><command>unexpand</command></term>
     976        <listitem>
     977          <para>Converts spaces to tabs</para>
     978          <indexterm zone="ch-system-coreutils unexpand">
     979            <primary sortas="b-unexpand">unexpand</primary>
     980          </indexterm>
     981        </listitem>
     982      </varlistentry>
     983
     984      <varlistentry id="uniq">
     985        <term><command>uniq</command></term>
     986        <listitem>
     987          <para>Discards all but one of successive identical lines</para>
     988          <indexterm zone="ch-system-coreutils uniq">
     989            <primary sortas="b-uniq">uniq</primary>
     990          </indexterm>
     991        </listitem>
     992      </varlistentry>
     993
     994      <varlistentry id="unlink">
     995        <term><command>unlink</command></term>
     996        <listitem>
     997          <para>Removes the given file</para>
     998          <indexterm zone="ch-system-coreutils unlink">
     999            <primary sortas="b-unlink">unlink</primary>
     1000          </indexterm>
     1001        </listitem>
     1002      </varlistentry>
     1003
     1004      <varlistentry id="users">
     1005        <term><command>users</command></term>
     1006        <listitem>
     1007          <para>Reports the names of the users currently logged on</para>
     1008          <indexterm zone="ch-system-coreutils users">
     1009            <primary sortas="b-users">users</primary>
     1010          </indexterm>
     1011        </listitem>
     1012      </varlistentry>
     1013
     1014      <varlistentry id="vdir">
     1015        <term><command>vdir</command></term>
     1016        <listitem>
     1017          <para>Is the same as <command>ls -l</command></para>
     1018          <indexterm zone="ch-system-coreutils vdir">
     1019            <primary sortas="b-vdir">vdir</primary>
     1020          </indexterm>
     1021        </listitem>
     1022      </varlistentry>
     1023
     1024      <varlistentry id="wc">
     1025        <term><command>wc</command></term>
     1026        <listitem>
     1027          <para>Reports the number of lines, words, and bytes for each given
     1028          file, as well as a total line when more than one file is given</para>
     1029          <indexterm zone="ch-system-coreutils wc">
     1030            <primary sortas="b-wc">wc</primary>
     1031          </indexterm>
     1032        </listitem>
     1033      </varlistentry>
     1034
     1035      <varlistentry id="who">
     1036        <term><command>who</command></term>
     1037        <listitem>
     1038          <para>Reports who is logged on</para>
     1039          <indexterm zone="ch-system-coreutils who">
     1040            <primary sortas="b-who">who</primary>
     1041          </indexterm>
     1042        </listitem>
     1043      </varlistentry>
     1044
     1045      <varlistentry id="whoami">
     1046        <term><command>whoami</command></term>
     1047        <listitem>
     1048          <para>Reports the user name associated with the current effective
     1049          user ID</para>
     1050          <indexterm zone="ch-system-coreutils whoami">
     1051            <primary sortas="b-whoami">whoami</primary>
     1052          </indexterm>
     1053        </listitem>
     1054      </varlistentry>
     1055
     1056      <varlistentry id="yes">
     1057        <term><command>yes</command></term>
     1058        <listitem>
     1059          <para>Repeatedly outputs <quote>y</quote> or a given string until
     1060          killed</para>
     1061          <indexterm zone="ch-system-coreutils yes">
     1062            <primary sortas="b-yes">yes</primary>
     1063          </indexterm>
     1064        </listitem>
     1065      </varlistentry>
     1066
     1067    </variablelist>
     1068
     1069  </sect2>
    8691070
    8701071</sect1>
    871 
  • chapter06/createfiles.xml

    rb4cd3c5 re6ab4b5  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-createfiles">
    7 <title>Creating Essential Symlinks</title>
    8 <?dbhtml filename="createfiles.html"?>
     9  <?dbhtml filename="createfiles.html"?>
    910
    10 <para>Some programs use hard-wired paths to programs which do not exist yet. In
    11 order to satisfy these programs, create a number of symbolic links which will be
    12 replaced by real files throughout the course of this chapter after the software
    13 has been installed.</para>
     11  <title>Creating Essential Symlinks</title>
     12
     13  <para>Some programs use hard-wired paths to programs which do not exist yet. In
     14  order to satisfy these programs, create a number of symbolic links which will be
     15  replaced by real files throughout the course of this chapter after the software
     16  has been installed.</para>
    1417
    1518<screen><userinput>ln -sv /tools/bin/{bash,cat,pwd,stty} /bin
     
    1922
    2023</sect1>
    21 
  • chapter06/creatingdirs.xml

    rb4cd3c5 re6ab4b5  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-system-creatingdirs">
    7 <title>Creating Directories</title>
    8 <?dbhtml filename="creatingdirs.html"?>
     9  <?dbhtml filename="creatingdirs.html"?>
    910
    10 <para>It is time to create some structure in the LFS file system. Create a
    11 standard directory tree by issuing the following commands:</para>
    12  
     11  <title>Creating Directories</title>
     12
     13  <para>It is time to create some structure in the LFS file system. Create a
     14  standard directory tree by issuing the following commands:</para>
     15
    1316<screen><userinput>install -dv /{bin,boot,dev,etc/opt,home,lib,mnt}
    1417install -dv /{sbin,srv,usr/local,var,opt}
     
    3134install -dv /opt/{lib,man/man{1,2,3,4,5,6,7,8}}</userinput></screen>
    3235
    33 <para>Directories are, by default, created with permission mode 755,
    34 but this is not desirable for all directories. In the commands above,
    35 two changes are made&mdash;one to the home directory of user
    36 <emphasis>root</emphasis>, and another to the directories for
    37 temporary files.</para>
     36  <para>Directories are, by default, created with permission mode 755, but
     37  this is not desirable for all directories. In the commands above, two
     38  changes are made&mdash;one to the home directory of user <systemitem
     39  class="username">root</systemitem>, and another to the directories for
     40  temporary files.</para>
    3841
    39 <para>The first mode change ensures that not just anybody can enter
    40 the <filename class="directory">/root</filename> directory&mdash;the same
    41 as a normal user would do with his or her home directory. The second
    42 mode change makes sure that any user can write to the <filename
    43 class="directory">/tmp</filename> and <filename
    44 class="directory">/var/tmp</filename> directories, but cannot remove
    45 another user's files from them. The latter is prohibited by the
    46 so-called <quote>sticky bit,</quote> the highest bit (1) in the 1777
    47 bit mask.</para>
     42  <para>The first mode change ensures that not just anybody can enter
     43  the <filename class="directory">/root</filename> directory&mdash;the
     44  same as a normal user would do with his or her home directory. The
     45  second mode change makes sure that any user can write to the
     46  <filename class="directory">/tmp</filename> and <filename
     47  class="directory">/var/tmp</filename> directories, but cannot remove
     48  another user's files from them. The latter is prohibited by the so-called
     49  <quote>sticky bit,</quote> the highest bit (1) in the 1777 bit mask.</para>
    4850
    49 <note><para>Notice the two different constructions above for creating multiple
    50 man directories: <command>install -d /usr/share/man/man{1..8}</command> and
    51 <command>install -d /usr/local/share/man/man{1,2,3,4,5,6,7,8}</command>. The
    52 first one is new since Bash 3.0. This new feature will help make repetitive
    53 commands easier to type.</para></note>
     51  <note>
     52    <para>Notice the two different constructions above for creating multiple
     53    man directories: <command>install -d /usr/share/man/man{1..8}</command> and
     54    <command>install -d /usr/local/share/man/man{1,2,3,4,5,6,7,8}</command>. The
     55    first one is new since Bash 3.0. This new feature will help make repetitive
     56    commands easier to type.</para>
     57  </note>
    5458
    55 <sect2>
    56 <title>FHS Compliance Note</title>
     59  <sect2>
     60    <title>FHS Compliance Note</title>
    5761
    58 <para>The directory tree is based on the Filesystem Hierarchy Standard (FHS)
    59  (available at <ulink url="http://www.pathname.com/fhs/"/>). In addition
    60 to the tree created above, this standard stipulates the existence of <filename
    61 class="directory">/usr/local/games</filename> and <filename
    62 class="directory">/usr/share/games</filename>. The FHS is not precise as to the
    63 structure of the <filename class="directory">/usr/local/share</filename>
    64 subdirectory, so we create only the directories that are needed. However, feel
    65 free to create these directories if you prefer to conform more strictly to the
    66 FHS.</para>
     62    <para>The directory tree is based on the Filesystem Hierarchy Standard
     63    (FHS) (available at <ulink url="http://www.pathname.com/fhs/"/>). In
     64    addition to the tree created above, this standard stipulates the existence
     65    of <filename class="directory">/usr/local/games</filename> and <filename
     66    class="directory">/usr/share/games</filename>. The FHS is not precise as to
     67    the structure of the <filename class="directory">/usr/local/share</filename>
     68    subdirectory, so we create only the directories that are needed. However,
     69    feel free to create these directories if you prefer to conform more strictly
     70    to the FHS.</para>
    6771
    68 </sect2>
     72  </sect2>
    6973
    7074</sect1>
    71 
  • chapter06/glibc.xml

    rb4cd3c5 re6ab4b5  
    5656directory:</para>
    5757
    58 <screen><userinput>tar jxf ../glibc-libidn-&glibc-version;.tar.bz2</userinput></screen>
     58<screen><userinput>tar -xf ../glibc-libidn-&glibc-version;.tar.bz2</userinput></screen>
    5959
    6060<para>In the vi_VN.TCVN locale, <command>bash</command> enters an infinite loop
     
    6464
    6565<screen><userinput>sed -i '/vi_VN.TCVN/d' localedata/SUPPORTED</userinput></screen>
     66
     67<para>When running <command>make install</command>, a script called
     68<filename>test-installation.pl</filename> performs a small sanity test
     69on our newly installed Glibc. However, because our toolchain still points to the
     70<filename class="directory">/tools</filename> directory, the sanity test would
     71be carried out against the wrong Glibc. We can force the script to check the
     72Glibc we have just installed with the following:</para>
     73
     74<screen><userinput>sed -i \
     75's|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=/lib/ld-linux.so.2 -o|' \
     76        scripts/test-installation.pl</userinput></screen>
    6677
    6778<para>The Glibc documentation recommends building Glibc outside of the source
     
    139150<para>Install the package:</para>
    140151
    141 <screen><userinput>make install_root=/ install</userinput></screen>
    142 
    143 <para>The meaning of the make option:</para>
    144 
    145 <variablelist>
    146 <varlistentry>
    147 <term><parameter>install_root=/</parameter></term>
    148 <listitem><para>This causes the Glibc Makefile not to run the
    149 <filename>scripts/test-installation.pl</filename> script at the end
    150 of Glibc installation. Since the toolchain has not been adjusted yet for
    151 the new Glibc, this script would test Glibc installed in
    152 <filename class="directory">/tools</filename> and fail because the
    153 libidn add-on has not been installed there.</para></listitem>
    154 </varlistentry>
    155 </variablelist>
     152<screen><userinput>make install</userinput></screen>
    156153
    157154<para>The locales that can make the system respond in a different
     
    176173localedef -i en_PH -f ISO-8859-1 en_PH
    177174localedef -i en_US -f ISO-8859-1 en_US
     175localedef -i en_US -f UTF-8 en_US.UTF-8
    178176localedef -i es_MX -f ISO-8859-1 es_MX
    179177localedef -i fa_IR -f UTF-8 fa_IR
     
    267265
    268266<sect2 id="conf-ld" role="configuration">
    269 <title>Configuring Dynamic Loader</title>
     267<title>Configuring the Dynamic Loader</title>
    270268<indexterm zone="conf-ld"><primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary></indexterm>
    271269
  • chapter06/introduction.xml

    rb4cd3c5 re6ab4b5  
    5959the package installs.</para>
    6060
    61 <para>To keep track of which package installs particular files, a package
    62 manager can be used. For a general overview of different styles of package
    63 managers, please refer to <ulink
    64 url="&blfs-root;view/svn/introduction/important.html"/>.
    65 For a package management method specifically geared towards LFS, we recommend <ulink
    66 url="&hints-root;more_control_and_pkg_man.txt"/>.</para>
    67 
    68 <note><para>The remainder of this book is to be performed while logged in as
    69 user <emphasis>root</emphasis> and no longer as user <emphasis>lfs</emphasis>.
    70 Also, double check that <envar>$LFS</envar> is set.</para></note>
     61<note><para>At this point, you may wish to keep your finished temporary
     62tools for use in future LFS builds by creating a tarball of the
     63<filename class="directory">/tools</filename> directory and
     64storing it in a safe location.</para></note>
    7165
    7266</sect1>
  • chapter06/patch.xml

    rb4cd3c5 re6ab4b5  
    3131<title>Installation of Patch</title>
    3232
    33 <para>Prepare Patch for compilation.  The preprocessor flag
    34 <parameter>-D_GNU_SOURCE</parameter> is only needed on the PowerPC
    35 platform. It can be left it out on other architectures:</para>
     33<para>Prepare Patch for compilation.</para>
    3634
    37 <screen><userinput>CPPFLAGS=-D_GNU_SOURCE ./configure --prefix=/usr</userinput></screen>
     35<screen><userinput>./configure --prefix=/usr</userinput></screen>
    3836
    3937<para>Compile the package:</para>
  • chapter06/perl.xml

    rb4cd3c5 re6ab4b5  
    3333
    3434<screen><userinput>patch -Np1 -i ../&perl-sprintf-patch;</userinput></screen>
     35
     36<para>The DB_File module that comes with Perl-&perl-version; is incompatible
     37with Berkeley DB-&db-version; (the testsuite fails if this module gets built).
     38Apply the following patch in order to update the DB_File module:</para>
     39
     40<screen><userinput>patch -Np1 -i ../&perl-db_file-patch;</userinput></screen>
    3541
    3642<para>First create a basic <filename>/etc/hosts</filename> file which will be
  • chapter06/readjusting.xml

    rb4cd3c5 re6ab4b5  
    1010<para>Now that the final C libraries have been installed, it is time to adjust
    1111the toolchain again. The toolchain will be adjusted so that it will link any
    12 newly compiled program against these new libraries. This is the same process
     12newly compiled program against these new libraries. This is a similar process
    1313used in the <quote>Adjusting</quote> phase in the beginning of <xref
    1414linkend="chapter-temporary-tools"/>, but with the adjustments reversed. In <xref
     
    2020directories.</para>
    2121
    22 <para>Start by adjusting the linker. The source and build directories from the
    23 second pass of Binutils were retained for this purpose. Install the adjusted
    24 linker by running the following command from within the <filename
    25 class="directory">binutils-build</filename> directory:</para>
     22<para>First, backup the <filename class="directory">/tools</filename> linker, and
     23replace it with the adjusted linker we made in chapter 5. We'll also create a
     24link to its counterpart in <filename class="directory">/tools/$(gcc -dumpmachine)/bin</filename>.</para>
    2625
    27 <screen><userinput>make -C ld INSTALL=/tools/bin/install install</userinput></screen>
    28 
    29 <note><para>If the earlier warning to retain the Binutils source and
    30 build directories from the second pass in <xref
    31 linkend="chapter-temporary-tools"/> was missed, or if they were
    32 accidentally deleted or are inaccessible, ignore the above command.
    33 The result will be that the next package, Binutils, will link against
    34 the C libraries in <filename class="directory">/tools</filename>
    35 rather than in <filename class="directory">/{,usr/}lib</filename>.
    36 This is not ideal, however, testing has shown that the resulting
    37 Binutils program binaries should be identical.</para></note>
    38 
    39 <para>From now on, every compiled program will link only against the
    40 libraries in <filename class="directory">/usr/lib</filename> and
    41 <filename class="directory">/lib</filename>. The extra
    42 <parameter>INSTALL=/tools/bin/install</parameter> option is needed
    43 because the <filename>Makefile</filename> file created during the
    44 second pass still contains the reference to
    45 <command>/usr/bin/install</command>, which has not been installed yet.
    46 Some host distributions contain a <filename
    47 class="symlink">ginstall</filename> symbolic link which takes
    48 precedence in the <filename>Makefile</filename> file and can cause a
    49 problem. The above command takes care of this issue.</para>
    50 
    51 <para>Remove the Binutils source and build directories now.</para>
     26<screen><userinput>mv -v /tools/bin/{ld,ld-old}
     27mv -v /tools/$(gcc -dumpmachine)/bin/{ld,ld-old}
     28mv -v /tools/bin/{ld-new,ld}
     29ln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld</userinput></screen>
    5230
    5331<para>Next, amend the GCC specs file so that it points to the new
    54 dynamic linker. A <command>sed</command> command accomplishes this:</para>
     32dynamic linker, and so that GCC knows where to find its start files.
     33A <command>perl</command> command accomplishes this:</para>
    5534
    56 <screen><userinput>SPECFILE=`dirname $(gcc -print-libgcc-file-name)`/specs &amp;&amp;
    57 gcc -dumpspecs > $SPECFILE &amp;&amp;
    58 sed -i 's@^/tools/lib/ld-linux.so.2@/lib/ld-linux.so.2@g' $SPECFILE &amp;&amp;
    59 unset SPECFILE</userinput></screen>
     35<screen><userinput>gcc -dumpspecs | \
     36perl -p -e 's@/tools/lib/ld-linux.so.2@/lib/ld-linux.so.2@g;' \
     37     -e 's@\*startfile_prefix_spec:\n@$_/usr/lib/ @g;' &gt; \
     38     `dirname $(gcc --print-libgcc-file-name)`/specs
     39</userinput></screen>
    6040
    6141<para>It is a good idea to visually inspect the specs file to verify the intended
     
    7656
    7757<screen><userinput>echo 'main(){}' &gt; dummy.c
    78 cc dummy.c
     58cc dummy.c -Wl,--verbose &amp;&gt; dummy.log
    7959readelf -l a.out | grep ': /lib'</userinput></screen>
    8060
     
    8868the prefix of our dynamic linker.</para>
    8969
     70<para>Now make sure that we're setup to use the correct start files:</para>
     71
     72<screen><userinput>grep "/usr/lib/crt.* " dummy.log</userinput></screen>
     73
     74<para>If everything is working correctly, there should be no errors,
     75and the output of the last command will be:</para>
     76
     77<screen><computeroutput>attempt to open /usr/lib/crt1.o succeeded
     78attempt to open /usr/lib/crti.o succeeded
     79attempt to open /usr/lib/crtn.o succeeded</computeroutput></screen>
     80
     81<para>Next make sure that we're using the correct libc:</para>
     82
     83<screen><userinput>grep "/lib/libc.so.6 " dummy.log</userinput></screen>
     84
     85<para>If everything is working correctly, there should be no errors,
     86and the output of the last command will be:</para>
     87
     88<screen><computeroutput>attempt to open /lib/libc.so.6 succeeded</computeroutput></screen>
     89
     90<para>Lastly, make sure GCC is using the correct dynamic linker:</para>
     91
     92<screen><userinput>grep found dummy.log</userinput></screen>
     93
     94<para>If everything is working correctly, there should be no errors,
     95and the output of the last command will be (allowing for
     96platform-specific differences in dynamic linker name):</para>
     97
     98<screen><computeroutput>found ld-linux.so.2 at /lib/ld-linux.so.2</computeroutput></screen>
     99
    90100<para>If the output does not appear as shown above or is not received
    91101at all, then something is seriously wrong. Investigate and retrace the
     
    98108files:</para>
    99109
    100 <screen><userinput>rm -v dummy.c a.out</userinput></screen></caution>
     110<screen><userinput>rm -v dummy.c a.out dummy.log</userinput></screen></caution>
    101111
    102112</sect1>
  • chapter06/revisedchroot.xml

    rb4cd3c5 re6ab4b5  
    1919class="directory">/tools</filename> are no longer needed.  Since they are no
    2020longer needed you can delete the <filename class="directory">/tools</filename>
    21 directory if so desired or tar it up and keep it to build another final
    22 system.</para>
     21directory if so desired.</para>
    2322
    2423<note><para>Removing <filename class="directory">/tools</filename> will also
  • chapter06/shadow.xml

    rb4cd3c5 re6ab4b5  
    1717<segtitle>&buildtime;</segtitle>
    1818<segtitle>&diskspace;</segtitle>
    19 <seglistitem><seg>0.3 SBU</seg><seg>15.9 MB</seg></seglistitem>
     19<seglistitem><seg>0.4 SBU</seg><seg>14.7 MB</seg></seglistitem>
    2020</segmentedlist>
    2121
     
    3535<command>configure</command> command below.</para></note>
    3636
    37 <para>Apply a patch to fix a number of incorrect assumptions in Shadow's
    38 <command>configure</command> script:</para>
    39 
    40 <screen><userinput>patch -Np1 -i ../&shadow-configure-patch;</userinput></screen>
    41 
    4237<para>Prepare Shadow for compilation:</para>
    4338
    44 <screen><userinput>./configure --libdir=/lib --enable-shared</userinput></screen>
     39<screen><userinput>./configure --libdir=/lib --enable-shared --without-selinux</userinput></screen>
     40
     41<para>The meaning of the configure options:</para>
     42
     43<variablelist>
     44<varlistentry>
     45<term><parameter>--without-selinux</parameter></term>
     46<listitem><para>Support for selinux is enabled by default, but selinux is not
     47built in a base LFS system.  The <command>configure</command> script will fail
     48if this option is not used.</para></listitem>
     49</varlistentry>
     50</variablelist>
    4551
    4652<para>Disable the installation of the <command>groups</command> program and its man page, as Coreutils provides a better version:</para>
  • chapter06/strippingagain.xml

    rb4cd3c5 re6ab4b5  
    1818render the new system unusable, so before running the
    1919<command>strip</command> command, it is a good idea to make a
    20 backup of the current situation.</para>
     20backup of the LFS system in its current state.</para>
    2121
    2222<para>Before performing the stripping, take special care to ensure that
  • chapter06/vim.xml

    rb4cd3c5 re6ab4b5  
    114114
    115115<sect2 id="conf-vim" role="configuration"><title>Configuring Vim</title>
    116 <indexterm zone="conf-vim"><primary sortas="e-/etc/vim">/etc/vim</primary></indexterm>
     116<indexterm zone="conf-vim"><primary sortas="e-/etc/vimrc">/etc/vimrc</primary></indexterm>
    117117
    118118<para>By default, <command>vim</command> runs in vi-incompatible mode. This may
  • chapter08/kernel.xml

    rb4cd3c5 re6ab4b5  
    147147
    148148<screen><userinput>cp -v .config /boot/config-&linux-version;</userinput></screen>
     149
     150    <para>Install the documentation for the Linux kernel:</para>
     151
     152<screen>install -d /usr/share/doc/linux-&linux-version; &amp;&amp;
     153cp -r Documentation/* /usr/share/doc/linux-&linux-version;</screen>
    149154
    150155    <para>It is important to note that the files in the kernel source
  • general.ent

    rb4cd3c5 re6ab4b5  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!ENTITY version "ALPHABETICAL-20060122">
    3 <!ENTITY releasedate "January 22, 2006">
     2<!ENTITY version "ALPHABETICAL-20060203">
     3<!ENTITY releasedate "Febraury 3, 2006">
    44<!ENTITY milestone "6.2">
    55<!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->
     
    2323<!ENTITY kernel "http://www.kernel.org/pub/">
    2424<!ENTITY sourceforge "http://prdownloads.sourceforge.net/">
    25 <!ENTITY alexpatches "&lfs-root;~alexander/patches/">
    2625
    2726<!ENTITY % patches-entities SYSTEM "patches.ent">
     
    5150<!ENTITY grep-version "2.5.1a">
    5251<!ENTITY groff-version "1.18.1.1">
    53 <!ENTITY groff-patchlevel "10">
     52<!ENTITY groff-patchlevel "11">
    5453<!ENTITY grub-version "0.97">
    5554<!ENTITY gzip-version "1.3.5">
     
    6867<!ENTITY make-version "3.80">
    6968<!ENTITY man-db-version "2.4.3">
    70 <!ENTITY man-pages-version "2.18">
     69<!ENTITY man-pages-version "2.21">
    7170<!ENTITY mktemp-version "1.5">
    7271<!ENTITY module-init-tools-version "3.2.2">
     
    7675<!ENTITY perl-version "5.8.7">
    7776<!ENTITY procps-version "3.2.6">
    78 <!ENTITY psmisc-version "21.9">
     77<!ENTITY psmisc-version "22.1">
    7978<!ENTITY readline-version "5.1">
    8079<!ENTITY sed-version "4.1.4">
    81 <!ENTITY shadow-version "4.0.13">
     80<!ENTITY shadow-version "4.0.14">
    8281<!ENTITY sysklogd-version "1.4.1">
    8382<!ENTITY sysvinit-version "2.86">
  • patches.ent

    rb4cd3c5 re6ab4b5  
    55<!ENTITY bzip2-docs-patch "bzip2-&bzip2-version;-install_docs-1.patch">
    66
    7 <!ENTITY coreutils-i18n-patch "coreutils-&coreutils-version;-i18n-1.patch">
     7<!ENTITY coreutils-i18n-patch "coreutils-&coreutils-version;-i18n-2.patch">
    88<!ENTITY coreutils-suppress-patch "coreutils-&coreutils-version;-suppress_uptime_kill_su-1.patch">
    99<!ENTITY coreutils-uname-patch "coreutils-&coreutils-version;-uname-1.patch">
     
    3838<!-- <!ENTITY ncurses-rollup-patch "ncurses-&ncurses-version;-&ncurses-date;-patch.sh.bz2"> -->
    3939
     40<!ENTITY perl-db_file-patch "perl-&perl-version;-update_db_file-1.patch">
    4041<!ENTITY perl-libc-patch "perl-&perl-version;-libc-1.patch">
    4142<!ENTITY perl-sprintf-patch "perl-&perl-version;-sprintf_vulnerability-1.patch">
    42 
    43 <!ENTITY shadow-configure-patch "shadow-&shadow-version;-configure_fix-1.patch">
    4443
    4544<!ENTITY sysklogd-8bit-patch "sysklogd-&sysklogd-version;-8bit-1.patch">
Note: See TracChangeset for help on using the changeset viewer.