Finished the XML indentation plus few tags changes.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7369 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Manuel Canales Esparcia 2006-02-10 19:05:30 +00:00
parent 3f3931b0a8
commit ddd554266c
12 changed files with 2434 additions and 1879 deletions

View File

@ -36,6 +36,16 @@
</listitem> </listitem>
--> -->
<listitem>
<para>Febraury 10, 2006</para>
<itemizedlist>
<listitem>
<para>[manuel] - Finished the XML indentation plus few tags
changes.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem> <listitem>
<para>January 30, 2006</para> <para>January 30, 2006</para>
<itemizedlist> <itemizedlist>

View File

@ -1,440 +1,541 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?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"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="ch-system-shadow" role="wrap"> <sect1 id="ch-system-shadow" role="wrap">
<title>Shadow-&shadow-version;</title> <?dbhtml filename="shadow.html"?>
<?dbhtml filename="shadow.html"?>
<indexterm zone="ch-system-shadow"><primary sortas="a-Shadow">Shadow</primary></indexterm> <title>Shadow-&shadow-version;</title>
<sect2 role="package"><title/> <indexterm zone="ch-system-shadow">
<para>The Shadow package contains programs for handling passwords in a secure <primary sortas="a-Shadow">Shadow</primary>
way.</para> </indexterm>
<segmentedlist> <sect2 role="package">
<segtitle>&buildtime;</segtitle> <title/>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.4 SBU</seg><seg>14.7 MB</seg></seglistitem>
</segmentedlist>
<segmentedlist> <para>The Shadow package contains programs for handling passwords in a secure
<segtitle>&dependencies;</segtitle> way.</para>
<seglistitem><seg>Bash, Binutils, Bison, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make, and Sed</seg></seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation"> <segmentedlist>
<title>Installation of Shadow</title> <segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<note><para>If you would like to enforce the use of strong passwords, refer to <seglistitem>
<ulink url="&blfs-root;view/svn/postlfs/cracklib.html"/> for installing Cracklib <seg>0.4 SBU</seg>
prior to building Shadow. Then add <parameter>--with-libcrack</parameter> to the <seg>14.7 MB</seg>
<command>configure</command> command below.</para></note> </seglistitem>
</segmentedlist>
<para>Prepare Shadow for compilation:</para> <segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem>
<seg>Bash, Binutils, Bison, Coreutils, Diffutils, GCC, Gettext,
Glibc, Grep, Make, and Sed</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Shadow</title>
<note>
<para>If you would like to enforce the use of strong passwords, refer to
<ulink url="&blfs-root;view/svn/postlfs/cracklib.html"/> for installing
Cracklib prior to building Shadow. Then add
<parameter>--with-libcrack</parameter> to the <command>configure</command>
command below.</para>
</note>
<para>Prepare Shadow for compilation:</para>
<screen><userinput>./configure --libdir=/lib --enable-shared --without-selinux</userinput></screen> <screen><userinput>./configure --libdir=/lib --enable-shared --without-selinux</userinput></screen>
<para>The meaning of the configure options:</para> <variablelist>
<title>The meaning of the configure options:</title>
<variablelist> <varlistentry>
<varlistentry> <term><parameter>--without-selinux</parameter></term>
<term><parameter>--without-selinux</parameter></term> <listitem>
<listitem><para>Support for selinux is enabled by default, but selinux is not <para>Support for selinux is enabled by default, but selinux is not
built in a base LFS system. The <command>configure</command> script will fail built in a base LFS system. The <command>configure</command> script
if this option is not used.</para></listitem> will fail if this option is not used.</para>
</varlistentry> </listitem>
</variablelist> </varlistentry>
<para>Disable the installation of the <command>groups</command> program and its man page, as Coreutils provides a better version:</para> </variablelist>
<para>Disable the installation of the <command>groups</command> program
and its man page, as Coreutils provides a better version:</para>
<screen><userinput>sed -i 's/groups$(EXEEXT) //' src/Makefile <screen><userinput>sed -i 's/groups$(EXEEXT) //' src/Makefile
find man -name Makefile -exec sed -i '/groups/d' {} \;</userinput></screen> find man -name Makefile -exec sed -i '/groups/d' {} \;</userinput></screen>
<para>Disable the installation of Chinese and Korean manual pages, since Man-DB <para>Disable the installation of Chinese and Korean manual pages, since
cannot format them properly:</para> Man-DB cannot format them properly:</para>
<screen><userinput>sed -i -e 's/ ko//' -e 's/ zh_CN zh_TW//' man/Makefile</userinput></screen> <screen><userinput>sed -i -e 's/ ko//' -e 's/ zh_CN zh_TW//' man/Makefile</userinput></screen>
<para>Compile the package:</para> <para>Compile the package:</para>
<screen><userinput>make</userinput></screen> <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> <screen><userinput>make install</userinput></screen>
<para id="shadow-limits-login_access">Shadow uses two files to configure <para id="shadow-limits-login_access">Shadow uses two files to configure
authentication settings for the system. Install these two configuration authentication settings for the system. Install these two configuration
files:</para> files:</para>
<indexterm zone="shadow-limits-login_access"><primary sortas="e-/etc/limits">/etc/limits</primary></indexterm> <indexterm zone="shadow-limits-login_access">
<indexterm zone="shadow-limits-login_access"><primary sortas="e-/etc/login.access">/etc/login.access</primary></indexterm> <primary sortas="e-/etc/limits">/etc/limits</primary>
</indexterm>
<indexterm zone="shadow-limits-login_access">
<primary sortas="e-/etc/login.access">/etc/login.access</primary>
</indexterm>
<screen><userinput>cp -v etc/{limits,login.access} /etc</userinput></screen> <screen><userinput>cp -v etc/{limits,login.access} /etc</userinput></screen>
<para id="shadow-login_defs">Instead of using the default <emphasis>crypt</emphasis> method, <para id="shadow-login_defs">Instead of using the default
use the more secure <emphasis>MD5</emphasis> method of password <emphasis>crypt</emphasis> method, use the more secure
encryption, which also allows passwords longer than 8 characters. It <emphasis>MD5</emphasis> method of password encryption, which also allows
is also necessary to change the obsolete <filename passwords longer than 8 characters. It is also necessary to change the
class="directory">/var/spool/mail</filename> location for user obsolete <filename class="directory">/var/spool/mail</filename> location
mailboxes that Shadow uses by default to the <filename for user mailboxes that Shadow uses by default to the <filename
class="directory">/var/mail</filename> location used currently. Both class="directory">/var/mail</filename> location used currently. Both of
of these can be accomplished by changing the relevant configuration these can be accomplished by changing the relevant configuration file
file while copying it to its destination:</para> while copying it to its destination:</para>
<indexterm zone="shadow-login_defs"><primary sortas="e-/etc/login.defs">/etc/login.defs</primary></indexterm> <indexterm zone="shadow-login_defs">
<primary sortas="e-/etc/login.defs">/etc/login.defs</primary>
</indexterm>
<note><para>If you built Shadow with Cracklib support, insert the following into <note>
the <command>sed</command> given below:</para> <para>If you built Shadow with Cracklib support, insert the following into
the <command>sed</command> given below:</para>
<screen><literal>-e 's@DICTPATH.*@DICTPATH\t/lib/cracklib/pw_dict@'</literal></screen> <screen><literal>-e 's@DICTPATH.*@DICTPATH\t/lib/cracklib/pw_dict@'</literal></screen>
</note> </note>
<screen><userinput>sed -e's@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@' \ <screen><userinput>sed -e's@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@' \
-e 's@/var/spool/mail@/var/mail@' \ -e 's@/var/spool/mail@/var/mail@' \
etc/login.defs &gt; /etc/login.defs</userinput></screen> etc/login.defs &gt; /etc/login.defs</userinput></screen>
<para>Move a misplaced program to its proper location:</para> <para>Move a misplaced program to its proper location:</para>
<screen><userinput>mv -v /usr/bin/passwd /bin</userinput></screen> <screen><userinput>mv -v /usr/bin/passwd /bin</userinput></screen>
<para>Move Shadow's libraries to more appropriate locations:</para> <para>Move Shadow's libraries to more appropriate locations:</para>
<screen><userinput>mv -v /lib/libshadow.*a /usr/lib <screen><userinput>mv -v /lib/libshadow.*a /usr/lib
rm -v /lib/libshadow.so rm -v /lib/libshadow.so
ln -sfv ../../lib/libshadow.so.0 /usr/lib/libshadow.so</userinput></screen> ln -sfv ../../lib/libshadow.so.0 /usr/lib/libshadow.so</userinput></screen>
<para>The <parameter>-D</parameter> option of the <para>The <parameter>-D</parameter> option of the
<command>useradd</command> program requires the <filename <command>useradd</command> program requires the <filename
class="directory">/etc/default</filename> directory for it to work class="directory">/etc/default</filename> directory for it to work
properly:</para> properly:</para>
<screen><userinput>mkdir -v /etc/default</userinput></screen> <screen><userinput>mkdir -v /etc/default</userinput></screen>
</sect2> </sect2>
<sect2 id="conf-shadow" role="configuration">
<title>Configuring Shadow</title>
<sect2 id="conf-shadow" role="configuration"><title>Configuring Shadow</title> <indexterm zone="conf-shadow">
<indexterm zone="conf-shadow"> <primary sortas="a-Shadow">Shadow</primary>
<primary sortas="a-Shadow">Shadow</primary> <secondary>configuring</secondary>
<secondary>configuring</secondary></indexterm> </indexterm>
<para>This package contains utilities to add, modify, and delete users <para>This package contains utilities to add, modify, and delete users and
and groups; set and change their passwords; and perform other groups; set and change their passwords; and perform other administrative
administrative tasks. For a full explanation of what tasks. For a full explanation of what <emphasis>password shadowing</emphasis>
<emphasis>password shadowing</emphasis> means, see the means, see the <filename>doc/HOWTO</filename> file within the unpacked
<filename>doc/HOWTO</filename> file within the unpacked source tree. source tree. If using Shadow support, keep in mind that programs which need
If using Shadow support, keep in mind that programs which need to to verify passwords (display managers, FTP programs, pop3 daemons, etc.)
verify passwords (display managers, FTP programs, pop3 daemons, etc.) must be Shadow-compliant. That is, they need to be able to work with
must be Shadow-compliant. That is, they need to be able to work with shadowed passwords.</para>
shadowed passwords.</para>
<para>To enable shadowed passwords, run the following command:</para> <para>To enable shadowed passwords, run the following command:</para>
<screen><userinput>pwconv</userinput></screen> <screen><userinput>pwconv</userinput></screen>
<para>To enable shadowed group passwords, run:</para> <para>To enable shadowed group passwords, run:</para>
<screen><userinput>grpconv</userinput></screen> <screen><userinput>grpconv</userinput></screen>
<para>Under normal circumstances, passwords will not have been created <para>Under normal circumstances, passwords will not have been created
yet. However, if returning to this section later to enable shadowing, yet. However, if returning to this section later to enable shadowing,
reset any current user passwords with the <command>passwd</command> reset any current user passwords with the <command>passwd</command>
command or any group passwords with the <command>gpasswd</command> command or any group passwords with the <command>gpasswd</command>
command.</para> command.</para>
</sect2> </sect2>
<sect2 role="configuration">
<title>Setting the root password</title>
<sect2 role="configuration"> <para>Choose a password for user <emphasis>root</emphasis> and set it
<title>Setting the root password</title> by running:</para>
<para>Choose a password for user <emphasis>root</emphasis> and set it
by running:</para>
<screen role="nodump"><userinput>passwd root</userinput></screen> <screen role="nodump"><userinput>passwd root</userinput></screen>
</sect2>
</sect2>
<sect2 id="contents-shadow" role="content"><title>Contents of Shadow</title> <sect2 id="contents-shadow" role="content">
<title>Contents of Shadow</title>
<segmentedlist> <segmentedlist>
<segtitle>Installed programs</segtitle> <segtitle>Installed programs</segtitle>
<segtitle>Installed libraries</segtitle> <segtitle>Installed libraries</segtitle>
<seglistitem><seg>chage, chfn, chpasswd, chsh, expiry, faillog, gpasswd,
groupadd, groupdel, groupmod, grpck, grpconv, grpunconv, lastlog, login,
logoutd, newgrp, newusers, passwd, pwck, pwconv, pwunconv, sg (link to newgrp),
su, useradd, userdel, usermod, vigr (link to vipw), and vipw</seg>
<seg>libshadow.[a,so]</seg>
</seglistitem>
</segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> <seglistitem>
<?dbfo list-presentation="list"?> <seg>chage, chfn, chpasswd, chsh, expiry, faillog, gpasswd, groupadd,
<?dbhtml list-presentation="table"?> groupdel, groupmod, grpck, grpconv, grpunconv, lastlog, login, logoutd,
newgrp, newusers, passwd, pwck, pwconv, pwunconv, sg (link to newgrp),
su, useradd, userdel, usermod, vigr (link to vipw), and vipw</seg>
<seg>libshadow.[a,so]</seg>
</seglistitem>
</segmentedlist>
<varlistentry id="chage"> <variablelist>
<term><command>chage</command></term> <bridgehead renderas="sect3">Short Descriptions</bridgehead>
<listitem> <?dbfo list-presentation="list"?>
<para>Used to change the maximum number of days between obligatory <?dbhtml list-presentation="table"?>
password changes</para>
<indexterm zone="ch-system-shadow chage"><primary sortas="b-chage">chage</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="chfn"> <varlistentry id="chage">
<term><command>chfn</command></term> <term><command>chage</command></term>
<listitem> <listitem>
<para>Used to change a user's full name and other information</para> <para>Used to change the maximum number of days between obligatory
<indexterm zone="ch-system-shadow chfn"><primary sortas="b-chfn">chfn</primary></indexterm> password changes</para>
</listitem> <indexterm zone="ch-system-shadow chage">
</varlistentry> <primary sortas="b-chage">chage</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="chpasswd"> <varlistentry id="chfn">
<term><command>chpasswd</command></term> <term><command>chfn</command></term>
<listitem> <listitem>
<para>Used to update the passwords of an entire series of user <para>Used to change a user's full name and other information</para>
accounts</para> <indexterm zone="ch-system-shadow chfn">
<indexterm zone="ch-system-shadow chpasswd"><primary sortas="b-chpasswd">chpasswd</primary></indexterm> <primary sortas="b-chfn">chfn</primary>
</listitem> </indexterm>
</varlistentry> </listitem>
</varlistentry>
<varlistentry id="chsh"> <varlistentry id="chpasswd">
<term><command>chsh</command></term> <term><command>chpasswd</command></term>
<listitem> <listitem>
<para>Used to change a user's default login shell</para> <para>Used to update the passwords of an entire series of user
<indexterm zone="ch-system-shadow chsh"><primary sortas="b-chsh">chsh</primary></indexterm> accounts</para>
</listitem> <indexterm zone="ch-system-shadow chpasswd">
</varlistentry> <primary sortas="b-chpasswd">chpasswd</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="expiry"> <varlistentry id="chsh">
<term><command>expiry</command></term> <term><command>chsh</command></term>
<listitem> <listitem>
<para>Checks and enforces the current password expiration policy</para> <para>Used to change a user's default login shell</para>
<indexterm zone="ch-system-shadow expiry"><primary sortas="b-expiry">expiry</primary></indexterm> <indexterm zone="ch-system-shadow chsh">
</listitem> <primary sortas="b-chsh">chsh</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="faillog"> <varlistentry id="expiry">
<term><command>faillog</command></term> <term><command>expiry</command></term>
<listitem> <listitem>
<para>Is used to examine the log of login failures, to set a maximum number of <para>Checks and enforces the current password expiration policy</para>
failures before an account is blocked, or to reset the failure count</para> <indexterm zone="ch-system-shadow expiry">
<indexterm zone="ch-system-shadow faillog"><primary sortas="b-faillog">faillog</primary></indexterm> <primary sortas="b-expiry">expiry</primary>
</listitem> </indexterm>
</varlistentry> </listitem>
</varlistentry>
<varlistentry id="gpasswd"> <varlistentry id="faillog">
<term><command>gpasswd</command></term> <term><command>faillog</command></term>
<listitem> <listitem>
<para>Is used to add and delete members and administrators to groups</para> <para>Is used to examine the log of login failures, to set a maximum
<indexterm zone="ch-system-shadow gpasswd"><primary sortas="b-gpasswd">gpasswd</primary></indexterm> number of failures before an account is blocked, or to reset the
</listitem> failure count</para>
</varlistentry> <indexterm zone="ch-system-shadow faillog">
<primary sortas="b-faillog">faillog</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="groupadd"> <varlistentry id="gpasswd">
<term><command>groupadd</command></term> <term><command>gpasswd</command></term>
<listitem> <listitem>
<para>Creates a group with the given name</para> <para>Is used to add and delete members and administrators to
<indexterm zone="ch-system-shadow groupadd"><primary sortas="b-groupadd">groupadd</primary></indexterm> groups</para>
</listitem> <indexterm zone="ch-system-shadow gpasswd">
</varlistentry> <primary sortas="b-gpasswd">gpasswd</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="groupdel"> <varlistentry id="groupadd">
<term><command>groupdel</command></term> <term><command>groupadd</command></term>
<listitem> <listitem>
<para>Deletes the group with the given name</para> <para>Creates a group with the given name</para>
<indexterm zone="ch-system-shadow groupdel"><primary sortas="b-groupdel">groupdel</primary></indexterm> <indexterm zone="ch-system-shadow groupadd">
</listitem> <primary sortas="b-groupadd">groupadd</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="groupmod"> <varlistentry id="groupdel">
<term><command>groupmod</command></term> <term><command>groupdel</command></term>
<listitem> <listitem>
<para>Is used to modify the given group's name or GID</para> <para>Deletes the group with the given name</para>
<indexterm zone="ch-system-shadow groupmod"><primary sortas="b-groupmod">groupmod</primary></indexterm> <indexterm zone="ch-system-shadow groupdel">
</listitem> <primary sortas="b-groupdel">groupdel</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="grpck"> <varlistentry id="groupmod">
<term><command>grpck</command></term> <term><command>groupmod</command></term>
<listitem> <listitem>
<para>Verifies the integrity of the group files <filename>/etc/group</filename> <para>Is used to modify the given group's name or GID</para>
and <filename>/etc/gshadow</filename></para> <indexterm zone="ch-system-shadow groupmod">
<indexterm zone="ch-system-shadow grpck"><primary sortas="b-grpck">grpck</primary></indexterm> <primary sortas="b-groupmod">groupmod</primary>
</listitem> </indexterm>
</varlistentry> </listitem>
</varlistentry>
<varlistentry id="grpconv"> <varlistentry id="grpck">
<term><command>grpconv</command></term> <term><command>grpck</command></term>
<listitem> <listitem>
<para>Creates or updates the shadow group file from the normal group file</para> <para>Verifies the integrity of the group files
<indexterm zone="ch-system-shadow grpconv"><primary sortas="b-grpconv">grpconv</primary></indexterm> <filename>/etc/group</filename> and
</listitem> <filename>/etc/gshadow</filename></para>
</varlistentry> <indexterm zone="ch-system-shadow grpck">
<primary sortas="b-grpck">grpck</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="grpunconv"> <varlistentry id="grpconv">
<term><command>grpunconv</command></term> <term><command>grpconv</command></term>
<listitem> <listitem>
<para>Updates <filename>/etc/group</filename> <para>Creates or updates the shadow group file from the normal
from <filename>/etc/gshadow</filename> and then deletes the latter</para> group file</para>
<indexterm zone="ch-system-shadow grpunconv"><primary sortas="b-grpunconv">grpunconv</primary></indexterm> <indexterm zone="ch-system-shadow grpconv">
</listitem> <primary sortas="b-grpconv">grpconv</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="lastlog"> <varlistentry id="grpunconv">
<term><command>lastlog</command></term> <term><command>grpunconv</command></term>
<listitem> <listitem>
<para>Reports the most recent login of all users or of a given user</para> <para>Updates <filename>/etc/group</filename> from
<indexterm zone="ch-system-shadow lastlog"><primary sortas="b-lastlog">lastlog</primary></indexterm> <filename>/etc/gshadow</filename> and then deletes the latter</para>
</listitem> <indexterm zone="ch-system-shadow grpunconv">
</varlistentry> <primary sortas="b-grpunconv">grpunconv</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="login"> <varlistentry id="lastlog">
<term><command>login</command></term> <term><command>lastlog</command></term>
<listitem> <listitem>
<para>Is used by the system to let users sign on</para> <para>Reports the most recent login of all users or of a
<indexterm zone="ch-system-shadow login"><primary sortas="b-login">login</primary></indexterm> given user</para>
</listitem> <indexterm zone="ch-system-shadow lastlog">
</varlistentry> <primary sortas="b-lastlog">lastlog</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="logoutd"> <varlistentry id="login">
<term><command>logoutd</command></term> <term><command>login</command></term>
<listitem> <listitem>
<para>Is a daemon used to enforce restrictions on log-on time and ports</para> <para>Is used by the system to let users sign on</para>
<indexterm zone="ch-system-shadow logoutd"><primary sortas="b-logoutd">logoutd</primary></indexterm> <indexterm zone="ch-system-shadow login">
</listitem> <primary sortas="b-login">login</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="newgrp"> <varlistentry id="logoutd">
<term><command>newgrp</command></term> <term><command>logoutd</command></term>
<listitem> <listitem>
<para>Is used to change the current GID during a login session</para> <para>Is a daemon used to enforce restrictions on log-on time
<indexterm zone="ch-system-shadow newgrp"><primary sortas="b-newgrp">newgrp</primary></indexterm> and ports</para>
</listitem> <indexterm zone="ch-system-shadow logoutd">
</varlistentry> <primary sortas="b-logoutd">logoutd</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="newusers"> <varlistentry id="newgrp">
<term><command>newusers</command></term> <term><command>newgrp</command></term>
<listitem> <listitem>
<para>Is used to create or update an entire series of user accounts</para> <para>Is used to change the current GID during a login session</para>
<indexterm zone="ch-system-shadow newusers"><primary sortas="b-newusers">newusers</primary></indexterm> <indexterm zone="ch-system-shadow newgrp">
</listitem> <primary sortas="b-newgrp">newgrp</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="passwd"> <varlistentry id="newusers">
<term><command>passwd</command></term> <term><command>newusers</command></term>
<listitem> <listitem>
<para>Is used to change the password for a user or group account</para> <para>Is used to create or update an entire series of user
<indexterm zone="ch-system-shadow passwd"><primary sortas="b-passwd">passwd</primary></indexterm> accounts</para>
</listitem> <indexterm zone="ch-system-shadow newusers">
</varlistentry> <primary sortas="b-newusers">newusers</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pwck"> <varlistentry id="passwd">
<term><command>pwck</command></term> <term><command>passwd</command></term>
<listitem> <listitem>
<para>Verifies the integrity of the password files <para>Is used to change the password for a user or group account</para>
<filename>/etc/passwd</filename> and <filename>/etc/shadow</filename></para> <indexterm zone="ch-system-shadow passwd">
<indexterm zone="ch-system-shadow pwck"><primary sortas="b-pwck">pwck</primary></indexterm> <primary sortas="b-passwd">passwd</primary>
</listitem> </indexterm>
</varlistentry> </listitem>
</varlistentry>
<varlistentry id="pwconv"> <varlistentry id="pwck">
<term><command>pwconv</command></term> <term><command>pwck</command></term>
<listitem> <listitem>
<para>Creates or updates the shadow password file from the normal <para>Verifies the integrity of the password files
password file</para> <filename>/etc/passwd</filename> and
<indexterm zone="ch-system-shadow pwconv"><primary sortas="b-pwconv">pwconv</primary></indexterm> <filename>/etc/shadow</filename></para>
</listitem> <indexterm zone="ch-system-shadow pwck">
</varlistentry> <primary sortas="b-pwck">pwck</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pwunconv"> <varlistentry id="pwconv">
<term><command>pwunconv</command></term> <term><command>pwconv</command></term>
<listitem> <listitem>
<para>Updates <filename>/etc/passwd</filename> <para>Creates or updates the shadow password file from the normal
from <filename>/etc/shadow</filename> and then deletes the latter</para> password file</para>
<indexterm zone="ch-system-shadow pwunconv"><primary sortas="b-pwunconv">pwunconv</primary></indexterm> <indexterm zone="ch-system-shadow pwconv">
</listitem> <primary sortas="b-pwconv">pwconv</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="sg"> <varlistentry id="pwunconv">
<term><command>sg</command></term> <term><command>pwunconv</command></term>
<listitem> <listitem>
<para>Executes a given command while the user's GID <para>Updates <filename>/etc/passwd</filename> from
is set to that of the given group</para> <filename>/etc/shadow</filename> and then deletes the latter</para>
<indexterm zone="ch-system-shadow sg"><primary sortas="b-sg">sg</primary></indexterm> <indexterm zone="ch-system-shadow pwunconv">
</listitem> <primary sortas="b-pwunconv">pwunconv</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="su"> <varlistentry id="sg">
<term><command>su</command></term> <term><command>sg</command></term>
<listitem> <listitem>
<indexterm zone="ch-system-shadow su"><primary sortas="b-su">su</primary></indexterm> <para>Executes a given command while the user's GID
<para>Runs a shell with substitute user and group IDs</para> is set to that of the given group</para>
</listitem> <indexterm zone="ch-system-shadow sg">
</varlistentry> <primary sortas="b-sg">sg</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="useradd"> <varlistentry id="su">
<term><command>useradd</command></term> <term><command>su</command></term>
<listitem> <listitem>
<para>Creates a new user with the given name, or updates the default <para>Runs a shell with substitute user and group IDs</para>
new-user information</para> <indexterm zone="ch-system-shadow su">
<indexterm zone="ch-system-shadow useradd"><primary sortas="b-useradd">useradd</primary></indexterm> <primary sortas="b-su">su</primary>
</listitem> </indexterm>
</varlistentry> </listitem>
</varlistentry>
<varlistentry id="userdel"> <varlistentry id="useradd">
<term><command>userdel</command></term> <term><command>useradd</command></term>
<listitem> <listitem>
<para>Deletes the given user account</para> <para>Creates a new user with the given name, or updates the default
<indexterm zone="ch-system-shadow userdel"><primary sortas="b-userdel">userdel</primary></indexterm> new-user information</para>
</listitem> <indexterm zone="ch-system-shadow useradd">
</varlistentry> <primary sortas="b-useradd">useradd</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="usermod"> <varlistentry id="userdel">
<term><command>usermod</command></term> <term><command>userdel</command></term>
<listitem> <listitem>
<para>Is used to modify the given user's login name, User <para>Deletes the given user account</para>
Identification (UID), <indexterm zone="ch-system-shadow userdel">
shell, initial group, home directory, etc.</para> <primary sortas="b-userdel">userdel</primary>
<indexterm zone="ch-system-shadow usermod"><primary sortas="b-usermod">usermod</primary></indexterm> </indexterm>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry id="vigr"> <varlistentry id="usermod">
<term><command>vigr</command></term> <term><command>usermod</command></term>
<listitem> <listitem>
<para>Edits the <filename>/etc/group</filename> or <para>Is used to modify the given user's login name, User
<filename>/etc/gshadow</filename> files</para> Identification (UID), shell, initial group, home directory, etc.</para>
<indexterm zone="ch-system-shadow vigr"><primary sortas="b-vigr">vigr</primary></indexterm> <indexterm zone="ch-system-shadow usermod">
</listitem> <primary sortas="b-usermod">usermod</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="vipw"> <varlistentry id="vigr">
<term><command>vipw</command></term> <term><command>vigr</command></term>
<listitem> <listitem>
<para>Edits the <filename>/etc/passwd</filename> or <para>Edits the <filename>/etc/group</filename> or
<filename>/etc/shadow</filename> files</para> <filename>/etc/gshadow</filename> files</para>
<indexterm zone="ch-system-shadow vipw"><primary sortas="b-vipw">vipw</primary></indexterm> <indexterm zone="ch-system-shadow vigr">
</listitem> <primary sortas="b-vigr">vigr</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="libshadow"> <varlistentry id="vipw">
<term><filename class="libraryfile">libshadow</filename></term> <term><command>vipw</command></term>
<listitem> <listitem>
<para>Contains functions used by most programs in this package</para> <para>Edits the <filename>/etc/passwd</filename> or
<indexterm zone="ch-system-shadow libshadow"><primary sortas="c-libshadow">libshadow</primary></indexterm> <filename>/etc/shadow</filename> files</para>
</listitem> <indexterm zone="ch-system-shadow vipw">
</varlistentry> <primary sortas="b-vipw">vipw</primary>
</variablelist> </indexterm>
</listitem>
</varlistentry>
</sect2> <varlistentry id="libshadow">
<term><filename class="libraryfile">libshadow</filename></term>
<listitem>
<para>Contains functions used by most programs in this package</para>
<indexterm zone="ch-system-shadow libshadow">
<primary sortas="c-libshadow">libshadow</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1> </sect1>

View File

@ -1,54 +1,56 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?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"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="ch-system-strippingagain"> <sect1 id="ch-system-strippingagain">
<title>Stripping Again</title> <?dbhtml filename="strippingagain.html"?>
<?dbhtml filename="strippingagain.html"?>
<para>If the intended user is not a programmer and does not plan to do <title>Stripping Again</title>
any debugging on the system software, the system size can be decreased
by about 200 MB by removing the debugging symbols from binaries and
libraries. This causes no inconvenience other than not being able to
debug the software fully anymore.</para>
<para>Most people who use the command mentioned below do not <para>If the intended user is not a programmer and does not plan to do
experience any difficulties. However, it is easy to make a typo and any debugging on the system software, the system size can be decreased
render the new system unusable, so before running the by about 200 MB by removing the debugging symbols from binaries and
<command>strip</command> command, it is a good idea to make a libraries. This causes no inconvenience other than not being able to
backup of the LFS system in its current state.</para> debug the software fully anymore.</para>
<para>Before performing the stripping, take special care to ensure that <para>Most people who use the command mentioned below do not
none of the binaries that are about to be stripped are running. If experience any difficulties. However, it is easy to make a typo and
unsure whether the user entered chroot with the command given in render the new system unusable, so before running the
<xref linkend="ch-system-chroot" role=","/> first exit from <command>strip</command> command, it is a good idea to make a
chroot:</para> backup of the LFS system in its current state.</para>
<para>Before performing the stripping, take special care to ensure that
none of the binaries that are about to be stripped are running. If
unsure whether the user entered chroot with the command given in
<xref linkend="ch-system-chroot" role=","/> first exit from
chroot:</para>
<screen role="nodump"><userinput>logout</userinput></screen> <screen role="nodump"><userinput>logout</userinput></screen>
<para>Then reenter it with:</para> <para>Then reenter it with:</para>
<screen role="nodump"><userinput>chroot $LFS /tools/bin/env -i \ <screen role="nodump"><userinput>chroot $LFS /tools/bin/env -i \
HOME=/root TERM=$TERM PS1='\u:\w\$ ' \ HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin \ PATH=/bin:/usr/bin:/sbin:/usr/sbin \
/tools/bin/bash --login</userinput></screen> /tools/bin/bash --login</userinput></screen>
<para>Now the binaries and libraries can be safely stripped:</para> <para>Now the binaries and libraries can be safely stripped:</para>
<screen><userinput>/tools/bin/find /{,usr/}{bin,lib,sbin} -type f \ <screen><userinput>/tools/bin/find /{,usr/}{bin,lib,sbin} -type f \
-exec /tools/bin/strip --strip-debug '{}' ';'</userinput></screen> -exec /tools/bin/strip --strip-debug '{}' ';'</userinput></screen>
<para>A large number of files will be reported as having their file <para>A large number of files will be reported as having their file
format not recognized. These warnings can be safely ignored. These format not recognized. These warnings can be safely ignored. These
warnings indicate that those files are scripts instead of warnings indicate that those files are scripts instead of
binaries.</para> binaries.</para>
<para>If disk space is very tight, the <para>If disk space is very tight, the
<parameter>--strip-all</parameter> option can be used on the binaries <parameter>--strip-all</parameter> option can be used on the binaries
in <filename class="directory">/{,usr/}{bin,sbin}</filename> to gain in <filename class="directory">/{,usr/}{bin,sbin}</filename> to gain
several more megabytes. Do not use this option on libraries&mdash;they will several more megabytes. Do not use this option on libraries&mdash;they will
be destroyed.</para> be destroyed.</para>
</sect1> </sect1>

View File

@ -1,66 +1,85 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?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"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="ch-system-sysklogd" xreflabel="Sysklogd" role="wrap">
<title>Sysklogd-&sysklogd-version;</title>
<?dbhtml filename="sysklogd.html"?>
<indexterm zone="ch-system-sysklogd"><primary sortas="a-Sysklogd">Sysklogd</primary></indexterm> <sect1 id="ch-system-sysklogd" role="wrap">
<?dbhtml filename="sysklogd.html"?>
<sect2 role="package"><title/> <title>Sysklogd-&sysklogd-version;</title>
<para>The Sysklogd package contains programs for logging system messages, such
as those given by the kernel when unusual things happen.</para>
<segmentedlist> <indexterm zone="ch-system-sysklogd">
<segtitle>&buildtime;</segtitle> <primary sortas="a-Sysklogd">Sysklogd</primary>
<segtitle>&diskspace;</segtitle> </indexterm>
<seglistitem><seg>0.1 SBU</seg><seg>704 KB</seg></seglistitem>
</segmentedlist>
<segmentedlist> <sect2 role="package">
<segtitle>&dependencies;</segtitle> <title/>
<seglistitem><seg>Binutils, Coreutils, GCC, Glibc, Make</seg></seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation"> <para>The Sysklogd package contains programs for logging system messages,
<title>Installation of Sysklogd</title> such as those given by the kernel when unusual things happen.</para>
<para>The following patch fixes various issues, including a problem building <segmentedlist>
Sysklogd with Linux 2.6 series kernels</para> <segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem>
<seg>0.1 SBU</seg>
<seg>704 KB</seg>
</seglistitem>
</segmentedlist>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem>
<seg>Binutils, Coreutils, GCC, Glibc, Make</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Sysklogd</title>
<para>The following patch fixes various issues, including a problem building
Sysklogd with Linux 2.6 series kernels</para>
<screen><userinput>patch -Np1 -i ../&sysklogd-fixes-patch;</userinput></screen> <screen><userinput>patch -Np1 -i ../&sysklogd-fixes-patch;</userinput></screen>
<para>The following patch makes sysklogd treat bytes in the 0x80--0x9f range <para>The following patch makes sysklogd treat bytes in the 0x80--0x9f range
literally in the messages being logged, instead of replacing them with octal literally in the messages being logged, instead of replacing them with octal
codes. Unpatched sysklogd would damage messages in the UTF-8 encoding.</para> codes. Unpatched sysklogd would damage messages in the UTF-8 encoding.</para>
<screen><userinput>patch -Np1 -i ../&sysklogd-8bit-patch;</userinput></screen> <screen><userinput>patch -Np1 -i ../&sysklogd-8bit-patch;</userinput></screen>
<para>Compile the package:</para> <para>Compile the package:</para>
<screen><userinput>make</userinput></screen> <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> <screen><userinput>make install</userinput></screen>
</sect2> </sect2>
<sect2 id="conf-sysklogd" role="configuration">
<title>Configuring Sysklogd</title>
<sect2 id="conf-sysklogd" role="configuration"><title>Configuring Sysklogd</title> <indexterm zone="conf-sysklogd">
<indexterm zone="conf-sysklogd"> <primary sortas="a-Sysklogd">Sysklogd</primary>
<primary sortas="a-Sysklogd">Sysklogd</primary> <secondary>configuring</secondary>
<secondary>configuring</secondary></indexterm> </indexterm>
<indexterm zone="conf-sysklogd"><primary sortas="e-/etc/syslog.conf">/etc/syslog.conf</primary></indexterm> <indexterm zone="conf-sysklogd">
<primary sortas="e-/etc/syslog.conf">/etc/syslog.conf</primary>
</indexterm>
<para>Create a new <filename>/etc/syslog.conf</filename> file by running the <para>Create a new <filename>/etc/syslog.conf</filename> file by running the
following:</para> following:</para>
<screen><userinput>cat &gt; /etc/syslog.conf &lt;&lt; "EOF" <screen><userinput>cat &gt; /etc/syslog.conf &lt;&lt; "EOF"
<literal># Begin /etc/syslog.conf <literal># Begin /etc/syslog.conf
@ -79,40 +98,49 @@ local2.* -/var/log/boot.log
# End /etc/syslog.conf</literal> # End /etc/syslog.conf</literal>
EOF</userinput></screen> EOF</userinput></screen>
</sect2> </sect2>
<sect2 id="contents-sysklogd" role="content">
<title>Contents of Sysklogd</title>
<sect2 id="contents-sysklogd" role="content"><title>Contents of Sysklogd</title> <segmentedlist>
<segtitle>Installed programs</segtitle>
<segmentedlist> <seglistitem>
<segtitle>Installed programs</segtitle> <seg>klogd and syslogd</seg>
<seglistitem><seg>klogd and syslogd</seg></seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> <variablelist>
<?dbfo list-presentation="list"?> <bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbhtml list-presentation="table"?> <?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="klogd"> <varlistentry id="klogd">
<term><command>klogd</command></term> <term><command>klogd</command></term>
<listitem> <listitem>
<para>A system daemon for intercepting and logging kernel messages</para> <para>A system daemon for intercepting and logging kernel messages</para>
<indexterm zone="ch-system-sysklogd klogd"><primary sortas="b-klogd">klogd</primary></indexterm> <indexterm zone="ch-system-sysklogd klogd">
</listitem> <primary sortas="b-klogd">klogd</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="syslogd"> <varlistentry id="syslogd">
<term><command>syslogd</command></term> <term><command>syslogd</command></term>
<listitem> <listitem>
<para>Logs the messages that system programs offer for logging. Every logged <para>Logs the messages that system programs offer for logging. Every
message contains at least a date stamp and a hostname, and normally the logged message contains at least a date stamp and a hostname, and
program's name too, but that depends on how trusting the logging daemon is told normally the program's name too, but that depends on how trusting the
to be</para> logging daemon is told to be</para>
<indexterm zone="ch-system-sysklogd syslogd"><primary sortas="b-syslogd">syslogd</primary></indexterm> <indexterm zone="ch-system-sysklogd syslogd">
</listitem> <primary sortas="b-syslogd">syslogd</primary>
</varlistentry> </indexterm>
</variablelist> </listitem>
</varlistentry>
</sect2> </variablelist>
</sect2>
</sect1> </sect1>

View File

@ -1,69 +1,87 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?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"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="ch-system-sysvinit" role="wrap"> <sect1 id="ch-system-sysvinit" role="wrap">
<title>Sysvinit-&sysvinit-version;</title> <?dbhtml filename="sysvinit.html"?>
<?dbhtml filename="sysvinit.html"?>
<indexterm zone="ch-system-sysvinit"><primary sortas="a-Sysvinit">Sysvinit</primary></indexterm> <title>Sysvinit-&sysvinit-version;</title>
<sect2 role="package"><title/> <indexterm zone="ch-system-sysvinit">
<para>The Sysvinit package contains programs for controlling the startup, <primary sortas="a-Sysvinit">Sysvinit</primary>
running, and shutdown of the system.</para> </indexterm>
<segmentedlist> <sect2 role="package">
<segtitle>&buildtime;</segtitle> <title/>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.1 SBU</seg><seg>1012 KB</seg></seglistitem>
</segmentedlist>
<segmentedlist> <para>The Sysvinit package contains programs for controlling the startup,
<segtitle>&dependencies;</segtitle> running, and shutdown of the system.</para>
<seglistitem><seg>Binutils, Coreutils, GCC, Glibc, and Make</seg></seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation"> <segmentedlist>
<title>Installation of Sysvinit</title> <segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<para>When run-levels are changed (for example, when halting the <seglistitem>
system), <command>init</command> sends termination signals to those <seg>0.1 SBU</seg><seg>1012 KB</seg>
processes that <command>init</command> itself started and that should </seglistitem>
not be running in the new run-level. While doing this, </segmentedlist>
<command>init</command> outputs messages like <quote>Sending processes
the TERM signal</quote> which seem to imply that it is sending these <segmentedlist>
signals to all currently running processes. To avoid this <segtitle>&dependencies;</segtitle>
misinterpretation, modify the source so that these messages read like
<quote>Sending processes started by init the TERM signal</quote> <seglistitem>
instead:</para> <seg>Binutils, Coreutils, GCC, Glibc, and Make</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Sysvinit</title>
<para>When run-levels are changed (for example, when halting the
system), <command>init</command> sends termination signals to those
processes that <command>init</command> itself started and that should
not be running in the new run-level. While doing this,
<command>init</command> outputs messages like <quote>Sending processes
the TERM signal</quote> which seem to imply that it is sending these
signals to all currently running processes. To avoid this
misinterpretation, modify the source so that these messages read like
<quote>Sending processes started by init the TERM signal</quote>
instead:</para>
<screen><userinput>sed -i 's@Sending processes@&amp; started by init@g' \ <screen><userinput>sed -i 's@Sending processes@&amp; started by init@g' \
src/init.c</userinput></screen> src/init.c</userinput></screen>
<para>Compile the package:</para> <para>Compile the package:</para>
<screen><userinput>make -C src</userinput></screen> <screen><userinput>make -C src</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 -C src install</userinput></screen> <screen><userinput>make -C src install</userinput></screen>
</sect2> </sect2>
<sect2 id="conf-sysvinit" role="configuration">
<title>Configuring Sysvinit</title>
<sect2 id="conf-sysvinit" role="configuration"><title>Configuring Sysvinit</title> <indexterm zone="conf-sysvinit">
<indexterm zone="conf-sysvinit"> <primary sortas="a-Sysvinit">Sysvinit</primary>
<primary sortas="a-Sysvinit">Sysvinit</primary> <secondary>configuring</secondary>
<secondary>configuring</secondary></indexterm> </indexterm>
<indexterm zone="conf-sysvinit"><primary sortas="e-/etc/inittab">/etc/inittab</primary></indexterm> <indexterm zone="conf-sysvinit">
<primary sortas="e-/etc/inittab">/etc/inittab</primary>
</indexterm>
<para>Create a new file <filename>/etc/inittab</filename> by running the <para>Create a new file <filename>/etc/inittab</filename> by running the
following:</para> following:</para>
<screen><userinput>cat &gt; /etc/inittab &lt;&lt; "EOF" <screen><userinput>cat &gt; /etc/inittab &lt;&lt; "EOF"
<literal># Begin /etc/inittab <literal># Begin /etc/inittab
@ -93,170 +111,209 @@ su:S016:once:/sbin/sulogin
# End /etc/inittab</literal> # End /etc/inittab</literal>
EOF</userinput></screen> EOF</userinput></screen>
</sect2>
</sect2>
<sect2 id="contents-sysvinit" role="content"><title>Contents of Sysvinit</title> <sect2 id="contents-sysvinit" role="content">
<title>Contents of Sysvinit</title>
<segmentedlist> <segmentedlist>
<segtitle>Installed programs</segtitle> <segtitle>Installed programs</segtitle>
<seglistitem><seg>halt, init, killall5, last, lastb (link to last), mesg, pidof (link to
killall5), poweroff (link to halt), reboot (link to halt), runlevel, shutdown, sulogin, telinit
(link to init), utmpdump, and wall</seg></seglistitem>
</segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> <seglistitem>
<?dbfo list-presentation="list"?> <seg>halt, init, killall5, last, lastb (link to last), mesg, mountpoint,
<?dbhtml list-presentation="table"?> pidof (link to killall5), poweroff (link to halt), reboot (link to halt),
runlevel, shutdown, sulogin, telinit (link to init), utmpdump, and
wall</seg>
</seglistitem>
</segmentedlist>
<varlistentry id="halt"> <variablelist>
<term><command>halt</command></term> <bridgehead renderas="sect3">Short Descriptions</bridgehead>
<listitem> <?dbfo list-presentation="list"?>
<para>Normally invokes <command>shutdown</command> with the <?dbhtml list-presentation="table"?>
<parameter>-h</parameter> option, except when already in run-level 0,
then it tells the kernel to halt the system; it notes in the
file <filename>/var/log/wtmp</filename> that the system is being
brought down</para>
<indexterm zone="ch-system-sysvinit halt"><primary sortas="b-halt">halt</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="init"> <varlistentry id="halt">
<term><command>init</command></term> <term><command>halt</command></term>
<listitem> <listitem>
<para>The first process to be started when the kernel has initialized <para>Normally invokes <command>shutdown</command> with the
the hardware which takes over the boot process and <parameter>-h</parameter> option, except when already in run-level 0,
starts all the proceses it is instructed to</para> then it tells the kernel to halt the system; it notes in the
<indexterm zone="ch-system-sysvinit init"><primary sortas="b-init">init</primary></indexterm> file <filename>/var/log/wtmp</filename> that the system is being
</listitem> brought down</para>
</varlistentry> <indexterm zone="ch-system-sysvinit halt">
<primary sortas="b-halt">halt</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="killall5"> <varlistentry id="init">
<term><command>killall5</command></term> <term><command>init</command></term>
<listitem> <listitem>
<para>Sends a signal to all processes, except the processes in its own <para>The first process to be started when the kernel has initialized
session so it will not kill the shell running the script that called the hardware which takes over the boot process and starts all the
it</para> proceses it is instructed to</para>
<indexterm zone="ch-system-sysvinit killall5"><primary sortas="b-killall5">killall5</primary></indexterm> <indexterm zone="ch-system-sysvinit init">
</listitem> <primary sortas="b-init">init</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="last"> <varlistentry id="killall5">
<term><command>last</command></term> <term><command>killall5</command></term>
<listitem> <listitem>
<para>Shows which users last logged in (and out), <para>Sends a signal to all processes, except the processes in its own
searching back through the <filename>/var/log/wtmp</filename> file; it session so it will not kill the shell running the script that called
also shows system boots, shutdowns, and run-level changes</para> it</para>
<indexterm zone="ch-system-sysvinit last"><primary sortas="b-last">last</primary></indexterm> <indexterm zone="ch-system-sysvinit killall5">
</listitem> <primary sortas="b-killall5">killall5</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="lastb"> <varlistentry id="last">
<term><command>lastb</command></term> <term><command>last</command></term>
<listitem> <listitem>
<para>Shows the failed login attempts, as logged in <para>Shows which users last logged in (and out), searching back
<filename>/var/log/btmp</filename></para> through the <filename>/var/log/wtmp</filename> file; it also shows
<indexterm zone="ch-system-sysvinit lastb"><primary sortas="b-lastb">lastb</primary></indexterm> system boots, shutdowns, and run-level changes</para>
</listitem> <indexterm zone="ch-system-sysvinit last">
</varlistentry> <primary sortas="b-last">last</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="mesg"> <varlistentry id="lastb">
<term><command>mesg</command></term> <term><command>lastb</command></term>
<listitem> <listitem>
<para>Controls whether other users can send messages to the current <para>Shows the failed login attempts, as logged in
user's terminal</para> <filename>/var/log/btmp</filename></para>
<indexterm zone="ch-system-sysvinit mesg"><primary sortas="b-mesg">mesg</primary></indexterm> <indexterm zone="ch-system-sysvinit lastb">
</listitem> <primary sortas="b-lastb">lastb</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="mountpoint"> <varlistentry id="mesg">
<term><command>mountpoint</command></term> <term><command>mesg</command></term>
<listitem> <listitem>
<para>Checks if the directory is a mountpoint</para> <para>Controls whether other users can send messages to the current
<indexterm zone="ch-system-sysvinit mountpoint"><primary sortas="b-mountpoint">mountpoint</primary></indexterm> user's terminal</para>
</listitem> <indexterm zone="ch-system-sysvinit mesg">
</varlistentry> <primary sortas="b-mesg">mesg</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pidof"> <varlistentry id="mountpoint">
<term><command>pidof</command></term> <term><command>mountpoint</command></term>
<listitem> <listitem>
<para>Reports the PIDs of the given programs</para> <para>Checks if the directory is a mountpoint</para>
<indexterm zone="ch-system-sysvinit pidof"><primary sortas="b-pidof">pidof</primary></indexterm> <indexterm zone="ch-system-sysvinit mountpoint">
</listitem> <primary sortas="b-mountpoint">mountpoint</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="poweroff"> <varlistentry id="pidof">
<term><command>poweroff</command></term> <term><command>pidof</command></term>
<listitem> <listitem>
<para>Tells the kernel to halt the system and switch off the computer <para>Reports the PIDs of the given programs</para>
(see <command>halt</command>)</para> <indexterm zone="ch-system-sysvinit pidof">
<indexterm zone="ch-system-sysvinit poweroff"><primary sortas="b-poweroff">poweroff</primary></indexterm> <primary sortas="b-pidof">pidof</primary>
</listitem> </indexterm>
</varlistentry> </listitem>
</varlistentry>
<varlistentry id="reboot"> <varlistentry id="poweroff">
<term><command>reboot</command></term> <term><command>poweroff</command></term>
<listitem> <listitem>
<para>Tells the kernel to reboot the system (see <para>Tells the kernel to halt the system and switch off the computer
<command>halt</command>)</para> (see <command>halt</command>)</para>
<indexterm zone="ch-system-sysvinit reboot"><primary sortas="b-reboot">reboot</primary></indexterm> <indexterm zone="ch-system-sysvinit poweroff">
</listitem> <primary sortas="b-poweroff">poweroff</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="runlevel"> <varlistentry id="reboot">
<term><command>runlevel</command></term> <term><command>reboot</command></term>
<listitem> <listitem>
<para>Reports the previous and the current run-level, as noted in the last run-level <para>Tells the kernel to reboot the system (see
record in <filename>/var/run/utmp</filename></para> <command>halt</command>)</para>
<indexterm zone="ch-system-sysvinit runlevel"><primary sortas="b-runlevel">runlevel</primary></indexterm> <indexterm zone="ch-system-sysvinit reboot">
</listitem> <primary sortas="b-reboot">reboot</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="shutdown"> <varlistentry id="runlevel">
<term><command>shutdown</command></term> <term><command>runlevel</command></term>
<listitem> <listitem>
<para>Brings the system down in a secure way, signaling all processes <para>Reports the previous and the current run-level, as noted in the
and notifying all logged-in users</para> last run-level record in <filename>/var/run/utmp</filename></para>
<indexterm zone="ch-system-sysvinit shutdown"><primary sortas="b-shutdown">shutdown</primary></indexterm> <indexterm zone="ch-system-sysvinit runlevel">
</listitem> <primary sortas="b-runlevel">runlevel</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="sulogin"> <varlistentry id="shutdown">
<term><command>sulogin</command></term> <term><command>shutdown</command></term>
<listitem> <listitem>
<para>Allows <emphasis>root</emphasis> to log in; it is <para>Brings the system down in a secure way, signaling all processes
normally invoked by <command>init</command> when the system goes into single user mode</para> and notifying all logged-in users</para>
<indexterm zone="ch-system-sysvinit sulogin"><primary sortas="b-sulogin">sulogin</primary></indexterm> <indexterm zone="ch-system-sysvinit shutdown">
</listitem> <primary sortas="b-shutdown">shutdown</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="telinit"> <varlistentry id="sulogin">
<term><command>telinit</command></term> <term><command>sulogin</command></term>
<listitem> <listitem>
<para>Tells <command>init</command> which run-level to change to</para> <para>Allows <systemitem class="username">root</systemitem> to log in;
<indexterm zone="ch-system-sysvinit telinit"><primary sortas="b-telinit">telinit</primary></indexterm> it is normally invoked by <command>init</command> when the system goes
</listitem> into single user mode</para>
</varlistentry> <indexterm zone="ch-system-sysvinit sulogin">
<primary sortas="b-sulogin">sulogin</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="utmpdump"> <varlistentry id="telinit">
<term><command>utmpdump</command></term> <term><command>telinit</command></term>
<listitem> <listitem>
<para>Displays the content of the given login file in a more <para>Tells <command>init</command> which run-level to change to</para>
user-friendly format</para> <indexterm zone="ch-system-sysvinit telinit">
<indexterm zone="ch-system-sysvinit utmpdump"><primary sortas="b-utmpdump">utmpdump</primary></indexterm> <primary sortas="b-telinit">telinit</primary>
</listitem> </indexterm>
</varlistentry> </listitem>
</varlistentry>
<varlistentry id="wall"> <varlistentry id="utmpdump">
<term><command>wall</command></term> <term><command>utmpdump</command></term>
<listitem> <listitem>
<para>Writes a message to all logged-in users</para> <para>Displays the content of the given login file in a more
<indexterm zone="ch-system-sysvinit wall"><primary sortas="b-wall">wall</primary></indexterm> user-friendly format</para>
</listitem> <indexterm zone="ch-system-sysvinit utmpdump">
</varlistentry> <primary sortas="b-utmpdump">utmpdump</primary>
</variablelist> </indexterm>
</listitem>
</varlistentry>
</sect2> <varlistentry id="wall">
<term><command>wall</command></term>
<listitem>
<para>Writes a message to all logged-in users</para>
<indexterm zone="ch-system-sysvinit wall">
<primary sortas="b-wall">wall</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1> </sect1>

View File

@ -1,92 +1,117 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?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"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="ch-system-tar" role="wrap"> <sect1 id="ch-system-tar" role="wrap">
<title>Tar-&tar-version;</title> <?dbhtml filename="tar.html"?>
<?dbhtml filename="tar.html"?>
<indexterm zone="ch-system-tar"><primary sortas="a-Tar">Tar</primary></indexterm> <title>Tar-&tar-version;</title>
<sect2 role="package"><title/> <indexterm zone="ch-system-tar">
<para>The Tar package contains an archiving program.</para> <primary sortas="a-Tar">Tar</primary>
</indexterm>
<segmentedlist> <sect2 role="package">
<segtitle>&buildtime;</segtitle> <title/>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.2 SBU</seg><seg>12.7 MB</seg></seglistitem>
</segmentedlist>
<segmentedlist> <para>The Tar package contains an archiving program.</para>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make, and Sed</seg></seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation"> <segmentedlist>
<title>Installation of Tar</title> <segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<para>Apply a patch to fix some issues with the test suite when using <seglistitem>
GCC-&gcc-version;:</para> <seg>0.2 SBU</seg>
<seg>12.7 MB</seg>
</seglistitem>
</segmentedlist>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem>
<seg>Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc,
Grep, Make, and Sed</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Tar</title>
<para>Apply a patch to fix some issues with the test suite when using
GCC-&gcc-version;:</para>
<screen><userinput>patch -Np1 -i ../&tar-gcc4_fix-patch;</userinput></screen> <screen><userinput>patch -Np1 -i ../&tar-gcc4_fix-patch;</userinput></screen>
<para>Tar has a bug when the <parameter>-S</parameter> option is used <para>Tar has a bug when the <parameter>-S</parameter> option is used
with files larger than 4 GB. The following patch properly fixes this issue:</para> with files larger than 4 GB. The following patch properly fixes this
issue:</para>
<screen><userinput>patch -Np1 -i ../&tar-sparse_fix-patch;</userinput></screen> <screen><userinput>patch -Np1 -i ../&tar-sparse_fix-patch;</userinput></screen>
<para>Prepare Tar for compilation:</para> <para>Prepare Tar for compilation:</para>
<screen><userinput>./configure --prefix=/usr --bindir=/bin --libexecdir=/usr/sbin</userinput></screen> <screen><userinput>./configure --prefix=/usr --bindir=/bin --libexecdir=/usr/sbin</userinput></screen>
<para>Compile the package:</para> <para>Compile the package:</para>
<screen><userinput>make</userinput></screen> <screen><userinput>make</userinput></screen>
<para>To test the results, issue: <para>To test the results, issue:
<userinput>make check</userinput>.</para> <userinput>make check</userinput>.</para>
<para>Install the package:</para> <para>Install the package:</para>
<screen><userinput>make install</userinput></screen> <screen><userinput>make install</userinput></screen>
</sect2> </sect2>
<sect2 id="contents-tar" role="content"><title>Contents of Tar</title> <sect2 id="contents-tar" role="content">
<title>Contents of Tar</title>
<segmentedlist> <segmentedlist>
<segtitle>Installed programs</segtitle> <segtitle>Installed programs</segtitle>
<seglistitem><seg>rmt and tar</seg></seglistitem>
</segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> <seglistitem>
<?dbfo list-presentation="list"?> <seg>rmt and tar</seg>
<?dbhtml list-presentation="table"?> </seglistitem>
</segmentedlist>
<varlistentry id="rmt"> <variablelist>
<term><command>rmt</command></term> <bridgehead renderas="sect3">Short Descriptions</bridgehead>
<listitem> <?dbfo list-presentation="list"?>
<para>Remotely manipulates a magnetic <?dbhtml list-presentation="table"?>
tape drive through an interprocess communication connection</para>
<indexterm zone="ch-system-tar rmt"><primary sortas="b-rmt">rmt</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="tar"> <varlistentry id="rmt">
<term><command>tar</command></term> <term><command>rmt</command></term>
<listitem> <listitem>
<para>Creates, extracts files from, and lists the contents of archives, <para>Remotely manipulates a magnetic
also known as tarballs</para> tape drive through an interprocess communication connection</para>
<indexterm zone="ch-system-tar tar"><primary sortas="b-tar">tar</primary></indexterm> <indexterm zone="ch-system-tar rmt">
</listitem> <primary sortas="b-rmt">rmt</primary>
</varlistentry> </indexterm>
</variablelist> </listitem>
</varlistentry>
</sect2> <varlistentry id="tar">
<term><command>tar</command></term>
<listitem>
<para>Creates, extracts files from, and lists the contents of archives,
also known as tarballs</para>
<indexterm zone="ch-system-tar tar">
<primary sortas="b-tar">tar</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1> </sect1>

View File

@ -1,86 +1,103 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?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"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="ch-system-texinfo" role="wrap"> <sect1 id="ch-system-texinfo" role="wrap">
<title>Texinfo-&texinfo-version;</title> <?dbhtml filename="texinfo.html"?>
<?dbhtml filename="texinfo.html"?>
<indexterm zone="ch-system-texinfo"><primary sortas="a-Texinfo">Texinfo</primary></indexterm> <title>Texinfo-&texinfo-version;</title>
<sect2 role="package"><title/> <indexterm zone="ch-system-texinfo">
<para>The Texinfo package contains programs for reading, writing, and <primary sortas="a-Texinfo">Texinfo</primary>
converting info pages.</para> </indexterm>
<segmentedlist> <sect2 role="package">
<segtitle>&buildtime;</segtitle> <title/>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.2 SBU</seg><seg>14.7 MB</seg></seglistitem>
</segmentedlist>
<segmentedlist> <para>The Texinfo package contains programs for reading, writing, and
<segtitle>&dependencies;</segtitle> converting info pages.</para>
<seglistitem><seg>Bash, Binutils, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, and Sed</seg></seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation"> <segmentedlist>
<title>Installation of Texinfo</title> <segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<para>The <command>info</command> program makes assumptions such as that <seglistitem>
a string occupies the same number of character cells on the screen and bytes <seg>0.2 SBU</seg>
in memory and that one can break the string anywhere, which fail in <seg>14.7 MB</seg>
UTF-8 based locales. The patch below makes them valid </seglistitem>
by falling back to English messages when a multibyte locale is in use:</para> </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 Texinfo</title>
<para>The <command>info</command> program makes assumptions such as that
a string occupies the same number of character cells on the screen and
bytes in memory and that one can break the string anywhere, which fail
in UTF-8 based locales. The patch below makes them valid by falling back
to English messages when a multibyte locale is in use:</para>
<screen><userinput>patch -Np1 -i ../&texinfo-multibyte-patch;</userinput></screen> <screen><userinput>patch -Np1 -i ../&texinfo-multibyte-patch;</userinput></screen>
<para>Texinfo allows local users to overwrite arbitrary files via a symlink <para>Texinfo allows local users to overwrite arbitrary files via a symlink
attack on temporary files. Apply the following patch to fix this:</para> attack on temporary files. Apply the following patch to fix this:</para>
<screen><userinput>patch -Np1 -i ../&texinfo-tempfile_fix-patch;</userinput></screen> <screen><userinput>patch -Np1 -i ../&texinfo-tempfile_fix-patch;</userinput></screen>
<para>Prepare Texinfo for compilation:</para> <para>Prepare Texinfo for compilation:</para>
<screen><userinput>./configure --prefix=/usr</userinput></screen> <screen><userinput>./configure --prefix=/usr</userinput></screen>
<para>Compile the package:</para> <para>Compile the package:</para>
<screen><userinput>make</userinput></screen> <screen><userinput>make</userinput></screen>
<para>To test the results, issue: <para>To test the results, issue:
<userinput>make check</userinput>.</para> <userinput>make check</userinput>.</para>
<para>Install the package:</para> <para>Install the package:</para>
<screen><userinput>make install</userinput></screen> <screen><userinput>make install</userinput></screen>
<para>Optionally, install the components belonging in a TeX installation:</para> <para>Optionally, install the components belonging in a TeX
installation:</para>
<!-- FIXME: doesn't the TeX installation in BLFS overwrite files there? -->
<screen><userinput>make TEXMF=/usr/share/texmf install-tex</userinput></screen> <screen><userinput>make TEXMF=/usr/share/texmf install-tex</userinput></screen>
<para>The meaning of the make parameter:</para> <variablelist>
<title>The meaning of the make parameter:</title>
<variablelist> <varlistentry>
<varlistentry> <term><parameter>TEXMF=/usr/share/texmf</parameter></term>
<term><parameter>TEXMF=/usr/share/texmf</parameter></term> <listitem>
<listitem><para>The <envar>TEXMF</envar> makefile variable holds the location of the <para>The <envar>TEXMF</envar> makefile variable holds the location
root of the TeX tree if, for example, a TeX package will be installed of the root of the TeX tree if, for example, a TeX package will be
later.</para></listitem> installed later.</para>
</varlistentry> </listitem>
</variablelist> </varlistentry>
<!-- FIXME: doesn't the TeX installation in BLFS overwrite files there? -->
<para>The Info documentation system uses a plain text file to hold its </variablelist>
list of menu entries. The file is located at
<filename>/usr/share/info/dir</filename>. Unfortunately, due to <para>The Info documentation system uses a plain text file to hold its list of
occasional problems in the Makefiles of various packages, it can menu entries. The file is located at <filename>/usr/share/info/dir</filename>.
sometimes get out of sync with the info pages installed on the Unfortunately, due to occasional problems in the Makefiles of various packages,
system. If the <filename>/usr/share/info/dir</filename> file ever it can sometimes get out of sync with the info pages installed on the system.
needs to be recreated, the following optional commands will accomplish If the <filename>/usr/share/info/dir</filename> file ever needs to be
the task:</para> recreated, the following optional commands will accomplish the task:</para>
<screen role="nodump"><userinput>cd /usr/share/info <screen role="nodump"><userinput>cd /usr/share/info
rm dir rm dir
@ -88,85 +105,105 @@ for f in *
do install-info $f dir 2&gt;/dev/null do install-info $f dir 2&gt;/dev/null
done</userinput></screen> done</userinput></screen>
</sect2> </sect2>
<sect2 id="contents-texinfo" role="content"><title>Contents of Texinfo</title> <sect2 id="contents-texinfo" role="content">
<title>Contents of Texinfo</title>
<segmentedlist> <segmentedlist>
<segtitle>Installed programs</segtitle> <segtitle>Installed programs</segtitle>
<seglistitem><seg>info, infokey, install-info,
makeinfo, texi2dvi, texi2pdf, and texindex</seg></seglistitem>
</segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> <seglistitem>
<?dbfo list-presentation="list"?> <seg>info, infokey, install-info, makeinfo, texi2dvi, texi2pdf, and
<?dbhtml list-presentation="table"?> texindex</seg>
</seglistitem>
</segmentedlist>
<varlistentry id="info"> <variablelist>
<term><command>info</command></term> <bridgehead renderas="sect3">Short Descriptions</bridgehead>
<listitem> <?dbfo list-presentation="list"?>
<para>Used to read info pages which are similar to man pages, but often go much <?dbhtml list-presentation="table"?>
deeper than just explaining all the available command line options. For example,
compare <command>man bison</command> and <command>info bison</command>.</para>
<indexterm zone="ch-system-texinfo info"><primary sortas="b-info">info</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="infokey"> <varlistentry id="info">
<term><command>infokey</command></term> <term><command>info</command></term>
<listitem> <listitem>
<para>Compiles a source file containing Info customizations into a <para>Used to read info pages which are similar to man pages, but
binary format</para> often go much deeper than just explaining all the available command
<indexterm zone="ch-system-texinfo infokey"><primary sortas="b-infokey">infokey</primary></indexterm> line options. For example, compare <command>man bison</command> and
</listitem> <command>info bison</command>.</para>
</varlistentry> <indexterm zone="ch-system-texinfo info">
<primary sortas="b-info">info</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="install-info"> <varlistentry id="infokey">
<term><command>install-info</command></term> <term><command>infokey</command></term>
<listitem> <listitem>
<para>Used to install info pages; it updates entries in the <para>Compiles a source file containing Info customizations into a
<command>info</command> index file</para> binary format</para>
<indexterm zone="ch-system-texinfo install-info"><primary sortas="b-install-info">install-info</primary></indexterm> <indexterm zone="ch-system-texinfo infokey">
</listitem> <primary sortas="b-infokey">infokey</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="makeinfo"> <varlistentry id="install-info">
<term><command>makeinfo</command></term> <term><command>install-info</command></term>
<listitem> <listitem>
<para>Translates the given Texinfo source documents into <para>Used to install info pages; it updates entries in the
info pages, plain text, or HTML</para> <command>info</command> index file</para>
<indexterm zone="ch-system-texinfo makeinfo"><primary sortas="b-makeinfo">makeinfo</primary></indexterm> <indexterm zone="ch-system-texinfo install-info">
</listitem> <primary sortas="b-install-info">install-info</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="texi2dvi"> <varlistentry id="makeinfo">
<term><command>texi2dvi</command></term> <term><command>makeinfo</command></term>
<listitem> <listitem>
<para>Used to format the given Texinfo document into a <para>Translates the given Texinfo source documents into
device-independent file that can be printed</para> info pages, plain text, or HTML</para>
<indexterm zone="ch-system-texinfo texi2dvi"><primary sortas="b-texi2dvi">texi2dvi</primary></indexterm> <indexterm zone="ch-system-texinfo makeinfo">
</listitem> <primary sortas="b-makeinfo">makeinfo</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="texi2pdf"> <varlistentry id="texi2dvi">
<term><command>texi2pdf</command></term> <term><command>texi2dvi</command></term>
<listitem> <listitem>
<para>Used to format the given Texinfo document into a <para>Used to format the given Texinfo document into a
Portable Document Format (PDF) file</para> device-independent file that can be printed</para>
<indexterm zone="ch-system-texinfo texi2pdf"><primary sortas="b-texi2pdf">texi2pdf</primary></indexterm> <indexterm zone="ch-system-texinfo texi2dvi">
</listitem> <primary sortas="b-texi2dvi">texi2dvi</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="texindex"> <varlistentry id="texi2pdf">
<term><command>texindex</command></term> <term><command>texi2pdf</command></term>
<listitem> <listitem>
<para>Used to sort Texinfo index files</para> <para>Used to format the given Texinfo document into a
<indexterm zone="ch-system-texinfo texindex"><primary sortas="b-texindex">texindex</primary></indexterm> Portable Document Format (PDF) file</para>
</listitem> <indexterm zone="ch-system-texinfo texi2pdf">
</varlistentry> <primary sortas="b-texi2pdf">texi2pdf</primary>
</variablelist> </indexterm>
</listitem>
</varlistentry>
</sect2> <varlistentry id="texindex">
<term><command>texindex</command></term>
<listitem>
<para>Used to sort Texinfo index files</para>
<indexterm zone="ch-system-texinfo texindex">
<primary sortas="b-texindex">texindex</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1> </sect1>

View File

@ -1,217 +1,258 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?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"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="ch-system-udev" role="wrap"> <sect1 id="ch-system-udev" role="wrap">
<title>Udev-&udev-version;</title> <?dbhtml filename="udev.html"?>
<?dbhtml filename="udev.html"?>
<indexterm zone="ch-system-udev"><primary sortas="a-Udev">Udev</primary></indexterm> <title>Udev-&udev-version;</title>
<sect2 role="package"><title/> <indexterm zone="ch-system-udev">
<para>The Udev package contains programs for dynamic creation of device nodes.</para> <primary sortas="a-Udev">Udev</primary>
</indexterm>
<segmentedlist> <sect2 role="package">
<segtitle>&buildtime;</segtitle> <title/>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.1 SBU</seg><seg>3.8 MB</seg></seglistitem>
</segmentedlist>
<segmentedlist> <para>The Udev package contains programs for dynamic creation of device
<segtitle>&dependencies;</segtitle> nodes.</para>
<seglistitem><seg>Coreutils and Make</seg></seglistitem>
</segmentedlist>
</sect2> <segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<sect2 role="installation"> <seglistitem>
<title>Installation of Udev</title> <seg>0.1 SBU</seg>
<seg>3.8 MB</seg>
</seglistitem>
</segmentedlist>
<para>Compile the package:</para> <segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem>
<seg>Coreutils and Make</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Udev</title>
<para>Compile the package:</para>
<screen><userinput>make EXTRAS=extras/run_directory</userinput></screen> <screen><userinput>make EXTRAS=extras/run_directory</userinput></screen>
<para>The meaning of the make option:</para> <variablelist>
<title>The meaning of the make option:</title>
<variablelist>
<varlistentry> <varlistentry>
<term><parameter>EXTRAS=extras/run_directory</parameter> <term><parameter>EXTRAS=extras/run_directory</parameter></term>
</term>
<listitem> <listitem>
<para>This builds the <command>udev_run_devd</command> and <para>This builds the <command>udev_run_devd</command> and
<command>udev_run_hotplugd</command> binaries, which are required for <command>udev_run_hotplugd</command> binaries, which are required
correct handling of hotpluggable devices. for correct handling of hotpluggable devices.</para>
</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
</variablelist>
<para>To test the results, issue: </variablelist>
<userinput>make test</userinput>.</para>
<para>Install the package:</para> <para>To test the results, issue:
<userinput>make test</userinput>.</para>
<para>Install the package:</para>
<screen><userinput>make DESTDIR=/ EXTRAS=extras/run_directory install</userinput></screen> <screen><userinput>make DESTDIR=/ EXTRAS=extras/run_directory install</userinput></screen>
<para>The meaning of the make option:</para> <variablelist>
<title>The meaning of the make parameter:</title>
<variablelist>
<varlistentry> <varlistentry>
<term><parameter>DESTDIR=/</parameter> <term><parameter>DESTDIR=/</parameter></term>
</term>
<listitem> <listitem>
<para>This prevents the Udev build process from killing any <para>This prevents the Udev build process from killing any
<command>udevd</command> processes that may be running on the host <command>udevd</command> processes that may be running on the
system. host system.</para>
</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
</variablelist>
<para>Udev's configuration is far from ideal by default, so install </variablelist>
the configuration files here:</para>
<para>Udev's configuration is far from ideal by default, so install
the configuration files here:</para>
<screen><userinput>cp -v ../&udev-config-file; /etc/udev/rules.d/25-lfs.rules</userinput></screen> <screen><userinput>cp -v ../&udev-config-file; /etc/udev/rules.d/25-lfs.rules</userinput></screen>
<para>Install the documentation that explains how to create Udev rules:</para> <para>Install the documentation that explains how to create Udev rules:</para>
<screen><userinput>install -m644 -D -v docs/writing_udev_rules/index.html /usr/share/doc/udev-&udev-version;/index.html</userinput></screen> <screen><userinput>install -m644 -D -v docs/writing_udev_rules/index.html /usr/share/doc/udev-&udev-version;/index.html</userinput></screen>
<!-- Not for the LiveCD --> <!-- Not for the LiveCD -->
<!-- Edit Me --> <!-- Edit Me -->
<para>Run the <command>udevstart</command> program to create our full <para>Run the <command>udevstart</command> program to create our full
complement of device nodes.</para> complement of device nodes.</para>
<screen><userinput>/sbin/udevstart</userinput></screen> <screen><userinput>/sbin/udevstart</userinput></screen>
</sect2> </sect2>
<sect2 id="contents-udev" role="content"><title>Contents of Udev</title> <sect2 id="contents-udev" role="content">
<title>Contents of Udev</title>
<segmentedlist> <segmentedlist>
<segtitle>Installed programs</segtitle> <segtitle>Installed programs</segtitle>
<segtitle>Installed directory</segtitle> <segtitle>Installed directory</segtitle>
<seglistitem><seg>udev, udev_run_devd, udev_run_hotplugd, udevcontrol, udevd,
udevinfo, udevmonitor, udevsend, udevstart, and udevtest</seg>
<seg>/etc/udev</seg></seglistitem>
</segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> <seglistitem>
<?dbfo list-presentation="list"?> <seg>udev, udev_run_devd, udev_run_hotplugd, udevcontrol, udevd,
<?dbhtml list-presentation="table"?> udevinfo, udevmonitor, udevsend, udevstart, and udevtest</seg>
<seg>/etc/udev</seg>
</seglistitem>
</segmentedlist>
<varlistentry id="udev"> <variablelist>
<term><command>udev</command></term> <bridgehead renderas="sect3">Short Descriptions</bridgehead>
<listitem> <?dbfo list-presentation="list"?>
<para>Creates device nodes in <filename <?dbhtml list-presentation="table"?>
class="directory">/dev</filename> or renames network interfaces (not
in LFS) in response to hotplug events</para>
<indexterm zone="ch-system-udev udev"><primary sortas="b-udev">udev</primary></indexterm>
</listitem></varlistentry>
<varlistentry id="udev_run_devd"> <varlistentry id="udev">
<term><command>udev</command></term>
<listitem>
<para>Creates device nodes in <filename class="directory">/dev</filename>
or renames network interfaces (not in LFS) in response to hotplug
events</para>
<indexterm zone="ch-system-udev udev">
<primary sortas="b-udev">udev</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="udev_run_devd">
<term><command>udev_run_devd</command></term> <term><command>udev_run_devd</command></term>
<listitem> <listitem>
<para>Executes programs and scripts in the <para>Executes programs and scripts in the <filename
<filename class="directory">/etc/dev.d/</filename> directory in response class="directory">/etc/dev.d/</filename> directory in response to
to hotplug events hotplug events</para>
</para>
<indexterm zone="ch-system-udev udev_run_devd"> <indexterm zone="ch-system-udev udev_run_devd">
<primary sortas="b-udev_run_devd">udev_run_devd</primary> <primary sortas="b-udev_run_devd">udev_run_devd</primary>
</indexterm> </indexterm>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry id="udev_run_hotplugd"> <varlistentry id="udev_run_hotplugd">
<term><command>udev_run_hotplugd</command></term> <term><command>udev_run_hotplugd</command></term>
<listitem> <listitem>
<para>Executes programs and scripts in the <para>Executes programs and scripts in the <filename
<filename class="directory">/etc/hotplug.d/</filename> directory in class="directory">/etc/hotplug.d/</filename> directory in response
response to hotplug events to hotplug events</para>
</para>
<indexterm zone="ch-system-udev udev_run_hotplugd"> <indexterm zone="ch-system-udev udev_run_hotplugd">
<primary sortas="b-udev_run_hotplugd">udev_run_hotplugd</primary> <primary sortas="b-udev_run_hotplugd">udev_run_hotplugd</primary>
</indexterm> </indexterm>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry id="udevcontrol"> <varlistentry id="udevcontrol">
<term><command>udevcontrol</command></term> <term><command>udevcontrol</command></term>
<listitem> <listitem>
<para>Configures a number of options for the running <command>udevd</command> <para>Configures a number of options for the running
daemon, such as the log level.</para> <command>udevd</command> daemon, such as the log level.</para>
<indexterm zone="ch-system-udev udevcontrol"><primary sortas="b-udevcontrol">udevcontrol</primary> <indexterm zone="ch-system-udev udevcontrol">
</indexterm> <primary sortas="b-udevcontrol">udevcontrol</primary>
</listitem></varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="udevd"> <varlistentry id="udevd">
<term><command>udevd</command></term> <term><command>udevd</command></term>
<listitem> <listitem>
<para>A daemon that reorders hotplug events before submitting them to <para>A daemon that reorders hotplug events before submitting them to
<command>udev</command>, <command>udev</command>, thus avoiding various race conditions</para>
thus avoiding various race conditions</para> <indexterm zone="ch-system-udev udevd">
<indexterm zone="ch-system-udev udevd"><primary sortas="b-udevd">udevd</primary></indexterm> <primary sortas="b-udevd">udevd</primary>
</listitem></varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="udevinfo"> <varlistentry id="udevinfo">
<term><command>udevinfo</command></term> <term><command>udevinfo</command></term>
<listitem> <listitem>
<para>Allows users to query the <command>udev</command> database for <para>Allows users to query the <command>udev</command> database for
information on any device currently present on the system; it also information on any device currently present on the system; it also
provides a way to query any device in the <systemitem provides a way to query any device in the <systemitem
class="filesystem">sysfs</systemitem> tree to help create udev class="filesystem">sysfs</systemitem> tree to help create udev
rules</para> rules</para>
<indexterm zone="ch-system-udev udevinfo"><primary sortas="b-udevinfo">udevinfo</primary></indexterm> <indexterm zone="ch-system-udev udevinfo">
</listitem></varlistentry> <primary sortas="b-udevinfo">udevinfo</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="udevmonitor"> <varlistentry id="udevmonitor">
<term><command>udevmonitor</command></term> <term><command>udevmonitor</command></term>
<listitem> <listitem>
<para>Prints the event received from the kernel and the event which <para>Prints the event received from the kernel and the event which
<command>udev</command> sends out after rule processing</para> <command>udev</command> sends out after rule processing</para>
<indexterm zone="ch-system-udev udevmonitor"><primary sortas="b-udevmonitor">udevmonitor</primary> <indexterm zone="ch-system-udev udevmonitor">
</indexterm> <primary sortas="b-udevmonitor">udevmonitor</primary>
</listitem></varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="udevsend"> <varlistentry id="udevsend">
<term><command>udevsend</command></term> <term><command>udevsend</command></term>
<listitem> <listitem>
<para>Delivers hotplug events to <command>udevd</command></para> <para>Delivers hotplug events to <command>udevd</command></para>
<indexterm zone="ch-system-udev udevsend"><primary sortas="b-udevsend">udevsend</primary></indexterm> <indexterm zone="ch-system-udev udevsend">
</listitem></varlistentry> <primary sortas="b-udevsend">udevsend</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="udevstart"> <varlistentry id="udevstart">
<term><command>udevstart</command></term> <term><command>udevstart</command></term>
<listitem> <listitem>
<para>Creates device nodes in <filename <para>Creates device nodes in <filename class="directory">/dev</filename>
class="directory">/dev</filename> that correspond to drivers compiled directly that correspond to drivers compiled directly into the kernel; it
into the kernel; it performs that task by simulating hotplug events presumably performs that task by simulating hotplug events presumably dropped by
dropped by the kernel before invocation of this program (e.g., because the root the kernel before invocation of this program (e.g., because the root
filesystem has not been mounted) and submitting such synthetic hotplug events filesystem has not been mounted) and submitting such synthetic hotplug
to <command>udev</command></para> events to <command>udev</command></para>
<indexterm zone="ch-system-udev udevstart"><primary sortas="b-udevstart">udevstart</primary></indexterm> <indexterm zone="ch-system-udev udevstart">
</listitem> <primary sortas="b-udevstart">udevstart</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="udevtest"> <varlistentry id="udevtest">
<term><command>udevtest</command></term> <term><command>udevtest</command></term>
<listitem> <listitem>
<para>Simulates a <command>udev</command> run for the given device, <para>Simulates a <command>udev</command> run for the given device,
and prints out the name of the node the real <command>udev</command> would and prints out the name of the node the real <command>udev</command>
have created or (not in LFS) the name of the renamed network interface</para> would have created or (not in LFS) the name of the renamed network
<indexterm zone="ch-system-udev udevtest"><primary sortas="b-udevtest">udevtest</primary></indexterm> interface</para>
</listitem></varlistentry> <indexterm zone="ch-system-udev udevtest">
<primary sortas="b-udevtest">udevtest</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="etc-udev"> <varlistentry id="etc-udev">
<term><filename class="directory">/etc/udev</filename></term> <term><filename class="directory">/etc/udev</filename></term>
<listitem> <listitem>
<para>Contains <command>udev</command> configuation files, <para>Contains <command>udev</command> configuation files,
device permissions, and rules for device naming</para> device permissions, and rules for device naming</para>
<indexterm zone="ch-system-udev etc-udev"><primary sortas="e-/etc/udev">/etc/udev</primary></indexterm> <indexterm zone="ch-system-udev etc-udev">
</listitem></varlistentry> <primary sortas="e-/etc/udev">/etc/udev</primary>
</variablelist> </indexterm>
</sect2> </listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1> </sect1>

File diff suppressed because it is too large Load Diff

View File

@ -1,128 +1,151 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?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"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="ch-system-vim" role="wrap"> <sect1 id="ch-system-vim" role="wrap">
<title>Vim-&vim-version;</title> <?dbhtml filename="vim.html"?>
<?dbhtml filename="vim.html"?>
<indexterm zone="ch-system-vim"><primary sortas="a-Vim">Vim</primary></indexterm> <title>Vim-&vim-version;</title>
<sect2 role="package"><title/> <indexterm zone="ch-system-vim">
<para>The Vim package contains a powerful text editor.</para> <primary sortas="a-Vim">Vim</primary>
</indexterm>
<segmentedlist> <sect2 role="package">
<segtitle>&buildtime;</segtitle> <title/>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.4 SBU</seg><seg>38.0 MB</seg></seglistitem>
</segmentedlist>
<segmentedlist> <para>The Vim package contains a powerful text editor.</para>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, Ncurses, and Sed</seg></seglistitem>
</segmentedlist>
<tip> <segmentedlist>
<title>Alternatives to Vim</title> <segtitle>&buildtime;</segtitle>
<para>If you prefer another editor&mdash;such as Emacs, Joe, or <segtitle>&diskspace;</segtitle>
Nano&mdash;please refer to <ulink url="&blfs-root;view/svn/postlfs/editors.html"/>
for suggested installation instructions.</para>
</tip>
</sect2>
<sect2 role="installation"> <seglistitem>
<title>Installation of Vim</title> <seg>0.4 SBU</seg>
<seg>38.0 MB</seg>
</seglistitem>
</segmentedlist>
<para>First, unpack both <segmentedlist>
<filename>vim-&vim-version;.tar.bz2</filename> and (optionally) <segtitle>&dependencies;</segtitle>
<filename>vim-&vim-version;-lang.tar.gz</filename> archives into the
same directory. Then, change the default location of the <seglistitem>
<filename>vimrc</filename> configuration file to <filename <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make,
class="directory">/etc</filename>:</para> Ncurses, and Sed</seg>
</seglistitem>
</segmentedlist>
<tip>
<title>Alternatives to Vim</title>
<para>If you prefer another editor&mdash;such as Emacs, Joe, or
Nano&mdash;please refer to <ulink
url="&blfs-root;view/svn/postlfs/editors.html"/> for suggested
installation instructions.</para>
</tip>
</sect2>
<sect2 role="installation">
<title>Installation of Vim</title>
<para>First, unpack both
<filename>vim-&vim-version;.tar.bz2</filename> and (optionally)
<filename>vim-&vim-version;-lang.tar.gz</filename> archives into the
same directory. Then, change the default location of the
<filename>vimrc</filename> configuration file to <filename
class="directory">/etc</filename>:</para>
<screen><userinput>echo '#define SYS_VIMRC_FILE "/etc/vimrc"' &gt;&gt; src/feature.h</userinput></screen> <screen><userinput>echo '#define SYS_VIMRC_FILE "/etc/vimrc"' &gt;&gt; src/feature.h</userinput></screen>
<para>Now prepare Vim for compilation:</para> <para>Now prepare Vim for compilation:</para>
<screen><userinput>./configure --prefix=/usr --enable-multibyte</userinput></screen> <screen><userinput>./configure --prefix=/usr --enable-multibyte</userinput></screen>
<para>The meaning of the configure options:</para> <variablelist>
<title>The meaning of the configure options:</title>
<variablelist> <varlistentry>
<varlistentry> <term><parameter>--enable-multibyte</parameter></term>
<term><parameter>--enable-multibyte</parameter></term> <listitem>
<listitem><para>This switch enables support for <para>This switch enables support for editing files in multibyte
editing files in multibyte character encodings. This is needed if using a character encodings. This is needed if using a locale with a
locale with a multibyte character set. This switch is also helpful to be able to multibyte character set. This switch is also helpful to be able
edit text files initially created in Linux distributions like Fedora Core that to edit text files initially created in Linux distributions like
use UTF-8 as a default character set.</para> Fedora Core that use UTF-8 as a default character set.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
</variablelist>
<para>Compile the package:</para> </variablelist>
<para>Compile the package:</para>
<screen><userinput>make</userinput></screen> <screen><userinput>make</userinput></screen>
<para>To test the results, issue: <userinput>make test</userinput>. However, <para>To test the results, issue: <userinput>make test</userinput>. However,
this test suite outputs a lot of binary data to the screen, which can cause this test suite outputs a lot of binary data to the screen, which can cause
issues with the settings of the current terminal. This can be resolved by issues with the settings of the current terminal. This can be resolved by
redirecting the output to a log file.</para> redirecting the output to a log file.</para>
<para>Install the package:</para> <para>Install the package:</para>
<screen><userinput>make install</userinput></screen> <screen><userinput>make install</userinput></screen>
<para>In UTF-8 locales, the <command>vimtutor</command> program <para>In UTF-8 locales, the <command>vimtutor</command> program tries to
tries to convert the tutorials from ISO-8859-1 to UTF-8. Since convert the tutorials from ISO-8859-1 to UTF-8. Since some tutorials are
some tutorials are not in ISO-8859-1, the text in them is thus made unreadable. not in ISO-8859-1, the text in them is thus made unreadable. If you
If you unpacked the <filename>vim-&vim-version;-lang.tar.gz</filename> unpacked the <filename>vim-&vim-version;-lang.tar.gz</filename> archive
archive and are going to use a UTF-8 based locale, remove non-ISO-8859-1 and are going to use a UTF-8 based locale, remove non-ISO-8859-1 tutorials.
tutorials. An English tutorial will be used instead.</para> An English tutorial will be used instead.</para>
<!-- Removal is used instead of conversion in order for the user to be able to <!-- Removal is used instead of conversion in order for the user to be able to
painlessly revert his UTF-8 locale choice. --> painlessly revert his UTF-8 locale choice. -->
<screen><userinput>rm -f /usr/share/vim/vim64/tutor/tutor.{gr,pl,ru,sk} <screen><userinput>rm -f /usr/share/vim/vim64/tutor/tutor.{gr,pl,ru,sk}
rm -f /usr/share/vim/vim64/tutor/tutor.??.*</userinput></screen> rm -f /usr/share/vim/vim64/tutor/tutor.??.*</userinput></screen>
<para>Many users are used to using <command>vi</command> instead of <para>Many users are used to using <command>vi</command> instead of
<command>vim</command>. To allow execution of <command>vim</command> <command>vim</command>. To allow execution of <command>vim</command>
when users habitually enter <command>vi</command>, create a when users habitually enter <command>vi</command>, create a
symlink:</para> symlink:</para>
<screen><userinput>ln -sv vim /usr/bin/vi</userinput></screen> <screen><userinput>ln -sv vim /usr/bin/vi</userinput></screen>
<para>By default, Vim's documentation is installed in <para>By default, Vim's documentation is installed in <filename
<filename class="directory">/usr/share/vim</filename>. The following symlink class="directory">/usr/share/vim</filename>. The following symlink
allows the documentation to be accessed via allows the documentation to be accessed via <filename
<filename class="directory">/usr/share/doc/vim-&vim-version;</filename>, making class="directory">/usr/share/doc/vim-&vim-version;</filename>, making
it consistent with the location of documentation for other packages:</para> it consistent with the location of documentation for other packages:</para>
<screen><userinput>ln -sv ../vim/vim64/doc /usr/share/doc/vim-&vim-version;</userinput></screen> <screen><userinput>ln -sv ../vim/vim64/doc /usr/share/doc/vim-&vim-version;</userinput></screen>
<para>If an X Window System is going to be installed on the LFS <para>If an X Window System is going to be installed on the LFS
system, it may be necessary to recompile Vim after installing X. Vim system, it may be necessary to recompile Vim after installing X. Vim
comes with a GUI version of the editor that requires X and some comes with a GUI version of the editor that requires X and some
additional libraries to be installed. For more information on this additional libraries to be installed. For more information on this
process, refer to the Vim documentation and the Vim installation page process, refer to the Vim documentation and the Vim installation page
in the BLFS book at <ulink in the BLFS book at <ulink
url="&blfs-root;view/svn/postlfs/editors.html#postlfs-editors-vim"/>.</para> url="&blfs-root;view/svn/postlfs/editors.html#postlfs-editors-vim"/>.</para>
</sect2> </sect2>
<sect2 id="conf-vim" role="configuration"><title>Configuring Vim</title> <sect2 id="conf-vim" role="configuration">
<indexterm zone="conf-vim"><primary sortas="e-/etc/vimrc">/etc/vimrc</primary></indexterm> <title>Configuring Vim</title>
<para>By default, <command>vim</command> runs in vi-incompatible mode. This may <indexterm zone="conf-vim">
be new to users who have used other editors in the past. The <primary sortas="e-/etc/vimrc">/etc/vimrc</primary>
<quote>nocompatible</quote> setting is included below to highlight the fact that </indexterm>
a new behavior is being used. It also reminds those who would change to
<quote>compatible</quote> mode that it should be the first setting in the <para>By default, <command>vim</command> runs in vi-incompatible mode.
configuration file. This is necessary because it changes other settings, and This may be new to users who have used other editors in the past. The
overrides must come after this setting. Create a default <command>vim</command> <quote>nocompatible</quote> setting is included below to highlight the
configuration file by running the following:</para> fact that a new behavior is being used. It also reminds those who would
change to <quote>compatible</quote> mode that it should be the first
setting in the configuration file. This is necessary because it changes
other settings, and overrides must come after this setting. Create a default
<command>vim</command> configuration file by running the following:</para>
<screen><userinput>cat &gt; /etc/vimrc &lt;&lt; "EOF" <screen><userinput>cat &gt; /etc/vimrc &lt;&lt; "EOF"
<literal>" Begin /etc/vimrc <literal>" Begin /etc/vimrc
@ -137,217 +160,272 @@ endif
" End /etc/vimrc</literal> " End /etc/vimrc</literal>
EOF</userinput></screen> EOF</userinput></screen>
<para>The <parameter>set nocompatible</parameter> makes <para>The <parameter>set nocompatible</parameter> makes
<command>vim</command> behave in a more useful way (the default) than <command>vim</command> behave in a more useful way (the default) than
the vi-compatible manner. Remove the <quote>no</quote> to keep the the vi-compatible manner. Remove the <quote>no</quote> to keep the
old <command>vi</command> behavior. The <parameter>set old <command>vi</command> behavior. The <parameter>set
backspace=2</parameter> allows backspacing over line breaks, backspace=2</parameter> allows backspacing over line breaks,
autoindents, and the start of insert. The <parameter>syntax autoindents, and the start of insert. The <parameter>syntax
on</parameter> enables vim's syntax highlighting. Finally, the on</parameter> enables vim's syntax highlighting. Finally, the
<emphasis>if</emphasis> statement with the <parameter>set <emphasis>if</emphasis> statement with the <parameter>set
background=dark</parameter> corrects <command>vim</command>'s guess background=dark</parameter> corrects <command>vim</command>'s guess
about the background color of some terminal emulators. This gives the about the background color of some terminal emulators. This gives the
highlighting a better color scheme for use on the black background of highlighting a better color scheme for use on the black background of
these programs.</para> these programs.</para>
<para>Documentation for other available options can be obtained by <para>Documentation for other available options can be obtained by
running the following command:</para> running the following command:</para>
<screen role="nodump"><userinput>vim -c ':options'</userinput></screen> <screen role="nodump"><userinput>vim -c ':options'</userinput></screen>
</sect2> </sect2>
<sect2 id="contents-vim" role="content"><title>Contents of Vim</title> <sect2 id="contents-vim" role="content">
<title>Contents of Vim</title>
<segmentedlist> <segmentedlist>
<segtitle>Installed programs</segtitle> <segtitle>Installed programs</segtitle>
<seglistitem><seg>efm_filter.pl, efm_perl.pl, ex (link to vim), less.sh, mve.awk,
pltags.pl, ref, rview (link to vim), rvim (link to vim), shtags.pl, tcltags, vi (link to vim),
view (link to vim), vim, vim132, vim2html.pl, vimdiff (link to vim), vimm, vimspell.sh,
vimtutor, and xxd</seg></seglistitem>
</segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> <seglistitem>
<?dbfo list-presentation="list"?> <seg>efm_filter.pl, efm_perl.pl, ex (link to vim), less.sh, mve.awk,
<?dbhtml list-presentation="table"?> pltags.pl, ref, rview (link to vim), rvim (link to vim), shtags.pl,
tcltags, vi (link to vim), view (link to vim), vim, vim132, vim2html.pl,
vimdiff (link to vim), vimm, vimspell.sh, vimtutor, and xxd</seg>
</seglistitem>
</segmentedlist>
<varlistentry id="efm_filter.pl"> <variablelist>
<term><command>efm_filter.pl</command></term> <bridgehead renderas="sect3">Short Descriptions</bridgehead>
<listitem> <?dbfo list-presentation="list"?>
<para>A filter for creating an error file that can be read by <command>vim</command></para> <?dbhtml list-presentation="table"?>
<indexterm zone="ch-system-vim efm_filter.pl"><primary sortas="b-efm_filter.pl">efm_filter.pl</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="efm_perl.pl"> <varlistentry id="efm_filter.pl">
<term><command>efm_perl.pl</command></term> <term><command>efm_filter.pl</command></term>
<listitem> <listitem>
<para>Reformats the error messages of the <para>A filter for creating an error file that can be read
Perl interpreter for use with the <quote>quickfix</quote> mode of <command>vim</command></para> by <command>vim</command></para>
<indexterm zone="ch-system-vim efm_perl.pl"><primary sortas="b-efm_perl.pl">efm_perl.pl</primary></indexterm> <indexterm zone="ch-system-vim efm_filter.pl">
</listitem> <primary sortas="b-efm_filter.pl">efm_filter.pl</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="ex"> <varlistentry id="efm_perl.pl">
<term><command>ex</command></term> <term><command>efm_perl.pl</command></term>
<listitem> <listitem>
<para>Starts <command>vim</command> in ex mode</para> <para>Reformats the error messages of the Perl interpreter for use
<indexterm zone="ch-system-vim ex"><primary sortas="b-ex">ex</primary></indexterm> with the <quote>quickfix</quote> mode of <command>vim</command></para>
</listitem> <indexterm zone="ch-system-vim efm_perl.pl">
</varlistentry> <primary sortas="b-efm_perl.pl">efm_perl.pl</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="less.sh"> <varlistentry id="ex">
<term><command>less.sh</command></term> <term><command>ex</command></term>
<listitem> <listitem>
<para>A script that starts <command>vim</command> with less.vim</para> <para>Starts <command>vim</command> in ex mode</para>
<indexterm zone="ch-system-vim less.sh"><primary sortas="b-less.sh">less.sh</primary></indexterm> <indexterm zone="ch-system-vim ex">
</listitem> <primary sortas="b-ex">ex</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="mve.awk"> <varlistentry id="less.sh">
<term><command>mve.awk</command></term> <term><command>less.sh</command></term>
<listitem> <listitem>
<para>Processes <command>vim</command> errors</para> <para>A script that starts <command>vim</command> with less.vim</para>
<indexterm zone="ch-system-vim mve.awk"><primary sortas="b-mve.awk">mve.awk</primary></indexterm> <indexterm zone="ch-system-vim less.sh">
</listitem> <primary sortas="b-less.sh">less.sh</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="pltags.pl"> <varlistentry id="mve.awk">
<term><command>pltags.pl</command></term> <term><command>mve.awk</command></term>
<listitem> <listitem>
<para>Creates a tags file for Perl code for use by <command>vim</command></para> <para>Processes <command>vim</command> errors</para>
<indexterm zone="ch-system-vim pltags.pl"><primary sortas="b-pltags.pl">pltags.pl</primary></indexterm> <indexterm zone="ch-system-vim mve.awk">
</listitem> <primary sortas="b-mve.awk">mve.awk</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="ref"> <varlistentry id="pltags.pl">
<term><command>ref</command></term> <term><command>pltags.pl</command></term>
<listitem> <listitem>
<para>Checks the spelling of arguments</para> <para>Creates a tags file for Perl code for use by
<indexterm zone="ch-system-vim ref"><primary sortas="b-ref">ref</primary></indexterm> <command>vim</command></para>
</listitem> <indexterm zone="ch-system-vim pltags.pl">
</varlistentry> <primary sortas="b-pltags.pl">pltags.pl</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="rview"> <varlistentry id="ref">
<term><command>rview</command></term> <term><command>ref</command></term>
<listitem> <listitem>
<para>Is a restricted version of <command>view</command>; no shell <para>Checks the spelling of arguments</para>
commands can be started and <command>view</command> cannot be suspended</para> <indexterm zone="ch-system-vim ref">
<indexterm zone="ch-system-vim rview"><primary sortas="b-rview">rview</primary></indexterm> <primary sortas="b-ref">ref</primary>
</listitem> </indexterm>
</varlistentry> </listitem>
</varlistentry>
<varlistentry id="rvim"> <varlistentry id="rview">
<term><command>rvim</command></term> <term><command>rview</command></term>
<listitem> <listitem>
<para>Is a restricted version of <command>vim</command>; no shell <para>Is a restricted version of <command>view</command>; no shell
commands can be started and <command>vim</command> cannot be suspended</para> commands can be started and <command>view</command> cannot be
<indexterm zone="ch-system-vim rvim"><primary sortas="b-rvim">rvim</primary></indexterm> suspended</para>
</listitem> <indexterm zone="ch-system-vim rview">
</varlistentry> <primary sortas="b-rview">rview</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="shtags.pl"> <varlistentry id="rvim">
<term><command>shtags.pl</command></term> <term><command>rvim</command></term>
<listitem> <listitem>
<para>Generates a tags file for Perl scripts</para> <para>Is a restricted version of <command>vim</command>; no shell
<indexterm zone="ch-system-vim shtags.pl"><primary sortas="b-shtags.pl">shtags.pl</primary></indexterm> commands can be started and <command>vim</command> cannot be
</listitem> suspended</para>
</varlistentry> <indexterm zone="ch-system-vim rvim">
<primary sortas="b-rvim">rvim</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="tcltags"> <varlistentry id="shtags.pl">
<term><command>tcltags</command></term> <term><command>shtags.pl</command></term>
<listitem> <listitem>
<para>Generates a tags file for TCL code</para> <para>Generates a tags file for Perl scripts</para>
<indexterm zone="ch-system-vim tcltags"><primary sortas="b-tcltags">tcltags</primary></indexterm> <indexterm zone="ch-system-vim shtags.pl">
</listitem> <primary sortas="b-shtags.pl">shtags.pl</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="view"> <varlistentry id="tcltags">
<term><command>view</command></term> <term><command>tcltags</command></term>
<listitem> <listitem>
<para>Starts <command>vim</command> in read-only mode</para> <para>Generates a tags file for TCL code</para>
<indexterm zone="ch-system-vim view"><primary sortas="b-view">view</primary></indexterm> <indexterm zone="ch-system-vim tcltags">
</listitem> <primary sortas="b-tcltags">tcltags</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="vi"> <varlistentry id="view">
<term><command>vi</command></term> <term><command>view</command></term>
<listitem> <listitem>
<para>Is the editor</para> <para>Starts <command>vim</command> in read-only mode</para>
<indexterm zone="ch-system-vim vi"><primary sortas="b-vi">vi</primary></indexterm> <indexterm zone="ch-system-vim view">
</listitem> <primary sortas="b-view">view</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="vim"> <varlistentry id="vi">
<term><command>vim</command></term> <term><command>vi</command></term>
<listitem> <listitem>
<para>Is the editor</para> <para>Link to <command>vim</command></para>
<indexterm zone="ch-system-vim vim"><primary sortas="b-vim">vim</primary></indexterm> <indexterm zone="ch-system-vim vi">
</listitem> <primary sortas="b-vi">vi</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="vim132"> <varlistentry id="vim">
<term><command>vim132</command></term> <term><command>vim</command></term>
<listitem> <listitem>
<para>Starts <command>vim</command> with the terminal in 132-column mode</para> <para>Is the editor</para>
<indexterm zone="ch-system-vim vim132"><primary sortas="b-vim132">vim132</primary></indexterm> <indexterm zone="ch-system-vim vim">
</listitem> <primary sortas="b-vim">vim</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="vim2html.pl"> <varlistentry id="vim132">
<term><command>vim2html.pl</command></term> <term><command>vim132</command></term>
<listitem> <listitem>
<para>Converts Vim documentation to HypterText Markup Language (HTML)</para> <para>Starts <command>vim</command> with the terminal in 132-column
<indexterm zone="ch-system-vim vim2html.pl"><primary sortas="b-vim2html.pl">vim2html.pl</primary></indexterm> mode</para>
</listitem> <indexterm zone="ch-system-vim vim132">
</varlistentry> <primary sortas="b-vim132">vim132</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="vimdiff"> <varlistentry id="vim2html.pl">
<term><command>vimdiff</command></term> <term><command>vim2html.pl</command></term>
<listitem> <listitem>
<para>Edits two or three versions of a file with <command>vim</command> and show differences</para> <para>Converts Vim documentation to HypterText Markup Language
<indexterm zone="ch-system-vim vimdiff"><primary sortas="b-vimdiff">vimdiff</primary></indexterm> (HTML)</para>
</listitem> <indexterm zone="ch-system-vim vim2html.pl">
</varlistentry> <primary sortas="b-vim2html.pl">vim2html.pl</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="vimm"> <varlistentry id="vimdiff">
<term><command>vimm</command></term> <term><command>vimdiff</command></term>
<listitem> <listitem>
<para>Enables the DEC locator input model on a remote terminal</para> <para>Edits two or three versions of a file with <command>vim</command>
<indexterm zone="ch-system-vim vimm"><primary sortas="b-vimm">vimm</primary></indexterm> and show differences</para>
</listitem> <indexterm zone="ch-system-vim vimdiff">
</varlistentry> <primary sortas="b-vimdiff">vimdiff</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="vimspell.sh"> <varlistentry id="vimm">
<term><command>vimspell.sh</command></term> <term><command>vimm</command></term>
<listitem> <listitem>
<para>Spell checks a file and generates the syntax statements necessary to <para>Enables the DEC locator input model on a remote terminal</para>
highlight in <command>vim</command>. This script requires the old Unix <indexterm zone="ch-system-vim vimm">
<command>spell</command> command, which is provided neither in LFS nor in <primary sortas="b-vimm">vimm</primary>
BLFS</para> </indexterm>
<indexterm zone="ch-system-vim vimspell.sh"><primary sortas="b-vimspell.sh">vimspell.sh</primary></indexterm> </listitem>
</listitem> </varlistentry>
</varlistentry>
<varlistentry id="vimtutor"> <varlistentry id="vimspell.sh">
<term><command>vimtutor</command></term> <term><command>vimspell.sh</command></term>
<listitem> <listitem>
<para>Teaches the basic keys and commands of <command>vim</command></para> <para>Spell checks a file and generates the syntax statements
<indexterm zone="ch-system-vim vimtutor"><primary sortas="b-vimtutor">vimtutor</primary></indexterm> necessary to highlight in <command>vim</command>. This script
</listitem> requires the old Unix <command>spell</command> command, which
</varlistentry> is provided neither in LFS nor in BLFS</para>
<indexterm zone="ch-system-vim vimspell.sh">
<primary sortas="b-vimspell.sh">vimspell.sh</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="xxd"> <varlistentry id="vimtutor">
<term><command>xxd</command></term> <term><command>vimtutor</command></term>
<listitem> <listitem>
<para>Creates a hex dump of the given file; it can <para>Teaches the basic keys and commands of
also do the reverse, so it can be used for binary patching</para> <command>vim</command></para>
<indexterm zone="ch-system-vim xxd"><primary sortas="b-xxd">xxd</primary></indexterm> <indexterm zone="ch-system-vim vimtutor">
</listitem> <primary sortas="b-vimtutor">vimtutor</primary>
</varlistentry> </indexterm>
</variablelist> </listitem>
</varlistentry>
</sect2> <varlistentry id="xxd">
<term><command>xxd</command></term>
<listitem>
<para>Creates a hex dump of the given file; it can
also do the reverse, so it can be used for binary patching</para>
<indexterm zone="ch-system-vim xxd">
<primary sortas="b-xxd">xxd</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1> </sect1>

View File

@ -1,105 +1,128 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?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"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="ch-system-zlib" role="wrap"> <sect1 id="ch-system-zlib" role="wrap">
<title>Zlib-&zlib-version;</title> <?dbhtml filename="zlib.html"?>
<?dbhtml filename="zlib.html"?>
<indexterm zone="ch-system-zlib"><primary sortas="a-Zlib">Zlib</primary></indexterm> <title>Zlib-&zlib-version;</title>
<sect2 role="package"><title/> <indexterm zone="ch-system-zlib">
<para>The Zlib package contains compression and decompression routines used by <primary sortas="a-Zlib">Zlib</primary>
some programs.</para> </indexterm>
<segmentedlist> <sect2 role="package">
<segtitle>&buildtime;</segtitle> <title/>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.1 SBU</seg><seg>2.7 MB</seg></seglistitem>
</segmentedlist>
<segmentedlist> <para>The Zlib package contains compression and decompression routines used by
<segtitle>&dependencies;</segtitle> some programs.</para>
<seglistitem><seg>Binutils, Coreutils, GCC, Glibc, Make, and Sed</seg></seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation"> <segmentedlist>
<title>Installation of Zlib</title> <segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<note><para>Zlib is known to build its shared library incorrectly if <seglistitem>
<envar>CFLAGS</envar> is specified in the environment. If using a <seg>0.1 SBU</seg>
specified <envar>CFLAGS</envar> <seg>2.7 MB</seg>
variable, be sure to add the <parameter>-fPIC</parameter> directive to </seglistitem>
the <envar>CFLAGS</envar> variable for the duration of the </segmentedlist>
configure command below, then remove it afterwards.</para></note>
<para>Prepare Zlib for compilation:</para> <segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem>
<seg>Binutils, Coreutils, GCC, Glibc, Make, and Sed</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Zlib</title>
<note>
<para>Zlib is known to build its shared library incorrectly if
<envar>CFLAGS</envar> is specified in the environment. If using
a specified <envar>CFLAGS</envar> variable, be sure to add the
<parameter>-fPIC</parameter> directive to the <envar>CFLAGS</envar>
variable for the duration of the configure command below, then
remove it afterwards.</para>
</note>
<para>Prepare Zlib for compilation:</para>
<screen><userinput>./configure --prefix=/usr --shared --libdir=/lib</userinput></screen> <screen><userinput>./configure --prefix=/usr --shared --libdir=/lib</userinput></screen>
<para>Compile the package:</para> <para>Compile the package:</para>
<screen><userinput>make</userinput></screen> <screen><userinput>make</userinput></screen>
<para>To test the results, issue: <para>To test the results, issue:
<userinput>make check</userinput>.</para> <userinput>make check</userinput>.</para>
<para>Install the shared library:</para> <para>Install the shared library:</para>
<screen><userinput>make install</userinput></screen> <screen><userinput>make install</userinput></screen>
<para>The previous command installed a <filename <para>The previous command installed a <filename
class="extension">.so</filename> file in <filename class="extension">.so</filename> file in <filename
class="directory">/lib</filename>. We will remove it and relink it into class="directory">/lib</filename>. We will remove it and relink it into
<filename class="directory">/usr/lib</filename>:</para> <filename class="directory">/usr/lib</filename>:</para>
<screen><userinput>rm -v /lib/libz.so <screen><userinput>rm -v /lib/libz.so
ln -sfv ../../lib/libz.so.&zlib-version; /usr/lib/libz.so</userinput></screen> ln -sfv ../../lib/libz.so.&zlib-version; /usr/lib/libz.so</userinput></screen>
<para>Build the static library:</para> <para>Build the static library:</para>
<screen><userinput>make clean <screen><userinput>make clean
./configure --prefix=/usr ./configure --prefix=/usr
make</userinput></screen> make</userinput></screen>
<para>To test the results again, issue: <para>To test the results again, issue:
<userinput>make check</userinput>.</para> <userinput>make check</userinput>.</para>
<para>Install the static library:</para> <para>Install the static library:</para>
<screen><userinput>make install</userinput></screen> <screen><userinput>make install</userinput></screen>
<para>Fix the permissions on the static library:</para> <para>Fix the permissions on the static library:</para>
<screen><userinput>chmod -v 644 /usr/lib/libz.a</userinput></screen> <screen><userinput>chmod -v 644 /usr/lib/libz.a</userinput></screen>
</sect2> </sect2>
<sect2 id="contents-zlib" role="content">
<title>Contents of Zlib</title>
<sect2 id="contents-zlib" role="content"><title>Contents of Zlib</title> <segmentedlist>
<segtitle>Installed libraries</segtitle>
<segmentedlist> <seglistitem>
<segtitle>Installed libraries</segtitle> <seg>libz.[a,so]</seg>
<seglistitem><seg>libz.[a,so]</seg></seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> <variablelist>
<?dbfo list-presentation="list"?> <bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbhtml list-presentation="table"?> <?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="libz"> <varlistentry id="libz">
<term><filename class="libraryfile">libz</filename></term> <term><filename class="libraryfile">libz</filename></term>
<listitem> <listitem>
<para>Contains compression and decompression <para>Contains compression and decompression functions used by
functions used by some programs</para> some programs</para>
<indexterm zone="ch-system-zlib libz"><primary sortas="c-libz">libz</primary></indexterm> <indexterm zone="ch-system-zlib libz">
</listitem> <primary sortas="c-libz">libz</primary>
</varlistentry> </indexterm>
</variablelist> </listitem>
</varlistentry>
</sect2> </variablelist>
</sect2>
</sect1> </sect1>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<!ENTITY version "SVN-20060207"> <!ENTITY version "SVN-20060210">
<!ENTITY releasedate "Febraury 7, 2006"> <!ENTITY releasedate "Febraury 10, 2006">
<!ENTITY milestone "6.2"> <!ENTITY milestone "6.2">
<!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" --> <!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->