diff options
author | Manuel Canales Esparcia <manuel@linuxfromscratch.org> | 2006-02-07 19:39:29 +0000 |
---|---|---|
committer | Manuel Canales Esparcia <manuel@linuxfromscratch.org> | 2006-02-07 19:39:29 +0000 |
commit | 3f3931b0a87f6b5e217b5ffd8bbfcd758045f8c0 (patch) | |
tree | 210370008db01040776dada924c29cb6ff6aca71 /chapter06 | |
parent | 1ca11cdcf4680a74eb596b0893990278a95b560f (diff) |
Indenting chapter 6, part 9
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7362 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter06')
-rw-r--r-- | chapter06/perl.xml | 686 | ||||
-rw-r--r-- | chapter06/pkgmgt.xml | 60 | ||||
-rw-r--r-- | chapter06/procps.xml | 405 | ||||
-rw-r--r-- | chapter06/psmisc.xml | 241 | ||||
-rw-r--r-- | chapter06/pwdgroup.xml | 128 | ||||
-rw-r--r-- | chapter06/readjusting.xml | 135 | ||||
-rw-r--r-- | chapter06/readline.xml | 174 | ||||
-rw-r--r-- | chapter06/revisedchroot.xml | 34 | ||||
-rw-r--r-- | chapter06/sed.xml | 115 |
9 files changed, 1114 insertions, 864 deletions
diff --git a/chapter06/perl.xml b/chapter06/perl.xml index cc2140669..277d831a2 100644 --- a/chapter06/perl.xml +++ b/chapter06/perl.xml @@ -1,338 +1,420 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" + "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!ENTITY % general-entities SYSTEM "../general.ent"> %general-entities; ]> + <sect1 id="ch-system-perl" role="wrap"> -<title>Perl-&perl-version;</title> -<?dbhtml filename="perl.html"?> + <?dbhtml filename="perl.html"?> + + <title>Perl-&perl-version;</title> + + <indexterm zone="ch-system-perl"> + <primary sortas="a-Perl">Perl</primary> + </indexterm> + + <sect2 role="package"> + <title/> -<indexterm zone="ch-system-perl"><primary sortas="a-Perl">Perl</primary></indexterm> + <para>The Perl package contains the Practical Extraction and Report + Language.</para> -<sect2 role="package"><title/> -<para>The Perl package contains the Practical Extraction and Report Language.</para> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>2.9 SBU</seg><seg>137 MB</seg></seglistitem> -</segmentedlist> + <seglistitem> + <seg>2.9 SBU</seg> + <seg>137 MB</seg> + </seglistitem> + </segmentedlist> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Berkeley DB, Binutils, Coreutils, Diffutils, -Gawk, GCC, Glibc, Grep, Make, and Sed</seg></seglistitem> -</segmentedlist> -</sect2> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<sect2 role="installation"> -<title>Installation of Perl</title> + <seglistitem> + <seg>Bash, Berkeley DB, Binutils, Coreutils, Diffutils, Gawk, GCC, + Glibc, Grep, Make, and Sed</seg> + </seglistitem> + </segmentedlist> -<para>A security vulnerability exists in Perl's sprintf function. Apply the -following patch to fix it.</para> + </sect2> + + <sect2 role="installation"> + <title>Installation of Perl</title> + + <para>A security vulnerability exists in Perl's sprintf function. Apply the + following patch to fix it.</para> <screen><userinput>patch -Np1 -i ../&perl-sprintf-patch;</userinput></screen> -<para>The DB_File module that comes with Perl-&perl-version; is incompatible -with Berkeley DB-&db-version; (the testsuite fails if this module gets built). -Apply the following patch in order to update the DB_File module:</para> + <para>The DB_File module that comes with Perl-&perl-version; is incompatible + with Berkeley DB-&db-version; (the testsuite fails if this module gets built). + Apply the following patch in order to update the DB_File module:</para> <screen><userinput>patch -Np1 -i ../&perl-db_file-patch;</userinput></screen> -<para>First create a basic <filename>/etc/hosts</filename> file which will be -referenced in one of Perl's configuration files as well as being used used by -the testsuite if you run that.</para> + <para>First create a basic <filename>/etc/hosts</filename> file which will be + referenced in one of Perl's configuration files as well as being used used by + the testsuite if you run that.</para> <screen><userinput>echo "127.0.0.1 localhost $(hostname)" > /etc/hosts</userinput></screen> -<para>To have full control over the way Perl is set up, run the -interactive <command>Configure</command> script and hand-pick the way -this package is built. If the defaults it auto-detects are suitable, -prepare Perl for compilation with:</para> + <para>To have full control over the way Perl is set up, run the + interactive <command>Configure</command> script and hand-pick the way + this package is built. If the defaults it auto-detects are suitable, + prepare Perl for compilation with:</para> <screen><userinput>./configure.gnu --prefix=/usr -Dpager="/usr/bin/less -isR"</userinput></screen> -<para>The meaning of the configure options:</para> + <variablelist> + <title>The meaning of the configure options:</title> -<variablelist> -<varlistentry> -<term><parameter>-Dpager="/usr/bin/less -isR"</parameter></term> -<listitem><para>This corrects an error in the way that -<command>perldoc</command> invokes the <command>less</command> program.</para> -</listitem> -</varlistentry> -</variablelist> + <varlistentry> + <term><parameter>-Dpager="/usr/bin/less -isR"</parameter></term> + <listitem> + <para>This corrects an error in the way that <command>perldoc</command> + invokes the <command>less</command> program.</para> + </listitem> + </varlistentry> -<para>Compile the package:</para> + </variablelist> + + <para>Compile the package:</para> <screen><userinput>make</userinput></screen> -<para>Now run the tests, if desired:</para> + <para>Now run the tests, if desired:</para> <screen><userinput>make test</userinput></screen> -<para>Install the package:</para> + <para>Install the package:</para> <screen><userinput>make install</userinput></screen> -</sect2> - - -<sect2 id="contents-perl" role="content"><title>Contents of Perl</title> - -<segmentedlist> -<segtitle>Installed programs</segtitle> -<segtitle>Installed libraries</segtitle> -<seglistitem><seg>a2p, c2ph, dprofpp, enc2xs, -find2perl, h2ph, h2xs, libnetcfg, perl, perl&perl-version; (link to perl), -perlbug, perlcc, perldoc, perlivp, piconv, pl2pm, pod2html, pod2latex, pod2man, -pod2text, pod2usage, podchecker, podselect, psed (link to s2p), pstruct (link -to c2ph), s2p, splain, and xsubpp</seg> -<seg>Several hundred which cannot all be listed here</seg></seglistitem> -</segmentedlist> - -<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> -<?dbfo list-presentation="list"?> -<?dbhtml list-presentation="table"?> - -<varlistentry id="a2p"> -<term><command>a2p</command></term> -<listitem> -<para>Translates awk to Perl</para> -<indexterm zone="ch-system-perl a2p"><primary sortas="b-a2p">a2p</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="c2ph"> -<term><command>c2ph</command></term> -<listitem> -<para>Dumps C structures as generated from <command>cc -g -S</command></para> -<indexterm zone="ch-system-perl c2ph"><primary sortas="b-c2ph">c2ph</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="dprofpp"> -<term><command>dprofpp</command></term> -<listitem> -<para>Displays Perl profile data</para> -<indexterm zone="ch-system-perl dprofpp"><primary sortas="b-dprofpp">dprofpp</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="en2cxs"> -<term><command>en2cxs</command></term> -<listitem> -<para>Builds a Perl extension for the Encode module from either -Unicode Character Mappings or Tcl Encoding Files</para> -<indexterm zone="ch-system-perl en2cxs"><primary sortas="b-en2cxs">en2cxs</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="find2perl"> -<term><command>find2perl</command></term> -<listitem> -<para>Translates <command>find</command> commands to Perl</para> -<indexterm zone="ch-system-perl find2perl"><primary sortas="b-find2perl">find2perl</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="h2ph"> -<term><command>h2ph</command></term> -<listitem> -<para>Converts <filename class="extension">.h</filename> C header files to -<filename class="extension">.ph</filename> Perl header files</para> -<indexterm zone="ch-system-perl h2ph"><primary sortas="b-h2ph">h2ph</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="h2xs"> -<term><command>h2xs</command></term> -<listitem> -<para>Converts <filename class="extension">.h</filename> C header files to Perl extensions</para> -<indexterm zone="ch-system-perl h2xs"><primary sortas="b-h2xs">h2xs</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libnetcfg"> -<term><command>libnetcfg</command></term> -<listitem> -<para>Can be used to configure the <filename class="libraryfile">libnet</filename></para> -<indexterm zone="ch-system-perl libnetcfg"><primary sortas="b-libnetcfg">libnetcfg</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="perl"> -<term><command>perl</command></term> -<listitem> -<para>Combines some of the best features of C, <command>sed</command>, -<command>awk</command> and <command>sh</command> into a single swiss-army -language</para> -<indexterm zone="ch-system-perl perl"><primary sortas="b-perl">perl</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="perl-version"> -<term><command>perl&perl-version;</command></term> -<listitem> -<para>A hard link to <command>perl</command></para> -<indexterm zone="ch-system-perl perl-version"><primary -sortas="b-perl&perl-version;">perl&perl-version;</primary></indexterm> -</listitem> -</varlistentry> - - -<varlistentry id="perlbug"> -<term><command>perlbug</command></term> -<listitem> -<para>Used to generate bug reports about Perl, or the modules that come -with it, and mail them</para> -<indexterm zone="ch-system-perl perlbug"><primary sortas="b-perlbug">perlbug</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="perlcc"> -<term><command>perlcc</command></term> -<listitem> -<para>Generates executables from Perl programs</para> -<indexterm zone="ch-system-perl perlcc"><primary sortas="b-perlcc">perlcc</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="perldoc"> -<term><command>perldoc</command></term> -<listitem> -<para>Displays a piece of documentation in pod format that is embedded -in the Perl installation tree or in a Perl script</para> -<indexterm zone="ch-system-perl perldoc"><primary sortas="b-perldoc">perldoc</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="perlivp"> -<term><command>perlivp</command></term> -<listitem> -<para>The Perl Installation Verification Procedure; it can be used to -verify that Perl and its libraries have been installed -correctly</para> -<indexterm zone="ch-system-perl perlivp"><primary sortas="b-perlivp">perlivp</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="piconv"> -<term><command>piconv</command></term> -<listitem> -<para>A Perl version of the character encoding converter -<command>iconv</command></para> -<indexterm zone="ch-system-perl piconv"><primary sortas="b-piconv">piconv</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="pl2pm"> -<term><command>pl2pm</command></term> -<listitem> -<para>A rough tool for converting Perl4 <filename class="extension">.pl</filename> -files to Perl5 <filename class="extension">.pm</filename> modules</para> -<indexterm zone="ch-system-perl pl2pm"><primary sortas="b-pl2pm">pl2pm</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="pod2html"> -<term><command>pod2html</command></term> -<listitem> -<para>Converts files from pod format to HTML format</para> -<indexterm zone="ch-system-perl pod2html"><primary sortas="b-pod2html">pod2html</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="pod2latex"> -<term><command>pod2latex</command></term> -<listitem> -<para>Converts files from pod format to LaTeX format</para> -<indexterm zone="ch-system-perl pod2latex"><primary sortas="b-pod2latex">pod2latex</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="pod2man"> -<term><command>pod2man</command></term> -<listitem> -<para>Converts pod data to formatted *roff input</para> -<indexterm zone="ch-system-perl pod2man"><primary sortas="b-pod2man">pod2man</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="pod2text"> -<term><command>pod2text</command></term> -<listitem> -<para>Converts pod data to formatted ASCII text</para> -<indexterm zone="ch-system-perl pod2text"><primary sortas="b-pod2text">pod2text</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="pod2usage"> -<term><command>pod2usage</command></term> -<listitem> -<para>Prints usage messages from embedded pod docs in files</para> -<indexterm zone="ch-system-perl pod2usage"><primary sortas="b-pod2usage">pod2usage</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="podchecker"> -<term><command>podchecker</command></term> -<listitem> -<para>Checks the syntax of pod format documentation files</para> -<indexterm zone="ch-system-perl podchecker"><primary sortas="b-podchecker">podchecker</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="podselect"> -<term><command>podselect</command></term> -<listitem> -<para>Displays selected sections of pod documentation</para> -<indexterm zone="ch-system-perl podselect"><primary sortas="b-podselect">podselect</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="psed"> -<term><command>psed</command></term> -<listitem> -<para>A Perl version of the stream editor <command>sed</command></para> -<indexterm zone="ch-system-perl psed"><primary sortas="b-psed">psed</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="pstruct"> -<term><command>pstruct</command></term> -<listitem> -<para>Dumps C structures as generated from <command>cc -g -S</command> stabs</para> -<indexterm zone="ch-system-perl pstruct"><primary sortas="b-pstruct">pstruct</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="s2p"> -<term><command>s2p</command></term> -<listitem> -<para>Translates <command>sed</command> scripts to Perl</para> -<indexterm zone="ch-system-perl s2p"><primary sortas="b-s2p">s2p</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="splain"> -<term><command>splain</command></term> -<listitem> -<para>Is used to force verbose warning diagnostics in Perl</para> -<indexterm zone="ch-system-perl splain"><primary sortas="b-splain">splain</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="xsubpp"> -<term><command>xsubpp</command></term> -<listitem> -<para>Converts Perl XS code into C code</para> -<indexterm zone="ch-system-perl xsubpp"><primary sortas="b-xsubpp">xsubpp</primary></indexterm> -</listitem> -</varlistentry> -</variablelist> - -</sect2> + </sect2> + + <sect2 id="contents-perl" role="content"> + <title>Contents of Perl</title> + + <segmentedlist> + <segtitle>Installed programs</segtitle> + <segtitle>Installed libraries</segtitle> + + <seglistitem> + <seg>a2p, c2ph, dprofpp, enc2xs, find2perl, h2ph, h2xs, libnetcfg, perl, + perl&perl-version; (link to perl), perlbug, perlcc, perldoc, perlivp, + piconv, pl2pm, pod2html, pod2latex, pod2man, pod2text, pod2usage, + podchecker, podselect, psed (link to s2p), pstruct (link to c2ph), s2p, + splain, and xsubpp</seg> + <seg>Several hundred which cannot all be listed here</seg> + </seglistitem> + </segmentedlist> + + <variablelist> + <bridgehead renderas="sect3">Short Descriptions</bridgehead> + <?dbfo list-presentation="list"?> + <?dbhtml list-presentation="table"?> + + <varlistentry id="a2p"> + <term><command>a2p</command></term> + <listitem> + <para>Translates awk to Perl</para> + <indexterm zone="ch-system-perl a2p"> + <primary sortas="b-a2p">a2p</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="c2ph"> + <term><command>c2ph</command></term> + <listitem> + <para>Dumps C structures as generated from + <command>cc -g -S</command></para> + <indexterm zone="ch-system-perl c2ph"> + <primary sortas="b-c2ph">c2ph</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="dprofpp"> + <term><command>dprofpp</command></term> + <listitem> + <para>Displays Perl profile data</para> + <indexterm zone="ch-system-perl dprofpp"> + <primary sortas="b-dprofpp">dprofpp</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="en2cxs"> + <term><command>en2cxs</command></term> + <listitem> + <para>Builds a Perl extension for the Encode module from either + Unicode Character Mappings or Tcl Encoding Files</para> + <indexterm zone="ch-system-perl en2cxs"> + <primary sortas="b-en2cxs">en2cxs</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="find2perl"> + <term><command>find2perl</command></term> + <listitem> + <para>Translates <command>find</command> commands to Perl</para> + <indexterm zone="ch-system-perl find2perl"> + <primary sortas="b-find2perl">find2perl</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="h2ph"> + <term><command>h2ph</command></term> + <listitem> + <para>Converts <filename class="extension">.h</filename> C header + files to <filename class="extension">.ph</filename> Perl header + files</para> + <indexterm zone="ch-system-perl h2ph"> + <primary sortas="b-h2ph">h2ph</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="h2xs"> + <term><command>h2xs</command></term> + <listitem> + <para>Converts <filename class="extension">.h</filename> C header + files to Perl extensions</para> + <indexterm zone="ch-system-perl h2xs"> + <primary sortas="b-h2xs">h2xs</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libnetcfg"> + <term><command>libnetcfg</command></term> + <listitem> + <para>Can be used to configure the + <filename class="libraryfile">libnet</filename></para> + <indexterm zone="ch-system-perl libnetcfg"> + <primary sortas="b-libnetcfg">libnetcfg</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="perl"> + <term><command>perl</command></term> + <listitem> + <para>Combines some of the best features of C, <command>sed</command>, + <command>awk</command> and <command>sh</command> into a single + swiss-army language</para> + <indexterm zone="ch-system-perl perl"> + <primary sortas="b-perl">perl</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="perl-version"> + <term><command>perl&perl-version;</command></term> + <listitem> + <para>A hard link to <command>perl</command></para> + <indexterm zone="ch-system-perl perl-version"> + <primary sortas="b-perl&perl-version;">perl&perl-version;</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="perlbug"> + <term><command>perlbug</command></term> + <listitem> + <para>Used to generate bug reports about Perl, or the modules that come + with it, and mail them</para> + <indexterm zone="ch-system-perl perlbug"> + <primary sortas="b-perlbug">perlbug</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="perlcc"> + <term><command>perlcc</command></term> + <listitem> + <para>Generates executables from Perl programs</para> + <indexterm zone="ch-system-perl perlcc"> + <primary sortas="b-perlcc">perlcc</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="perldoc"> + <term><command>perldoc</command></term> + <listitem> + <para>Displays a piece of documentation in pod format that is embedded + in the Perl installation tree or in a Perl script</para> + <indexterm zone="ch-system-perl perldoc"> + <primary sortas="b-perldoc">perldoc</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="perlivp"> + <term><command>perlivp</command></term> + <listitem> + <para>The Perl Installation Verification Procedure; it can be used to + verify that Perl and its libraries have been installed + correctly</para> + <indexterm zone="ch-system-perl perlivp"> + <primary sortas="b-perlivp">perlivp</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="piconv"> + <term><command>piconv</command></term> + <listitem> + <para>A Perl version of the character encoding converter + <command>iconv</command></para> + <indexterm zone="ch-system-perl piconv"> + <primary sortas="b-piconv">piconv</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="pl2pm"> + <term><command>pl2pm</command></term> + <listitem> + <para>A rough tool for converting Perl4 + <filename class="extension">.pl</filename> files to Perl5 + <filename class="extension">.pm</filename> modules</para> + <indexterm zone="ch-system-perl pl2pm"> + <primary sortas="b-pl2pm">pl2pm</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="pod2html"> + <term><command>pod2html</command></term> + <listitem> + <para>Converts files from pod format to HTML format</para> + <indexterm zone="ch-system-perl pod2html"> + <primary sortas="b-pod2html">pod2html</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="pod2latex"> + <term><command>pod2latex</command></term> + <listitem> + <para>Converts files from pod format to LaTeX format</para> + <indexterm zone="ch-system-perl pod2latex"> + <primary sortas="b-pod2latex">pod2latex</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="pod2man"> + <term><command>pod2man</command></term> + <listitem> + <para>Converts pod data to formatted *roff input</para> + <indexterm zone="ch-system-perl pod2man"> + <primary sortas="b-pod2man">pod2man</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="pod2text"> + <term><command>pod2text</command></term> + <listitem> + <para>Converts pod data to formatted ASCII text</para> + <indexterm zone="ch-system-perl pod2text"> + <primary sortas="b-pod2text">pod2text</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="pod2usage"> + <term><command>pod2usage</command></term> + <listitem> + <para>Prints usage messages from embedded pod docs in files</para> + <indexterm zone="ch-system-perl pod2usage"> + <primary sortas="b-pod2usage">pod2usage</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="podchecker"> + <term><command>podchecker</command></term> + <listitem> + <para>Checks the syntax of pod format documentation files</para> + <indexterm zone="ch-system-perl podchecker"> + <primary sortas="b-podchecker">podchecker</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="podselect"> + <term><command>podselect</command></term> + <listitem> + <para>Displays selected sections of pod documentation</para> + <indexterm zone="ch-system-perl podselect"> + <primary sortas="b-podselect">podselect</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="psed"> + <term><command>psed</command></term> + <listitem> + <para>A Perl version of the stream editor <command>sed</command></para> + <indexterm zone="ch-system-perl psed"> + <primary sortas="b-psed">psed</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="pstruct"> + <term><command>pstruct</command></term> + <listitem> + <para>Dumps C structures as generated from <command>cc -g -S</command> + stabs</para> + <indexterm zone="ch-system-perl pstruct"> + <primary sortas="b-pstruct">pstruct</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="s2p"> + <term><command>s2p</command></term> + <listitem> + <para>Translates <command>sed</command> scripts to Perl</para> + <indexterm zone="ch-system-perl s2p"> + <primary sortas="b-s2p">s2p</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="splain"> + <term><command>splain</command></term> + <listitem> + <para>Is used to force verbose warning diagnostics in Perl</para> + <indexterm zone="ch-system-perl splain"> + <primary sortas="b-splain">splain</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="xsubpp"> + <term><command>xsubpp</command></term> + <listitem> + <para>Converts Perl XS code into C code</para> + <indexterm zone="ch-system-perl xsubpp"> + <primary sortas="b-xsubpp">xsubpp</primary> + </indexterm> + </listitem> + </varlistentry> + + </variablelist> + + </sect2> </sect1> - diff --git a/chapter06/pkgmgt.xml b/chapter06/pkgmgt.xml index e6d9bae3f..76ea123e2 100644 --- a/chapter06/pkgmgt.xml +++ b/chapter06/pkgmgt.xml @@ -1,14 +1,15 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" - "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ + "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!ENTITY % general-entities SYSTEM "../general.ent"> %general-entities; ]> <sect1 id="ch-system-pkgmgt"> - <title>Package Management</title> <?dbhtml filename="pkgmgt.html"?> + <title>Package Management</title> + <para>Package Management is an often requested addition to the LFS Book. A Package Manager allows tracking the installation of files making it easy to remove and upgrade packages. Before you begin to wonder, NO—this section @@ -18,7 +19,8 @@ combination of two or more of these techniques. This section briefly mentions issues that may arise when upgrading packages.</para> - <para>Some reasons why no package manager is mentioned in LFS or BLFS include: </para> + <para>Some reasons why no package manager is mentioned in LFS or BLFS + include:</para> <itemizedlist> <listitem> @@ -37,11 +39,13 @@ the <ulink url="&hints-root;">Hints subproject</ulink> and see if one of them fits your need.</para> - <note><para>As no particular package management technique is mentioned in LFS, - the commands in the remainder of this book must be performed while logged in - as user <emphasis>root</emphasis> and no longer as user - <emphasis>lfs</emphasis>. Also, double check that <envar>$LFS</envar> is set. - </para></note> + <note> + <para>As no particular package management technique is mentioned in LFS, + the commands in the remainder of this book must be performed while logged in + as user <systemitem class="username">root</systemitem> and no longer as user + <systemitem class="username">lfs</systemitem>. Also, double check that + <envar>$LFS</envar> is set.</para> + </note> <sect2> <title>Upgrade Issues</title> @@ -53,16 +57,14 @@ <itemizedlist> <listitem> - <para>If one of the toolchain packages - (<application>Glibc</application>, <application>GCC</application> or - <application>Binutils</application>) needs to be upgraded to a newer - minor version, it is safer to rebuild LFS. Though you - <emphasis>may</emphasis> be able to get by rebuilding all the packages - in their dependency order, we do not recommend it. For example, if - glibc-2.2.x needs to be updated to glibc-2.3.x, it is safer to rebuild. - For micro version updates, a simple reinstallation usually works, but - is not guaranteed. For example, upgrading from glibc-2.3.4 to - glibc-2.3.5 will not usually cause any problems.</para> + <para>If one of the toolchain packages (Glibc, GCC or Binutils) needs + to be upgraded to a newer minor version, it is safer to rebuild LFS. + Though you <emphasis>may</emphasis> be able to get by rebuilding all + the packages in their dependency order, we do not recommend it. For + example, if glibc-2.2.x needs to be updated to glibc-2.3.x, it is safer + to rebuild. For micro version updates, a simple reinstallation usually + works, but is not guaranteed. For example, upgrading from glibc-2.3.4 + to glibc-2.3.5 will not usually cause any problems.</para> </listitem> <listitem> @@ -109,6 +111,7 @@ and know what files are installed by each package. Some users also do not need any package management because they plan on rebuilding the entire system when a package is changed.</para> + </sect3> <sect3> @@ -129,6 +132,7 @@ <envar>INFOPATH</envar> and <envar>CPPFLAGS</envar> need to be expanded to include <filename>/usr/pkg/foo</filename>. For more than a few packages, this scheme becomes unmanageable.</para> + </sect3> <sect3> @@ -168,11 +172,11 @@ make install</userinput></screen> make make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen> - <para>Most packages support this approach, but there are some which do - not. For the non-compliant packages, you may either need to manually - install the package, or you may find that it is easier to install some - problematic packages into <filename class='directory'>/opt</filename>. - </para> + <para>Most packages support this approach, but there are some which do not. + For the non-compliant packages, you may either need to manually install the + package, or you may find that it is easier to install some problematic + packages into <filename class='directory'>/opt</filename>.</para> + </sect3> <sect3> @@ -190,6 +194,7 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen> the package manager. Also, this scheme can only be used when one package is installed at a time. The logs are not reliable if two packages are being installed on two different consoles.</para> + </sect3> <sect3> @@ -205,6 +210,7 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen> installation. Therefore, it is advised that one performs some tests to ensure that the package manager does not break anything and logs all the appropriate files.</para> + </sect3> <sect3> @@ -214,8 +220,7 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen> tree as described in the Symlink style package management. After the installation, a package archive is created using the installed files. This archive is then used to install the package either on the local - machine or can even be used to install the package on other machines. - </para> + machine or can even be used to install the package on other machines.</para> <para>This approach is used by most of the package managers found in the commercial distributions. Examples of package managers that follow this @@ -225,6 +230,7 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen> Gentoo's Portage system. A hint describing how to adopt this style of package management for LFS systems is located at <ulink url="&hints-root;/fakeroot.txt"/>.</para> + </sect3> <sect3> @@ -236,8 +242,8 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen> standard locations. Files belonging to a package are easily identified by checking the user ID. The features and shortcomings of this approach are too complex to describe in this section. For the details please see the - hint at <ulink - url="&hints-root;/more_control_and_pkg_man.txt"/>.</para> + hint at <ulink url="&hints-root;/more_control_and_pkg_man.txt"/>.</para> + </sect3> </sect2> diff --git a/chapter06/procps.xml b/chapter06/procps.xml index 4973a7955..48a599ad6 100644 --- a/chapter06/procps.xml +++ b/chapter06/procps.xml @@ -1,195 +1,250 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" + "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!ENTITY % general-entities SYSTEM "../general.ent"> %general-entities; ]> + <sect1 id="ch-system-procps" role="wrap"> -<title>Procps-&procps-version;</title> -<?dbhtml filename="procps.html"?> + <?dbhtml filename="procps.html"?> + + <title>Procps-&procps-version;</title> + + <indexterm zone="ch-system-procps"> + <primary sortas="a-Procps">Procps</primary> + </indexterm> + + <sect2 role="package"> + <title/> -<indexterm zone="ch-system-procps"><primary sortas="a-Procps">Procps</primary></indexterm> + <para>The Procps package contains programs for monitoring processes.</para> -<sect2 role="package"><title/> -<para>The Procps package contains programs for monitoring processes.</para> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.1 SBU</seg><seg>2.3 MB</seg></seglistitem> -</segmentedlist> + <seglistitem> + <seg>0.1 SBU</seg> + <seg>2.3 MB</seg> + </seglistitem> + </segmentedlist> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Binutils, Coreutils, GCC, Glibc, -Make, and Ncurses</seg></seglistitem> -</segmentedlist> -</sect2> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<sect2 role="installation"> -<title>Installation of Procps</title> + <seglistitem> + <seg>Bash, Binutils, Coreutils, GCC, Glibc, Make, and Ncurses</seg> + </seglistitem> + </segmentedlist> -<para>Compile the package:</para> + </sect2> + + <sect2 role="installation"> + <title>Installation of Procps</title> + + <para>Compile the package:</para> <screen><userinput>make</userinput></screen> -<para>This package does not come with a test suite.</para> + <para>This package does not come with a test suite.</para> -<para>Install the package:</para> + <para>Install the package:</para> <screen><userinput>make install</userinput></screen> -</sect2> - - -<sect2 id="contents-procps" role="content"><title>Contents of Procps</title> - -<segmentedlist> -<segtitle>Installed programs</segtitle> -<segtitle>Installed library</segtitle> -<seglistitem><seg>free, kill, pgrep, pkill, -pmap, ps, skill, snice, sysctl, tload, top, uptime, vmstat, w, and watch</seg> -<seg>libproc.so</seg></seglistitem> -</segmentedlist> - -<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> -<?dbfo list-presentation="list"?> -<?dbhtml list-presentation="table"?> - -<varlistentry id="free"> -<term><command>free</command></term> -<listitem> -<para>Reports the amount of free and used memory (both physical and -swap memory) in the system</para> -<indexterm zone="ch-system-procps free"><primary sortas="b-free">free</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="kill"> -<term><command>kill</command></term> -<listitem> -<para>Sends signals to processes</para> -<indexterm zone="ch-system-procps kill"><primary sortas="b-kill">kill</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="pgrep"> -<term><command>pgrep</command></term> -<listitem> -<para>Looks up processes based on their name and other attributes</para> -<indexterm zone="ch-system-procps pgrep"><primary sortas="b-pgrep">pgrep</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="pkill"> -<term><command>pkill</command></term> -<listitem> -<para>Signals processes based on their name and other attributes</para> -<indexterm zone="ch-system-procps pkill"><primary sortas="b-pkill">pkill</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="pmap"> -<term><command>pmap</command></term> -<listitem> -<para>Reports the memory map of the given process</para> -<indexterm zone="ch-system-procps pmap"><primary sortas="b-pmap">pmap</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="ps"> -<term><command>ps</command></term> -<listitem> -<para>Lists the current running processes</para> -<indexterm zone="ch-system-procps ps"><primary sortas="b-ps">ps</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="skill"> -<term><command>skill</command></term> -<listitem> -<para>Sends signals to processes matching the given criteria</para> -<indexterm zone="ch-system-procps skill"><primary sortas="b-skill">skill</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="snice"> -<term><command>snice</command></term> -<listitem> -<para>Changes the scheduling priority of processes matching the given criteria</para> -<indexterm zone="ch-system-procps snice"><primary sortas="b-snice">snice</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="sysctl"> -<term><command>sysctl</command></term> -<listitem> -<para>Modifies kernel parameters at run time</para> -<indexterm zone="ch-system-procps sysctl"><primary sortas="b-sysctl">sysctl</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="tload"> -<term><command>tload</command></term> -<listitem> -<para>Prints a graph of the current system load average</para> -<indexterm zone="ch-system-procps tload"><primary sortas="b-tload">tload</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="top"> -<term><command>top</command></term> -<listitem> -<para>Displays a list of the most CPU intensive processes; it provides an -ongoing look at processor activity in real time</para> -<indexterm zone="ch-system-procps top"><primary sortas="b-top">top</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="uptime"> -<term><command>uptime</command></term> -<listitem> -<para>Reports how long the system has been running, how many users are -logged on, and the system load averages</para> -<indexterm zone="ch-system-procps uptime"><primary sortas="b-uptime">uptime</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="vmstat"> -<term><command>vmstat</command></term> -<listitem> -<para>Reports virtual memory statistics, giving information about -processes, memory, paging, block Input/Output (IO), traps, and CPU activity</para> -<indexterm zone="ch-system-procps vmstat"><primary sortas="b-vmstat">vmstat</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="w"> -<term><command>w</command></term> -<listitem> -<para>Shows which users are currently logged on, where, and since when</para> -<indexterm zone="ch-system-procps w"><primary sortas="b-w">w</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="watch"> -<term><command>watch</command></term> -<listitem> -<para>Runs a given command repeatedly, displaying the first screen-full of its -output; this allows a user to watch the output change over time</para> -<indexterm zone="ch-system-procps watch"><primary sortas="b-watch">watch</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libproc"> -<term><filename class="libraryfile">libproc</filename></term> -<listitem> -<para>Contains the functions used by most programs in this package</para> -<indexterm zone="ch-system-procps libproc"><primary sortas="c-libproc">libproc</primary></indexterm> -</listitem> -</varlistentry> -</variablelist> - -</sect2> + </sect2> + + <sect2 id="contents-procps" role="content"> + <title>Contents of Procps</title> + + <segmentedlist> + <segtitle>Installed programs</segtitle> + <segtitle>Installed library</segtitle> + + <seglistitem> + <seg>free, kill, pgrep, pkill, pmap, ps, skill, snice, sysctl, tload, + top, uptime, vmstat, w, and watch</seg> + <seg>libproc.so</seg> + </seglistitem> + </segmentedlist> + + <variablelist> + <bridgehead renderas="sect3">Short Descriptions</bridgehead> + <?dbfo list-presentation="list"?> + <?dbhtml list-presentation="table"?> + + <varlistentry id="free"> + <term><command>free</command></term> + <listitem> + <para>Reports the amount of free and used memory (both physical and + swap memory) in the system</para> + <indexterm zone="ch-system-procps free"> + <primary sortas="b-free">free</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="kill"> + <term><command>kill</command></term> + <listitem> + <para>Sends signals to processes</para> + <indexterm zone="ch-system-procps kill"> + <primary sortas="b-kill">kill</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="pgrep"> + <term><command>pgrep</command></term> + <listitem> + <para>Looks up processes based on their name and other attributes</para> + <indexterm zone="ch-system-procps pgrep"> + <primary sortas="b-pgrep">pgrep</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="pkill"> + <term><command>pkill</command></term> + <listitem> + <para>Signals processes based on their name and other attributes</para> + <indexterm zone="ch-system-procps pkill"> + <primary sortas="b-pkill">pkill</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="pmap"> + <term><command>pmap</command></term> + <listitem> + <para>Reports the memory map of the given process</para> + <indexterm zone="ch-system-procps pmap"> + <primary sortas="b-pmap">pmap</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="ps"> + <term><command>ps</command></term> + <listitem> + <para>Lists the current running processes</para> + <indexterm zone="ch-system-procps ps"> + <primary sortas="b-ps">ps</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="skill"> + <term><command>skill</command></term> + <listitem> + <para>Sends signals to processes matching the given criteria</para> + <indexterm zone="ch-system-procps skill"> + <primary sortas="b-skill">skill</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="snice"> + <term><command>snice</command></term> + <listitem> + <para>Changes the scheduling priority of processes matching the given + criteria</para> + <indexterm zone="ch-system-procps snice"> + <primary sortas="b-snice">snice</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="sysctl"> + <term><command>sysctl</command></term> + <listitem> + <para>Modifies kernel parameters at run time</para> + <indexterm zone="ch-system-procps sysctl"> + <primary sortas="b-sysctl">sysctl</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="tload"> + <term><command>tload</command></term> + <listitem> + <para>Prints a graph of the current system load average</para> + <indexterm zone="ch-system-procps tload"> + <primary sortas="b-tload">tload</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="top"> + <term><command>top</command></term> + <listitem> + <para>Displays a list of the most CPU intensive processes; it + provides an ongoing look at processor activity in real time</para> + <indexterm zone="ch-system-procps top"> + <primary sortas="b-top">top</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="uptime"> + <term><command>uptime</command></term> + <listitem> + <para>Reports how long the system has been running, how many users are + logged on, and the system load averages</para> + <indexterm zone="ch-system-procps uptime"> + <primary sortas="b-uptime">uptime</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="vmstat"> + <term><command>vmstat</command></term> + <listitem> + <para>Reports virtual memory statistics, giving information about + processes, memory, paging, block Input/Output (IO), traps, and CPU + activity</para> + <indexterm zone="ch-system-procps vmstat"> + <primary sortas="b-vmstat">vmstat</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="w"> + <term><command>w</command></term> + <listitem> + <para>Shows which users are currently logged on, where, and since + when</para> + <indexterm zone="ch-system-procps w"> + <primary sortas="b-w">w</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="watch"> + <term><command>watch</command></term> + <listitem> + <para>Runs a given command repeatedly, displaying the first + screen-full of its output; this allows a user to watch the output + change over time</para> + <indexterm zone="ch-system-procps watch"> + <primary sortas="b-watch">watch</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libproc"> + <term><filename class="libraryfile">libproc</filename></term> + <listitem> + <para>Contains the functions used by most programs in this + package</para> + <indexterm zone="ch-system-procps libproc"> + <primary sortas="c-libproc">libproc</primary> + </indexterm> + </listitem> + </varlistentry> + + </variablelist> + + </sect2> </sect1> - diff --git a/chapter06/psmisc.xml b/chapter06/psmisc.xml index a8165860b..f8f02f458 100644 --- a/chapter06/psmisc.xml +++ b/chapter06/psmisc.xml @@ -1,134 +1,169 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" + "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!ENTITY % general-entities SYSTEM "../general.ent"> %general-entities; ]> + <sect1 id="ch-system-psmisc" role="wrap"> -<title>Psmisc-&psmisc-version;</title> -<?dbhtml filename="psmisc.html"?> + <?dbhtml filename="psmisc.html"?> + + <title>Psmisc-&psmisc-version;</title> + + <indexterm zone="ch-system-psmisc"> + <primary sortas="a-Psmisc">Psmisc</primary> + </indexterm> + + <sect2 role="package"> + <title/> -<indexterm zone="ch-system-psmisc"><primary sortas="a-Psmisc">Psmisc</primary></indexterm> + <para>The Psmisc package contains programs for displaying information about + running processes.</para> -<sect2 role="package"><title/> -<para>The Psmisc package contains programs for displaying information about -running processes.</para> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.1 SBU</seg><seg>1.7 MB</seg></seglistitem> -</segmentedlist> + <seglistitem> + <seg>0.1 SBU</seg> + <seg>1.7 MB</seg> + </seglistitem> + </segmentedlist> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, -GCC, Gettext, Glibc, Grep, Make, Ncurses, and Sed</seg></seglistitem> -</segmentedlist> -</sect2> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<sect2 role="installation"> -<title>Installation of Psmisc</title> + <seglistitem> + <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, + Make, Ncurses, and Sed</seg> + </seglistitem> + </segmentedlist> -<para>Prepare Psmisc for compilation:</para> + </sect2> + + <sect2 role="installation"> + <title>Installation of Psmisc</title> + + <para>Prepare Psmisc for compilation:</para> <screen><userinput>./configure --prefix=/usr --exec-prefix=""</userinput></screen> -<para>The meaning of the configure options:</para> + <variablelist> + <title>The meaning of the configure options:</title> -<variablelist> -<varlistentry> -<term><parameter>--exec-prefix=""</parameter></term> -<listitem><para>This ensures that the Psmisc binaries will install into -<filename class="directory">/bin</filename> instead of <filename -class="directory">/usr/bin</filename>. This is the correct location according to -the FHS, because some of the Psmisc binaries are used by the LFS-Bootscripts -package.</para></listitem> -</varlistentry> -</variablelist> + <varlistentry> + <term><parameter>--exec-prefix=""</parameter></term> + <listitem> + <para>This ensures that the Psmisc binaries will install into + <filename class="directory">/bin</filename> instead of <filename + class="directory">/usr/bin</filename>. This is the correct location + according to the FHS, because some of the Psmisc binaries are used + by the LFS-Bootscripts package.</para> + </listitem> + </varlistentry> -<para>Compile the package:</para> + </variablelist> + + <para>Compile the package:</para> <screen><userinput>make</userinput></screen> -<para>This package does not come with a test suite.</para> + <para>This package does not come with a test suite.</para> -<para>Install the package:</para> + <para>Install the package:</para> <screen><userinput>make install</userinput></screen> -<para>There is no reason for the <command>pstree</command> and -<command>pstree.x11</command> programs to reside in <filename -class="directory">/bin</filename>. Therefore, move them to <filename -class="directory">/usr/bin</filename>:</para> + <para>There is no reason for the <command>pstree</command> and + <command>pstree.x11</command> programs to reside in <filename + class="directory">/bin</filename>. Therefore, move them to <filename + class="directory">/usr/bin</filename>:</para> <screen><userinput>mv -v /bin/pstree* /usr/bin</userinput></screen> -<para>By default, Psmisc's <command>pidof</command> program is not -installed. This usually is not a problem because it is installed later -in the Sysvinit package, which provides a better -<command>pidof</command> program. If Sysvinit will not be used for a -particular system, complete the installation of Psmisc by creating the -following symlink:</para> + <para>By default, Psmisc's <command>pidof</command> program is not + installed. This usually is not a problem because it is installed later + in the Sysvinit package, which provides a better + <command>pidof</command> program. If Sysvinit will not be used for a + particular system, complete the installation of Psmisc by creating the + following symlink:</para> <screen><userinput>ln -sv killall /bin/pidof</userinput></screen> -</sect2> - - -<sect2 id="contents-psmisc" role="content"><title>Contents of Psmisc</title> - -<segmentedlist> -<segtitle>Installed programs</segtitle> -<seglistitem><seg>fuser, killall, pstree, and pstree.x11 (link to pstree)</seg></seglistitem> -</segmentedlist> - -<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> -<?dbfo list-presentation="list"?> -<?dbhtml list-presentation="table"?> - -<varlistentry id="fuser"> -<term><command>fuser</command></term> -<listitem> -<para>Reports the Process IDs (PIDs) of processes that use the given files or file systems</para> -<indexterm zone="ch-system-psmisc fuser"><primary sortas="b-fuser">fuser</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="killall"> -<term><command>killall</command></term> -<listitem> -<para>Kills processes by name; it sends a signal to all processes -running any of the given commands</para> -<indexterm zone="ch-system-psmisc killall"><primary sortas="b-killall">killall</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="oldfuser"> -<term><command>oldfuser</command></term> -<listitem> -<para>Reports the Process IDs (PIDs) of processes that use the given files or file systems</para> -<indexterm zone="ch-system-psmisc oldfuser"><primary sortas="b-oldfuser">oldfuser</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="pstree"> -<term><command>pstree</command></term> -<listitem> -<para>Displays running processes as a tree</para> -<indexterm zone="ch-system-psmisc pstree"><primary sortas="b-pstree">pstree</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="pstree.x11"> -<term><command>pstree.x11</command></term> -<listitem> -<para>Same as <command>pstree</command>, except that it waits for confirmation before exiting</para> -<indexterm zone="ch-system-psmisc pstree.x11"><primary sortas="b-pstree.x11">pstree.x11</primary></indexterm> -</listitem> -</varlistentry> -</variablelist> - -</sect2> + </sect2> + + <sect2 id="contents-psmisc" role="content"> + <title>Contents of Psmisc</title> + + <segmentedlist> + <segtitle>Installed programs</segtitle> + + <seglistitem> + <seg>fuser, killall, pstree, and pstree.x11 (link to pstree)</seg> + </seglistitem> + </segmentedlist> + + <variablelist> + <bridgehead renderas="sect3">Short Descriptions</bridgehead> + <?dbfo list-presentation="list"?> + <?dbhtml list-presentation="table"?> + + <varlistentry id="fuser"> + <term><command>fuser</command></term> + <listitem> + <para>Reports the Process IDs (PIDs) of processes that use the given + files or file systems</para> + <indexterm zone="ch-system-psmisc fuser"> + <primary sortas="b-fuser">fuser</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="killall"> + <term><command>killall</command></term> + <listitem> + <para>Kills processes by name; it sends a signal to all processes + running any of the given commands</para> + <indexterm zone="ch-system-psmisc killall"> + <primary sortas="b-killall">killall</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="oldfuser"> + <term><command>oldfuser</command></term> + <listitem> + <para>Reports the Process IDs (PIDs) of processes that use the given + files or file systems</para> + <indexterm zone="ch-system-psmisc oldfuser"> + <primary sortas="b-oldfuser">oldfuser</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="pstree"> + <term><command>pstree</command></term> + <listitem> + <para>Displays running processes as a tree</para> + <indexterm zone="ch-system-psmisc pstree"> + <primary sortas="b-pstree">pstree</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="pstree.x11"> + <term><command>pstree.x11</command></term> + <listitem> + <para>Same as <command>pstree</command>, except that it waits for + confirmation before exiting</para> + <indexterm zone="ch-system-psmisc pstree.x11"> + <primary sortas="b-pstree.x11">pstree.x11</primary> + </indexterm> + </listitem> + </varlistentry> + + </variablelist> + + </sect2> </sect1> - diff --git a/chapter06/pwdgroup.xml b/chapter06/pwdgroup.xml index ff561570d..a58edade6 100644 --- a/chapter06/pwdgroup.xml +++ b/chapter06/pwdgroup.xml @@ -1,36 +1,56 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" + "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!ENTITY % general-entities SYSTEM "../general.ent"> %general-entities; ]> + <sect1 id="ch-system-pwdgroup"> -<title>Creating the passwd, group, and log Files</title> -<?dbhtml filename="pwdgroup.html"?> + <?dbhtml filename="pwdgroup.html"?> + + <title>Creating the passwd, group, and log Files</title> + + <indexterm zone="ch-system-pwdgroup"> + <primary sortas="e-/etc/passwd">/etc/passwd</primary> + </indexterm> + + <indexterm zone="ch-system-pwdgroup"> + <primary sortas="e-/etc/group">/etc/group</primary> + </indexterm> -<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/etc/passwd">/etc/passwd</primary></indexterm> -<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/etc/group">/etc/group</primary></indexterm> -<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/run/utmp">/var/run/utmp</primary></indexterm> -<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/btmp">/var/log/btmp</primary></indexterm> -<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/lastlog">/var/log/lastlog</primary></indexterm> -<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/wtmp">/var/log/wtmp</primary></indexterm> + <indexterm zone="ch-system-pwdgroup"> + <primary sortas="e-/var/run/utmp">/var/run/utmp</primary> + </indexterm> -<para>In order for user <emphasis>root</emphasis> to be able to login -and for the name <quote>root</quote> to be recognized, there must be relevant -entries in the <filename>/etc/passwd</filename> and -<filename>/etc/group</filename> files.</para> + <indexterm zone="ch-system-pwdgroup"> + <primary sortas="e-/var/log/btmp">/var/log/btmp</primary> + </indexterm> -<para>Create the <filename>/etc/passwd</filename> file by running the following -command:</para> + <indexterm zone="ch-system-pwdgroup"> + <primary sortas="e-/var/log/lastlog">/var/log/lastlog</primary> + </indexterm> + + <indexterm zone="ch-system-pwdgroup"> + <primary sortas="e-/var/log/wtmp">/var/log/wtmp</primary> + </indexterm> + + <para>In order for user <systemitem class="username">root</systemitem> to be + able to login and for the name <quote>root</quote> to be recognized, there + must be relevant entries in the <filename>/etc/passwd</filename> and + <filename>/etc/group</filename> files.</para> + + <para>Create the <filename>/etc/passwd</filename> file by running the following + command:</para> <screen><userinput>cat > /etc/passwd << "EOF" <literal>root:x:0:0:root:/root:/bin/bash</literal> EOF</userinput></screen> -<para>The actual password for <emphasis>root</emphasis> (the <quote>x</quote> -used here is just a placeholder) will be set later.</para> + <para>The actual password for <systemitem class="username">root</systemitem> + (the <quote>x</quote> used here is just a placeholder) will be set later.</para> -<para>Create the <filename>/etc/group</filename> file by running the following -command:</para> + <para>Create the <filename>/etc/group</filename> file by running the following + command:</para> <screen><userinput>cat > /etc/group << "EOF" <literal>root:x:0: @@ -51,49 +71,49 @@ usb:x:14: cdrom:x:15:</literal> EOF</userinput></screen> -<para>The created groups are not part of any standard—they are groups -decided on in part by the requirements of the Udev configuration in this -chapter, and in part by common convention employed by a number of existing Linux -distributions. The Linux Standard Base (LSB, available at <ulink -url="http://www.linuxbase.org"/>) recommends only that, besides the group -<quote>root</quote> with a Group ID (GID) of 0, a group <quote>bin</quote> with -a GID of 1 be present. All other group names and GIDs can be chosen freely by -the system administrator since well-written programs do not depend on GID -numbers, but rather use the group's name.</para> - -<para>To remove the <quote>I have no name!</quote> prompt, start a new -shell. Since a full Glibc was installed in <xref -linkend="chapter-temporary-tools"/> and the -<filename>/etc/passwd</filename> and <filename>/etc/group</filename> -files have been created, user name and group name resolution will now -work.</para> + <para>The created groups are not part of any standard—they are groups + decided on in part by the requirements of the Udev configuration in this + chapter, and in part by common convention employed by a number of existing + Linux distributions. The Linux Standard Base (LSB, available at <ulink + url="http://www.linuxbase.org"/>) recommends only that, besides the group + <systemitem class="groupname">root</systemitem> with a Group ID (GID) of 0, + a group <systemitem class="groupname">bin</systemitem> with a GID of 1 be + present. All other group names and GIDs can be chosen freely by the system + administrator since well-written programs do not depend on GID numbers, but + rather use the group's name.</para> + + <para>To remove the <quote>I have no name!</quote> prompt, start a new + shell. Since a full Glibc was installed in <xref + linkend="chapter-temporary-tools"/> and the + <filename>/etc/passwd</filename> and <filename>/etc/group</filename> + files have been created, user name and group name resolution will now + work.</para> <screen role="nodump"><userinput>exec /tools/bin/bash --login +h</userinput></screen> -<para>Note the use of the <parameter>+h</parameter> directive. This tells -<command>bash</command> not to use its internal path hashing. Without this -directive, <command>bash</command> would remember the paths to binaries it has -executed. To ensure the use of the newly compiled binaries as soon as they are -installed, the <parameter>+h</parameter> directive will be used for the duration -of this chapter.</para> + <para>Note the use of the <parameter>+h</parameter> directive. This tells + <command>bash</command> not to use its internal path hashing. Without this + directive, <command>bash</command> would remember the paths to binaries it has + executed. To ensure the use of the newly compiled binaries as soon as they are + installed, the <parameter>+h</parameter> directive will be used for the duration + of this chapter.</para> -<para>The <command>login</command>, <command>agetty</command>, and -<command>init</command> programs (and others) use a number of log -files to record information such as who was logged into the system and -when. However, these programs will not write to the log files if they -do not already exist. Initialize the log files and give them -proper permissions:</para> + <para>The <command>login</command>, <command>agetty</command>, and + <command>init</command> programs (and others) use a number of log + files to record information such as who was logged into the system and + when. However, these programs will not write to the log files if they + do not already exist. Initialize the log files and give them + proper permissions:</para> <screen><userinput>touch /var/run/utmp /var/log/{btmp,lastlog,wtmp} chgrp -v utmp /var/run/utmp /var/log/lastlog chmod -v 664 /var/run/utmp /var/log/lastlog</userinput></screen> -<para>The <filename>/var/run/utmp</filename> file records the users -that are currently logged in. The <filename>/var/log/wtmp</filename> -file records all logins and logouts. The -<filename>/var/log/lastlog</filename> file records when -each user last logged in. The <filename>/var/log/btmp</filename> file -records the bad login attempts.</para> + <para>The <filename>/var/run/utmp</filename> file records the users + that are currently logged in. The <filename>/var/log/wtmp</filename> + file records all logins and logouts. The + <filename>/var/log/lastlog</filename> file records when + each user last logged in. The <filename>/var/log/btmp</filename> file + records the bad login attempts.</para> </sect1> - diff --git a/chapter06/readjusting.xml b/chapter06/readjusting.xml index 18fc83d4a..e108286f0 100644 --- a/chapter06/readjusting.xml +++ b/chapter06/readjusting.xml @@ -1,113 +1,116 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" + "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!ENTITY % general-entities SYSTEM "../general.ent"> %general-entities; ]> + <sect1 id="ch-system-readjusting"> -<title>Re-adjusting the Toolchain</title> -<?dbhtml filename="readjusting.html"?> - -<para>Now that the final C libraries have been installed, it is time to adjust -the toolchain again. The toolchain will be adjusted so that it will link any -newly compiled program against these new libraries. This is a similar process -used in the <quote>Adjusting</quote> phase in the beginning of <xref -linkend="chapter-temporary-tools"/>, but with the adjustments reversed. In <xref -linkend="chapter-temporary-tools"/>, the chain was guided from the host's -<filename class="directory">/{,usr/}lib</filename> directories to the new -<filename class="directory">/tools/lib</filename> directory. Now, the chain will -be guided from that same <filename class="directory">/tools/lib</filename> -directory to the LFS <filename class="directory">/{,usr/}lib</filename> -directories.</para> - -<para>First, backup the <filename class="directory">/tools</filename> linker, and -replace it with the adjusted linker we made in chapter 5. We'll also create a -link to its counterpart in <filename class="directory">/tools/$(gcc -dumpmachine)/bin</filename>.</para> + <?dbhtml filename="readjusting.html"?> + + <title>Re-adjusting the Toolchain</title> + + <para>Now that the final C libraries have been installed, it is time to adjust + the toolchain again. The toolchain will be adjusted so that it will link any + newly compiled program against these new libraries. This is a similar process + used in the <quote>Adjusting</quote> phase in the beginning of <xref + linkend="chapter-temporary-tools"/>, but with the adjustments reversed. In <xref + linkend="chapter-temporary-tools"/>, the chain was guided from the host's + <filename class="directory">/{,usr/}lib</filename> directories to the new + <filename class="directory">/tools/lib</filename> directory. Now, the chain will + be guided from that same <filename class="directory">/tools/lib</filename> + directory to the LFS <filename class="directory">/{,usr/}lib</filename> + directories.</para> + + <para>First, backup the <filename class="directory">/tools</filename> linker, + and replace it with the adjusted linker we made in chapter 5. We'll also create + a link to its counterpart in <filename class="directory">/tools/$(gcc + -dumpmachine)/bin</filename>.</para> <screen><userinput>mv -v /tools/bin/{ld,ld-old} mv -v /tools/$(gcc -dumpmachine)/bin/{ld,ld-old} mv -v /tools/bin/{ld-new,ld} ln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld</userinput></screen> -<para>Next, amend the GCC specs file so that it points to the new -dynamic linker, and so that GCC knows where to find its start files. -A <command>perl</command> command accomplishes this:</para> + <para>Next, amend the GCC specs file so that it points to the new + dynamic linker, and so that GCC knows where to find its start files. + A <command>perl</command> command accomplishes this:</para> <screen><userinput>gcc -dumpspecs | \ perl -p -e 's@/tools/lib/ld-linux.so.2@/lib/ld-linux.so.2@g;' \ - -e 's@\*startfile_prefix_spec:\n@$_/usr/lib/ @g;' > \ - `dirname $(gcc --print-libgcc-file-name)`/specs -</userinput></screen> - -<para>It is a good idea to visually inspect the specs file to verify the intended -change was actually made.</para> - -<important><para>If working on a platform where the name of the -dynamic linker is something other than -<filename class="libraryfile">ld-linux.so.2</filename>, substitute -<quote>ld-linux.so.2</quote> with the name of the platform's -dynamic linker in the above commands. Refer back to <xref -linkend="ch-tools-toolchaintechnotes" role=","/> if -necessary.</para></important> - -<caution><para>It is imperative at this point to stop and ensure that -the basic functions (compiling and linking) of the adjusted toolchain -are working as expected. To do this, perform a sanity -check:</para> + -e 's@\*startfile_prefix_spec:\n@$_/usr/lib/ @g;' > \ + `dirname $(gcc --print-libgcc-file-name)`/specs</userinput></screen> + + <para>It is a good idea to visually inspect the specs file to verify the + intended change was actually made.</para> + + <important> + <para>If working on a platform where the name of the dynamic linker is + something other than <filename class="libraryfile">ld-linux.so.2</filename>, + substitute <quote>ld-linux.so.2</quote> with the name of the platform's + dynamic linker in the above commands. Refer back to <xref + linkend="ch-tools-toolchaintechnotes" role=","/> if necessary.</para> + </important> + + <caution> + <para>It is imperative at this point to stop and ensure that the basic + functions (compiling and linking) of the adjusted toolchain are working + as expected. To do this, perform a sanity check:</para> <screen><userinput>echo 'main(){}' > dummy.c cc dummy.c -Wl,--verbose &> dummy.log readelf -l a.out | grep ': /lib'</userinput></screen> -<para>If everything is working correctly, there should be no errors, -and the output of the last command will be (allowing for -platform-specific differences in dynamic linker name):</para> + <para>If everything is working correctly, there should be no errors, + and the output of the last command will be (allowing for + platform-specific differences in dynamic linker name):</para> <screen><computeroutput>[Requesting program interpreter: /lib/ld-linux.so.2]</computeroutput></screen> -<para>Note that <filename class="directory">/lib</filename> is now -the prefix of our dynamic linker.</para> + <para>Note that <filename class="directory">/lib</filename> is now + the prefix of our dynamic linker.</para> -<para>Now make sure that we're setup to use the correct start files:</para> + <para>Now make sure that we're setup to use the correct start files:</para> <screen><userinput>grep "/usr/lib/crt.* " dummy.log</userinput></screen> -<para>If everything is working correctly, there should be no errors, -and the output of the last command will be:</para> + <para>If everything is working correctly, there should be no errors, + and the output of the last command will be:</para> <screen><computeroutput>attempt to open /usr/lib/crt1.o succeeded attempt to open /usr/lib/crti.o succeeded attempt to open /usr/lib/crtn.o succeeded</computeroutput></screen> -<para>Next make sure that we're using the correct libc:</para> + <para>Next make sure that we're using the correct libc:</para> <screen><userinput>grep "/lib/libc.so.6 " dummy.log</userinput></screen> -<para>If everything is working correctly, there should be no errors, -and the output of the last command will be:</para> + <para>If everything is working correctly, there should be no errors, + and the output of the last command will be:</para> <screen><computeroutput>attempt to open /lib/libc.so.6 succeeded</computeroutput></screen> -<para>Lastly, make sure GCC is using the correct dynamic linker:</para> + <para>Lastly, make sure GCC is using the correct dynamic linker:</para> <screen><userinput>grep found dummy.log</userinput></screen> -<para>If everything is working correctly, there should be no errors, -and the output of the last command will be (allowing for -platform-specific differences in dynamic linker name):</para> + <para>If everything is working correctly, there should be no errors, + and the output of the last command will be (allowing for + platform-specific differences in dynamic linker name):</para> <screen><computeroutput>found ld-linux.so.2 at /lib/ld-linux.so.2</computeroutput></screen> -<para>If the output does not appear as shown above or is not received -at all, then something is seriously wrong. Investigate and retrace the -steps to find out where the problem is and correct it. The most likely -reason is that something went wrong with the specs file amendment -above. Any issues will need to be resolved before continuing on with -the process.</para> + <para>If the output does not appear as shown above or is not received + at all, then something is seriously wrong. Investigate and retrace the + steps to find out where the problem is and correct it. The most likely + reason is that something went wrong with the specs file amendment + above. Any issues will need to be resolved before continuing on with + the process.</para> -<para>Once everything is working correctly, clean up the test -files:</para> + <para>Once everything is working correctly, clean up the test + files:</para> -<screen><userinput>rm -v dummy.c a.out dummy.log</userinput></screen></caution> +<screen><userinput>rm -v dummy.c a.out dummy.log</userinput></screen> + </caution> </sect1> - diff --git a/chapter06/readline.xml b/chapter06/readline.xml index 235f38e8c..f61f934ab 100644 --- a/chapter06/readline.xml +++ b/chapter06/readline.xml @@ -1,111 +1,135 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" + "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!ENTITY % general-entities SYSTEM "../general.ent"> %general-entities; ]> + <sect1 id="ch-system-readline" role="wrap"> -<title>Readline-&readline-version;</title> -<?dbhtml filename="readline.html"?> + <?dbhtml filename="readline.html"?> + + <title>Readline-&readline-version;</title> + + <indexterm zone="ch-system-readline"> + <primary sortas="a-Readline">Readline</primary> + </indexterm> + + <sect2 role="package"> + <title/> -<indexterm zone="ch-system-readline"><primary sortas="a-Readline">Readline</primary></indexterm> + <para>The Readline package is a set of libraries that offers command-line + editing and history capabilities.</para> -<sect2 role="package"><title/> -<para>The Readline package is a set of libraries that offers command-line -editing and history capabilities.</para> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.11 SBU</seg><seg>9.1 MB</seg></seglistitem> -</segmentedlist> + <seglistitem> + <seg>0.11 SBU</seg> + <seg>9.1 MB</seg> + </seglistitem> + </segmentedlist> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Binutils, Coreutils, Diffutils, Gawk, -GCC, Glibc, Grep, Make, Ncurses, and Sed</seg></seglistitem> -</segmentedlist> -</sect2> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<sect2 role="installation"> -<title>Installation of Readline</title> + <seglistitem> + <seg>Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, + Ncurses, and Sed</seg> + </seglistitem> + </segmentedlist> -<para>Prepare Readline for compilation:</para> + </sect2> + + <sect2 role="installation"> + <title>Installation of Readline</title> + + <para>Prepare Readline for compilation:</para> <screen><userinput>./configure --prefix=/usr --libdir=/lib</userinput></screen> -<para>Compile the package:</para> + <para>Compile the package:</para> <screen><userinput>make SHLIB_LIBS=-lncurses</userinput></screen> -<para>The meaning of the make option:</para> + <variablelist> + <title>The meaning of the make option:</title> -<variablelist> -<varlistentry> -<term><parameter>SHLIB_LIBS=-lncurses</parameter></term> -<listitem><para>This option forces Readline to link against the -<filename class="libraryfile">libncurses</filename> -(really, <filename class="libraryfile">libncursesw</filename>) -library.</para></listitem> -</varlistentry> -</variablelist> + <varlistentry> + <term><parameter>SHLIB_LIBS=-lncurses</parameter></term> + <listitem> + <para>This option forces Readline to link against the + <filename class="libraryfile">libncurses</filename> (really, + <filename class="libraryfile">libncursesw</filename>) library.</para> + </listitem> + </varlistentry> -<para>This package does not come with a test suite.</para> + </variablelist> -<para>Install the package:</para> + <para>This package does not come with a test suite.</para> + + <para>Install the package:</para> <screen><userinput>make install</userinput></screen> -<para>Give Readline's dynamic libraries more appropriate permissions:</para> + <para>Give Readline's dynamic libraries more appropriate permissions:</para> <screen><userinput>chmod -v 755 /lib/lib{readline,history}.so*</userinput></screen> -<para>Now move the static libraries to a more appropriate location:</para> + <para>Now move the static libraries to a more appropriate location:</para> <screen><userinput>mv -v /lib/lib{readline,history}.a /usr/lib</userinput></screen> -<para>Next, remove the <filename class="extension">.so</filename> files in -<filename class="directory">/lib</filename> and relink them into <filename -class="directory">/usr/lib</filename>.</para> + <para>Next, remove the <filename class="extension">.so</filename> files in + <filename class="directory">/lib</filename> and relink them into <filename + class="directory">/usr/lib</filename>.</para> <screen><userinput>rm -v /lib/lib{readline,history}.so ln -sfv ../../lib/libreadline.so.5 /usr/lib/libreadline.so ln -sfv ../../lib/libhistory.so.5 /usr/lib/libhistory.so</userinput></screen> -</sect2> - - -<sect2 id="contents-readline" role="content"><title>Contents of Readline</title> -<segmentedlist> -<segtitle>Installed libraries</segtitle> -<seglistitem><seg>libhistory.[a,so], and libreadline.[a,so]</seg></seglistitem> -</segmentedlist> - -<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> -<?dbfo list-presentation="list"?> -<?dbhtml list-presentation="table"?> - -<varlistentry id="libhistory"> -<term><filename class="libraryfile">libhistory</filename></term> -<listitem> -<para>Provides a consistent user interface -for recalling lines of history</para> -<indexterm zone="ch-system-readline libhistory"><primary sortas="c-libhistory">libhistory</primary></indexterm> -</listitem> -</varlistentry> - -<varlistentry id="libreadline"> -<term><filename class="libraryfile">libreadline</filename></term> -<listitem> -<para>Aids in the consistency of user interface -across discrete programs that need to provide a command line -interface</para> -<indexterm zone="ch-system-readline libreadline"><primary sortas="c-libreadline">libreadline</primary></indexterm> -</listitem> -</varlistentry> - -</variablelist> - -</sect2> + </sect2> + + <sect2 id="contents-readline" role="content"> + <title>Contents of Readline</title> + + <segmentedlist> + <segtitle>Installed libraries</segtitle> + + <seglistitem> + <seg>libhistory.[a,so], and libreadline.[a,so]</seg> + </seglistitem> + </segmentedlist> + + <variablelist> + <bridgehead renderas="sect3">Short Descriptions</bridgehead> + <?dbfo list-presentation="list"?> + <?dbhtml list-presentation="table"?> + + <varlistentry id="libhistory"> + <term><filename class="libraryfile">libhistory</filename></term> + <listitem> + <para>Provides a consistent user interface for recalling lines + of history</para> + <indexterm zone="ch-system-readline libhistory"> + <primary sortas="c-libhistory">libhistory</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libreadline"> + <term><filename class="libraryfile">libreadline</filename></term> + <listitem> + <para>Aids in the consistency of user interface across discrete + programs that need to provide a command line interface</para> + <indexterm zone="ch-system-readline libreadline"> + <primary sortas="c-libreadline">libreadline</primary> + </indexterm> + </listitem> + </varlistentry> + + </variablelist> + + </sect2> </sect1> - diff --git a/chapter06/revisedchroot.xml b/chapter06/revisedchroot.xml index 29eeba80a..5954b64be 100644 --- a/chapter06/revisedchroot.xml +++ b/chapter06/revisedchroot.xml @@ -1,30 +1,34 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" + "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!ENTITY % general-entities SYSTEM "../general.ent"> %general-entities; ]> + <sect1 id="ch-system-revisedchroot"> -<title>Cleaning Up</title> -<?dbhtml filename="revisedchroot.html"?> + <?dbhtml filename="revisedchroot.html"?> + + <title>Cleaning Up</title> -<para>From now on, when reentering the chroot environment after -exiting, use the following modified chroot command:</para> + <para>From now on, when reentering the chroot environment after + exiting, use the following modified chroot command:</para> <screen><userinput>chroot "$LFS" /usr/bin/env -i \ HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \ PATH=/bin:/usr/bin:/sbin:/usr/sbin \ /bin/bash --login</userinput></screen> -<para>The reason for this is that the programs in <filename -class="directory">/tools</filename> are no longer needed. Since they are no -longer needed you can delete the <filename class="directory">/tools</filename> -directory if so desired.</para> + <para>The reason for this is that the programs in <filename + class="directory">/tools</filename> are no longer needed. Since they are no + longer needed you can delete the <filename class="directory">/tools</filename> + directory if so desired.</para> -<note><para>Removing <filename class="directory">/tools</filename> will also -remove the temporary copies of Tcl, Expect, and DejaGNU which were used for -running the toolchain tests. If you need these programs later on, they will need -to be recompiled and re-installed. The BLFS book has instructions for this (see -<ulink url="&blfs-root;"/>).</para></note> + <note> + <para>Removing <filename class="directory">/tools</filename> will also + remove the temporary copies of Tcl, Expect, and DejaGNU which were used + for running the toolchain tests. If you need these programs later on, + they will need to be recompiled and re-installed. The BLFS book has + instructions for this (see <ulink url="&blfs-root;"/>).</para> + </note> </sect1> - diff --git a/chapter06/sed.xml b/chapter06/sed.xml index 01c2a6d45..7fd46232a 100644 --- a/chapter06/sed.xml +++ b/chapter06/sed.xml @@ -1,79 +1,100 @@ <?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" + "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ <!ENTITY % general-entities SYSTEM "../general.ent"> %general-entities; ]> + <sect1 id="ch-system-sed" role="wrap"> -<title>Sed-&sed-version;</title> -<?dbhtml filename="sed.html"?> + <?dbhtml filename="sed.html"?> + + <title>Sed-&sed-version;</title> + + <indexterm zone="ch-system-sed"> + <primary sortas="a-Sed">Sed</primary> + </indexterm> + + <sect2 role="package"> + <title/> -<indexterm zone="ch-system-sed"><primary sortas="a-Sed">Sed</primary></indexterm> + <para>The Sed package contains a stream editor.</para> -<sect2 role="package"><title/> -<para>The Sed package contains a stream editor.</para> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.2 SBU</seg><seg>8.4 MB</seg></seglistitem> -</segmentedlist> + <seglistitem> + <seg>0.2 SBU</seg> + <seg>8.4 MB</seg> + </seglistitem> + </segmentedlist> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Binutils, Coreutils, -Diffutils, GCC, Gettext, Glibc, Grep, Make, and Texinfo</seg></seglistitem> -</segmentedlist> -</sect2> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<sect2 role="installation"> -<title>Installation of Sed</title> + <seglistitem> + <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, + Grep, Make, and Texinfo</seg> + </seglistitem> + </segmentedlist> -<para>By default, Sed installs its HTML documentation in -<filename class="directory">/usr/share/doc</filename>. Alter this to -<filename class="directory">/usr/share/doc/sed-&sed-version;</filename> by -applying the following <command>sed</command>:</para> + </sect2> + + <sect2 role="installation"> + <title>Installation of Sed</title> + + <para>By default, Sed installs its HTML documentation in + <filename class="directory">/usr/share/doc</filename>. Alter this to + <filename class="directory">/usr/share/doc/sed-&sed-version;</filename> by + applying the following <command>sed</command>:</para> <screen><userinput>sed -i 's@/doc@&/sed-&sed-version;@' doc/Makefile.in</userinput></screen> -<para>Prepare Sed for compilation:</para> + <para>Prepare Sed for compilation:</para> <screen><userinput>./configure --prefix=/usr --bindir=/bin</userinput></screen> -<para>Compile the package:</para> + <para>Compile the package:</para> <screen><userinput>make</userinput></screen> -<para>To test the results, issue: -<userinput>make check</userinput>.</para> + <para>To test the results, issue: + <userinput>make check</userinput>.</para> -<para>Install the package:</para> + <para>Install the package:</para> <screen><userinput>make install</userinput></screen> -</sect2> + </sect2> + <sect2 id="contents-sed" role="content"> + <title>Contents of Sed</title> -<sect2 id="contents-sed" role="content"><title>Contents of Sed</title> + <segmentedlist> + <segtitle>Installed program</segtitle> -<segmentedlist> -<segtitle>Installed program</segtitle> -<seglistitem><seg>sed</seg></seglistitem> -</segmentedlist> + <seglistitem> + <seg>sed</seg> + </seglistitem> + </segmentedlist> -<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> -<?dbfo list-presentation="list"?> -<?dbhtml list-presentation="table"?> + <variablelist> + <bridgehead renderas="sect3">Short Descriptions</bridgehead> + <?dbfo list-presentation="list"?> + <?dbhtml list-presentation="table"?> -<varlistentry id="sed"> -<term><command>sed</command></term> -<listitem> -<para>Filters and transforms text files in a single pass</para> -<indexterm zone="ch-system-sed sed"><primary sortas="b-sed">sed</primary></indexterm> -</listitem> -</varlistentry> -</variablelist> + <varlistentry id="sed"> + <term><command>sed</command></term> + <listitem> + <para>Filters and transforms text files in a single pass</para> + <indexterm zone="ch-system-sed sed"> + <primary sortas="b-sed">sed</primary> + </indexterm> + </listitem> + </varlistentry> -</sect2> + </variablelist> -</sect1> + </sect2> +</sect1> |