Indenting chapter 6, part 9

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7362 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Manuel Canales Esparcia 2006-02-07 19:39:29 +00:00
parent 1ca11cdcf4
commit 3f3931b0a8
9 changed files with 1037 additions and 787 deletions

View File

@ -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"?>
<indexterm zone="ch-system-perl"><primary sortas="a-Perl">Perl</primary></indexterm>
<title>Perl-&perl-version;</title>
<sect2 role="package"><title/>
<para>The Perl package contains the Practical Extraction and Report Language.</para>
<indexterm zone="ch-system-perl">
<primary sortas="a-Perl">Perl</primary>
</indexterm>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>2.9 SBU</seg><seg>137 MB</seg></seglistitem>
</segmentedlist>
<sect2 role="package">
<title/>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Berkeley DB, Binutils, Coreutils, Diffutils,
Gawk, GCC, Glibc, Grep, Make, and Sed</seg></seglistitem>
</segmentedlist>
</sect2>
<para>The Perl package contains the Practical Extraction and Report
Language.</para>
<sect2 role="installation">
<title>Installation of Perl</title>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<para>A security vulnerability exists in Perl's sprintf function. Apply the
following patch to fix it.</para>
<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>
<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)" &gt; /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>
<sect2 id="contents-perl" role="content">
<title>Contents of Perl</title>
<sect2 id="contents-perl" role="content"><title>Contents of Perl</title>
<segmentedlist>
<segtitle>Installed programs</segtitle>
<segtitle>Installed libraries</segtitle>
<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>
<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"?>
<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="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="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="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="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="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="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="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="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">
<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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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>
<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>
</variablelist>
</sect2>
</sect2>
</sect1>

View File

@ -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&mdash;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>

View File

@ -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"?>
<indexterm zone="ch-system-procps"><primary sortas="a-Procps">Procps</primary></indexterm>
<title>Procps-&procps-version;</title>
<sect2 role="package"><title/>
<para>The Procps package contains programs for monitoring processes.</para>
<indexterm zone="ch-system-procps">
<primary sortas="a-Procps">Procps</primary>
</indexterm>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.1 SBU</seg><seg>2.3 MB</seg></seglistitem>
</segmentedlist>
<sect2 role="package">
<title/>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, GCC, Glibc,
Make, and Ncurses</seg></seglistitem>
</segmentedlist>
</sect2>
<para>The Procps package contains programs for monitoring processes.</para>
<sect2 role="installation">
<title>Installation of Procps</title>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<para>Compile the package:</para>
<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>
<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>
<sect2 id="contents-procps" role="content">
<title>Contents of Procps</title>
<sect2 id="contents-procps" role="content"><title>Contents of Procps</title>
<segmentedlist>
<segtitle>Installed programs</segtitle>
<segtitle>Installed library</segtitle>
<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>
<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"?>
<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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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>
<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>
</sect2>
</variablelist>
</sect2>
</sect1>

View File

@ -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"?>
<indexterm zone="ch-system-psmisc"><primary sortas="a-Psmisc">Psmisc</primary></indexterm>
<title>Psmisc-&psmisc-version;</title>
<sect2 role="package"><title/>
<para>The Psmisc package contains programs for displaying information about
running processes.</para>
<indexterm zone="ch-system-psmisc">
<primary sortas="a-Psmisc">Psmisc</primary>
</indexterm>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.1 SBU</seg><seg>1.7 MB</seg></seglistitem>
</segmentedlist>
<sect2 role="package">
<title/>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Gettext, Glibc, Grep, Make, Ncurses, and Sed</seg></seglistitem>
</segmentedlist>
</sect2>
<para>The Psmisc package contains programs for displaying information about
running processes.</para>
<sect2 role="installation">
<title>Installation of Psmisc</title>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<para>Prepare Psmisc for compilation:</para>
<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>
<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>
<sect2 id="contents-psmisc" role="content">
<title>Contents of Psmisc</title>
<sect2 id="contents-psmisc" role="content"><title>Contents of Psmisc</title>
<segmentedlist>
<segtitle>Installed programs</segtitle>
<segmentedlist>
<segtitle>Installed programs</segtitle>
<seglistitem><seg>fuser, killall, pstree, and pstree.x11 (link to pstree)</seg></seglistitem>
</segmentedlist>
<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"?>
<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="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="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="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">
<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>
<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>
</sect2>
</variablelist>
</sect2>
</sect1>

View File

@ -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"?>
<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>
<title>Creating the passwd, group, and log Files</title>
<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-/etc/passwd">/etc/passwd</primary>
</indexterm>
<para>Create the <filename>/etc/passwd</filename> file by running the following
command:</para>
<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>
<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 &gt; /etc/passwd &lt;&lt; "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 &gt; /etc/group &lt;&lt; "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&mdash;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>The created groups are not part of any standard&mdash;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>
<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>

View File

@ -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"?>
<?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>
<title>Re-adjusting the Toolchain</title>
<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>
<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;' &gt; \
`dirname $(gcc --print-libgcc-file-name)`/specs
</userinput></screen>
-e 's@\*startfile_prefix_spec:\n@$_/usr/lib/ @g;' &gt; \
`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>
<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>
<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>
<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(){}' &gt; dummy.c
cc dummy.c -Wl,--verbose &amp;&gt; 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>

View File

@ -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"?>
<indexterm zone="ch-system-readline"><primary sortas="a-Readline">Readline</primary></indexterm>
<title>Readline-&readline-version;</title>
<sect2 role="package"><title/>
<para>The Readline package is a set of libraries that offers command-line
editing and history capabilities.</para>
<indexterm zone="ch-system-readline">
<primary sortas="a-Readline">Readline</primary>
</indexterm>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.11 SBU</seg><seg>9.1 MB</seg></seglistitem>
</segmentedlist>
<sect2 role="package">
<title/>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Binutils, Coreutils, Diffutils, Gawk,
GCC, Glibc, Grep, Make, Ncurses, and Sed</seg></seglistitem>
</segmentedlist>
</sect2>
<para>The Readline package is a set of libraries that offers command-line
editing and history capabilities.</para>
<sect2 role="installation">
<title>Installation of Readline</title>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<para>Prepare Readline for compilation:</para>
<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>
<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>
<sect2 id="contents-readline" role="content">
<title>Contents of Readline</title>
<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>
<segmentedlist>
<segtitle>Installed libraries</segtitle>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<seglistitem>
<seg>libhistory.[a,so], and libreadline.[a,so]</seg>
</seglistitem>
</segmentedlist>
<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>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<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>
<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>
</variablelist>
<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>
</sect2>
</variablelist>
</sect2>
</sect1>

View File

@ -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"?>
<para>From now on, when reentering the chroot environment after
exiting, use the following modified chroot command:</para>
<sect1 id="ch-system-revisedchroot">
<?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>
<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>

View File

@ -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"?>
<indexterm zone="ch-system-sed"><primary sortas="a-Sed">Sed</primary></indexterm>
<title>Sed-&sed-version;</title>
<sect2 role="package"><title/>
<para>The Sed package contains a stream editor.</para>
<indexterm zone="ch-system-sed">
<primary sortas="a-Sed">Sed</primary>
</indexterm>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.2 SBU</seg><seg>8.4 MB</seg></seglistitem>
</segmentedlist>
<sect2 role="package">
<title/>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make, and Texinfo</seg></seglistitem>
</segmentedlist>
</sect2>
<para>The Sed package contains a stream editor.</para>
<sect2 role="installation">
<title>Installation of Sed</title>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<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>
<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>
<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@&amp;/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>
</sect2>
</sect1>