mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-03-05 22:04:48 +00:00
Removed the text in chapter 06.
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@4446 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
parent
aaa3260c03
commit
3f0c882398
@ -7,9 +7,6 @@
|
||||
<title>Bash-&bash-version;</title>
|
||||
<?dbhtml filename="bash.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-bash">
|
||||
<primary sortas="a-Bash">Bash</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Binutils-&binutils-version; - Pass 1</title>
|
||||
<?dbhtml filename="binutils-pass1.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-binutils-pass1">
|
||||
<primary sortas="a-Binutils">Binutils</primary>
|
||||
<secondary>tools, pass 1</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Binutils-&binutils-version; - Pass 2</title>
|
||||
<?dbhtml filename="binutils-pass2.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-binutils-pass2">
|
||||
<primary sortas="a-Binutils">Binutils</primary>
|
||||
<secondary>tools, pass 2</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Bison-&bison-version;</title>
|
||||
<?dbhtml filename="bison.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-bison">
|
||||
<primary sortas="a-Bison">Bison</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Bzip2-&bzip2-version;</title>
|
||||
<?dbhtml filename="bzip2.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-bzip2">
|
||||
<primary sortas="a-Bzip2">Bzip2</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Coreutils-&coreutils-version;</title>
|
||||
<?dbhtml filename="coreutils.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-coreutils">
|
||||
<primary sortas="a-Coreutils">Coreutils</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Diffutils-&diffutils-version;</title>
|
||||
<?dbhtml filename="diffutils.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-diffutils">
|
||||
<primary sortas="a-Diffutils">Diffutils</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Findutils-&findutils-version;</title>
|
||||
<?dbhtml filename="findutils.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-findutils">
|
||||
<primary sortas="a-Findutils">Findutils</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Flex-&flex-version;</title>
|
||||
<?dbhtml filename="flex.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-flex">
|
||||
<primary sortas="a-Flex">Flex</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Gawk-&gawk-version;</title>
|
||||
<?dbhtml filename="gawk.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-gawk">
|
||||
<primary sortas="a-Gawk">Gawk</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>GCC-&gcc-version; - Pass 1</title>
|
||||
<?dbhtml filename="gcc-pass1.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-gcc-pass1">
|
||||
<primary sortas="a-GCC">GCC</primary>
|
||||
<secondary>tools, pass 1</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>GCC-&gcc-version; - Pass 2</title>
|
||||
<?dbhtml filename="gcc-pass2.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-gcc-pass2">
|
||||
<primary sortas="a-GCC">GCC</primary>
|
||||
<secondary>tools, pass 2</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Gettext-&gettext-version;</title>
|
||||
<?dbhtml filename="gettext.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-gettext">
|
||||
<primary sortas="a-Gettext">Gettext</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Glibc-&glibc-version;</title>
|
||||
<?dbhtml filename="glibc.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-glibc">
|
||||
<primary sortas="a-Glibc">Glibc</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Grep-&grep-version;</title>
|
||||
<?dbhtml filename="grep.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-grep">
|
||||
<primary sortas="a-Grep">Grep</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Gzip-&gzip-version;</title>
|
||||
<?dbhtml filename="gzip.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-gzip">
|
||||
<primary sortas="a-Gzip">Gzip</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Linux-Libc-Headers-&linux-libc-headers-version;</title>
|
||||
<?dbhtml filename="linux-libc-headers.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-linux-libc-headers">
|
||||
<primary sortas="a-Linux-Libc-Headers">Linux-Libc-Headers</primary>
|
||||
<secondary>tools, headers</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>M4-&m4-version;</title>
|
||||
<?dbhtml filename="m4.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-m4">
|
||||
<primary sortas="a-M4">M4</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Make-&make-version;</title>
|
||||
<?dbhtml filename="make.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-make">
|
||||
<primary sortas="a-Make">Make</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Ncurses-&ncurses-version;</title>
|
||||
<?dbhtml filename="ncurses.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-ncurses">
|
||||
<primary sortas="a-Ncurses">Ncurses</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Patch-&patch-version;</title>
|
||||
<?dbhtml filename="patch.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-patch">
|
||||
<primary sortas="a-Patch">Patch</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Perl-&perl-version;</title>
|
||||
<?dbhtml filename="perl.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-perl">
|
||||
<primary sortas="a-Perl">Perl</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Sed-&sed-version;</title>
|
||||
<?dbhtml filename="sed.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-sed">
|
||||
<primary sortas="a-Sed">Sed</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Tar-&tar-version;</title>
|
||||
<?dbhtml filename="tar.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-tar">
|
||||
<primary sortas="a-Tar">Tar</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Texinfo-&texinfo-version;</title>
|
||||
<?dbhtml filename="texinfo.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-texinfo">
|
||||
<primary sortas="a-Texinfo">Texinfo</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Udev-&udev-version;</title>
|
||||
<?dbhtml filename="udev.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-udev">
|
||||
<primary sortas="a-Udev">Udev</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,10 +7,6 @@
|
||||
<title>Util-linux-&util-linux-version;</title>
|
||||
<?dbhtml filename="util-linux.html"?>
|
||||
|
||||
<indexterm zone="ch-tools-util-linux">
|
||||
<primary sortas="a-Util-linux">Util-linux</primary>
|
||||
<secondary>tools</secondary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<segmentedlist>
|
||||
|
@ -7,41 +7,6 @@
|
||||
<title>About debugging symbols</title>
|
||||
<?dbhtml filename="aboutdebug.html"?>
|
||||
|
||||
<para>Most programs and libraries are, by default, compiled with debugging
|
||||
symbols included (with <command>gcc</command>'s <parameter>-g</parameter>
|
||||
option). This means that, when debugging a program or library that was compiled
|
||||
with debugging information included, the debugger can give you not only memory
|
||||
addresses but also the names of the routines and variables.</para>
|
||||
|
||||
<para>The inclusion of these debugging symbols, however, enlarges a program or
|
||||
library significantly. To get an idea of the amount of space these symbols
|
||||
occupy, have a look at the following:</para>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem><para>a bash binary
|
||||
with debugging symbols: 1200 KB</para></listitem>
|
||||
|
||||
<listitem><para>a bash binary
|
||||
without debugging symbols: 480 KB</para></listitem>
|
||||
|
||||
<listitem><para>Glibc and GCC files (<filename class="directory">/lib</filename>
|
||||
and <filename class="directory">/usr/lib</filename>)
|
||||
with debugging symbols: 87 MB</para></listitem>
|
||||
|
||||
<listitem><para>Glibc and GCC files
|
||||
without debugging symbols: 16 MB</para></listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
<para>Sizes may vary somewhat, depending on which compiler was used and which C
|
||||
library, but when comparing programs with and without debugging symbols the
|
||||
difference will generally be a factor between 2 and 5.</para>
|
||||
|
||||
<para>As most people will probably never use a debugger on their system
|
||||
software, a lot of disk space can be regained by removing these symbols. For
|
||||
your convenience, the next section shows how to strip all debugging symbols
|
||||
from all programs and libraries. Information on other ways of optimizing your
|
||||
system can be found in the hint at <ulink url="&hints-root;optimization.txt"/>.</para>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect1>
|
||||
|
@ -10,8 +10,6 @@
|
||||
<indexterm zone="ch-system-autoconf"><primary sortas="a-Autoconf">Autoconf</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Autoconf package contains programs for producing shell scripts that
|
||||
can automatically configure source code.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -19,11 +17,6 @@ can automatically configure source code.</para>
|
||||
<seglistitem><seg>0.5 SBU</seg><seg>7.7 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Autoconf installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Coreutils, Diffutils, Grep,
|
||||
M4, Make, Perl, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -38,7 +31,7 @@ M4, Make, Perl, Sed</seg></seglistitem>
|
||||
<screen><userinput>make</userinput></screen>
|
||||
|
||||
<para>To test the results, issue:
|
||||
<userinput>make check</userinput>. This takes a long time, about 2 SBUs.</para>
|
||||
<userinput>make check</userinput></para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
@ -49,88 +42,7 @@ M4, Make, Perl, Sed</seg></seglistitem>
|
||||
|
||||
<sect2 id="contents-autoconf" role="content"><title>Contents of Autoconf</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>autoconf, autoheader, autom4te,
|
||||
autoreconf, autoscan, autoupdate and ifnames</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="autoconf">
|
||||
<term><command>autoconf</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-autoconf autoconf"><primary sortas="b-autoconf">autoconf</primary></indexterm>
|
||||
<para>is a tool for producing shell scripts
|
||||
that automatically configure software source code packages to adapt to many
|
||||
kinds of Unix-like systems. The configuration scripts it produces are
|
||||
independent -- running them does not require the autoconf program.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="autoheader">
|
||||
<term><command>autoheader</command> </term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-autoconf autoheader"><primary sortas="b-autoheader">autoheader</primary></indexterm>
|
||||
<para>is a tool for creating template files
|
||||
of C #define statements for configure to use.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="autom4te">
|
||||
<term><command>autom4te</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-autoconf autom4te"><primary sortas="b-autom4te">autom4te</primary></indexterm>
|
||||
<para>is a wrapper for the M4 macro processor.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="autoreconf">
|
||||
<term><command>autoreconf</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-autoconf autoreconf"><primary sortas="b-autoreconf">autoreconf</primary></indexterm>
|
||||
<para>comes in handy when there are a lot
|
||||
of autoconf-generated configure scripts around. The program runs autoconf and
|
||||
autoheader repeatedly (where appropriate) to remake the autoconf configure
|
||||
scripts and configuration header templates in a given directory tree.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="autoscan">
|
||||
<term><command>autoscan</command> </term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-autoconf autoscan"><primary sortas="b-autoscan">autoscan</primary></indexterm>
|
||||
<para>can help to create a
|
||||
<filename>configure.in</filename> file for a software package. It examines
|
||||
the source files in a directory tree, searching them for common portability
|
||||
problems and creates a <filename>configure.scan</filename> file that serves as
|
||||
as a preliminary <filename>configure.in</filename> for the package.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="autoupdate">
|
||||
<term><command>autoupdate</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-autoconf autoupdate"><primary sortas="b-autoupdate">autoupdate</primary></indexterm>
|
||||
<para>modifies a <filename>configure.in</filename> file that still calls autoconf
|
||||
macros by their old names to use the current macro names.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ifnames">
|
||||
<term><command>ifnames</command> </term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-autoconf ifnames"><primary sortas="b-ifnames">ifnames</primary></indexterm>
|
||||
<para>can be helpful when writing a
|
||||
<filename>configure.in</filename> for a software package. It prints the
|
||||
identifiers that the package uses in C preprocessor conditionals. If a package
|
||||
has already been set up to have some portability, this program can help to
|
||||
determine what <command>configure</command> needs to check. It can fill
|
||||
in some gaps in a <filename>configure.in</filename> file generated by
|
||||
autoscan.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,8 +10,6 @@
|
||||
<indexterm zone="ch-system-automake"><primary sortas="a-Automake">Automake</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Automake package contains programs for generating Makefiles for use
|
||||
with Autoconf.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -19,11 +17,6 @@ with Autoconf.</para>
|
||||
<seglistitem><seg>0.2 SBU</seg><seg>6.8 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Automake installation depends on</segtitle>
|
||||
<seglistitem><seg>Autoconf, Bash, Coreutils,
|
||||
Diffutils, Grep, M4, Make, Perl, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -38,7 +31,7 @@ Diffutils, Grep, M4, Make, Perl, Sed</seg></seglistitem>
|
||||
<screen><userinput>make</userinput></screen>
|
||||
|
||||
<para>To test the results, issue:
|
||||
<userinput>make check</userinput>. This takes a long time, about 5 SBUs.</para>
|
||||
<userinput>make check</userinput></para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
@ -49,145 +42,7 @@ Diffutils, Grep, M4, Make, Perl, Sed</seg></seglistitem>
|
||||
|
||||
<sect2 id="contents-automake" role="content"><title>Contents of Automake</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>acinstall, aclocal, aclocal-1.8, automake, automake-1.8,
|
||||
compile, config.guess, config.sub, depcomp, elisp-comp, install-sh, mdate-sh,
|
||||
missing, mkinstalldirs, py-compile, symlink-tree, ylwrap</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="acinstall">
|
||||
<term><command>acinstall</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-automake acinstall"><primary sortas="b-acinstall">acinstall</primary></indexterm>
|
||||
<para>is a script that installs aclocal-style M4 files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="aclocal">
|
||||
<term><command>aclocal</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-automake aclocal"><primary sortas="b-aclocal">aclocal</primary></indexterm>
|
||||
<para>generates <filename>aclocal.m4</filename>
|
||||
files based on the contents of <filename>configure.in</filename> files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="automake">
|
||||
<term><command>automake</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-automake automake"><primary sortas="b-automake">automake</primary></indexterm>
|
||||
<para>is a tool for automatically generating
|
||||
<filename>Makefile.in</filename>'s from files called
|
||||
<filename>Makefile.am</filename>. To create all the
|
||||
<filename>Makefile.in</filename> files for a package, run this program in the
|
||||
top-level directory. By scanning the <filename>configure.in</filename>s it
|
||||
automatically finds each appropriate <filename>Makefile.am</filename> and
|
||||
generate the corresponding <filename>Makefile.in</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="compile">
|
||||
<term><command>compile</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-automake compile"><primary sortas="b-compile">compile</primary></indexterm>
|
||||
<para>is a wrapper for compilers.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="config.guess">
|
||||
<term><command>config.guess</command> </term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-automake config.guess"><primary sortas="b-config.guess">config.guess</primary></indexterm>
|
||||
<para>is a script that attempts to guess
|
||||
the canonical triplet for the given build, host, or target architecture.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="config.su">
|
||||
<term><command>config.sub</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-automake config.su"><primary sortas="b-config.su">config.su</primary></indexterm>
|
||||
<para>is a configuration validation subroutine script.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="depcomp">
|
||||
<term><command>depcomp</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-automake depcomp"><primary sortas="b-depcomp">depcomp</primary></indexterm>
|
||||
<para>is a script for compiling a program so that not only the desired output is
|
||||
generated, but also dependency information.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="elisp-comp">
|
||||
<term><command>elisp-comp</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-automake elisp-comp"><primary sortas="b-elisp-comp">elisp-comp</primary></indexterm>
|
||||
<para>byte-compiles Emacs Lisp code.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="install-sh">
|
||||
<term><command>install-sh</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-automake install-sh"><primary sortas="b-install-sh">install-sh</primary></indexterm>
|
||||
<para>is a script that installs a program, a script, or a datafile.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mdate-sh">
|
||||
<term><command>mdate-sh</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-automake mdate-sh"><primary sortas="b-mdate-sh">mdate-sh</primary></indexterm>
|
||||
<para>is a script that prints the modification time of a file or directory.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="missing">
|
||||
<term><command>missing</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-automake missing"><primary sortas="b-missing">missing</primary></indexterm>
|
||||
<para>is a script acting as a common stub for
|
||||
missing GNU programs during an installation.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mkinstalldirs">
|
||||
<term><command>mkinstalldirs</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-automake mkinstalldirs"><primary sortas="b-mkinstalldirs">mkinstalldirs</primary></indexterm>
|
||||
<para>is a script that creates a directory tree.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="py-compile">
|
||||
<term><command>py-compile</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-automake py-compile"><primary sortas="b-py-compile">py-compile</primary></indexterm>
|
||||
<para>compiles a Python program.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="symlink-tree">
|
||||
<term><command>symlink-tree</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-automake symlink-tree"><primary sortas="b-symlink-tree">symlink-tree</primary></indexterm>
|
||||
<para>is a script to create a symlink tree of a directory tree.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ylwrap">
|
||||
<term><command>ylwrap</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-automake ylwrap"><primary sortas="b-ylwrap">ylwrap</primary></indexterm>
|
||||
<para>is a wrapper for <command>lex</command> and <command>yacc</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-bash"><primary sortas="a-Bash">Bash</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Bash package contains the Bourne-Again SHell.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,23 +17,16 @@
|
||||
<seglistitem><seg>1.2 SBU</seg><seg>27 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Bash installation depends on</segtitle>
|
||||
<seglistitem><seg>Binutils, Coreutils, Diffutils, Gawk,
|
||||
GCC, Glibc, Grep, Make, Ncurses, Sed.</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Bash</title>
|
||||
|
||||
<para>The following patch fixes various issues. Including a problem where Bash
|
||||
sometimes will only show 33 characters on a line and then wraps to the next line.</para>
|
||||
<para>Apply a patch:</para>
|
||||
|
||||
<screen><userinput>patch -Np1 -i ../bash-&bash-version;-fixes-1.patch</userinput></screen>
|
||||
|
||||
<para>Bash also has issues when compiled against newer versions of glibc. The
|
||||
following patch resolves this problem:</para>
|
||||
<para>Apply another patch:</para>
|
||||
|
||||
<screen><userinput>patch -Np1 -i ../bash-&bash-version;-avoid_WCONTINUED-1.patch</userinput></screen>
|
||||
|
||||
@ -54,59 +46,16 @@ following patch resolves this problem:</para>
|
||||
|
||||
<screen><userinput>make install</userinput></screen>
|
||||
|
||||
<para>Now run the newly compiled <command>bash</command> program (replacing the one you are currently executing):</para>
|
||||
<para>Run the newly compiled <command>bash</command> program:</para>
|
||||
|
||||
<screen><userinput>exec /bin/bash --login +h</userinput></screen>
|
||||
|
||||
<note><para>The parameters used make it an interactive login instance
|
||||
(so <filename>/etc/profile</filename> is read, if it exists, and the first found
|
||||
<filename>~/.bash_profile</filename>, <filename>~/.bash_login</filename> or
|
||||
and <filename>~/.profile</filename>) and continue to
|
||||
disable hashing so that new programs are found as they become
|
||||
available.</para></note>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
<sect2 id="contents-bash" role="content"><title>Contents of Bash</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>bash, sh (link to bash) and bashbug</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="bash">
|
||||
<term><command>bash</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-bash bash"><primary sortas="b-bash">bash</primary></indexterm>
|
||||
<para>is a widely-used command interpreter. It
|
||||
performs many kinds of expansions and substitutions on a given command line
|
||||
before executing it, thus making this interpreter a powerful tool.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="bashbug">
|
||||
<term><command>bashbug</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-bash bashbug"><primary sortas="b-bashbug">bashbug</primary></indexterm>
|
||||
<para>is a shell script to help the user
|
||||
compose and mail bug reports concerning <command>bash</command> in a standard format.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="sh">
|
||||
<term><command>sh</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-bash sh"><primary sortas="b-sh">sh</primary></indexterm>
|
||||
<para>is a symlink to the bash program. When invoked
|
||||
as <command>sh</command>, <command>bash</command> tries to mimic the
|
||||
startup behavior of historical versions of <command>sh</command> as
|
||||
closely as possible, while conforming to the POSIX standard as well.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,8 +10,6 @@
|
||||
<indexterm zone="ch-system-binutils"><primary sortas="a-Binutils">Binutils</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Binutils package contains a linker, an assembler, and other tools for
|
||||
handling object files.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -19,44 +17,22 @@ handling object files.</para>
|
||||
<seglistitem><seg>1.4 SBU</seg><seg>167 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Binutils installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Coreutils, Diffutils, GCC, Gettext,
|
||||
Glibc, Grep, Make, Perl, Sed, Texinfo</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Binutils</title>
|
||||
|
||||
<para>Now is an appropriate time to verify that your pseudo terminals (PTYs) are
|
||||
working properly inside the chroot environment. We will again quickly check that
|
||||
everything is set up correctly by performing a simple test:</para>
|
||||
<para>Check if there is PTYs for the test suites:</para>
|
||||
|
||||
<screen><userinput>expect -c "spawn ls"</userinput></screen>
|
||||
|
||||
<para>If you receive the message:</para>
|
||||
|
||||
<screen><computeroutput>The system has no more ptys. Ask your system administrator to create more.</computeroutput></screen>
|
||||
|
||||
<para>Your chroot environment is not set up for proper PTY operation. In this
|
||||
case there is no point in running the test suites for Binutils and GCC until you
|
||||
are able to resolve the issue.</para>
|
||||
|
||||
<para>This package is known to behave badly when you have changed its
|
||||
default optimization flags (including the <parameter>-march</parameter> and <parameter>-mcpu</parameter> options).
|
||||
Therefore, if you have defined any environment variables that override
|
||||
default optimizations, such as CFLAGS and CXXFLAGS, we recommend un-setting
|
||||
or modifying them when building Binutils.</para>
|
||||
|
||||
<para>The current version of Binutils in use has a bug that causes strip to
|
||||
remove necessary information from certain library files. This patch fixes
|
||||
the problem:</para>
|
||||
|
||||
<screen><userinput>patch -Np1 -i ../binutils-&binutils-version;-fix_strip-1.patch</userinput></screen>
|
||||
|
||||
<para>The Binutils documentation recommends building Binutils outside of the
|
||||
source directory in a dedicated build directory:</para>
|
||||
<para>Create the build directory:</para>
|
||||
|
||||
<screen><userinput>mkdir ../binutils-build
|
||||
cd ../binutils-build</userinput></screen>
|
||||
@ -69,32 +45,18 @@ cd ../binutils-build</userinput></screen>
|
||||
|
||||
<screen><userinput>make tooldir=/usr</userinput></screen>
|
||||
|
||||
<para>Normally, the <emphasis>tooldir</emphasis> (the directory where the
|
||||
executables end up) is set to $(exec_prefix)/$(target_alias), which expands
|
||||
into, for example, <filename class="directory">/usr/i686-pc-linux-gnu</filename>. Since we only
|
||||
build for our own system, we don't need this target specific directory in
|
||||
<filename class="directory">/usr</filename>. That setup would be used if the system was used to
|
||||
cross-compile (for example compiling a package on an Intel machine that
|
||||
generates code that can be executed on PowerPC machines).</para>
|
||||
|
||||
<important><para>The test suite for Binutils in this section is considered
|
||||
<emphasis>critical</emphasis>. Our advice is to not skip it under any
|
||||
circumstances.</para></important>
|
||||
|
||||
<para>Test the results:</para>
|
||||
|
||||
<screen><userinput>make -k check</userinput></screen>
|
||||
|
||||
<para>The test suite notes from <xref linkend="ch-tools-binutils-pass2"/> are still
|
||||
very much appropriate here. Be sure to refer back there should you have any
|
||||
doubts.</para>
|
||||
very much appropriate here..</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput>make tooldir=/usr install</userinput></screen>
|
||||
|
||||
<para>Install the <filename class="headerfile">libiberty</filename> header file that is needed by
|
||||
some packages:</para>
|
||||
<para>Install the <filename class="headerfile">libiberty</filename> header file:</para>
|
||||
|
||||
<screen><userinput>cp ../binutils-&binutils-version;/include/libiberty.h /usr/include</userinput></screen>
|
||||
|
||||
@ -103,170 +65,7 @@ some packages:</para>
|
||||
|
||||
<sect2 id="contents-binutils" role="content"><title>Contents of Binutils</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<seglistitem><seg>addr2line, ar, as, c++filt, gprof, ld, nm, objcopy, objdump,
|
||||
ranlib, readelf, size, strings and strip</seg>
|
||||
<seg>libiberty.a, libbfd.[a,so] and libopcodes.[a,so]</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="addr2line">
|
||||
<term><command>addr2line</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-binutils addr2line"><primary sortas="b-addr2line">addr2line</primary></indexterm>
|
||||
<para>translates program addresses to file
|
||||
names and line numbers. Given an address and the name of an executable, it
|
||||
uses the debugging information in the executable to figure out which source
|
||||
file and line number are associated with the address.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ar">
|
||||
<term><command>ar</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-binutils ar"><primary sortas="b-ar">ar</primary></indexterm>
|
||||
<para>creates, modifies, and extracts from archives. An archive
|
||||
is a single file holding a collection of other files in a structure that makes
|
||||
it possible to retrieve the original individual files (called members of
|
||||
the archive).</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="as">
|
||||
<term><command>as</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-binutils as"><primary sortas="b-as">as</primary></indexterm>
|
||||
<para>is an assembler. It assembles the output of <command>gcc</command> into object files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="c-filt">
|
||||
<term><command>c++filt</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-binutils c-filt"><primary sortas="b-c++filt">c++filt</primary></indexterm>
|
||||
<para>is used by the linker to de-mangle C++ and
|
||||
Java symbols, to keep overloaded functions from clashing.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gprof">
|
||||
<term><command>gprof</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-binutils gprof"><primary sortas="b-gprof">gprof</primary></indexterm>
|
||||
<para>displays call graph profile data.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ld">
|
||||
<term><command>ld</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-binutils ld"><primary sortas="b-ld">ld</primary></indexterm>
|
||||
<para>is a linker. It combines a number of object and archive files into a single file,
|
||||
relocating their data and tying up symbol references.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="nm">
|
||||
<term><command>nm</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-binutils nm"><primary sortas="b-nm">nm</primary></indexterm>
|
||||
<para>lists the symbols occurring in a given object file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="objcopy">
|
||||
<term><command>objcopy</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-binutils objcopy"><primary sortas="b-objcopy">objcopy</primary></indexterm>
|
||||
<para>is used to translate one type of object file into another.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="objdump">
|
||||
<term><command>objdump</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-binutils objdump"><primary sortas="b-objdump">objdump</primary></indexterm>
|
||||
<para>displays information about the given object file, with options controlling what
|
||||
particular information to display. The information shown is mostly only useful to
|
||||
programmers who are working on the compilation tools.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ranlib">
|
||||
<term><command>ranlib</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-binutils ranlib"><primary sortas="b-ranlib">ranlib</primary></indexterm>
|
||||
<para>generates an index of the contents of an
|
||||
archive, and stores it in the archive. The index lists all the symbols defined
|
||||
by archive members that are relocatable object files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="readelf">
|
||||
<term><command>readelf</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-binutils readelf"><primary sortas="b-readelf">readelf</primary></indexterm>
|
||||
<para>displays information about elf type binaries.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="size">
|
||||
<term><command>size</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-binutils size"><primary sortas="b-size">size</primary></indexterm>
|
||||
<para>lists the section sizes -- and the grand total -- for the given object files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="strings">
|
||||
<term><command>strings</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-binutils strings"><primary sortas="b-strings">strings</primary></indexterm>
|
||||
<para>outputs, for each given file, the sequences
|
||||
of printable characters that are of at least the specified length (defaulting to 4).
|
||||
For object files it prints, by default, only the strings from the initializing
|
||||
and loading sections. For other types of files it scans the whole file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="strip">
|
||||
<term><command>strip</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-binutils strip"><primary sortas="b-strip">strip</primary></indexterm>
|
||||
<para>discards symbols from object files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libiberty">
|
||||
<term><filename class="libraryfile">libiberty</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-binutils libiberty"><primary sortas="c-libiberty">libiberty</primary></indexterm>
|
||||
<para>contains routines used by various GNU
|
||||
programs, including getopt, obstack, strerror, strtol and strtoul.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libbfd">
|
||||
<term><filename class="libraryfile">libbfd</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-binutils libbfd"><primary sortas="c-libbfd">libbfd</primary></indexterm>
|
||||
<para>is the Binary File Descriptor library.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libopcodes">
|
||||
<term><filename class="libraryfile">libopcodes</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-binutils libopcodes"><primary sortas="c-libopcodes">libopcodes</primary></indexterm>
|
||||
<para>is a library for dealing with opcodes.
|
||||
It is used for building utilities like objdump. Opcodes are the <quote>readable
|
||||
text</quote> versions of instructions for the processor.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-bison"><primary sortas="a-Bison">Bison</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Bison package contains a parser generator.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,11 +17,6 @@
|
||||
<seglistitem><seg>0.6 SBU</seg><seg>10.6 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Bison installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
|
||||
GCC, Gettext, Glibc, Grep, M4, Make, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -48,44 +42,7 @@ GCC, Gettext, Glibc, Grep, M4, Make, Sed</seg></seglistitem>
|
||||
|
||||
<sect2 id="contents-bison" role="content"><title>Contents of Bison</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed library</segtitle>
|
||||
<seglistitem><seg>bison and yacc</seg><seg>liby.a</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="bison">
|
||||
<term><command>bison</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-bison bison"><primary sortas="b-bison">bison</primary></indexterm>
|
||||
<para>generates, from a series of rules, a program
|
||||
for analyzing the structure of text files. <command>bison</command> is a replacement for <command>yacc</command>
|
||||
(Yet Another Compiler Compiler).</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="yacc">
|
||||
<term><command>yacc</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-bison yacc"><primary sortas="b-yacc">yacc</primary></indexterm>
|
||||
<para>is a wrapper for <command>bison</command>, meant for programs
|
||||
that still call <command>yacc</command> instead of <command>bison</command>.
|
||||
It calls <command>bison</command> with the <parameter>-y</parameter> option.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="liby.a">
|
||||
<term><filename class="libraryfile">liby.a</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-bison liby.a"><primary sortas="c-liby.a">liby.a</primary></indexterm>
|
||||
<para>is the Yacc library containing
|
||||
implementations of Yacc-compatible yyerror and main functions. This library
|
||||
is normally not very useful, but POSIX requires it.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,9 +10,6 @@
|
||||
<indexterm zone="ch-system-bzip2"><primary sortas="a-Bzip2">Bzip2</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Bzip2 package contains programs for compressing and decompressing
|
||||
files. On text files they achieve a much better compression than the
|
||||
traditional <command>gzip</command>.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -20,11 +17,6 @@ traditional <command>gzip</command>.</para>
|
||||
<seglistitem><seg>0.1 SBU</seg><seg>3.0 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Bzip2 installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
|
||||
GCC, Glibc, Make</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -35,27 +27,15 @@ GCC, Glibc, Make</seg></seglistitem>
|
||||
<screen><userinput>make -f Makefile-libbz2_so
|
||||
make clean</userinput></screen>
|
||||
|
||||
<para>The <parameter>-f</parameter> flag will cause Bzip2 to be built
|
||||
using a different <filename>Makefile</filename> file, in this case the
|
||||
<filename>Makefile-libbz2_so</filename> file, which creates a dynamic
|
||||
<filename class="libraryfile">libbz2.so</filename> library and links the Bzip2 utilities
|
||||
against it.</para>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput>make</userinput></screen>
|
||||
|
||||
<para>If you are reinstalling Bzip2, you need to do
|
||||
<userinput>rm -f /usr/bin/bz*</userinput> first, otherwise the following
|
||||
<command>make install</command> will fail.</para>
|
||||
|
||||
<para>Install the programs:</para>
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput>make install</userinput></screen>
|
||||
|
||||
<para>Now install the shared <command>bzip2</command> binary into the
|
||||
<filename class="directory">/bin</filename> directory, then make some
|
||||
necessary symbolic links, and clean up:</para>
|
||||
<para>Do some location changes:</para>
|
||||
|
||||
<screen><userinput>cp bzip2-shared /bin/bzip2
|
||||
cp -a libbz2.so* /lib
|
||||
@ -69,101 +49,7 @@ ln -s bzip2 /bin/bzcat</userinput></screen>
|
||||
|
||||
<sect2 id="contents-bzip2" role="content"><title>Contents of Bzip2</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<seglistitem><seg>bunzip2 (link to bzip2), bzcat (link to bzip2), bzcmp, bzdiff,
|
||||
bzegrep, bzfgrep, bzgrep, bzip2, bzip2recover, bzless and bzmore</seg>
|
||||
<seg>libbz2.a, libbz2.so (link to libbz2.so.1.0), libbz2.so.1.0 (link to
|
||||
libbz2.so.&bzip2-version;) and libbz2.so.&bzip2-version;</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="bunzip2">
|
||||
<term><command>bunzip2</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-bzip2 bunzip2"><primary sortas="b-bunzip2">bunzip2</primary></indexterm>
|
||||
<para>decompresses bzipped files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="bzcat">
|
||||
<term><command>bzcat</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-bzip2 bzcat"><primary sortas="b-bzcat">bzcat</primary></indexterm>
|
||||
<para>decompresses to standard output.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="bzcmp">
|
||||
<term><command>bzcmp</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-bzip2 bzcmp"><primary sortas="b-bzcmp">bzcmp</primary></indexterm>
|
||||
<para>runs <command>cmp</command> on bzipped files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="bzdiff">
|
||||
<term><command>bzdiff</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-bzip2 bzdiff"><primary sortas="b-bzdiff">bzdiff</primary></indexterm>
|
||||
<para>runs <command>diff</command> on bzipped files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="bzgrep">
|
||||
<term><command>bzgrep</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-bzip2 bzgrep"><primary sortas="b-bzgrep">bzgrep</primary></indexterm>
|
||||
<para>and friends run <command>grep</command> on bzipped files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="bzip2">
|
||||
<term><command>bzip2</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-bzip2 bzip2"><primary sortas="b-bzip2">bzip2</primary></indexterm>
|
||||
<para>compresses files using the Burrows-Wheeler
|
||||
block sorting text compression algorithm with Huffman coding. The compression
|
||||
rate is generally considerably better than that achieved by more conventional
|
||||
compressors using LZ77/LZ78, like <command>gzip</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="bzip2recover">
|
||||
<term><command>bzip2recover</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-bzip2 bzip2recover"><primary sortas="b-bzip2recover">bzip2recover</primary></indexterm>
|
||||
<para>tries to recover data from damaged bzipped files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="bzless">
|
||||
<term><command>bzless</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-bzip2 bzless"><primary sortas="b-bzless">bzless</primary></indexterm>
|
||||
<para>runs <command>less</command> on bzipped files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="bzmore">
|
||||
<term><command>bzmore</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-bzip2 bzmore"><primary sortas="b-bzmore">bzmore</primary></indexterm>
|
||||
<para>runs <command>more</command> on bzipped files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libbz2">
|
||||
<term><filename class="libraryfile">libbz2*</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-bzip2 libbz2"><primary sortas="c-libbz2*">libbz2*</primary></indexterm>
|
||||
<para>is the library implementing lossless,
|
||||
block-sorting data compression, using the Burrows-Wheeler algorithm.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -7,30 +7,8 @@
|
||||
<title>Changing ownership</title>
|
||||
<?dbhtml filename="changingowner.html"?>
|
||||
|
||||
<para>Right now the <filename class="directory">/tools</filename> directory
|
||||
is owned by the user <emphasis>lfs</emphasis>, a user that exists only on your
|
||||
host system. Although you will probably want to delete the
|
||||
<filename class="directory">/tools</filename> directory once you have
|
||||
finished your LFS system, you may want to keep it around, for example to
|
||||
build more LFS systems. But if you keep the
|
||||
<filename class="directory">/tools</filename> directory as it is, you end up
|
||||
with files owned by a user ID without a corresponding account. This is
|
||||
dangerous because a user account created later on could get this same user ID
|
||||
and would suddenly own the <filename class="directory">/tools</filename>
|
||||
directory and all the files therein, thus exposing these files to possible
|
||||
malicious manipulation.</para>
|
||||
|
||||
<para>To avoid this issue, you could add the <emphasis>lfs</emphasis> user to
|
||||
your new LFS system later on when creating the <filename>/etc/passwd</filename>
|
||||
file, taking care to assign it the same user and group IDs as on your host
|
||||
system. Alternatively, you can (and the book assumes you do) assign the
|
||||
contents of the <filename class="directory">/tools</filename> directory to
|
||||
user <emphasis>root</emphasis> by running the following command:</para>
|
||||
<para>Change the owner of <filename class="directory">/tools</filename>:</para>
|
||||
|
||||
<screen><userinput>chown -R 0:0 /tools</userinput></screen>
|
||||
|
||||
<para>The command uses <parameter>0:0</parameter> instead of <parameter>root:root</parameter>,
|
||||
because <userinput>chown</userinput> is unable to resolve the name
|
||||
<quote>root</quote> until the password file has been created.</para>
|
||||
|
||||
</sect1>
|
||||
|
@ -7,49 +7,11 @@
|
||||
<title>Entering the chroot environment</title>
|
||||
<?dbhtml filename="chroot.html"?>
|
||||
|
||||
<para>It is time to enter the chroot environment in order to begin building
|
||||
and installing your final LFS system. Still as <emphasis>root</emphasis> run
|
||||
the following command to enter the small world that is, at the moment,
|
||||
populated with only the temporary tools:</para>
|
||||
<para>Enter the chroot environment:</para>
|
||||
|
||||
<screen><userinput>chroot "$LFS" /tools/bin/env -i \
|
||||
HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
|
||||
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
|
||||
/tools/bin/bash --login +h</userinput></screen>
|
||||
|
||||
<para>The <parameter>-i</parameter> option given to the
|
||||
<command>env</command> command will clear all variables of the chroot
|
||||
environment. After that, only the HOME, TERM, PS1 and PATH variables are
|
||||
set again. The <parameter>TERM=$TERM</parameter> construct will set the TERM variable inside chroot
|
||||
to the same value as outside chroot; this variable is needed for programs
|
||||
like <command>vim</command> and <command>less</command> to operate
|
||||
properly. If you need other variables present, such as CFLAGS or CXXFLAGS,
|
||||
this is a good place to set them again.</para>
|
||||
|
||||
<para>From this point on there's no need to use the LFS variable anymore,
|
||||
because everything you do will be restricted to the LFS file system -- since
|
||||
what the shell thinks is <filename class="directory">/</filename> is actually
|
||||
the value of <filename class="directory">$LFS</filename>, which was passed to
|
||||
the chroot command.</para>
|
||||
|
||||
<para>Notice that <filename class="directory">/tools/bin</filename> comes
|
||||
last in the PATH. This means that a temporary tool will not be used any more
|
||||
as soon as its final version is installed. Well, at least when the shell
|
||||
doesn't remember the locations of executed binaries -- for this reason hashing
|
||||
is switched off by passing the <parameter>+h</parameter> option to
|
||||
<command>bash</command>.</para>
|
||||
|
||||
<para>You have to make sure all the commands in the rest of this chapter and
|
||||
in the following chapters are run from within the chroot environment.
|
||||
If you ever leave this environment for any reason (rebooting for example),
|
||||
you must remember to first mount the <systemitem class="filesystem">proc</systemitem>
|
||||
and <systemitem class="filesystem">devpts</systemitem> file systems (discussed
|
||||
in the previous section) <emphasis>and</emphasis> enter chroot again before
|
||||
continuing with the installations.</para>
|
||||
|
||||
<para>Note that the <command>bash</command> prompt will say
|
||||
<computeroutput>I have no name!</computeroutput> This is
|
||||
normal, as the <filename>/etc/passwd</filename> file has not been created yet.
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
|
@ -10,8 +10,6 @@
|
||||
<indexterm zone="ch-system-coreutils"><primary sortas="a-Coreutils">Coreutils</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Coreutils package contains utilities for showing and setting the
|
||||
basic system characteristics.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -19,25 +17,16 @@ basic system characteristics.</para>
|
||||
<seglistitem><seg>0.9 SBU</seg><seg>69 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Coreutils installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, GCC,
|
||||
Gettext, Glibc, Grep, Make, Perl, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Coreutils</title>
|
||||
|
||||
<para>Normally the functionality of <command>uname</command> is somewhat
|
||||
broken, in that the <parameter>-p</parameter> switch always returns
|
||||
<computeroutput>unknown</computeroutput>. The following patch fixes this behavior for Intel
|
||||
architectures:</para>
|
||||
<para>Apply a patch:</para>
|
||||
|
||||
<screen><userinput>patch -Np1 -i ../coreutils-&coreutils-version;-uname-2.patch</userinput></screen>
|
||||
|
||||
<para>Prevent Coreutils from installing binaries that will be later be installed
|
||||
by other programs:</para>
|
||||
<para>Apply another patch:</para>
|
||||
|
||||
<screen><userinput>patch -Np1 -i ../coreutils-&coreutils-version;-suppress_uptime_kill_su-1.patch</userinput></screen>
|
||||
|
||||
@ -49,29 +38,21 @@ by other programs:</para>
|
||||
|
||||
<screen><userinput>make</userinput></screen>
|
||||
|
||||
<para>The test suite of Coreutils makes several assumptions about the presence
|
||||
of files and users that aren't valid this early in the LFS build. We will
|
||||
therefore have to set up a few things before being able to run the tests. If
|
||||
you choose not to run these tests, skip down to <quote>Install the
|
||||
package</quote>.</para>
|
||||
|
||||
<para>Create two dummy groups and a dummy user name:</para>
|
||||
|
||||
<screen><userinput>echo "dummy1:x:1000:" >> /etc/group
|
||||
echo "dummy2:x:1001:dummy" >> /etc/group
|
||||
echo "dummy:x:1000:1000:::/bin/bash" >> /etc/passwd</userinput></screen>
|
||||
|
||||
<para>Now you're all set to run the test suite. First run the few tests that
|
||||
are meant to be run as <emphasis>root</emphasis>:</para>
|
||||
<para>Run the <emphasis>root</emphasis> tests:</para>
|
||||
|
||||
<screen><userinput>make NON_ROOT_USERNAME=dummy check-root</userinput></screen>
|
||||
|
||||
<para>Then run the remainder of the tests as the <emphasis>dummy</emphasis>
|
||||
user:</para>
|
||||
<para>Run the user tests:</para>
|
||||
|
||||
<screen><userinput>src/su dummy -c "make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
|
||||
|
||||
<para>When you're done testing, remove the dummy user and groups:</para>
|
||||
<para>Remove the dummy user and groups:</para>
|
||||
|
||||
<screen><userinput>sed -i '/dummy/d' /etc/passwd /etc/group</userinput></screen>
|
||||
|
||||
@ -88,7 +69,7 @@ mv /usr/bin/{sleep,stty,test,touch,true,uname} /bin
|
||||
mv /usr/bin/hostname /bin
|
||||
mv /usr/bin/chroot /usr/sbin</userinput></screen>
|
||||
|
||||
<para>Finally, create a symlink to be FHS-compliant:</para>
|
||||
<para>Create a symlink:</para>
|
||||
|
||||
<screen><userinput>ln -s ../../bin/install /usr/bin</userinput></screen>
|
||||
|
||||
@ -97,747 +78,7 @@ mv /usr/bin/chroot /usr/sbin</userinput></screen>
|
||||
|
||||
<sect2 id="contents-coreutils" role="content"><title>Contents of Coreutils</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>basename, cat, chgrp, chmod,
|
||||
chown, chroot, cksum, comm, cp, csplit, cut, date, dd, df, dir, dircolors,
|
||||
dirname, du, echo, env, expand, expr, factor, false, fmt, fold, groups, head,
|
||||
hostid, hostname, id, install, join, link, ln, logname, ls, md5sum,
|
||||
mkdir, mkfifo, mknod, mv, nice, nl, nohup, od, paste, pathchk, pinky, pr,
|
||||
printenv, printf, ptx, pwd, readlink, rm, rmdir, seq, sha1sum, shred, sleep,
|
||||
sort, split, stat, stty, su, sum, sync, tac, tail, tee, test, touch, tr, true,
|
||||
tsort, tty, uname, unexpand, uniq, unlink, uptime, users, vdir, wc, who,
|
||||
whoami and yes</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="basename">
|
||||
<term><command>basename</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils basename"><primary sortas="b-basename">basename</primary></indexterm>
|
||||
<para>strips any path and a given suffix from the given file name.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="cat">
|
||||
<term><command>cat</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils cat"><primary sortas="b-cat">cat</primary></indexterm>
|
||||
<para>concatenates files to standard output.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="chgrp">
|
||||
<term><command>chgrp</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils chgrp"><primary sortas="b-chgrp">chgrp</primary></indexterm>
|
||||
<para>changes the group ownership of each given file to the given group. The
|
||||
group can be either given a a name or a numeric ID.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="chmod">
|
||||
<term><command>chmod</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils chmod"><primary sortas="b-chmod">chmod</primary></indexterm>
|
||||
<para>changes the permissions of each given file
|
||||
to the given mode. The mode can be either a symbolic representation of the
|
||||
changes to make, or an octal number representing the new permissions.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="chown">
|
||||
<term><command>chown</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils chown"><primary sortas="b-chown">chown</primary></indexterm>
|
||||
<para>changes the user and/or group ownership of
|
||||
each given file to the given user:group pair.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="chroot">
|
||||
<term><command>chroot</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils chroot"><primary sortas="b-chroot">chroot</primary></indexterm>
|
||||
<para>runs a given command with the specified directory as the
|
||||
<filename class="directory">/</filename> directory. The given command can be an interactive shell.
|
||||
On most systems only <emphasis>root</emphasis> can do this.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="cksum">
|
||||
<term><command>cksum</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils cksum"><primary sortas="b-cksum">cksum</primary></indexterm>
|
||||
<para>prints the CRC (Cyclic Redundancy Check) checksum and the byte
|
||||
counts of each specified file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="comm">
|
||||
<term><command>comm</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils comm"><primary sortas="b-comm">comm</primary></indexterm>
|
||||
<para>compares two sorted files, outputting in
|
||||
three columns the lines that are unique, and the lines that are common.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="cp">
|
||||
<term><command>cp</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils cp"><primary sortas="b-cp">cp</primary></indexterm>
|
||||
<para>copies files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="csplit">
|
||||
<term><command>csplit</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils csplit"><primary sortas="b-csplit">csplit</primary></indexterm>
|
||||
<para>splits a given file into several new files,
|
||||
separating them according to given patterns or line numbers, and outputting
|
||||
the byte count of each new file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="cut">
|
||||
<term><command>cut</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils cut"><primary sortas="b-cut">cut</primary></indexterm>
|
||||
<para>prints parts of lines, selecting the parts
|
||||
according to given fields or positions.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="date">
|
||||
<term><command>date</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils date"><primary sortas="b-date">date</primary></indexterm>
|
||||
<para>displays the current time in the given format, or sets the system date.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="dd">
|
||||
<term><command>dd</command> </term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils dd"><primary sortas="b-dd">dd</primary></indexterm>
|
||||
<para>copies a file using the given block size and
|
||||
count, while optionally performing conversions on it.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="df">
|
||||
<term><command>df</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils df"><primary sortas="b-df">df</primary></indexterm>
|
||||
<para>reports the amount of disk space available
|
||||
(and used) on all mounted file systems, or only on the file systems holding the
|
||||
given files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="dir">
|
||||
<term><command>dir</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils dir"><primary sortas="b-dir">dir</primary></indexterm>
|
||||
<para>is the same as <command>ls</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="dircolors">
|
||||
<term><command>dircolors</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils dircolors"><primary sortas="b-dircolors">dircolors</primary></indexterm>
|
||||
<para>outputs commands to set the LS_COLOR
|
||||
environment variable, to change the color scheme used by <command>ls</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="dirname">
|
||||
<term><command>dirname</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils dirname"><primary sortas="b-dirname">dirname</primary></indexterm>
|
||||
<para>strips the non-directory suffix from a given file name.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="du">
|
||||
<term><command>du</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils du"><primary sortas="b-du">du</primary></indexterm>
|
||||
<para>reports the amount of disk space used by the
|
||||
current directory, or by each of the given directories including all their
|
||||
subdirectories, or by each of the given files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="echo">
|
||||
<term><command>echo</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils echo"><primary sortas="b-echo">echo</primary></indexterm>
|
||||
<para>displays the given strings.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="env">
|
||||
<term><command>env</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils env"><primary sortas="b-env">env</primary></indexterm>
|
||||
<para>runs a command in a modified environment.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="expand">
|
||||
<term><command>expand</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils expand"><primary sortas="b-expand">expand</primary></indexterm>
|
||||
<para>converts tabs to spaces.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="expr">
|
||||
<term><command>expr</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils expr"><primary sortas="b-expr">expr</primary></indexterm>
|
||||
<para>evaluates expressions.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="factor">
|
||||
<term><command>factor</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils factor"><primary sortas="b-factor">factor</primary></indexterm>
|
||||
<para>prints the prime factors of all specified integer numbers.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="false">
|
||||
<term><command>false</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils false"><primary sortas="b-false">false</primary></indexterm>
|
||||
<para>does nothing, unsuccessfully. It always
|
||||
exits with a status code indicating failure.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mt">
|
||||
<term><command>fmt</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils mt"><primary sortas="b-mt">mt</primary></indexterm>
|
||||
<para>reformats the paragraphs in the given files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="fold">
|
||||
<term><command>fold</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils fold"><primary sortas="b-fold">fold</primary></indexterm>
|
||||
<para>wraps the lines in the given files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="groups-coreutils">
|
||||
<term><command>groups</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils groups-coreutils"><primary sortas="b-groups-coreutils">groups</primary></indexterm>
|
||||
<para>reports a user's group memberships.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="head">
|
||||
<term><command>head</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils head"><primary sortas="b-head">head</primary></indexterm>
|
||||
<para>prints the first ten lines (or the given number of lines) of each given file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="hostid">
|
||||
<term><command>hostid</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils hostid"><primary sortas="b-hostid">hostid</primary></indexterm>
|
||||
<para>reports the numeric identifier (in hexadecimal) of the host.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="hostname-coreutils">
|
||||
<term><command>hostname</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils hostname-coreutils"><primary sortas="b-hostname-coreutils">hostname</primary></indexterm>
|
||||
<para>reports or sets the name of the host.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="id">
|
||||
<term><command>id</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils id"><primary sortas="b-id">id</primary></indexterm>
|
||||
<para>reports the effective user ID, group ID, and
|
||||
group memberships of the current user, or of a given user.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="install">
|
||||
<term><command>install</command> </term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils install"><primary sortas="b-install">install</primary></indexterm>
|
||||
<para>copies files while setting their
|
||||
permission modes and, if possible, their owner and group.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="join">
|
||||
<term><command>join</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils join"><primary sortas="b-join">join</primary></indexterm>
|
||||
<para>joins from two files the lines that have identical join fields.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="link">
|
||||
<term><command>link</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils link"><primary sortas="b-link">link</primary></indexterm>
|
||||
<para>creates a hard link with the given name to the given file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ln">
|
||||
<term><command>ln</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils ln"><primary sortas="b-ln">ln</primary></indexterm>
|
||||
<para>makes hard links or soft links between files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="logname">
|
||||
<term><command>logname</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils logname"><primary sortas="b-logname">logname</primary></indexterm>
|
||||
<para>reports the current user's login name.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ls">
|
||||
<term><command>ls</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils ls"><primary sortas="b-ls">ls</primary></indexterm>
|
||||
<para>lists the contents of each given directory.
|
||||
By default it orders the files and subdirectories alphabetically.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="md5sum">
|
||||
<term><command>md5sum</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils md5sum"><primary sortas="b-md5sum">md5sum</primary></indexterm>
|
||||
<para>reports or checks MD5 (Message Digest 5) checksums.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mkdir">
|
||||
<term><command>mkdir</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils mkdir"><primary sortas="b-mkdir">mkdir</primary></indexterm>
|
||||
<para>creates directories with the given names.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mkfifo">
|
||||
<term><command>mkfifo</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils mkfifo"><primary sortas="b-mkfifo">mkfifo</primary></indexterm>
|
||||
<para>creates FIFOs (First-In, First-Out, a <quote>named pipe</quote> in UNIX parlance) with
|
||||
the given names.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mknod">
|
||||
<term><command>mknod</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils mknod"><primary sortas="b-mknod">mknod</primary></indexterm>
|
||||
<para>creates device nodes with the given names.
|
||||
A device node is a character special file, or a block special file, or a FIFO.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mv">
|
||||
<term><command>mv</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils mv"><primary sortas="b-mv">mv</primary></indexterm>
|
||||
<para>moves or renames files or directories.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="nice">
|
||||
<term><command>nice</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils nice"><primary sortas="b-nice">nice</primary></indexterm>
|
||||
<para>runs a program with modified scheduling priority.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="nl">
|
||||
<term><command>nl</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils nl"><primary sortas="b-nl">nl</primary></indexterm>
|
||||
<para>numbers the lines from the given files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="nohup">
|
||||
<term><command>nohup</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils nohup"><primary sortas="b-nohup">nohup</primary></indexterm>
|
||||
<para>runs a command immune to hangups, with
|
||||
output redirected to a log file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="od">
|
||||
<term><command>od</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils od"><primary sortas="b-od">od</primary></indexterm>
|
||||
<para>dumps files in octal and other formats.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="paste">
|
||||
<term><command>paste</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils paste"><primary sortas="b-paste">paste</primary></indexterm>
|
||||
<para>merges the given files, joining
|
||||
sequentially corresponding lines side by side, separated by tab characters..</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pathchk">
|
||||
<term><command>pathchk</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils pathchk"><primary sortas="b-pathchk">pathchk</primary></indexterm>
|
||||
<para>checks whether file names are valid or portable.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pinky">
|
||||
<term><command>pinky</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils pinky"><primary sortas="b-pinky">pinky</primary></indexterm>
|
||||
<para>is a lightweight finger. It reports some information about the given users.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pr">
|
||||
<term><command>pr</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils pr"><primary sortas="b-pr">pr</primary></indexterm>
|
||||
<para>paginates and columnates files for printing.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="printenv">
|
||||
<term><command>printenv</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils printenv"><primary sortas="b-printenv">printenv</primary></indexterm>
|
||||
<para>prints the environment.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="printf">
|
||||
<term><command>printf</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils printf"><primary sortas="b-printf">printf</primary></indexterm>
|
||||
<para>prints the given arguments according to the
|
||||
given format -- much like the C printf function.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ptx">
|
||||
<term><command>ptx</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils ptx"><primary sortas="b-ptx">ptx</primary></indexterm>
|
||||
<para>produces from the contents of the given files
|
||||
a permuted index, with each keyword in its context.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pwd">
|
||||
<term><command>pwd</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils pwd"><primary sortas="b-pwd">pwd</primary></indexterm>
|
||||
<para>reports the name of the current directory.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="readlink">
|
||||
<term><command>readlink</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils readlink"><primary sortas="b-readlink">readlink</primary></indexterm>
|
||||
<para>reports the value of the given symbolic link.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="rm">
|
||||
<term><command>rm</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils rm"><primary sortas="b-rm">rm</primary></indexterm>
|
||||
<para>removes files or directories.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="rmdir">
|
||||
<term><command>rmdir</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils rmdir"><primary sortas="b-rmdir">rmdir</primary></indexterm>
|
||||
<para>removes directories, if they are empty.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="seq">
|
||||
<term><command>seq</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils seq"><primary sortas="b-seq">seq</primary></indexterm>
|
||||
<para>prints a sequence of numbers, within a given
|
||||
range and with a given increment.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="sha1sum">
|
||||
<term><command>sha1sum</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils sha1sum"><primary sortas="b-sha1sum">sha1sum</primary></indexterm>
|
||||
<para>prints or checks 160-bit SHA1 checksums.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="shred">
|
||||
<term><command>shred</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils shred"><primary sortas="b-shred">shred</primary></indexterm>
|
||||
<para>overwrites the given files repeatedly with
|
||||
strange patterns, to make it real hard to recover the data.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="sleep">
|
||||
<term><command>sleep</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils sleep"><primary sortas="b-sleep">sleep</primary></indexterm>
|
||||
<para>pauses for the given amount of time.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="sort">
|
||||
<term><command>sort</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils sort"><primary sortas="b-sort">sort</primary></indexterm>
|
||||
<para>sorts the lines from the given files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="split">
|
||||
<term><command>split</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils split"><primary sortas="b-split">split</primary></indexterm>
|
||||
<para>splits the given file into pieces, by size or by numbspliter of lines.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="stty">
|
||||
<term><command>stty</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils stty"><primary sortas="b-stty">stty</primary></indexterm>
|
||||
<para>sets or reports terminal line settings.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="sum">
|
||||
<term><command>sum</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils sum"><primary sortas="b-sum">sum</primary></indexterm>
|
||||
<para>prints checksum and block counts for each given file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="sync">
|
||||
<term><command>sync</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils sync"><primary sortas="b-sync">sync</primary></indexterm>
|
||||
<para>flushes file system buffers. It forces
|
||||
changed blocks to disk and updates the super block.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tac">
|
||||
<term><command>tac</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils tac"><primary sortas="b-tac">tac</primary></indexterm>
|
||||
<para>concatenates the given files in reverse.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tail">
|
||||
<term><command>tail</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils tail"><primary sortas="b-tail">tail</primary></indexterm>
|
||||
<para>prints the last ten lines (or the given number of lines) of each given file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tee">
|
||||
<term><command>tee</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils tee"><primary sortas="b-tee">tee</primary></indexterm>
|
||||
<para>reads from standard input while writing both
|
||||
to standard output and to the given files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="test">
|
||||
<term><command>test</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils test"><primary sortas="b-test">test</primary></indexterm>
|
||||
<para>compares values and checks file types.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="touch">
|
||||
<term><command>touch</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils touch"><primary sortas="b-touch">touch</primary></indexterm>
|
||||
<para>changes file timestamps, setting the access
|
||||
and modification times of the given files to the current time. Files that do
|
||||
not exist are created with zero length.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tr">
|
||||
<term><command>tr</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils tr"><primary sortas="b-tr">tr</primary></indexterm>
|
||||
<para>translates, squeezes, and deletes the given
|
||||
characters from standard input.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="true">
|
||||
<term><command>true</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils true"><primary sortas="b-true">true</primary></indexterm>
|
||||
<para>does nothing, successfully. It always exits
|
||||
with a status code indicating success.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tsort">
|
||||
<term><command>tsort</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils tsort"><primary sortas="b-tsort">tsort</primary></indexterm>
|
||||
<para>performs a topological sort. It writes a
|
||||
totally ordered list according to the partial ordering in a given file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tty">
|
||||
<term><command>tty</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils tty"><primary sortas="b-tty">tty</primary></indexterm>
|
||||
<para>reports the file name of the terminal connected to standard input.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="uname">
|
||||
<term><command>uname</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils uname"><primary sortas="b-uname">uname</primary></indexterm>
|
||||
<para>reports system information.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="unexpand">
|
||||
<term><command>unexpand</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils unexpand"><primary sortas="b-unexpand">unexpand</primary></indexterm>
|
||||
<para>converts spaces to tabs.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="uniq">
|
||||
<term><command>uniq</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils uniq"><primary sortas="b-uniq">uniq</primary></indexterm>
|
||||
<para>discards all but one of successive identical lines.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="unlink">
|
||||
<term><command>unlink</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils unlink"><primary sortas="b-unlink">unlink</primary></indexterm>
|
||||
<para>removes the given file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="uptime-coreutils">
|
||||
<term><command>uptime</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils uptime-coreutils"><primary sortas="b-uptime-coreutils">uptime</primary></indexterm>
|
||||
<para>reports how long the system has been
|
||||
running, how many users are logged on, and the system load averages.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="users">
|
||||
<term><command>users</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils users"><primary sortas="b-users">users</primary></indexterm>
|
||||
<para>reports the names of the users currently logged on.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="vdir">
|
||||
<term><command>vdir</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils vdir"><primary sortas="b-vdir">vdir</primary></indexterm>
|
||||
<para>is the same as <command>ls -l</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="wc">
|
||||
<term><command>wc</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils wc"><primary sortas="b-wc">wc</primary></indexterm>
|
||||
<para>reports the number of lines, words, and bytes
|
||||
for each given file, and a total line when more than one file is given.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="who">
|
||||
<term><command>who</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils who"><primary sortas="b-who">who</primary></indexterm>
|
||||
<para>reports who is logged on.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="whoami">
|
||||
<term><command>whoami</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils whoami"><primary sortas="b-whoami">whoami</primary></indexterm>
|
||||
<para>reports the user name associated with the current effective user ID.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="yes">
|
||||
<term><command>yes</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-coreutils yes"><primary sortas="b-yes">yes</primary></indexterm>
|
||||
<para>outputs <quote>y</quote> or a given string repeatedly, until killed.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -7,10 +7,7 @@
|
||||
<title>Creating essential symlinks</title>
|
||||
<?dbhtml filename="createfiles.html"?>
|
||||
|
||||
<para>Some programs hard-wire paths to programs which don't exist yet. In
|
||||
order to satisfy these programs, we create a number of symbolic links which
|
||||
will be replaced by real files throughout the course of this chapter when
|
||||
we're installing all the software.</para>
|
||||
<para>Create some needed links.</para>
|
||||
|
||||
<screen><userinput>ln -s /tools/bin/{bash,cat,pwd,stty} /bin
|
||||
ln -s /tools/bin/perl /usr/bin
|
||||
|
@ -7,9 +7,7 @@
|
||||
<title>Creating directories</title>
|
||||
<?dbhtml filename="creatingdirs.html"?>
|
||||
|
||||
<para>Let's now create some structure in our LFS file system. Let's create
|
||||
a directory tree. Issuing the following commands will create a more or less
|
||||
standard tree:</para>
|
||||
<para>Create a dirs tree:</para>
|
||||
|
||||
<screen><userinput>install -d /{bin,boot,dev,etc/opt,home,lib,mnt}
|
||||
install -d /{sbin,srv,usr/local,var,opt}
|
||||
@ -31,34 +29,4 @@ install -d /var/{opt,cache,lib/{misc,locate},local}
|
||||
install -d /opt/{bin,doc,include,info}
|
||||
install -d /opt/{lib,man/man{1,2,3,4,5,6,7,8}}</userinput></screen>
|
||||
|
||||
<para>Directories are, by default, created with permission mode 755, but this
|
||||
isn't desirable for all directories. In the commands above, we make two changes:
|
||||
one to the home directory of <emphasis>root</emphasis>, and another to the
|
||||
directories for temporary files.</para>
|
||||
|
||||
<para>The first mode change ensures that not just anybody can enter the
|
||||
<filename class="directory">/root</filename> directory -- the same
|
||||
as a normal user would do with his or her home directory.
|
||||
The second mode change makes sure that any user can write to the
|
||||
<filename class="directory">/tmp</filename> and
|
||||
<filename class="directory">/var/tmp</filename> directories, but
|
||||
cannot remove other users' files from them. The latter is prohibited
|
||||
by the so-called <quote>sticky bit</quote> -- the highest bit in the 1777 bit
|
||||
mask.</para>
|
||||
|
||||
<sect2>
|
||||
<title>FHS compliance note</title>
|
||||
|
||||
<para>We have based our directory tree on the FHS standard (available at
|
||||
<ulink url="http://www.pathname.com/fhs/"/>). Besides the above created
|
||||
tree this standard stipulates the existence of
|
||||
<filename class="directory">/usr/local/games</filename> and
|
||||
<filename class="directory">/usr/share/games</filename>, but we don't
|
||||
much like these for a base system. However, feel free to make your system
|
||||
FHS-compliant. As to the structure of the
|
||||
<filename class="directory">/usr/local/share</filename> subdirectory, the FHS
|
||||
isn't precise, so we created here the directories that we think are needed.</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
||||
|
@ -7,33 +7,16 @@
|
||||
<title>Populating /dev</title>
|
||||
<?dbhtml filename="devices.html"?>
|
||||
|
||||
<indexterm zone="ch-system-devices"><primary sortas="e-Devices">Devices</primary></indexterm>
|
||||
|
||||
<sect2>
|
||||
<title>Creating initial device nodes</title>
|
||||
|
||||
<para>When the kernel boots the system, it requires the presence of a few device
|
||||
nodes, in particular the <filename class="devicefile">console</filename> and
|
||||
<filename class="devicefile">null</filename> devices:</para>
|
||||
<para>Create the initial device nodes</para>
|
||||
|
||||
<screen><userinput>mknod -m 600 /dev/console c 5 1
|
||||
mknod -m 666 /dev/null c 1 3</userinput></screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Mounting ramfs and populating /dev</title>
|
||||
|
||||
<para>The ideal way to populate <filename class="directory">/dev</filename> is
|
||||
to mount a <systemitem class="filesystem">ramfs</systemitem> onto <filename class="directory">/dev </filename>
|
||||
like <systemitem class="filesystem">tmpfs</systemitem>, but it
|
||||
cannot be swapped) and create the devices on there during each bootup. Since we haven't
|
||||
booted the system, we have to do what the bootscripts would otherwise do for us, and
|
||||
populate <filename class="directory">/dev</filename> ourselves. Begin by mounting <filename class="directory">/dev</filename>:</para>
|
||||
<para>Mount a ramfs in /dev</para>
|
||||
|
||||
<screen><userinput>mount -n -t ramfs none /dev</userinput></screen>
|
||||
|
||||
<para>Since we do not have the Udev package installed yet, we'll create a
|
||||
minimal set of device nodes to use for building:</para>
|
||||
<para>Create a minimal set of device nodes:</para>
|
||||
|
||||
<screen><userinput>mknod -m 622 /dev/console c 5 1
|
||||
mknod -m 666 /dev/null c 1 3
|
||||
@ -44,8 +27,7 @@ mknod -m 444 /dev/random c 1 8
|
||||
mknod -m 444 /dev/urandom c 1 9
|
||||
chown root:tty /dev/{console,ptmx,tty}</userinput></screen>
|
||||
|
||||
<para>There are some symlinks and directories required by LFS that are not created by
|
||||
Udev, so we create those ourselves here:</para>
|
||||
<para>Create some symlinks and directories:</para>
|
||||
|
||||
<screen><userinput>ln -s /proc/self/fd /dev/fd
|
||||
ln -s /proc/self/fd/0 /dev/stdin
|
||||
@ -55,21 +37,10 @@ ln -s /proc/kcore /dev/core
|
||||
mkdir /dev/pts
|
||||
mkdir /dev/shm</userinput></screen>
|
||||
|
||||
<para>Finally, mount the proper virtual (kernel) file systems on the directories we just
|
||||
created:</para>
|
||||
<para>Mount the virtual file systems:</para>
|
||||
|
||||
<screen><userinput>mount -t devpts -o gid=4,mode=620 none /dev/pts
|
||||
mount -t tmpfs none /dev/shm</userinput></screen>
|
||||
|
||||
<para>The <command>mount</command> commands executed above may result in the
|
||||
following warning message:</para>
|
||||
|
||||
<screen><computeroutput>can't open /etc/fstab: No such file or directory.</computeroutput></screen>
|
||||
|
||||
<para>This file—<filename>/etc/fstab</filename>—has not
|
||||
been created yet but is also not required for the file systems to be
|
||||
properly mounted. As such, the warning can be safely ignored.</para>
|
||||
</sect2>
|
||||
|
||||
|
||||
</sect1>
|
||||
|
@ -10,8 +10,6 @@
|
||||
<indexterm zone="ch-system-diffutils"><primary sortas="a-Diffutils">Diffutils</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Diffutils package contains programs that show the differences
|
||||
between files or directories.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -19,11 +17,6 @@ between files or directories.</para>
|
||||
<seglistitem><seg>0.1 SBU</seg><seg>7.5 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Diffutils installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, GCC,
|
||||
Gettext, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -46,45 +39,7 @@ Gettext, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
|
||||
<sect2 id="contents-diffutils" role="content"><title>Contents of Diffutils</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>cmp, diff, diff3 and sdiff</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="cmp">
|
||||
<term><command>cmp</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-diffutils cmp"><primary sortas="b-cmp">cmp</primary></indexterm>
|
||||
<para>compares two files and reports whether or in which bytes they differ.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="diff">
|
||||
<term><command>diff</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-diffutils diff"><primary sortas="b-diff">diff</primary></indexterm>
|
||||
<para>compares two files or directories and reports which lines in the files differ.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="diff3">
|
||||
<term><command>diff3</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-diffutils diff3"><primary sortas="b-diff3">diff3</primary></indexterm>
|
||||
<para>compares three files line by line.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="sdiff">
|
||||
<term><command>sdiff</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-diffutils sdiff"><primary sortas="b-sdiff">sdiff</primary></indexterm>
|
||||
<para>merges two files and interactively outputs the results.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,8 +10,6 @@
|
||||
<indexterm zone="ch-system-e2fsprogs"><primary sortas="a-E2fsprogs">E2fsprogs</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The E2fsprogs package contains the utilities for handling the ext2
|
||||
file system. It also supports the ext3 journaling file system.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -19,18 +17,12 @@ file system. It also supports the ext3 journaling file system.</para>
|
||||
<seglistitem><seg>0.6 SBU</seg><seg>4.9 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>E2fsprogs installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils,
|
||||
Diffutils, Gawk, GCC, Gettext, Glibc, Grep, Make, Sed, Texinfo</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of E2fsprogs</title>
|
||||
|
||||
<para>It is recommended to build E2fsprogs in a subdirectory of the source tree:
|
||||
</para>
|
||||
<para>Create a build directory:</para>
|
||||
|
||||
<screen><userinput>mkdir build
|
||||
cd build</userinput></screen>
|
||||
@ -40,39 +32,6 @@ cd build</userinput></screen>
|
||||
<screen><userinput>../configure --prefix=/usr --with-root-prefix="" \
|
||||
--enable-elf-shlibs --disable-evms</userinput></screen>
|
||||
|
||||
<para>The meaning of the configure options:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>--with-root-prefix=""</parameter></term>
|
||||
<listitem><para>Certain programs (such as the <command>e2fsck</command>
|
||||
program) are considered essential programs.
|
||||
When, for example, <filename class="directory">/usr</filename> isn't
|
||||
mounted, these essential programs have to be available. They belong in
|
||||
directories like <filename class="directory">/lib</filename> and
|
||||
<filename class="directory">/sbin</filename>. If this option isn't passed
|
||||
to E2fsprogs's configure, the programs are placed in the
|
||||
<filename class="directory">/usr</filename> directory, which is not what we
|
||||
want.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-elf-shlibs</parameter></term>
|
||||
<listitem><para>This creates
|
||||
the shared libraries which some programs in this package use.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-evms</parameter></term>
|
||||
<listitem><para>This disables the building of the Enterprise Volume Management
|
||||
System (EVMS) plugin. This plugin is not up-to-date with the latest EVMS
|
||||
internal interfaces and EVMS is not installed as part of a base LFS system, so
|
||||
the plugin is not required. See the
|
||||
<ulink url="http://evms.sourceforge.net/">EVMS homepage</ulink> for more
|
||||
information regarding EVMS itself.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput>make</userinput></screen>
|
||||
@ -90,240 +49,9 @@ information regarding EVMS itself.</para></listitem>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
|
||||
<sect2 id="contents-e2fsprogs" role="content"><title>Contents of E2fsprogs</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<seglistitem><seg>badblocks, blkid, chattr,
|
||||
compile_et, debugfs, dumpe2fs, e2fsck, e2image, e2label, findfs, fsck,
|
||||
fsck.ext2, fsck.ext3, logsave, lsattr, mk_cmds, mke2fs, mkfs.ext2, mkfs.ext3,
|
||||
mklost+found, resize2fs, tune2fs and uuidgen.</seg>
|
||||
<seg>libblkid.[a,so], libcom_err.[a,so], libe2p.[a,so], libext2fs.[a,so], libss.[a,so] and
|
||||
libuuid.[a,so]</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="badblocks">
|
||||
<term><command>badblocks</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs badblocks"><primary sortas="b-badblocks">badblocks</primary></indexterm>
|
||||
<para>searches a device (usually a disk partition) for bad blocks.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="blkid">
|
||||
<term><command>blkid</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs blkid"><primary sortas="b-blkid">blkid</primary></indexterm>
|
||||
<para>is a command line utility to locate and print block device attributes.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="chattr">
|
||||
<term><command>chattr</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs chattr"><primary sortas="b-chattr">chattr</primary></indexterm>
|
||||
<para>changes the attributes of files on a second extended (ext2) file system, and
|
||||
also ext3 file systems, the journaling version of ext2 file systems.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="compile_et">
|
||||
<term><command>compile_et</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs compile_et"><primary sortas="b-compile_et">compile_et</primary></indexterm>
|
||||
<para>is an error table compiler. It
|
||||
converts a table of error-code names and messages into a C source file
|
||||
suitable for use with the <filename class="libraryfile">com_err</filename> library.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="debugfs">
|
||||
<term><command>debugfs</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs debugfs"><primary sortas="b-debugfs">debugfs</primary></indexterm>
|
||||
<para>is a file system debugger. It can be
|
||||
used to examine and change the state of an ext2 file system.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="dumpe2fs">
|
||||
<term><command>dumpe2fs</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs dumpe2fs"><primary sortas="b-dumpe2fs">dumpe2fs</primary></indexterm>
|
||||
<para>prints the super block and blocks group
|
||||
information for the file system present on a given device.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="e2fsck">
|
||||
<term><command>e2fsck</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs e2fsck"><primary sortas="b-e2fsck">e2fsck</primary></indexterm>
|
||||
<para>is used to check, and optionally repair,
|
||||
second extended (ext2) file systems, and also ext3 file systems.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="e2image">
|
||||
<term><command>e2image</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs e2image"><primary sortas="b-e2image">e2image</primary></indexterm>
|
||||
<para>is used to save critical ext2 file system data to a file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="e2label">
|
||||
<term><command>e2label</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs e2label"><primary sortas="b-e2label">e2label</primary></indexterm>
|
||||
<para>will display or change the file system
|
||||
label on the ext2 file system present on a given device.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="findfs">
|
||||
<term><command>findfs</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs findfs"><primary sortas="b-findfs">findfs</primary></indexterm>
|
||||
<para>finds a file system by label or UUID (Universally Unique Identifier).</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="fsck">
|
||||
<term><command>fsck</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs fsck"><primary sortas="b-fsck">fsck</primary></indexterm>
|
||||
<para>is used to check, and optionally repair, file systems. By default it checks the
|
||||
file systems listed in <filename>/etc/fstab</filename></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="logsave">
|
||||
<term><command>logsave</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs logsave"><primary sortas="b-logsave">logsave</primary></indexterm>
|
||||
<para>saves the output of a command in a log file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="lsattr">
|
||||
<term><command>lsattr</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs lsattr"><primary sortas="b-lsattr">lsattr</primary></indexterm>
|
||||
<para>lists the attributes of files on a second extended file system.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mk_cmds">
|
||||
<term><command>mk_cmds</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs mk_cmds"><primary sortas="b-mk_cmds">mk_cmds</primary></indexterm>
|
||||
<para>converts a table of command names
|
||||
and help messages into a C source file suitable for use with the
|
||||
<filename class="libraryfile">libss</filename> subsystem library.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mke2fs">
|
||||
<term><command>mke2fs</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs mke2fs"><primary sortas="b-mke2fs">mke2fs</primary></indexterm>
|
||||
<para>is used to create a second extended file system on the given device.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mklost-found">
|
||||
<term><command>mklost+found</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs mklost-found"><primary sortas="b-mklost+found">mklost+found</primary></indexterm>
|
||||
<para>is used to create a
|
||||
<filename class="directory">lost+found</filename> directory on a second extended file system.
|
||||
It pre-allocates disk blocks to this directory to lighten the task of e2fsck.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="resize2fs">
|
||||
<term><command>resize2fs</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs resize2fs"><primary sortas="b-resize2fs">resize2fs</primary></indexterm>
|
||||
<para>can be used to enlarge or shrink an ext2 file system.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tune2fs">
|
||||
<term><command>tune2fs</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs tune2fs"><primary sortas="b-tune2fs">tune2fs</primary></indexterm>
|
||||
<para>is used adjust tunable file system
|
||||
parameters on a second extended file system.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="uuidgen">
|
||||
<term><command>uuidgen</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs uuidgen"><primary sortas="b-uuidgen">uuidgen</primary></indexterm>
|
||||
<para>creates new UUID. Each new UUID can reasonably be considered unique
|
||||
among all UUIDs created, on the local system and on other systems, in the
|
||||
past and in the future.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libblkid">
|
||||
<term><filename class="libraryfile">libblkid</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs libblkid"><primary sortas="c-libblkid">libblkid</primary></indexterm>
|
||||
<para>contains routines for device identification and token extraction.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libcom_err">
|
||||
<term><filename class="libraryfile">libcom_err</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs libcom_err"><primary sortas="c-libcom_err">libcom_err</primary></indexterm>
|
||||
<para>is the common error display routine.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libe2p">
|
||||
<term><filename class="libraryfile">libe2p</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs libe2p"><primary sortas="c-libe2p">libe2p</primary></indexterm>
|
||||
<para>is used by dumpe2fs, chattr, and lsattr.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libext2fs">
|
||||
<term><filename class="libraryfile">libext2fs</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs libext2fs"><primary sortas="c-libext2fs">libext2fs</primary></indexterm>
|
||||
<para>contains routines to enable user-level
|
||||
programs to manipulate an ext2 file system.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libss">
|
||||
<term><filename class="libraryfile">libss</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs libss"><primary sortas="c-libss">libss</primary></indexterm>
|
||||
<para>is used by <command>debugfs</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libuuid">
|
||||
<term><filename class="libraryfile">libuuid</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-e2fsprogs libuuid"><primary sortas="c-libuuid">libuuid</primary></indexterm>
|
||||
<para>contains routines for generating unique
|
||||
identifiers for objects that may be accessible beyond the local system.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-file"><primary sortas="a-File">File</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The File package contains a utility for determining the type of files.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,11 +17,6 @@
|
||||
<seglistitem><seg>0.1 SBU</seg><seg>6.3 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>File installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
|
||||
GCC, Glibc, Grep, Make, Sed, Zlib</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -45,32 +39,7 @@ GCC, Glibc, Grep, Make, Sed, Zlib</seg></seglistitem>
|
||||
|
||||
<sect2 id="contents-file" role="content"><title>Contents of File</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed library</segtitle>
|
||||
<seglistitem><seg>file</seg><seg>libmagic.[a,so]</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="file">
|
||||
<term><command>file</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-file file"><primary sortas="b-file">file</primary></indexterm>
|
||||
<para>tries to classify each given file. It does
|
||||
this by performing several tests: file system tests, magic number tests, and
|
||||
language tests. The first test that succeeds determines the result.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libmagic">
|
||||
<term><filename class="libraryfile">libmagic</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-file libmagic"><primary sortas="c-libmagic">libmagic</primary></indexterm>
|
||||
<para>contains routines for magic number recognition, used by the <command>file</command> program.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,10 +10,6 @@
|
||||
<indexterm zone="ch-system-findutils"><primary sortas="a-Findutils">Findutils</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Findutils package contains programs to find files. Processes
|
||||
are provided to recursively search through a directory tree and to
|
||||
create, maintain and search a database (often faster than the recursive
|
||||
find, but unreliable if the database has not been recently updated).</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -21,11 +17,6 @@ find, but unreliable if the database has not been recently updated).</para>
|
||||
<seglistitem><seg>0.2 SBU</seg><seg>7.5 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Findutils installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils,
|
||||
Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -36,10 +27,6 @@ Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
<screen><userinput>./configure --prefix=/usr --libexecdir=/usr/lib/locate \
|
||||
--localstatedir=/var/lib/locate</userinput></screen>
|
||||
|
||||
<para>The localstatedir directive above changes the location of the locate
|
||||
database to be in <filename class="directory">/var/lib/locate</filename>,
|
||||
which is FHS-compliant.</para>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput>make</userinput></screen>
|
||||
@ -56,74 +43,7 @@ which is FHS-compliant.</para>
|
||||
|
||||
<sect2 id="contents-findutils" role="content"><title>Contents of Findutils</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>bigram, code, find, frcode, locate, updatedb and xargs</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="bigram">
|
||||
<term><command>bigram</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-findutils bigram"><primary sortas="b-bigram">bigram</primary></indexterm>
|
||||
<para>was formerly used to produce <command>locate</command> databases.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="code">
|
||||
<term><command>code</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-findutils code"><primary sortas="b-code">code</primary></indexterm>
|
||||
<para>was formerly used to produce <command>locate</command>
|
||||
databases. It is the ancestor of <command>frcode</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="find">
|
||||
<term><command>find</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-findutils find"><primary sortas="b-find">find</primary></indexterm>
|
||||
<para>searches given directory trees for files matching the specified criteria.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="frcode">
|
||||
<term><command>frcode</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-findutils frcode"><primary sortas="b-frcode">frcode</primary></indexterm>
|
||||
<para>is called by <command>updatedb</command> to compress the list of file names. It uses
|
||||
front-compression, reducing the database size by a factor of 4 to 5.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="locate">
|
||||
<term><command>locate</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-findutils locate"><primary sortas="b-locate">locate</primary></indexterm>
|
||||
<para>searches through a database of file names,
|
||||
and reports the names that contain a given string or match a given pattern.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="updatedb">
|
||||
<term><command>updatedb</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-findutils updatedb"><primary sortas="b-updatedb">updatedb</primary></indexterm>
|
||||
<para>updates the <command>locate</command> database. It scans
|
||||
the entire file system (including other file systems that are currently mounted,
|
||||
unless told not to) and puts every file name it finds in the database.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="xargs">
|
||||
<term><command>xargs</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-findutils xargs"><primary sortas="b-xargs">xargs</primary></indexterm>
|
||||
<para>can be used to apply a given command to a list of files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,8 +10,6 @@
|
||||
<indexterm zone="ch-system-flex"><primary sortas="a-Flex">Flex</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Flex package contains a utility for generating programs that
|
||||
recognize patterns in text.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -19,24 +17,16 @@ recognize patterns in text.</para>
|
||||
<seglistitem><seg>0.1 SBU</seg><seg>3.4 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Flex installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Bison, Coreutils, Diffutils,
|
||||
GCC, Gettext, Glibc, Grep, M4, Make, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Flex</title>
|
||||
|
||||
<para>Flex contains several known bugs. Fix these with the following patch:</para>
|
||||
<para>Apply a patch:</para>
|
||||
|
||||
<screen><userinput>patch -Np1 -i ../flex-&flex-version;-debian_fixes-2.patch</userinput></screen>
|
||||
|
||||
<para>The GNU autotools detects that the Flex source code has been modified by
|
||||
the previous patch, and tries to update the manual page accordingly, but this
|
||||
breaks on many systems, and the default page is fine, so make sure it doesn't
|
||||
get regenerated:</para>
|
||||
<para>Touch the man-page:</para>
|
||||
|
||||
<screen><userinput>touch doc/flex.1</userinput></screen>
|
||||
|
||||
@ -55,16 +45,11 @@ get regenerated:</para>
|
||||
|
||||
<screen><userinput>make install</userinput></screen>
|
||||
|
||||
<para>There are some packages that expect to find the <emphasis>lex</emphasis>
|
||||
library in <filename>/usr/lib</filename>. Create a symlink to account for
|
||||
this:</para>
|
||||
<para>Create a symlink:</para>
|
||||
|
||||
<screen><userinput>ln -s libfl.a /usr/lib/libl.a</userinput></screen>
|
||||
|
||||
<para>A few programs don't know about <command>flex</command> yet and try
|
||||
to run its predecessor <command>lex</command>. To support those programs,
|
||||
create a wrapper script named <filename>lex</filename> that calls
|
||||
<command>flex</command> in <emphasis>lex</emphasis> emulation mode:</para>
|
||||
<para>Create a lex script:</para>
|
||||
|
||||
<screen><userinput>cat > /usr/bin/lex << "EOF"</userinput>
|
||||
#!/bin/sh
|
||||
@ -81,43 +66,7 @@ chmod 755 /usr/bin/lex</userinput></screen>
|
||||
|
||||
<sect2 id="contents-flex" role="content"><title>Contents of Flex</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed library</segtitle>
|
||||
<seglistitem><seg>flex, flex++ (link to flex) and lex</seg>
|
||||
<seg>libfl.a</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="flex">
|
||||
<term><command>flex</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-flex flex"><primary sortas="b-flex">flex</primary></indexterm>
|
||||
<para>is a tool for generating programs that
|
||||
recognize patterns in text. Pattern recognition is useful in many applications.
|
||||
From a set of rules on what to look for, <command>flex</command> makes a program that looks for
|
||||
those patterns. The reason to use <command>flex</command> is that it is much easier to specify
|
||||
the rules for a pattern-finding program than to write the program.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="flex-">
|
||||
<term><command>flex++</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-flex flex-"><primary sortas="b-flex++">flex++</primary></indexterm>
|
||||
<para>invokes a version of <command>flex</command> that is used exclusively for C++ scanners.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libfl.a">
|
||||
<term><filename class="libraryfile">libfl.a</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-flex libfl.a"><primary sortas="c-libfl.a">libfl.a</primary></indexterm>
|
||||
<para>is the flex library.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-gawk"><primary sortas="a-Gawk">Gawk</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Gawk package contains programs for manipulating text files.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,11 +17,6 @@
|
||||
<seglistitem><seg>0.2 SBU</seg><seg>17 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Gawk installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils,
|
||||
Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -48,55 +42,7 @@ Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
|
||||
<sect2 id="contents-gawk" role="content"><title>Contents of Gawk</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>awk (link to gawk), gawk, gawk-&gawk-version;, grcat, igawk,
|
||||
pgawk, pgawk-&gawk-version; and pwcat</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="gawk">
|
||||
<term><command>gawk</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gawk gawk"><primary sortas="b-gawk">gawk</primary></indexterm>
|
||||
<para>is a program for manipulating text files.
|
||||
It is the GNU implementation of <command>awk</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="grcat">
|
||||
<term><command>grcat</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gawk grcat"><primary sortas="b-grcat">grcat</primary></indexterm>
|
||||
<para>dumps the group database <filename>/etc/group</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="igawk">
|
||||
<term><command>igawk</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gawk igawk"><primary sortas="b-igawk">igawk</primary></indexterm>
|
||||
<para>gives <command>gawk</command> the ability to include files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pgawk">
|
||||
<term><command>pgawk</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gawk pgawk"><primary sortas="b-pgawk">pgawk</primary></indexterm>
|
||||
<para>is the profiling version of <command>gawk</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pwcat">
|
||||
<term><command>pwcat</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gawk pwcat"><primary sortas="b-pwcat">pwcat</primary></indexterm>
|
||||
<para>dumps the password database <filename>/etc/passwd</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,8 +10,6 @@
|
||||
<indexterm zone="ch-system-gcc"><primary sortas="a-GCC">GCC</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The GCC package contains the GNU compiler collection, which includes
|
||||
the C and C++ compilers.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -19,47 +17,24 @@ the C and C++ compilers.</para>
|
||||
<seglistitem><seg>11.7 SBU</seg><seg>294 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>GCC installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, Findutils,
|
||||
Gawk, Gettext, Glibc, Grep, Make, Perl, Sed, Texinfo</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of GCC</title>
|
||||
|
||||
<para>This package is known to behave badly when you have changed its
|
||||
default optimization flags (including the <parameter>-march</parameter> and <parameter>-mcpu</parameter> options).
|
||||
Therefore, if you have defined any environment variables that override
|
||||
default optimizations, such as CFLAGS and CXXFLAGS, we recommend un-setting
|
||||
or modifying them when building GCC.</para>
|
||||
|
||||
<para>Unpack the GCC-core <emphasis>and</emphasis> the GCC-g++ tarball -- they
|
||||
will unfold into the same directory. You should likewise extract the
|
||||
GCC-testsuite package. The full GCC package contains even more
|
||||
compilers. Instructions for building these can be found at
|
||||
<ulink url="&blfs-root;view/stable/general/gcc.html"/>.</para>
|
||||
|
||||
<para>First apply only the No-Fixincludes patch (and <emphasis>not</emphasis>
|
||||
the Specs patch) also used in the previous chapter:</para>
|
||||
<para>Apply a patch:</para>
|
||||
|
||||
<screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-no_fixincludes-1.patch</userinput></screen>
|
||||
|
||||
<para>GCC fails to compile some packages outside of a base Linux From Scratch
|
||||
install (e.g., Mozilla and kdegraphics) when used in conjunction with newer
|
||||
versions of binutils. Apply the following patch to fix this issue:</para>
|
||||
<para>Apply another patch:</para>
|
||||
|
||||
<screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-linkonce-1.patch</userinput></screen>
|
||||
|
||||
<para>Now apply a sed substitution that will suppress the installation of
|
||||
<filename class="libraryfile">libiberty.a</filename>. We want to use the version of
|
||||
<filename class="libraryfile">libiberty.a</filename> provided by Binutils:</para>
|
||||
<para>Apply a sed substitution:</para>
|
||||
|
||||
<screen><userinput>sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in</userinput></screen>
|
||||
|
||||
<para>The GCC documentation recommends building GCC outside of the source
|
||||
directory in a dedicated build directory:</para>
|
||||
<para>Create a build directory:</para>
|
||||
|
||||
<screen><userinput>mkdir ../gcc-build
|
||||
cd ../gcc-build</userinput></screen>
|
||||
@ -74,122 +49,34 @@ cd ../gcc-build</userinput></screen>
|
||||
|
||||
<screen><userinput>make</userinput></screen>
|
||||
|
||||
<important><para>The test suite for GCC in this section is considered
|
||||
<emphasis>critical</emphasis>. Our advice is to not skip it under any
|
||||
circumstance.</para></important>
|
||||
|
||||
<para>Test the results, but don't stop at errors (you'll remember the few
|
||||
known ones):</para>
|
||||
<para>Test the results):</para>
|
||||
|
||||
<screen><userinput>make -k check</userinput></screen>
|
||||
|
||||
<para>The test suite notes from <xref linkend="ch-tools-gcc-pass2"/> are still very
|
||||
much appropriate here. Be sure to refer back there should you have any
|
||||
doubts.</para>
|
||||
much appropriate here.</para>
|
||||
|
||||
<para>Now install the package:</para>
|
||||
|
||||
<screen><userinput>make install</userinput></screen>
|
||||
|
||||
<para>Some packages expect the C PreProcessor to be installed in the
|
||||
<filename class="directory">/lib</filename> directory.
|
||||
To support those packages, create this symlink:</para>
|
||||
<para>Create this symlink:</para>
|
||||
|
||||
<screen><userinput>ln -s ../usr/bin/cpp /lib</userinput></screen>
|
||||
|
||||
<para>Many packages use the name <command>cc</command> to call the C
|
||||
compiler. To satisfy those packages, create a symlink:</para>
|
||||
<para>Create another symlink:</para>
|
||||
|
||||
<screen><userinput>ln -s gcc /usr/bin/cc</userinput></screen>
|
||||
|
||||
<note><para>At this point it is strongly recommended to repeat the sanity check
|
||||
we performed earlier in this chapter. Refer back to
|
||||
<xref linkend="ch-system-readjusting"/> and repeat the check. If the results
|
||||
are wrong, then most likely you erroneously applied the GCC Specs patch from
|
||||
<xref linkend="chapter-temporary-tools"/>.</para></note>
|
||||
<note><para>Refer back to <xref linkend="ch-system-readjusting"/>
|
||||
and repeat the check.</para></note>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
<sect2 id="contents-gcc" role="content"><title>Contents of GCC</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<seglistitem><seg>c++, cc (link to gcc),
|
||||
cc1, cc1plus, collect2, cpp, g++, gcc, gccbug, and gcov</seg>
|
||||
<seg>libgcc.a, libgcc_eh.a, libgcc_s.so, libstdc++.[a,so] and libsupc++.a</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="cpp">
|
||||
<term><command>cpp</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gcc cpp"><primary sortas="b-cpp">cpp</primary></indexterm>
|
||||
<para>is the C preprocessor. It is used by the compiler to have the #include and
|
||||
#define and such statements expanded in the source files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="g">
|
||||
<term><command>g++</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gcc g"><primary sortas="b-g++">g++</primary></indexterm>
|
||||
<para>is the C++ compiler.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gcc">
|
||||
<term><command>gcc</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gcc gcc"><primary sortas="b-gcc">gcc</primary></indexterm>
|
||||
<para>is the C compiler. It is used to translate
|
||||
the source code of a program into assembly code.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gccbug">
|
||||
<term><command>gccbug</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gcc gccbug"><primary sortas="b-gccbug">gccbug</primary></indexterm>
|
||||
<para>is a shell script used to help create good bug reports.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gcov">
|
||||
<term><command>gcov</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gcc gcov"><primary sortas="b-gcov">gcov</primary></indexterm>
|
||||
<para>is a coverage testing tool. It is used to
|
||||
analyze programs to find out where optimizations will have the most effect.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libgcc">
|
||||
<term><filename class="libraryfile">libgcc*</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gcc libgcc"><primary sortas="c-libgcc*">libgcc*</primary></indexterm>
|
||||
<para>contains run-time support for <command>gcc</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libstdc">
|
||||
<term><filename class="libraryfile">libstdc++</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gcc libstdc"><primary sortas="c-libstdc++">libstdc++</primary></indexterm>
|
||||
<para>is the standard C++ library. It contains many frequently-used functions.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libsupc">
|
||||
<term><filename class="libraryfile">libsupc++</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gcc libsupc"><primary sortas="c-libsupc++">libsupc++</primary></indexterm>
|
||||
<para>provides supporting routines for the c++ programming language.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,9 +10,6 @@
|
||||
<indexterm zone="ch-system-gettext"><primary sortas="a-Gettext">Gettext</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Gettext package contains utilities for internationalization and
|
||||
localization. These allow programs to be compiled with Native Language Support
|
||||
(NLS), enabling them to output messages in the user's native language.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -20,11 +17,6 @@ localization. These allow programs to be compiled with Native Language Support
|
||||
<seglistitem><seg>0.5 SBU</seg><seg>55 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Gettext installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Bison, Coreutils,
|
||||
Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -39,8 +31,7 @@ Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
<screen><userinput>make</userinput></screen>
|
||||
|
||||
<para>To test the results, issue:
|
||||
<userinput>make check</userinput>. This takes a very long time, around
|
||||
7 SBUs.</para>
|
||||
<userinput>make check</userinput>.</para>
|
||||
|
||||
<para>Now install the package:</para>
|
||||
|
||||
@ -51,252 +42,7 @@ Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
|
||||
<sect2 id="contents-gettext" role="content"><title>Contents of Gettext</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<seglistitem><seg>autopoint, config.charset, config.rpath, envsubst, gettext,
|
||||
gettextize, hostname, msgattrib, msgcat, msgcmp, msgcomm, msgconv, msgen,
|
||||
msgexec, msgfilter, msgfmt, msggrep, msginit, msgmerge, msgunfmt, msguniq,
|
||||
ngettext, project-id, team-address, trigger, urlget, user-email and xgettext</seg>
|
||||
<seg>libasprintf[a,so], libgettextlib[a,so], libgettextpo[a,so] and libgettextsrc[a,so]</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="autopoint">
|
||||
<term><command>autopoint</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext autopoint"><primary sortas="b-autopoint">autopoint</primary></indexterm>
|
||||
<para>copies standard Gettext infrastructure files into a source package.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="config.charset">
|
||||
<term><command>config.charset</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext config.charset"><primary sortas="b-config.charset">config.charset</primary></indexterm>
|
||||
<para>outputs a system-dependent table of character encoding aliases.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="config.rpath">
|
||||
<term><command>config.rpath</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext config.rpath"><primary sortas="b-config.rpath">config.rpath</primary></indexterm>
|
||||
<para>outputs a system-dependent set of variables, describing how to set the
|
||||
runtime search path of shared libraries in an executable.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="envsubst">
|
||||
<term><command>envsubst</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext envsubst"><primary sortas="b-envsubst">envsubst</primary></indexterm>
|
||||
<para>substitutes environment variables in shell format strings.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gettext">
|
||||
<term><command>gettext</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext gettext"><primary sortas="b-gettext">gettext</primary></indexterm>
|
||||
<para>translates a natural language message into
|
||||
the user's language, by looking up the translation in a message catalog.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gettextize">
|
||||
<term><command>gettextize</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext gettextize"><primary sortas="b-gettextize">gettextize</primary></indexterm>
|
||||
<para>copies all standard Gettext files into
|
||||
the given top-level directory of a package, to begin inter-nationalizing it.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="hostname-gettext">
|
||||
<term><command>hostname</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext hostname-gettext"><primary sortas="b-hostname-gettext">hostname</primary></indexterm>
|
||||
<para>displays a network hostname in various forms.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="msgattrib">
|
||||
<term><command>msgattrib</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext msgattrib"><primary sortas="b-msgattrib">msgattrib</primary></indexterm>
|
||||
<para>filters the messages of a translation
|
||||
catalog according to their attributes and manipulates the attributes.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="msgcat">
|
||||
<term><command>msgcat</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext msgcat"><primary sortas="b-msgcat">msgcat</primary></indexterm>
|
||||
<para>concatenates and merges the given <filename class="extension">.po</filename> files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="msgcmp">
|
||||
<term><command>msgcmp</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext msgcmp"><primary sortas="b-msgcmp">msgcmp</primary></indexterm>
|
||||
<para>compares two <filename class="extension">.po</filename>
|
||||
files to check that both contain the same set of msgid strings.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="msgcomm">
|
||||
<term><command>msgcomm</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext msgcomm"><primary sortas="b-msgcomm">msgcomm</primary></indexterm>
|
||||
<para>finds the messages that are common to
|
||||
to the given <filename class="extension">.po</filename> files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="msgconv">
|
||||
<term><command>msgconv</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext msgconv"><primary sortas="b-msgconv">msgconv</primary></indexterm>
|
||||
<para>converts a translation catalog to a different character encoding.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="msgen">
|
||||
<term><command>msgen</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext msgen"><primary sortas="b-msgen">msgen</primary></indexterm>
|
||||
<para>creates an English translation catalog.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="msgexec">
|
||||
<term><command>msgexec</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext msgexec"><primary sortas="b-msgexec">msgexec</primary></indexterm>
|
||||
<para>applies a command to all translations of a translation catalog.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="msgfilter">
|
||||
<term><command>msgfilter</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext msgfilter"><primary sortas="b-msgfilter">msgfilter</primary></indexterm>
|
||||
<para>applies a filter to all translations of a translation catalog.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="msgfmt">
|
||||
<term><command>msgfmt</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext msgfmt"><primary sortas="b-msgfmt">msgfmt</primary></indexterm>
|
||||
<para>generates a binary message catalog from from a translation catalog.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="msggrep">
|
||||
<term><command>msggrep</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext msggrep"><primary sortas="b-msggrep">msggrep</primary></indexterm>
|
||||
<para>extracts all messages of a translation
|
||||
catalog that match a given pattern or belong to some given source files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="msginit">
|
||||
<term><command>msginit</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext msginit"><primary sortas="b-msginit">msginit</primary></indexterm>
|
||||
<para>creates a new <filename class="extension">.po</filename> file, initializing the meta
|
||||
information with values from the user's environment.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="msgmerge">
|
||||
<term><command>msgmerge</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext msgmerge"><primary sortas="b-msgmerge">msgmerge</primary></indexterm>
|
||||
<para>combines two raw translations into a single file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="msgunfmt">
|
||||
<term><command>msgunfmt</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext msgunfmt"><primary sortas="b-msgunfmt">msgunfmt</primary></indexterm>
|
||||
<para>decompiles a binary message catalog into raw translation text.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="msguniq">
|
||||
<term><command>msguniq</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext msguniq"><primary sortas="b-msguniq">msguniq</primary></indexterm>
|
||||
<para>unifies duplicate translations in a translation catalog.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ngettext">
|
||||
<term><command>ngettext</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext ngettext"><primary sortas="b-ngettext">ngettext</primary></indexterm>
|
||||
<para>displays native language translations of a
|
||||
textual message whose grammatical form depends on a number.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="xgettext">
|
||||
<term><command>xgettext</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext xgettext"><primary sortas="b-xgettext">xgettext</primary></indexterm>
|
||||
<para>extracts the translatable message lines
|
||||
from the given source files, to make the first translation template.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libasprintf">
|
||||
<term><filename class="libraryfile">libasprintf</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext libasprintf"><primary sortas="c-libasprintf">libasprintf</primary></indexterm>
|
||||
<para>defines the autosprintf class, which
|
||||
makes C formatted output routines usable in C++ programs, for use with the
|
||||
<string> strings and the <iostream> streams.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libgettextlib">
|
||||
<term><filename class="libraryfile">libgettextlib</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext libgettextlib"><primary sortas="c-libgettextlib">libgettextlib</primary></indexterm>
|
||||
<para>is a private library containing common routines used by the various Gettext
|
||||
programs. They're not meant for general use.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libgettextpo">
|
||||
<term><filename class="libraryfile">libgettextpo</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext libgettextpo"><primary sortas="c-libgettextpo">libgettextpo</primary></indexterm>
|
||||
<para>is used to write specialized programs that process <filename
|
||||
class="extension">.po</filename> files. This library is
|
||||
used when the standard applications shipped with Gettext won't suffice (such as
|
||||
<command>msgcomm</command>, <command>msgcmp</command>,
|
||||
<command>msgattrib</command> and <command>msgen</command>).</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libgettextsrc">
|
||||
<term><filename class="libraryfile">libgettextsrc</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gettext libgettextsrc"><primary sortas="c-libgettextsrc">libgettextsrc</primary></indexterm>
|
||||
<para>is a private library containing common routines used by the various Gettext
|
||||
programs. They're not meant for general use.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,10 +10,6 @@
|
||||
<indexterm zone="ch-system-glibc"><primary sortas="a-Glibc">Glibc</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Glibc package contains the main C library. This library provides all
|
||||
the basic routines for allocating memory, searching directories, opening and
|
||||
closing files, reading and writing them, string handling, pattern matching,
|
||||
arithmetic, and so on.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -21,27 +17,12 @@ arithmetic, and so on.</para>
|
||||
<seglistitem><seg>12.3 SBU</seg><seg>784 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Glibc installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
|
||||
Gawk, GCC, Gettext, Grep, Make, Perl, Sed, Texinfo</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Glibc</title>
|
||||
|
||||
<para>The Glibc build system is very well self-contained and will install
|
||||
perfectly, even though our compiler specs file and linker are still pointing
|
||||
at <filename class="directory">/tools</filename>. We cannot adjust the specs and linker before
|
||||
the Glibc install, because the Glibc autoconf tests would then give bogus
|
||||
results and thus defeat our goal of achieving a clean build.</para>
|
||||
|
||||
<para>Before starting to build Glibc, remember to unset any environment
|
||||
variables that override the default optimization flags.</para>
|
||||
|
||||
<para>The Glibc documentation recommends building Glibc outside of the source
|
||||
directory in a dedicated build directory:</para>
|
||||
<para>Create a build directory:</para>
|
||||
|
||||
<screen><userinput>mkdir ../glibc-build
|
||||
cd ../glibc-build</userinput></screen>
|
||||
@ -53,58 +34,18 @@ cd ../glibc-build</userinput></screen>
|
||||
--enable-kernel=2.6.0 --without-cvs \
|
||||
--libexecdir=/usr/lib/glibc</userinput></screen>
|
||||
|
||||
<para>The meaning of the new configure options:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>--libexecdir=/usr/lib/glibc</parameter></term>
|
||||
<listitem><para>This changes the location of the <command>pt_chown</command>
|
||||
program from its default of <filename class="directory">/usr/libexec</filename> to
|
||||
<filename class="directory">/usr/lib/glibc</filename>.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput>make</userinput></screen>
|
||||
|
||||
<important><para>The test suite for Glibc in this section is considered
|
||||
<emphasis>critical</emphasis>. Our advice is to not skip it under any
|
||||
circumstance.</para></important>
|
||||
|
||||
<para>Test the results:</para>
|
||||
|
||||
<screen><userinput>make check</userinput></screen>
|
||||
|
||||
<para>The Glibc test suite is highly dependent on certain functions of your host
|
||||
system, in particular the kernel. In general, the Glibc test suite is always
|
||||
expected to pass. However, in certain circumstances some failures are
|
||||
unavoidable. Here is a list of the most common issues we are aware of:</para>
|
||||
system. See testing for explanations.</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem><para>The <emphasis>math</emphasis> tests sometimes fail when running
|
||||
on systems where the CPU is not a relatively new genuine Intel or authentic AMD.
|
||||
Certain optimization settings are also known to be a factor here.</para></listitem>
|
||||
|
||||
<listitem><para>The <emphasis>gettext</emphasis> test sometimes fails due to
|
||||
host system issues. The exact reasons are not yet clear.</para></listitem>
|
||||
|
||||
<listitem><para>The <emphasis>atime</emphasis> test sometimes fails when the
|
||||
LFS partition is mounted with the <parameter>noatime</parameter> option, or due
|
||||
to other file system quirks.</para></listitem>
|
||||
|
||||
<listitem><para>The <emphasis>shm</emphasis> test might fail when the host
|
||||
system is running the devfs file system but doesn't have the <systemitem class="filesystem">tmpfs</systemitem> file system
|
||||
mounted at <filename class="directory">/dev/shm</filename> due to lack of support for tmpfs in
|
||||
the kernel.</para></listitem>
|
||||
|
||||
<listitem><para>When running on older and slower hardware, some tests might
|
||||
fail due to test timeouts being exceeded.</para></listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Though it is a harmless message, the install stage of Glibc will
|
||||
complain about the absence of <filename>/etc/ld.so.conf</filename>. Fix this
|
||||
annoying little warning with:</para>
|
||||
<para>Fix an annoying little warning with:</para>
|
||||
|
||||
<screen><userinput>touch /etc/ld.so.conf</userinput></screen>
|
||||
|
||||
@ -112,22 +53,17 @@ annoying little warning with:</para>
|
||||
|
||||
<screen><userinput>make install</userinput></screen>
|
||||
|
||||
<para>The locales that can make your system respond in a different language
|
||||
weren't installed by the above command. Do it with this:</para>
|
||||
<para>To install the Glibc locales, use the following
|
||||
command:</para>
|
||||
|
||||
<screen><userinput>make localedata/install-locales</userinput></screen>
|
||||
|
||||
<para>An alternative to running the previous command is to install only those
|
||||
locales which you need or want. This can be achieved by using the
|
||||
<command>localedef</command> command. Information on this can be found in
|
||||
the <filename>INSTALL</filename> file in the Glibc source. However, there are
|
||||
a number of locales that are essential for the tests of future packages to
|
||||
pass, in particular, the <emphasis>libstdc++</emphasis> tests from GCC. The
|
||||
following instructions, instead of the install-locales target above, will
|
||||
install the minimum set of locales necessary for the tests to run
|
||||
successfully:</para>
|
||||
locales which you need or want. The following instructions, instead of the
|
||||
install-locales target above, will install the minimum set of locales necessary
|
||||
for the tests to run successfully:</para>
|
||||
|
||||
<screen><userinput>mkdir -p /usr/lib/locale
|
||||
<screen><userinput>mkdir -p /tools/lib/locale
|
||||
localedef -i de_DE -f ISO-8859-1 de_DE
|
||||
localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro
|
||||
localedef -i en_HK -f ISO-8859-1 en_HK
|
||||
@ -140,28 +76,7 @@ localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro
|
||||
localedef -i it_IT -f ISO-8859-1 it_IT
|
||||
localedef -i ja_JP -f EUC-JP ja_JP</userinput></screen>
|
||||
|
||||
<para>In fact, some locales installed by the
|
||||
<command>make localedata/install-locales</command>
|
||||
command above are not properly
|
||||
supported by some applications that are in LFS and BLFS books. Because
|
||||
of various problems that arise
|
||||
due to application programmers making
|
||||
assumptions that break in such locales, LFS <emphasis>should not</emphasis>
|
||||
be used in locales that utilize
|
||||
multibyte character sets (including UTF-8) or
|
||||
right-to-left writing order.
|
||||
Numerous unofficial and unstable patches are required to fix these problems,
|
||||
and it has been decided not to support such complex locales.
|
||||
This applies to the ja_JP and fa_IR locales as well:
|
||||
they have been installed only
|
||||
for GCC and Gettext tests to pass, and e.g.
|
||||
the <command>watch</command> program (part of Procps)
|
||||
compiled according to this book doesn't work properly in them.
|
||||
Various attempts to circumvent these
|
||||
restrictions are documented in internationalization-related hints.</para>
|
||||
|
||||
<para>Finally, build the linuxthreads man pages, which are a great reference
|
||||
on the threading API (applicable to NPTL as well):</para>
|
||||
<para>Build the linuxthreads man pages:</para>
|
||||
|
||||
<screen><userinput>make -C ../glibc-&glibc-version;/linuxthreads/man</userinput></screen>
|
||||
|
||||
@ -173,13 +88,6 @@ on the threading API (applicable to NPTL as well):</para>
|
||||
|
||||
|
||||
<sect2 id="conf-glibc" role="configuration"><title>Configuring Glibc</title>
|
||||
<indexterm zone="conf-glibc"><primary sortas="e-/etc/nsswitch.conf">/etc/nsswitch.conf</primary></indexterm>
|
||||
<indexterm zone="conf-glibc"><primary sortas="e-/etc/localtime">/etc/localtime</primary></indexterm>
|
||||
|
||||
<para>We need to create the <filename>/etc/nsswitch.conf</filename> file,
|
||||
because, although Glibc provides defaults when this file is missing or corrupt,
|
||||
the Glibc defaults don't work well with networking. Also, our time zone needs
|
||||
to be set up.</para>
|
||||
|
||||
<para>Create a new file <filename>/etc/nsswitch.conf</filename> by running the
|
||||
following:</para>
|
||||
@ -206,48 +114,16 @@ EOF</userinput></screen>
|
||||
|
||||
<screen><userinput>tzselect</userinput></screen>
|
||||
|
||||
<para>When you've answered a few questions about your location, the script will
|
||||
output the name of your time zone, something like <emphasis>EST5EDT</emphasis>
|
||||
or <emphasis>Canada/Eastern</emphasis>. Then create the
|
||||
<filename>/etc/localtime</filename> file by running:</para>
|
||||
<para>Then create the <filename>/etc/localtime</filename> file by running:</para>
|
||||
|
||||
<screen><userinput>cp --remove-destination /usr/share/zoneinfo/Canada/Eastern /etc/localtime</userinput></screen>
|
||||
|
||||
<para>The meaning of the option:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>--remove-destination</parameter></term>
|
||||
<listitem><para>This is needed to force removal of the already existing symbolic
|
||||
link. The reason why we copy instead of symlink is to cover the situation where
|
||||
<filename class="directory">/usr</filename> is on a separate partition. This could matter, for
|
||||
example, when booted into single user mode.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Of course, instead of <emphasis>Canada/Eastern</emphasis>, fill in
|
||||
the name of the time zone that the <command>tzselect</command> script
|
||||
gave you.</para>
|
||||
<screen><userinput>cp --remove-destination /usr/share/zoneinfo/<replaceable>[xxx]</replaceable> \
|
||||
/etc/localtime</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
<sect2 id="conf-ld" role="configuration">
|
||||
<title>Configuring Dynamic Loader</title>
|
||||
<indexterm zone="conf-ld"><primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary></indexterm>
|
||||
|
||||
<para>By default, the dynamic loader
|
||||
(<filename class="libraryfile">/lib/ld-linux.so.2</filename>) searches through <filename
|
||||
class="directory">/lib</filename> and <filename class="directory">/usr/lib</filename>
|
||||
for dynamic libraries that are needed
|
||||
by programs when you run them. However, if there are libraries in
|
||||
directories other than <filename class="directory">/lib</filename> and
|
||||
<filename class="directory">/usr/lib</filename>, you need to add them to
|
||||
the <filename>/etc/ld.so.conf</filename> file for the dynamic
|
||||
loader to find them. Two directories that are commonly known to contain
|
||||
additional libraries are <filename class="directory">/usr/local/lib</filename>
|
||||
and <filename class="directory">/opt/lib</filename>, so we add those directories to the
|
||||
dynamic loader's search path.</para>
|
||||
|
||||
<para>Create a new file <filename>/etc/ld.so.conf</filename> by running the
|
||||
following:</para>
|
||||
@ -266,417 +142,7 @@ EOF</userinput></screen>
|
||||
|
||||
<sect2 id="contents-glibc" role="content"><title>Contents of Glibc</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<seglistitem><seg>catchsegv, gencat, getconf,
|
||||
getent, glibcbug, iconv, iconvconfig, ldconfig, ldd, lddlibc4, locale,
|
||||
localedef, mtrace, nscd, nscd_nischeck, pcprofiledump, pt_chown, rpcgen,
|
||||
rpcinfo, sln, sprof, tzselect, xtrace, zdump and zic</seg>
|
||||
<seg>ld.so, libBrokenLocale.[a,so],
|
||||
libSegFault.so, libanl.[a,so], libbsd-compat.a, libc.[a,so], libc_nonshared.a,
|
||||
libcrypt.[a,so], libdl.[a,so], libg.a, libieee.a, libm.[a,so], libmcheck.a,
|
||||
libmemusage.so, libnsl.a, libnss_compat.so, libnss_dns.so, libnss_files.so,
|
||||
libnss_hesiod.so, libnss_nis.so, libnss_nisplus.so, libpcprofile.so,
|
||||
libpthread.[a,so], libresolv.[a,so], librpcsvc.a, librt.[a,so], libthread_db.so
|
||||
and libutil.[a,so]</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="catchsegv">
|
||||
<term><command>catchsegv</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc catchsegv"><primary sortas="b-catchsegv">catchsegv</primary></indexterm>
|
||||
<para>can be used to create a stack trace
|
||||
when a program terminates with a segmentation fault.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gencat">
|
||||
<term><command>gencat</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc gencat"><primary sortas="b-gencat">gencat</primary></indexterm>
|
||||
<para>generates message catalogues.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="getconf">
|
||||
<term><command>getconf</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc getconf"><primary sortas="b-getconf">getconf</primary></indexterm>
|
||||
<para>displays the system configuration values for file system specific variables.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="getent">
|
||||
<term><command>getent</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc getent"><primary sortas="b-getent">getent</primary></indexterm>
|
||||
<para>gets entries from an administrative database.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="glibcbug">
|
||||
<term><command>glibcbug</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc glibcbug"><primary sortas="b-glibcbug">glibcbug</primary></indexterm>
|
||||
<para>creates a bug report and mails it to the bug email address.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="iconv">
|
||||
<term><command>iconv</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc iconv"><primary sortas="b-iconv">iconv</primary></indexterm>
|
||||
<para>performs character set conversion.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="iconvconfig">
|
||||
<term><command>iconvconfig</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc iconvconfig"><primary sortas="b-iconvconfig">iconvconfig</primary></indexterm>
|
||||
<para>creates fastloading <command>iconv</command> module configuration file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ldconfig">
|
||||
<term><command>ldconfig</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc ldconfig"><primary sortas="b-ldconfig">ldconfig</primary></indexterm>
|
||||
<para>configures the dynamic linker runtime bindings.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ldd">
|
||||
<term><command>ldd</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc ldd"><primary sortas="b-ldd">ldd</primary></indexterm>
|
||||
<para>reports which shared libraries are required
|
||||
by each given program or shared library.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="lddlibc4">
|
||||
<term><command>lddlibc4</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc lddlibc4"><primary sortas="b-lddlibc4">lddlibc4</primary></indexterm>
|
||||
<para>assists <command>ldd</command> with object files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="locale">
|
||||
<term><command>locale</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc locale"><primary sortas="b-locale">locale</primary></indexterm>
|
||||
<para>is a Perl program that tells the compiler
|
||||
to enable or disable the use of POSIX locales for built-in operations.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="localedef">
|
||||
<term><command>localedef</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc localedef"><primary sortas="b-localedef">localedef</primary></indexterm>
|
||||
<para>compiles locale specifications.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mtrace">
|
||||
<term><command>mtrace</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc mtrace"><primary sortas="b-mtrace">mtrace</primary></indexterm>
|
||||
<para>...</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="nscd">
|
||||
<term><command>nscd</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc nscd"><primary sortas="b-nscd">nscd</primary></indexterm>
|
||||
<para>is a name service cache daemon providing a
|
||||
cache for the most common name service requests.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="nscd_nischeck">
|
||||
<term><command>nscd_nischeck</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc nscd_nischeck"><primary sortas="b-nscd_nischeck">nscd_nischeck</primary></indexterm>
|
||||
<para>checks whether or not secure mode is necessary for NIS+ lookup.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pcprofiledump">
|
||||
<term><command>pcprofiledump</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc pcprofiledump"><primary sortas="b-pcprofiledump">pcprofiledump</primary></indexterm>
|
||||
<para>dumps information generated by PC profiling.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pt_chown">
|
||||
<term><command>pt_chown</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc pt_chown"><primary sortas="b-pt_chown">pt_chown</primary></indexterm>
|
||||
<para>is a helper program for grantpt to set
|
||||
the owner, group and access permissions of a slave pseudo terminal.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="rpcgen">
|
||||
<term><command>rpcgen</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc rpcgen"><primary sortas="b-rpcgen">rpcgen</primary></indexterm>
|
||||
<para>generates C code to implement the RPC protocol.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="rpcinfo">
|
||||
<term><command>rpcinfo</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc rpcinfo"><primary sortas="b-rpcinfo">rpcinfo</primary></indexterm>
|
||||
<para>makes an RPC call to an RPC server.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="sln">
|
||||
<term><command>sln</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc sln"><primary sortas="b-sln">sln</primary></indexterm>
|
||||
<para>is used to make symbolic links. The program
|
||||
is statically linked, so it is useful for making symbolic links to dynamic
|
||||
libraries if the dynamic linking system for some reason is nonfunctional.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="sprof">
|
||||
<term><command>sprof</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc sprof"><primary sortas="b-sprof">sprof</primary></indexterm>
|
||||
<para>reads and displays shared object profiling data.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tzselect">
|
||||
<term><command>tzselect</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc tzselect"><primary sortas="b-tzselect">tzselect</primary></indexterm>
|
||||
<para>asks the user about the location of the
|
||||
system and reports the corresponding time zone description.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="xtrace">
|
||||
<term><command>xtrace</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc xtrace"><primary sortas="b-xtrace">xtrace</primary></indexterm>
|
||||
<para>traces the execution of a program by
|
||||
printing the currently executed function.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="zdump">
|
||||
<term><command>zdump</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc zdump"><primary sortas="b-zdump">zdump</primary></indexterm>
|
||||
<para>is the time zone dumper.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="zic">
|
||||
<term><command>zic</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc zic"><primary sortas="b-zic">zic</primary></indexterm>
|
||||
<para>is the time zone compiler.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ld.so">
|
||||
<term><filename class="libraryfile">ld.so</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc ld.so"><primary sortas="c-ld.so">ld.so</primary></indexterm>
|
||||
<para>is the helper program for shared library executables.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libBrokenLocale">
|
||||
<term><filename class="libraryfile">libBrokenLocale</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc libBrokenLocale"><primary sortas="c-libBrokenLocale">libBrokenLocale</primary></indexterm>
|
||||
<para>is used by programs, such as Mozilla, to solve broken locales.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libSegFault">
|
||||
<term><filename class="libraryfile">libSegFault</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc libSegFault"><primary sortas="c-libSegFault">libSegFault</primary></indexterm>
|
||||
<para>is a segmentation fault signal handler. It tries to catch segfaults.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libanl">
|
||||
<term><filename class="libraryfile">libanl</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc libanl"><primary sortas="c-libanl">libanl</primary></indexterm>
|
||||
<para>is an asynchronous name lookup library.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libbsd-compat">
|
||||
<term><filename class="libraryfile">libbsd-compat</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc libbsd-compat"><primary sortas="c-libbsd-compat">libbsd-compat</primary></indexterm>
|
||||
<para>provides the portability needed
|
||||
in order to run certain BSD programs under Linux.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libc">
|
||||
<term><filename class="libraryfile">libc</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc libc"><primary sortas="c-libc">libc</primary></indexterm>
|
||||
<para>is the main C library -- a collection of commonly used functions.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libcrypt">
|
||||
<term><filename class="libraryfile">libcrypt</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc libcrypt"><primary sortas="c-libcrypt">libcrypt</primary></indexterm>
|
||||
<para>is the cryptography library.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libdl">
|
||||
<term><filename class="libraryfile">libdl</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc libdl"><primary sortas="c-libdl">libdl</primary></indexterm>
|
||||
<para>is the dynamic linking interface library.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libg">
|
||||
<term><filename class="libraryfile">libg</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc libg"><primary sortas="c-libg">libg</primary></indexterm>
|
||||
<para>is a runtime library for <command>g++</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libieee">
|
||||
<term><filename class="libraryfile">libieee</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc libieee"><primary sortas="c-libieee">libieee</primary></indexterm>
|
||||
<para>is the IEEE floating point library.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libm">
|
||||
<term><filename class="libraryfile">libm</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc libm"><primary sortas="c-libm">libm</primary></indexterm>
|
||||
<para>is the mathematical library.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libmcheck">
|
||||
<term><filename class="libraryfile">libmcheck</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc libmcheck"><primary sortas="c-libmcheck">libmcheck</primary></indexterm>
|
||||
<para>contains code run at boot.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libmemusage">
|
||||
<term><filename class="libraryfile">libmemusage</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc libmemusage"><primary sortas="c-libmemusage">libmemusage</primary></indexterm>
|
||||
<para>is used by <command>memusage</command> to help collect
|
||||
information about the memory usage of a program.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libnsl">
|
||||
<term><filename class="libraryfile">libnsl</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc libnsl"><primary sortas="c-libnsl">libnsl</primary></indexterm>
|
||||
<para>is the network services library.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libnss">
|
||||
<term><filename class="libraryfile">libnss*</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc libnss"><primary sortas="c-libnss*">libnss*</primary></indexterm>
|
||||
<para>are the Name Service Switch libraries,
|
||||
containing functions for resolving host names, user names, group names,
|
||||
aliases, services, protocols, and the like.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libpcprofile">
|
||||
<term><filename class="libraryfile">libpcprofile</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc libpcprofile"><primary sortas="c-libpcprofile">libpcprofile</primary></indexterm>
|
||||
<para>contains profiling functions used
|
||||
to track the amount of CPU time spent in which source code lines.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libpthread">
|
||||
<term><filename class="libraryfile">libpthread</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc libpthread"><primary sortas="c-libpthread">libpthread</primary></indexterm>
|
||||
<para>is the POSIX threads library.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libresolv">
|
||||
<term><filename class="libraryfile">libresolv</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc libresolv"><primary sortas="c-libresolv">libresolv</primary></indexterm>
|
||||
<para>contains functions for creating,
|
||||
sending, and interpreting packets to the Internet domain name servers.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="librpcsvc">
|
||||
<term><filename class="libraryfile">librpcsvc</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc librpcsvc"><primary sortas="c-librpcsvc">librpcsvc</primary></indexterm>
|
||||
<para>contains functions providing miscellaneous RPC services.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="librt">
|
||||
<term><filename class="libraryfile">librt</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc librt"><primary sortas="c-librt">librt</primary></indexterm>
|
||||
<para>contains functions providing most of the
|
||||
interfaces specified by the POSIX.1b Realtime Extension.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libthread_db">
|
||||
<term><filename class="libraryfile">libthread_db</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc libthread_db"><primary sortas="c-libthread_db">libthread_db</primary></indexterm>
|
||||
<para>contains functions useful for
|
||||
building debuggers for multi-threaded programs.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libutil">
|
||||
<term><filename class="libraryfile">libutil</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-glibc libutil"><primary sortas="c-libutil">libutil</primary></indexterm>
|
||||
<para>contains code for <quote>standard</quote> functions used in many different Unix utilities.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-grep"><primary sortas="a-Grep">Grep</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Grep package contains programs for searching through files.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,11 +17,6 @@
|
||||
<seglistitem><seg>0.1 SBU</seg><seg>5.8 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Grep installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils,
|
||||
Diffutils, GCC, Gettext, Glibc, Make, Sed, Texinfo</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -48,37 +42,7 @@ Diffutils, GCC, Gettext, Glibc, Make, Sed, Texinfo</seg></seglistitem>
|
||||
|
||||
<sect2 id="contents-grep" role="content"><title>Contents of Grep</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>egrep (link to grep), fgrep (link to grep) and grep</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="egrep">
|
||||
<term><command>egrep</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-grep egrep"><primary sortas="b-egrep">egrep</primary></indexterm>
|
||||
<para>prints lines matching an extended regular expression.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="fgrep">
|
||||
<term><command>fgrep</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-grep fgrep"><primary sortas="b-fgrep">fgrep</primary></indexterm>
|
||||
<para>prints lines matching a list of fixed strings.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="grep">
|
||||
<term><command>grep</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-grep grep"><primary sortas="b-grep">grep</primary></indexterm>
|
||||
<para>prints lines matching a basic regular expression.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-groff"><primary sortas="a-Groff">Groff</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Groff package contains programs for processing and formatting text.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,21 +17,11 @@
|
||||
<seglistitem><seg>0.5 SBU</seg><seg>43 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Groff installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
|
||||
Gawk, GCC, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Groff</title>
|
||||
|
||||
<para>Groff expects the environment variable PAGE to contain the default paper
|
||||
size. For those in the United States, the command below is appropriate. If you
|
||||
live elsewhere, you may want to change <emphasis>PAGE=letter</emphasis> to
|
||||
<emphasis>PAGE=A4</emphasis>.</para>
|
||||
|
||||
<para>Prepare Groff for compilation:</para>
|
||||
|
||||
<screen><userinput>PAGE=<replaceable>[paper_size]</replaceable> ./configure --prefix=/usr</userinput></screen>
|
||||
@ -45,8 +34,7 @@ live elsewhere, you may want to change <emphasis>PAGE=letter</emphasis> to
|
||||
|
||||
<screen><userinput>make install</userinput></screen>
|
||||
|
||||
<para>Some documentation programs, such as <command>xman</command>,
|
||||
will not work properly without the following symlinks:</para>
|
||||
<para>Create the following symlinks:</para>
|
||||
|
||||
<screen><userinput>ln -s soelim /usr/bin/zsoelim
|
||||
ln -s eqn /usr/bin/geqn
|
||||
@ -57,302 +45,7 @@ ln -s tbl /usr/bin/gtbl</userinput></screen>
|
||||
|
||||
<sect2 id="contents-groff" role="content"><title>Contents of Groff</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>addftinfo, afmtodit, eqn, eqn2graph, geqn (link to eqn), grn,
|
||||
grodvi, groff, groffer, grog, grolbp, grolj4, grops, grotty, gtbl (link to tbl), hpftodit,
|
||||
indxbib, lkbib, lookbib, mmroff, neqn, nroff, pfbtops, pic, pic2graph, post-grohtml,
|
||||
pre-grohtml, refer, soelim, tbl, tfmtodit, troff and zsoelim (link to soelim)</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="addftinfo">
|
||||
<term><command>addftinfo</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff addftinfo"><primary sortas="b-addftinfo">addftinfo</primary></indexterm>
|
||||
<para>reads a troff font file and adds some
|
||||
additional font-metric information that is used by the <command>groff</command> system.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="afmtodit">
|
||||
<term><command>afmtodit</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff afmtodit"><primary sortas="b-afmtodit">afmtodit</primary></indexterm>
|
||||
<para>creates a font file for use with <command>groff</command> and <command>grops</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="eqn">
|
||||
<term><command>eqn</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff eqn"><primary sortas="b-eqn">eqn</primary></indexterm>
|
||||
<para>compiles descriptions of equations embedded
|
||||
within troff input files into commands that are understood by <command>troff</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="eqn2graph">
|
||||
<term><command>eqn2graph</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff eqn2graph"><primary sortas="b-eqn2graph">eqn2graph</primary></indexterm>
|
||||
<para>converts an EQN equation into a cropped image.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="grn">
|
||||
<term><command>grn</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff grn"><primary sortas="b-grn">grn</primary></indexterm>
|
||||
<para>is a <command>groff</command> preprocessor for gremlin files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="grodvi">
|
||||
<term><command>grodvi</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff grodvi"><primary sortas="b-grodvi">grodvi</primary></indexterm>
|
||||
<para>is a driver for <command>groff</command> that produces TeX dvi format.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="groff">
|
||||
<term><command>groff</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff groff"><primary sortas="b-groff">groff</primary></indexterm>
|
||||
<para>is a front-end to the groff document
|
||||
formatting system. Normally it runs the <command>troff</command> program and a post-processor
|
||||
appropriate for the selected device.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="groffer">
|
||||
<term><command>groffer</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff groffer"><primary sortas="b-groffer">groffer</primary></indexterm>
|
||||
<para>displays groff files and man pages on X and tty terminals.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="grog">
|
||||
<term><command>grog</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff grog"><primary sortas="b-grog">grog</primary></indexterm>
|
||||
<para>reads files and guesses which of the <command>groff</command>
|
||||
options <parameter>-e</parameter>, <parameter>-man</parameter>,
|
||||
<parameter>-me</parameter>, <parameter>-mm</parameter>,
|
||||
<parameter>-ms</parameter>, <parameter>-p</parameter>, <parameter>-s</parameter>,
|
||||
and <parameter>-t</parameter> are required for printing
|
||||
files, and reports the <command>groff</command> command including those options.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="grolbp">
|
||||
<term><command>grolbp</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff grolbp"><primary sortas="b-grolbp">grolbp</primary></indexterm>
|
||||
<para>is a <command>groff</command> driver for Canon CAPSL printers
|
||||
(LBP-4 and LBP-8 series laser printers).</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="grolj4">
|
||||
<term><command>grolj4</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff grolj4"><primary sortas="b-grolj4">grolj4</primary></indexterm>
|
||||
<para>is a driver for <command>groff</command> that produces output
|
||||
in PCL5 format suitable for an HP Laserjet 4 printer.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="grops">
|
||||
<term><command>grops</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff grops"><primary sortas="b-grops">grops</primary></indexterm>
|
||||
<para>translates the output of GNU <command>troff</command> to PostScript.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="grotty">
|
||||
<term><command>grotty</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff grotty"><primary sortas="b-grotty">grotty</primary></indexterm>
|
||||
<para>translates the output of GNU <command>troff</command> into
|
||||
a form suitable for typewriter-like devices.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gtbl">
|
||||
<term><command>gtbl</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff gtbl"><primary sortas="b-gtbl">gtbl</primary></indexterm>
|
||||
<para>is the GNU implementation of <command>tbl</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="hpftodit">
|
||||
<term><command>hpftodit</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff hpftodit"><primary sortas="b-hpftodit">hpftodit</primary></indexterm>
|
||||
<para>creates a font file for use with
|
||||
<command>groff -Tlj4</command> from an HP-tagged font metric file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="indxbib">
|
||||
<term><command>indxbib</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff indxbib"><primary sortas="b-indxbib">indxbib</primary></indexterm>
|
||||
<para>makes an inverted index for the bibliographic databases a specified file for
|
||||
use with <command>refer</command>, <command>lookbib</command>, and <command>lkbib</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="lkbib">
|
||||
<term><command>lkbib</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff lkbib"><primary sortas="b-lkbib">lkbib</primary></indexterm>
|
||||
<para>searches bibliographic databases for
|
||||
references that contain specified keys and reports any references found.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="lookbib">
|
||||
<term><command>lookbib</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff lookbib"><primary sortas="b-lookbib">lookbib</primary></indexterm>
|
||||
<para>prints a prompt on the standard error
|
||||
(unless the standard input is not a terminal), reads from the standard input
|
||||
a line containing a set of keywords, searches the bibliographic databases in
|
||||
a specified file for references containing those keywords, prints any
|
||||
references found on the standard output and repeats this process until the
|
||||
end of input.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mmroff">
|
||||
<term><command>mmroff</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff mmroff"><primary sortas="b-mmroff">mmroff</primary></indexterm>
|
||||
<para>is a simple preprocessor for <command>groff</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="neqn">
|
||||
<term><command>neqn</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff neqn"><primary sortas="b-neqn">neqn</primary></indexterm>
|
||||
<para>formats equations for ASCII (American Standard Code for Information
|
||||
Interchange) output.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="nroff">
|
||||
<term><command>nroff</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff nroff"><primary sortas="b-nroff">nroff</primary></indexterm>
|
||||
<para>is a script that emulates the <command>nroff</command> command using <command>groff</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pfbtops">
|
||||
<term><command>pfbtops</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff pfbtops"><primary sortas="b-pfbtops">pfbtops</primary></indexterm>
|
||||
<para>translates a PostScript font in <filename class="extension">.pfb</filename> format to ASCII.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pic">
|
||||
<term><command>pic</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff pic"><primary sortas="b-pic">pic</primary></indexterm>
|
||||
<para>compiles descriptions of pictures embedded
|
||||
within troff or TeX input files into commands understood by TeX or <command>troff</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pic2graph">
|
||||
<term><command>pic2graph</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff pic2graph"><primary sortas="b-pic2graph">pic2graph</primary></indexterm>
|
||||
<para>converts a PIC diagram into a cropped image.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pre-grohtml">
|
||||
<term><command>pre-grohtml </command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff pre-grohtml"><primary sortas="b-pre-grohtml">pre-grohtml</primary></indexterm>
|
||||
<para>translates the output of GNU <command>troff</command> to html.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="post-grohtml">
|
||||
<term><command>post-grohtml</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff post-grohtml"><primary sortas="b-post-grohtml">post-grohtml</primary></indexterm>
|
||||
<para>translates the output of GNU <command>troff</command> to html.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="refer">
|
||||
<term><command>refer</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff refer"><primary sortas="b-refer">refer</primary></indexterm>
|
||||
<para>copies the contents of a file to the
|
||||
standard output, except that lines between .[ and .] are interpreted as
|
||||
citations, and lines between .R1 and .R2 are interpreted as commands about
|
||||
how citations are to be processed.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="soelim">
|
||||
<term><command>soelim</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff soelim"><primary sortas="b-soelim">soelim</primary></indexterm>
|
||||
<para>reads files and replaces lines of the form
|
||||
<emphasis>.so file</emphasis> by the contents of the mentioned
|
||||
<emphasis>file</emphasis>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tbl">
|
||||
<term><command>tbl</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff tbl"><primary sortas="b-tbl">tbl</primary></indexterm>
|
||||
<para>compiles descriptions of tables embedded
|
||||
within troff input files into commands that are understood by <command>troff</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tfmtodit">
|
||||
<term><command>tfmtodit</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff tfmtodit"><primary sortas="b-tfmtodit">tfmtodit</primary></indexterm>
|
||||
<para>creates a font file for use with <command>groff -Tdvi</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="troff">
|
||||
<term><command>troff</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff troff"><primary sortas="b-troff">troff</primary></indexterm>
|
||||
<para>is highly compatible with Unix <command>troff</command>. Usually it should be invoked using the
|
||||
<command>groff</command> command, which will also run preprocessors and post-processors in the
|
||||
appropriate order and with the appropriate options.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="zsoelim">
|
||||
<term><command>zsoelim</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-groff zsoelim"><primary sortas="b-zsoelim">zsoelim</primary></indexterm>
|
||||
<para>is the GNU implementation of <command>soelim</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-grub"><primary sortas="a-Grub">Grub</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Grub package contains the GRand Unified Bootloader.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,110 +17,42 @@
|
||||
<seglistitem><seg>0.2 SBU</seg><seg>10 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Grub installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
|
||||
GCC, Glibc, Grep, Make, Ncurses, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Grub</title>
|
||||
|
||||
<para>This package is known to behave badly when you have changed its default
|
||||
optimization flags (including the <parameter>-march</parameter> and
|
||||
<parameter>-mcpu</parameter> options). Therefore, if you
|
||||
have defined any environment variables that override default optimizations,
|
||||
such as CFLAGS and CXXFLAGS, we recommend un-setting them when building
|
||||
Grub.</para>
|
||||
|
||||
<para>Prepare Grub for compilation:</para>
|
||||
|
||||
<screen><userinput>./configure --prefix=/usr</userinput></screen>
|
||||
|
||||
<para>Now compile the rest of the package:</para>
|
||||
<para>Now compile the package:</para>
|
||||
|
||||
<screen><userinput>make</userinput></screen>
|
||||
|
||||
<para>To test the results, issue:
|
||||
<userinput>make check</userinput>.</para>
|
||||
|
||||
<para>Note that the test results will always give the error
|
||||
<quote>ufs2_stage1_5 is too big</quote>. This is due to a compiler issue,
|
||||
but can be ignored unless you plan to boot from a UFS partition, normally only
|
||||
used by Sun workstations.
|
||||
</para>
|
||||
|
||||
<para>Now install it:</para>
|
||||
|
||||
<screen><userinput>make install
|
||||
mkdir /boot/grub
|
||||
cp /usr/share/grub/i386-pc/stage{1,2} /boot/grub</userinput></screen>
|
||||
|
||||
<para>Replace <filename class="directory">i386-pc</filename> with whatever
|
||||
directory is appropriate for your hardware.</para>
|
||||
|
||||
<para>The <filename class="directory">i386-pc</filename> directory also
|
||||
contains a number of <filename>*stage1_5</filename> files, different ones
|
||||
for different file systems. Have a look at the ones available and copy the
|
||||
appropriate ones to the <filename class="directory">/boot/grub</filename>
|
||||
directory. Most people will copy the <filename>e2fs_stage1_5</filename>
|
||||
and/or <filename>reiserfs_stage1_5</filename> files.</para>
|
||||
<para>The <filename class="directory">i386-pc</filename> directory
|
||||
contains a number of <filename>*stage1_5</filename> files, different
|
||||
ones for different file systems. Review the files available and copy
|
||||
the appropriate ones to the <filename
|
||||
class="directory">/boot/grub</filename> directory. Most users will
|
||||
copy the <filename>e2fs_stage1_5</filename> and/or
|
||||
<filename>reiserfs_stage1_5</filename> files.</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
<sect2 id="contents-grub" role="content"><title>Contents of Grub</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>grub, grub-install,
|
||||
grub-md5-crypt, grub-terminfo and mbchk</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="grub">
|
||||
<term><command>grub</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-grub grub"><primary sortas="b-grub">grub</primary></indexterm>
|
||||
<para>is the GRand Unified Bootloader's command shell.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="grub-install">
|
||||
<term><command>grub-install</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-grub grub-install"><primary sortas="b-grub-install">grub-install</primary></indexterm>
|
||||
<para>installs GRUB on the given device.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="grub-md5-crypt">
|
||||
<term><command>grub-md5-crypt</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-grub grub-md5-crypt"><primary sortas="b-grub-md5-crypt">grub-md5-crypt</primary></indexterm>
|
||||
<para>encrypts a password in MD5 format.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="grub-terminfo">
|
||||
<term><command>grub-terminfo</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-grub grub-terminfo"><primary sortas="b-grub-terminfo">grub-terminfo</primary></indexterm>
|
||||
<para>generates a terminfo command from a
|
||||
terminfo name. It can be used if you have an uncommon terminal.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mbchk">
|
||||
<term><command>mbchk</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-grub mbchk"><primary sortas="b-mbchk">mbchk</primary></indexterm>
|
||||
<para>checks the format of a multi-boot kernel.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,8 +10,6 @@
|
||||
<indexterm zone="ch-system-gzip"><primary sortas="a-Gzip">Gzip</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Gzip package contains programs for compressing and decompressing
|
||||
files.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -19,11 +17,6 @@ files.</para>
|
||||
<seglistitem><seg>0.1 SBU</seg><seg>2.6 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Gzip installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
|
||||
GCC, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -33,10 +26,7 @@ GCC, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
|
||||
<screen><userinput>./configure --prefix=/usr</userinput></screen>
|
||||
|
||||
<para>The <command>gzexe</command> script has the location of the
|
||||
<command>gzip</command> binary hard-wired into it. Because we later change
|
||||
the location of the binary, the following command ensures that the new
|
||||
location gets placed into the script:</para>
|
||||
<para>Issue a sed command:</para>
|
||||
|
||||
<screen><userinput>sed -i 's@"BINDIR"@/bin@g' gzexe.in</userinput></screen>
|
||||
|
||||
@ -61,122 +51,7 @@ ln -s gunzip /bin/uncompress</userinput></screen>
|
||||
|
||||
<sect2 id="contents-gzip" role="content"><title>Contents of Gzip</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>gunzip (link to gzip), gzexe,
|
||||
gzip, uncompress (link to gunzip), zcat (link to gzip), zcmp, zdiff,
|
||||
zegrep, zfgrep, zforce, zgrep, zless, zmore and znew</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="gunzip">
|
||||
<term><command>gunzip</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gzip gunzip"><primary sortas="b-gunzip">gunzip</primary></indexterm>
|
||||
<para>decompresses gzipped files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gzexe">
|
||||
<term><command>gzexe</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gzip gzexe"><primary sortas="b-gzexe">gzexe</primary></indexterm>
|
||||
<para>is used to create self-uncompressing executable files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gzip">
|
||||
<term><command>gzip</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gzip gzip"><primary sortas="b-gzip">gzip</primary></indexterm>
|
||||
<para>compresses the given files, using Lempel-Ziv (LZ77) coding.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="zcat">
|
||||
<term><command>zcat</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gzip zcat"><primary sortas="b-zcat">zcat</primary></indexterm>
|
||||
<para>uncompresses the given gzipped files to standard output.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="zcmp">
|
||||
<term><command>zcmp</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gzip zcmp"><primary sortas="b-zcmp">zcmp</primary></indexterm>
|
||||
<para>runs <command>cmp</command> on gzipped files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="zdiff">
|
||||
<term><command>zdiff</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gzip zdiff"><primary sortas="b-zdiff">zdiff</primary></indexterm>
|
||||
<para>runs <command>diff</command> on gzipped files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="zegrep">
|
||||
<term><command>zegrep</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gzip zegrep"><primary sortas="b-zegrep">zegrep</primary></indexterm>
|
||||
<para>runs <command>egrep</command> on gzipped files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="zfgrep">
|
||||
<term><command>zfgrep</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gzip zfgrep"><primary sortas="b-zfgrep">zfgrep</primary></indexterm>
|
||||
<para>runs <command>fgrep</command> on gzipped files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="zforce">
|
||||
<term><command>zforce</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gzip zforce"><primary sortas="b-zforce">zforce</primary></indexterm>
|
||||
<para>forces a <filename class="extension">.gz</filename> extension on all given files
|
||||
that are gzipped files, so that <command>gzip</command> will not compress them again. This can be
|
||||
useful when file names were truncated during a file transfer.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="zgrep">
|
||||
<term><command>zgrep</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gzip zgrep"><primary sortas="b-zgrep">zgrep</primary></indexterm>
|
||||
<para>runs <command>grep</command> on gzipped files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="zless">
|
||||
<term><command>zless</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gzip zless"><primary sortas="b-zless">zless</primary></indexterm>
|
||||
<para>runs <command>less</command> on gzipped files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="zmore">
|
||||
<term><command>zmore</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gzip zmore"><primary sortas="b-zmore">zmore</primary></indexterm>
|
||||
<para>runs <command>more</command> on gzipped files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="znew">
|
||||
<term><command>znew</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-gzip znew"><primary sortas="b-znew">znew</primary></indexterm>
|
||||
<para>re-compresses files from <command>compress</command> format to <command>gzip</command> format
|
||||
-- <filename class="extension">.Z</filename> to <filename class="extension">.gz</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -11,12 +11,6 @@
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
|
||||
<para>The Hotplug package contains scripts that react upon hotplug events
|
||||
generated by the kernel. Such events correspond to every change in the
|
||||
in the kernel state visible in the "sysfs" filesystem, e.g., the addition and
|
||||
removal of hardware. This package also detects existing hardware during
|
||||
boot and inserts the relevant modules into the running kernel.
|
||||
</para>
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
@ -32,13 +26,11 @@ boot and inserts the relevant modules into the running kernel.
|
||||
|
||||
<screen><userinput>make install</userinput></screen>
|
||||
|
||||
<para>Remove Hotplug's not-so-clean init script, since we're going to be using
|
||||
the script including with LFS-Bootscripts:</para>
|
||||
<para>Remove Hotplug's init script:</para>
|
||||
|
||||
<screen><userinput>rm -rf /etc/init.d</userinput></screen>
|
||||
|
||||
<para>Network device hotplugging is not supported by LFS bootscripts yet. For
|
||||
that reason, remove the network hotplug agent:</para>
|
||||
<para>Remove the network hotplug agent:</para>
|
||||
|
||||
<screen><userinput>rm -f /etc/hotplug/net.agent</userinput></screen>
|
||||
</sect2>
|
||||
@ -46,103 +38,7 @@ that reason, remove the network hotplug agent:</para>
|
||||
|
||||
<sect2 id="contents-hotplug" role="content"><title>Contents of Hotplug</title>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry id="hotplug">
|
||||
<term><command>/sbin/hotplug</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-hotplug hotplug"><primary
|
||||
sortas="b-hotplug">hotplug</primary></indexterm>
|
||||
<para>This script is called by default by Linux kernel when something
|
||||
changes in its internal state (e.g., a new device is added or removed).</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<para>See testing</para>
|
||||
|
||||
<varlistentry id="hotplug-rc">
|
||||
<term><command>*.rc</command> files in
|
||||
<filename class="directory">/etc/hotplug</filename> directory</term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-hotplug hotplug-rc"><primary
|
||||
sortas="e-/etc/hotplug/*.rc">/etc/hotplug/*.rc</primary></indexterm>
|
||||
<para>These scripts are used for cold plugging, i.e., detection and other
|
||||
specific actions upon hardware already present during system startup.
|
||||
They are called by the <filename>hotplug</filename> initscript that comes
|
||||
from the lfs-bootscripts package.
|
||||
The <command>*.rc</command>
|
||||
scripts try to recover hotplug events that were lost during system boot
|
||||
because, e.g., the root filesystem was not mounted by the kernel.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="hotplug-agent">
|
||||
<term><command>*.agent</command> files in
|
||||
<filename class="directory">/etc/hotplug</filename> directory</term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-hotplug hotplug-agent"><primary
|
||||
sortas="e-/etc/hotplug/*.agent">/etc/hotplug/*.agent</primary></indexterm>
|
||||
<para>These scripts are called by <command>/sbin/hotplug</command>
|
||||
in response to different types of hotplug events generated by the kernel.
|
||||
Their action is to insert corresponding kernel modules and call user-provided
|
||||
scripts, if any.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="hotplug-functions">
|
||||
<term><filename>/etc/hotplug/hotplug.functions</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-hotplug hotplug-functions"><primary
|
||||
sortas="e-/etc/hotplug/hotplug.functions">/etc/hotplug/hotplug.functions</primary></indexterm>
|
||||
<para>This file contains common functions used by other scripts in Hotplug
|
||||
package.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="hotplug-blacklist">
|
||||
<term><filename>/etc/hotplug/blacklist</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-hotplug hotplug-blacklist"><primary
|
||||
sortas="e-/etc/hotplug/blacklist">/etc/hotplug/blacklist</primary></indexterm>
|
||||
<para>This file contains the list of modules that should never be
|
||||
inserted into the kernel by hotplug scripts.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="hotplug-subdirs">
|
||||
<term><filename class="directory">/etc/hotplug/{pci,usb}</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-hotplug hotplug-subdirs"><primary
|
||||
sortas="e-/etc/hotplug/{pci,usb}">/etc/hotplug/{pci,usb}</primary></indexterm>
|
||||
<para>These directories are supposed to contain user-written handlers for
|
||||
hotplug events.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="hotplug-usb.usermap">
|
||||
<term><filename>/etc/hotplug/usb.usermap</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-hotplug hotplug-usb.usermap"><primary
|
||||
sortas="e-/etc/hotplug/usb.usermap">/etc/hotplug/usb.usermap</primary></indexterm>
|
||||
<para>This file contains rules that determine which user-defined handlers to
|
||||
call for each USB device, based on its vendor, id and other attributes.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="hotplug-hotplug.d">
|
||||
<term><filename class="directory">/etc/hotplug.d</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-hotplug hotplug-hotplug.d"><primary
|
||||
sortas="e-/etc/hotplug.d">/etc/hotplug.d</primary></indexterm>
|
||||
<para>This directory contains programs (or symlinks to them)
|
||||
that are interested in receiving hotplug events. E.g.,
|
||||
<application>udev</application> puts its symlink here during installation.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-iana-etc"><primary sortas="a-Iana-Etc">Iana-Etc</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Iana-Etc package provides data for network services and protocols.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,8 +17,6 @@
|
||||
<seglistitem><seg>0.1 SBU</seg><seg>641 KB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<para>The installation dependencies for Iana-Etc haven't been checked yet.</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -38,14 +35,7 @@
|
||||
|
||||
<sect2 id="contents-iana-etc" role="content"><title>Contents of Iana-Etc</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed files</segtitle>
|
||||
<seglistitem><seg>protocols, services</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<indexterm zone="ch-system-iana-etc"><primary sortas="e-/etc/protocols">/etc/protocols</primary></indexterm>
|
||||
|
||||
<indexterm zone="ch-system-iana-etc"><primary sortas="e-/etc/services">/etc/services</primary></indexterm>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-inetutils"><primary sortas="a-Inetutils">Inetutils</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Inetutils package contains programs for basic networking.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,24 +17,16 @@
|
||||
<seglistitem><seg>0.2 SBU</seg><seg>11 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Inetutils installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils,
|
||||
Diffutils, GCC, Glibc, Grep, Make, Ncurses, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Inetutils</title>
|
||||
|
||||
<para>Inetutils has issues with the Linux 2.6 kernel series - fix these isues
|
||||
by applying the following patch:</para>
|
||||
<para>Apply a patch patch:</para>
|
||||
|
||||
<screen><userinput>patch -Np1 -i ../inetutils-&inetutils-version;-kernel_headers-1.patch</userinput></screen>
|
||||
|
||||
<para>We are not going to install all the programs that come with Inetutils.
|
||||
However, the Inetutils build system will insist on installing all the man
|
||||
pages anyway. The following patch will correct this situation:</para>
|
||||
<para>Apply another patch:</para>
|
||||
|
||||
<screen><userinput>patch -Np1 -i ../inetutils-&inetutils-version;-no_server_man_pages-1.patch</userinput></screen>
|
||||
|
||||
@ -46,43 +37,6 @@ pages anyway. The following patch will correct this situation:</para>
|
||||
--disable-logger --disable-syslogd \
|
||||
--disable-whois --disable-servers</userinput></screen>
|
||||
|
||||
<para>The meaning of the configure options:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-logger</parameter></term>
|
||||
<listitem><para>This option
|
||||
prevents Inetutils from installing the <command>logger</command> program, which is used by
|
||||
scripts to pass messages to the System Log Daemon. We do not install it
|
||||
because Util-linux installs a better version later.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-syslogd</parameter></term>
|
||||
<listitem><para>This option
|
||||
prevents Inetutils from installing the System Log Daemon, which is
|
||||
installed with the Sysklogd package.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-whois</parameter></term>
|
||||
<listitem><para>This option disables
|
||||
the building of the Inetutils whois client, which is woefully out of date.
|
||||
Instructions for a better whois client are in the BLFS book.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-servers</parameter></term>
|
||||
<listitem><para>This disables the
|
||||
installation of the various network servers included as part of the Inetutils
|
||||
package. These servers are deemed not appropriate in a basic LFS system. Some
|
||||
are insecure by nature and are only considered safe on trusted networks. More
|
||||
information can be found at
|
||||
<ulink url="&blfs-root;view/stable/basicnet/inetutils.html"/>. Note that better
|
||||
replacements are available for many of these servers.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput>make</userinput></screen>
|
||||
@ -91,8 +45,7 @@ replacements are available for many of these servers.</para></listitem>
|
||||
|
||||
<screen><userinput>make install</userinput></screen>
|
||||
|
||||
<para>Move the <command>ping</command> program to its FHS-compliant
|
||||
place:</para>
|
||||
<para>Move the <command>ping</command> program:</para>
|
||||
|
||||
<screen><userinput>mv /usr/bin/ping /bin</userinput></screen>
|
||||
|
||||
@ -101,77 +54,7 @@ place:</para>
|
||||
|
||||
<sect2 id="contents-inetutils" role="content"><title>Contents of Inetutils</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>ftp, ping, rcp, rlogin, rsh, talk, telnet and tftp</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="ftp">
|
||||
<term><command>ftp</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-inetutils ftp"><primary sortas="b-ftp">ftp</primary></indexterm>
|
||||
<para>is the ARPANET file transfer program.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ping">
|
||||
<term><command>ping</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-inetutils ping"><primary sortas="b-ping">ping</primary></indexterm>
|
||||
<para>sends echo-request packets and reports how long the replies take.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="rcp">
|
||||
<term><command>rcp</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-inetutils rcp"><primary sortas="b-rcp">rcp</primary></indexterm>
|
||||
<para>does remote file copy.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="rlogin">
|
||||
<term><command>rlogin</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-inetutils rlogin"><primary sortas="b-rlogin">rlogin</primary></indexterm>
|
||||
<para>does remote login.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="rsh">
|
||||
<term><command>rsh</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-inetutils rsh"><primary sortas="b-rsh">rsh</primary></indexterm>
|
||||
<para>runs a remote shell.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="talk">
|
||||
<term><command>talk</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-inetutils talk"><primary sortas="b-talk">talk</primary></indexterm>
|
||||
<para>is used to chat up another user.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="telnet">
|
||||
<term><command>telnet</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-inetutils telnet"><primary sortas="b-telnet">telnet</primary></indexterm>
|
||||
<para>is an interface to the TELNET protocol.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tftp">
|
||||
<term><command>tftp</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-inetutils tftp"><primary sortas="b-tftp">tftp</primary></indexterm>
|
||||
<para>is a trivial file transfer program.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -7,60 +7,6 @@
|
||||
<title>Introduction</title>
|
||||
<?dbhtml filename="introduction.html"?>
|
||||
|
||||
<para>In this chapter we enter the building site, and start
|
||||
constructing our LFS system in earnest. That is, we chroot into
|
||||
our temporary mini Linux system, create some auxiliary things,
|
||||
and then start installing all the packages, one by one.</para>
|
||||
|
||||
<para>The installation of all this software is pretty straightforward,
|
||||
and you will probably think it would be much shorter to give here
|
||||
the generic installation instructions and explain in full only the
|
||||
installation of those packages that require an alternate method.
|
||||
Although we agree with that, we nevertheless choose to give the
|
||||
full instructions for each and every package, simply to minimize
|
||||
the possibilities for mistakes.</para>
|
||||
|
||||
<para>The key to learning what makes a Linux system work is to know
|
||||
what each package is used for and why the user (or the system) needs it.
|
||||
For this purpose for every installed package a summary of its content is
|
||||
given followed by concise descriptions of each program and library it
|
||||
installed.</para>
|
||||
|
||||
<para>If you plan to use compiler optimizations in this chapter, take a look at
|
||||
the optimization hint at <ulink url="&hints-root;optimization.txt"/>. Compiler
|
||||
optimizations can make a program run slightly faster, but they may also cause
|
||||
compilation difficulties and even problems when running the program. If a
|
||||
package refuses to compile when using optimization, try to compile it without
|
||||
optimization and see if the problem goes away. Even if the package does compile
|
||||
when using optimization, there is the risk it may have been compiled incorrectly
|
||||
due to complex interactions between the code and build tools. In short, the
|
||||
small potential gains achieved in using compiler optimization are generally
|
||||
outweighed by the risk. First time builders of LFS are encouraged to build
|
||||
without custom optimizations. Your system will still be very fast and very
|
||||
stable at the same time.</para>
|
||||
|
||||
<para>The order in which packages are installed in this chapter has
|
||||
to be strictly followed, to ensure that no program gets a path referring
|
||||
to <filename class="directory">/tools</filename> hard-wired into it.
|
||||
For the same reason, <emphasis>do not </emphasis> compile packages
|
||||
in parallel. Compiling in parallel may save you some time (especially on
|
||||
dual-CPU machines), but it could result in a program containing a
|
||||
hard-wired path to <filename class="directory">/tools</filename>,
|
||||
which will cause the program to stop working when that directory
|
||||
is removed.</para>
|
||||
|
||||
<para>Before the installation instructions each installation page gives some
|
||||
information about the package: a concise description of what it contains,
|
||||
approximately how long it will take to build it, how much disk space it needs
|
||||
during this building process, and which other packages it
|
||||
needs in order to be built successfully. After the installation instructions
|
||||
follows a list of programs and libraries that the package installs, together
|
||||
with a series of short descriptions of these.</para>
|
||||
|
||||
<para>If you wish to keep track of which package installs what files, you may
|
||||
want to use a package manager. For a general overview of package managers have
|
||||
a look at <ulink url="&blfs-root;view/cvs/introduction/pkgmgt.html"/>. And for
|
||||
a package management method specifically geared towards LFS see
|
||||
<ulink url="&hints-root;more_control_and_pkg_man.txt"/>.</para>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect1>
|
||||
|
@ -4,16 +4,15 @@
|
||||
%general-entities;
|
||||
]>
|
||||
<sect1 id="ch-system-iproute2" xreflabel="IProute2" role="wrap">
|
||||
<title>Iproute2-&iproute2-version;</title>
|
||||
<title>Iproute2-&iproute2-version;</title>
|
||||
<?dbhtml filename="iproute2.html"?>
|
||||
|
||||
<indexterm zone="ch-system-iproute2">
|
||||
<primary sortas="a-iproute2">iproute2</primary>
|
||||
</indexterm>
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
<para>The iproute2 package contains programs for basic and advanced
|
||||
IPV4-based networking.
|
||||
</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
@ -22,23 +21,13 @@
|
||||
<seg>.6 MB</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
<segmentedlist>
|
||||
<segtitle>iproute2 installation depends on</segtitle>
|
||||
<seglistitem>
|
||||
<seg>sed, GCC, Glibc, Make, Linux-Headers</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of iproute2</title>
|
||||
<para>The <command>arpd</command> binary included in this package is
|
||||
dependent on Berkeley DB. As <command>arpd</command> is not a very
|
||||
common requirement on a base Linux system we remove the dependency on
|
||||
Berkeley DB by applying the patch using the command below. If you
|
||||
need the <command>arpd</command> binary, then instructions for
|
||||
compiling Berkeley DB can be found in the <ulink
|
||||
url="http://www.linuxfromscratch.org/blfs/view/cvs/content/databases.html#db">BLFS book</ulink>.
|
||||
</para>
|
||||
|
||||
<para>Apply a patch</para>
|
||||
|
||||
<screen><userinput>patch -Np1 -i ../iproute2-&iproute2-patch-version;-remove_db-1.patch</userinput></screen>
|
||||
|
||||
@ -49,212 +38,23 @@
|
||||
<screen><userinput>patch -Np1 -i ../iproute2-&iproute2-patch-version;-find_update-1.patch</userinput></screen>
|
||||
|
||||
<para>Prepare iproute2 for compilation:</para>
|
||||
<screen> <userinput>./configure </userinput></screen>
|
||||
|
||||
<screen><userinput>./configure </userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput>make SBINDIR=/sbin</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>SBINDIR=/sbin</parameter></term>
|
||||
<listitem><para>This makes sure that the iproute2 binaries will install into
|
||||
<filename class="directory">/sbin</filename>. This is the correct
|
||||
location according to the FHS, as some of the iproute2 binaries are used
|
||||
in our bootscripts.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Now install it:</para>
|
||||
|
||||
<screen><userinput>make install SBINDIR=/sbin</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-iproute2" role="content">
|
||||
<title>Contents of iproute2</title>
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem>
|
||||
<seg>ifstat, ip, nstat, routef, routel, rtmon, rtstat, ss, and tc.</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="ifstat">
|
||||
<term>
|
||||
<command>ifstat</command>
|
||||
</term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-iproute2 ifstat">
|
||||
<primary sortas="b-ifstat">ifstat</primary>
|
||||
</indexterm>
|
||||
<para>shows the interfaces statistics. Shows the amount of transmitted
|
||||
and received packages by interface</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ip">
|
||||
<term>
|
||||
<command>ip</command>
|
||||
</term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-iproute2 ip">
|
||||
<primary sortas="b-ip">ip</primary>
|
||||
</indexterm>
|
||||
|
||||
<para>is the main executable. Has several different functions.</para>
|
||||
|
||||
<para><command>ip link <replaceable>[device]</replaceable></command>
|
||||
allows you to look at the state of devices and to change it.
|
||||
</para>
|
||||
|
||||
<para><command>ip addr</command> allows you to look at addresses and
|
||||
their properties, add new addresses and to delete old ones.
|
||||
</para>
|
||||
|
||||
<para><command>ip neighbor</command> allows you to look at neighbour
|
||||
bindings and their properties, add new neighbour entries and to
|
||||
delete old ones.
|
||||
</para>
|
||||
|
||||
<para><command>ip rule</command> allows you to look at the routing
|
||||
policies and change them.
|
||||
</para>
|
||||
|
||||
<para><command>ip route</command> allows you to look at the routing
|
||||
table and change routing table rules.
|
||||
</para>
|
||||
|
||||
<para><command>ip tunnel</command> allows you to look at the ip
|
||||
tunnels and their properties, and change them.
|
||||
</para>
|
||||
|
||||
<para><command>ip maddr</command> allows you to look at the multicast
|
||||
addresses and their properties, and change them.
|
||||
</para>
|
||||
|
||||
<para><command>ip mroute</command> allows you to set, change, or
|
||||
delete the mutlicast routing.
|
||||
</para>
|
||||
|
||||
<para><command>ip monitor</command> allows you to monitor the state of
|
||||
devices, addresses and routes continuously.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="nstat">
|
||||
<term>
|
||||
<command>nstat</command>
|
||||
</term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-iproute2 nstat">
|
||||
<primary sortas="b-nstat">nstat</primary>
|
||||
</indexterm>
|
||||
<para>Shows network statistics</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="routef">
|
||||
<term>
|
||||
<command>routef</command>
|
||||
</term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-iproute2 routef">
|
||||
<primary sortas="b-routef">routef</primary>
|
||||
</indexterm>
|
||||
<para>A component of ip route. This is for flushing the routing
|
||||
tables.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="routel">
|
||||
<term>
|
||||
<command>routel</command>
|
||||
</term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-iproute2 routel">
|
||||
<primary sortas="b-routel">routel</primary>
|
||||
</indexterm>
|
||||
<para>A component of ip route. This is for listing the routing
|
||||
tables.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="rtmon">
|
||||
<term>
|
||||
<command>rtmon</command>
|
||||
</term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-iproute2 rtmon">
|
||||
<primary sortas="b-rtmon">rtmon</primary>
|
||||
</indexterm>
|
||||
<para>Route Monitoring Utility.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="rtstat">
|
||||
<term>
|
||||
<command>rtstat</command>
|
||||
</term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-iproute2 rtstat">
|
||||
<primary sortas="b-rtstat">rtstat</primary>
|
||||
</indexterm>
|
||||
<para>Route Status Utility</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ss">
|
||||
<term>
|
||||
<command>ss</command>
|
||||
</term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-iproute2 ss">
|
||||
<primary sortas="b-ss">ss</primary>
|
||||
</indexterm>
|
||||
<para>Similar to the netstat command. Shows active connections.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tc">
|
||||
<term>
|
||||
<command>tc</command>
|
||||
</term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-iproute2 ss">
|
||||
<primary sortas="b-tc">tc</primary>
|
||||
</indexterm>
|
||||
<para>Traffic Controlling Executable. This is for QOS/COS
|
||||
implementations.
|
||||
</para>
|
||||
|
||||
<para><command>tc qdisc</command> allows you to setup the queueing
|
||||
discipline.
|
||||
</para>
|
||||
|
||||
<para><command>tc class</command> allows you to setup classes based on
|
||||
the queuing discipline scheduling.
|
||||
</para>
|
||||
|
||||
<para><command>tc estimator</command> allows you to estimate the
|
||||
network flow into a network.
|
||||
</para>
|
||||
|
||||
<para><command>tc filter</command> allows you to setup the QOS/COS
|
||||
packet filtering.
|
||||
</para>
|
||||
|
||||
<para><command>tc policy</command> allows you to setup the QOS/COS
|
||||
policies.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<title>Contents of iproute2</title>
|
||||
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-kbd"><primary sortas="a-Kbd">Kbd</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Kbd package contains key-table files and keyboard utilities.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,11 +17,6 @@
|
||||
<seglistitem><seg>0.1 SBU</seg><seg>12 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Kbd installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Bison, Coreutils,
|
||||
Diffutils, Flex, GCC, Gettext, Glibc, Grep, Gzip, M4, Make, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -42,222 +36,9 @@ Diffutils, Flex, GCC, Gettext, Glibc, Grep, Gzip, M4, Make, Sed</seg></seglistit
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- The "Configuring your keyboard" section has been moved to
|
||||
Chapter 7 and renamed to "Configuring Linux console" -->
|
||||
|
||||
<sect2 id="contents-kbd" role="content"><title>Contents of Kbd</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>chvt, deallocvt, dumpkeys,
|
||||
fgconsole, getkeycodes, getunimap, kbd_mode, kbdrate, loadkeys, loadunimap,
|
||||
mapscrn, openvt, psfaddtable (link to psfxtable), psfgettable (link to
|
||||
psfxtable), psfstriptable (link to psfxtable), psfxtable, resizecons,
|
||||
setfont, setkeycodes, setleds, setlogcons, setmetamode, setvesablank,
|
||||
showconsolefont, showkey, unicode_start and unicode_stop</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="chvt">
|
||||
<term><command>chvt</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd chvt"><primary sortas="b-chvt">chvt</primary></indexterm>
|
||||
<para>changes the foreground virtual terminal.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="deallocvt">
|
||||
<term><command>deallocvt</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd deallocvt"><primary sortas="b-deallocvt">deallocvt</primary></indexterm>
|
||||
<para>deallocates unused virtual terminals.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="dumpkeys">
|
||||
<term><command>dumpkeys</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd dumpkeys"><primary sortas="b-dumpkeys">dumpkeys</primary></indexterm>
|
||||
<para>dumps the keyboard translation tables.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="fgconsole">
|
||||
<term><command>fgconsole</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd fgconsole"><primary sortas="b-fgconsole">fgconsole</primary></indexterm>
|
||||
<para>prints the number of the active virtual terminal.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="getkeycodes">
|
||||
<term><command>getkeycodes</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd getkeycodes"><primary sortas="b-getkeycodes">getkeycodes</primary></indexterm>
|
||||
<para>prints the kernel scancode-to-keycode mapping table.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="getunimap">
|
||||
<term><command>getunimap</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd getunimap"><primary sortas="b-getunimap">getunimap</primary></indexterm>
|
||||
<para>prints the currently used unimap.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="kbd_mode">
|
||||
<term><command>kbd_mode</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd kbd_mode"><primary sortas="b-kbd_mode">kbd_mode</primary></indexterm>
|
||||
<para>reports or sets the keyboard mode.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="kbdrate">
|
||||
<term><command>kbdrate</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd kbdrate"><primary sortas="b-kbdrate">kbdrate</primary></indexterm>
|
||||
<para>sets the keyboard repeat and delay rates.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="loadkeys">
|
||||
<term><command>loadkeys</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd loadkeys"><primary sortas="b-loadkeys">loadkeys</primary></indexterm>
|
||||
<para>loads the keyboard translation tables.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="loadunimap">
|
||||
<term><command>loadunimap</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd loadunimap"><primary sortas="b-loadunimap">loadunimap</primary></indexterm>
|
||||
<para>loads the kernel unicode-to-font mapping table.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mapscrn">
|
||||
<term><command>mapscrn</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd mapscrn"><primary sortas="b-mapscrn">mapscrn</primary></indexterm>
|
||||
<para>is an obsolete program that used to load
|
||||
a user-defined output character mapping table into the console driver. This is
|
||||
now done by <command>setfont</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="openvt">
|
||||
<term><command>openvt</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd openvt"><primary sortas="b-openvt">openvt</primary></indexterm>
|
||||
<para>starts a program on a new virtual terminal (VT).</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="psf">
|
||||
<term><command>psf*</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd psf"><primary sortas="b-psf*">psf*</primary></indexterm>
|
||||
<para>are a set of tools for handling Unicode character tables for console fonts.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="resizecons">
|
||||
<term><command>resizecons</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd resizecons"><primary sortas="b-resizecons">resizecons</primary></indexterm>
|
||||
<para>changes the kernel idea of the console size.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="setfont">
|
||||
<term><command>setfont</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd setfont"><primary sortas="b-setfont">setfont</primary></indexterm>
|
||||
<para>lets you change the EGA/VGA fonts on the console.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="setkeycodes">
|
||||
<term><command>setkeycodes</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd setkeycodes"><primary sortas="b-setkeycodes">setkeycodes</primary></indexterm>
|
||||
<para>loads kernel scancode-to-keycode
|
||||
mapping table entries, useful if you have some unusual keys on your keyboard.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="setleds">
|
||||
<term><command>setleds</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd setleds"><primary sortas="b-setleds">setleds</primary></indexterm>
|
||||
<para>sets the keyboard flags and LEDs. Many
|
||||
people find it useful to have <quote>Num Lock</quote> on by default, <command>setleds +num</command> achieves this.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="setlogcons">
|
||||
<term><command>setlogcons</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd setlogcons"><primary sortas="b-setlogcons">setlogcons</primary></indexterm>
|
||||
<para>sends kernel messages to the console.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="setmetamode">
|
||||
<term><command>setmetamode</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd setmetamode"><primary sortas="b-setmetamode">setmetamode</primary></indexterm>
|
||||
<para>defines the keyboard meta-key handling.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="setvesablank">
|
||||
<term><command>setvesablank</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd setvesablank"><primary sortas="b-setvesablank">setvesablank</primary></indexterm>
|
||||
<para>lets you fiddle with the built-in
|
||||
hardware screensaver (no toasters, just a blank screen).</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="showconsolefont">
|
||||
<term><command>showconsolefont</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd showconsolefont"><primary sortas="b-showconsolefont">showconsolefont</primary></indexterm>
|
||||
<para>shows the current EGA/VGA console screen font.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="showkey">
|
||||
<term><command>showkey</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd showkey"><primary sortas="b-showkey">showkey</primary></indexterm>
|
||||
<para>reports the scancodes and keycodes and
|
||||
ASCII codes of the keys pressed on the keyboard.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="unicode_start">
|
||||
<term><command>unicode_start</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd unicode_start"><primary sortas="b-unicode_start">unicode_start</primary></indexterm>
|
||||
<para>puts the keyboard and console in UNICODE mode. Never use it on LFS,
|
||||
because applications are not configured to support UNICODE.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="unicode_stop">
|
||||
<term><command>unicode_stop</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-kbd unicode_stop"><primary sortas="b-unicode_stop">unicode_stop</primary></indexterm>
|
||||
<para>reverts keyboard and console from UNICODE mode.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -4,10 +4,7 @@
|
||||
<title>Mounting virtual kernel file systems</title>
|
||||
<?dbhtml filename="kernfs.html"?>
|
||||
|
||||
<para>Various file systems exported by the kernel don't exist at all on your
|
||||
hard drive, but are used to communicate things to and from the kernel itself.</para>
|
||||
|
||||
<para>Begin by creating directories onto which the file systems will be mounted:</para>
|
||||
<para>Create the dirs:</para>
|
||||
|
||||
<screen><userinput>mkdir -p $LFS/{proc,sys}</userinput></screen>
|
||||
|
||||
@ -16,13 +13,7 @@ hard drive, but are used to communicate things to and from the kernel itself.</p
|
||||
<screen><userinput>mount -t proc proc $LFS/proc
|
||||
mount -t sysfs sysfs $LFS/sys</userinput></screen>
|
||||
|
||||
<para>Remember that if for any reason you stop working on your LFS, and start
|
||||
again later, it's important to check that these file systems are mounted again
|
||||
before entering the chroot environment, otherwise problems could occur.</para>
|
||||
|
||||
<para>Shortly, we'll be mounting a few more file systems from within the chroot
|
||||
environment. To keep the host up-to-date, we'll do a <quote>fake mount</quote>
|
||||
for each of these now:</para>
|
||||
<para>Do some <quote>fake mounts</quote>:</para>
|
||||
|
||||
<screen><userinput>mount -f -t ramfs ramfs $LFS/dev
|
||||
mount -f -t tmpfs tmpfs $LFS/dev/shm
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-less"><primary sortas="a-Less">Less</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Less package contains a text file viewer.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,11 +17,6 @@
|
||||
<seglistitem><seg>0.1 SBU</seg><seg>3.4 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Less installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
|
||||
GCC, Glibc, Grep, Make, Ncurses, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -32,16 +26,6 @@ GCC, Glibc, Grep, Make, Ncurses, Sed</seg></seglistitem>
|
||||
|
||||
<screen><userinput>./configure --prefix=/usr --bindir=/bin --sysconfdir=/etc</userinput></screen>
|
||||
|
||||
<para>The meaning of the configure option:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>--sysconfdir=/etc</parameter></term>
|
||||
<listitem><para>This option tells the programs created by the package to look in
|
||||
<filename class="directory">/etc</filename> for their configuration files.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput>make</userinput></screen>
|
||||
@ -54,38 +38,7 @@ GCC, Glibc, Grep, Make, Ncurses, Sed</seg></seglistitem>
|
||||
|
||||
<sect2 id="contents-less" role="content"><title>Contents of Less</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>less, lessecho and lesskey</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="less">
|
||||
<term><command>less</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-less less"><primary sortas="b-less">less</primary></indexterm>
|
||||
<para>is a file viewer or pager. It displays the contents of the given file, letting you
|
||||
scroll around, find strings, and jump to marks.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="lessecho">
|
||||
<term><command>lessecho</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-less lessecho"><primary sortas="b-lessecho">lessecho</primary></indexterm>
|
||||
<para>is needed to expand meta-characters, such as * and ?, in filenames on Unix systems.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="lesskey">
|
||||
<term><command>lesskey</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-less lesskey"><primary sortas="b-lesskey">lesskey</primary></indexterm>
|
||||
<para>is used to specify the key bindings for <command>less</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-libol"><primary sortas="a-Libol">Libol</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Libol package contains support libraries needed by Syslog-ng.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,10 +17,6 @@
|
||||
<seglistitem><seg>Unchecked</seg><seg>Unchecked</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Libol installation depends on</segtitle>
|
||||
<seglistitem><seg>Unchecked</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -44,34 +39,7 @@
|
||||
|
||||
<sect2 id="contents-libol" role="content"><title>Contents of Libol</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>Unchecked</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<!--
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="klogd">
|
||||
<term><command>klogd</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-sysklogd klogd"><primary sortas="b-klogd">klogd</primary></indexterm>
|
||||
<para>is a system daemon for intercepting and logging kernel messages.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="syslogd">
|
||||
<term><command>syslogd</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-sysklogd syslogd"><primary sortas="b-syslogd">syslogd</primary></indexterm>
|
||||
<para>logs the messages that system programs
|
||||
offer for logging. Every logged message contains at least a date stamp and a
|
||||
hostname, and normally the program's name too, but that depends on how
|
||||
trusting the logging daemon is told to be.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
-->
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,9 +10,6 @@
|
||||
<indexterm zone="ch-system-libtool"><primary sortas="a-Libtool">Libtool</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Libtool package contains the GNU generic library support script.
|
||||
It wraps the complexity of using shared libraries in a consistent, portable
|
||||
interface.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -20,11 +17,6 @@ interface.</para>
|
||||
<seglistitem><seg>1.5 SBU</seg><seg>20 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Libtool installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
|
||||
GCC, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -50,38 +42,7 @@ GCC, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
|
||||
<sect2 id="contents-libtool" role="content"><title>Contents of Libtool</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<seglistitem><seg>libtool and libtoolize</seg><seg>libltdl.[a,so]</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="libtool">
|
||||
<term><command>libtool</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-libtool libtool"><primary sortas="b-libtool">libtool</primary></indexterm>
|
||||
<para>provides generalized library-building support services.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libtoolize">
|
||||
<term><command>libtoolize</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-libtool libtoolize"><primary sortas="b-libtoolize">libtoolize</primary></indexterm>
|
||||
<para>provides a standard way to add libtool support to a package.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libltdl">
|
||||
<term><filename class="libraryfile">libltdl</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-libtool libltdl"><primary sortas="c-libltdl">libltdl</primary></indexterm>
|
||||
<para>hides the various difficulties of dlopening libraries.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -24,12 +24,6 @@
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Linux-Libc-Headers</title>
|
||||
|
||||
<para>For years it has been common practice to use so-called <quote>raw</quote>
|
||||
kernel headers (straight from a kernel tarball) in <filename class="directory">/usr/include</filename>, but over the
|
||||
last few years, the kernel developers have taken a strong stance that such
|
||||
things should not be done. Thus was born the linux-libc-headers project,
|
||||
designed to maintain an API stable version of the Linux headers.</para>
|
||||
|
||||
<para>Install the header files:</para>
|
||||
|
||||
<screen><userinput>cp -R include/asm-i386 /usr/include/asm
|
||||
@ -49,21 +43,7 @@ find /usr/include/{asm,linux} -type f -exec chmod 644 {} \;</userinput></screen>
|
||||
|
||||
<sect2 id="contents-linux-libc-headers" role="content"><title>Contents of Linux-Libc-Headers</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed headers</segtitle>
|
||||
<seglistitem><seg>/usr/include/{asm,linux}/*.h</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short description</title>
|
||||
|
||||
<varlistentry id="linux-libc-headers">
|
||||
<term><filename class="headerfile">/usr/include/{asm,linux}/*.h</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-linux-libc-headers linux-libc-headers"><primary sortas="e-/usr/include/{asm,linux}/*.h">/usr/include/{asm,linux}/*.h</primary></indexterm>
|
||||
<para>This files are the Linux headers API.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-m4"><primary sortas="a-M4">M4</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The M4 package contains a macro processor.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,11 +17,6 @@
|
||||
<seglistitem><seg>0.1 SBU</seg><seg>3.0 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>M4 installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, GCC,
|
||||
Gettext, Glibc, Grep, Make, Perl, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -48,27 +42,7 @@ Gettext, Glibc, Grep, Make, Perl, Sed</seg></seglistitem>
|
||||
|
||||
<sect2 id="contents-m4" role="content"><title>Contents of M4</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed program</segtitle>
|
||||
<seglistitem><seg>m4</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="m4">
|
||||
<term><command>m4</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-m4 m4"><primary sortas="b-m4">m4</primary></indexterm>
|
||||
<para>copies the given files
|
||||
while expanding the macros that they contain. These macros are either built-in
|
||||
or user-defined and can take any number of arguments. Besides just doing macro
|
||||
expansion, <command>m4</command> has built-in functions for including named files, running Unix
|
||||
commands, doing integer arithmetic, manipulating text in various ways,
|
||||
recursion, and so on. The <command>m4</command> program can be used either as a front-end to a
|
||||
compiler or as a macro processor in its own right.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-make"><primary sortas="a-Make">Make</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Make package contains a program for compiling large packages.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,11 +17,6 @@
|
||||
<seglistitem><seg>0.2 SBU</seg><seg>8.8 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Make installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
|
||||
GCC, Gettext, Glibc, Grep, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -48,22 +42,7 @@ GCC, Gettext, Glibc, Grep, Sed</seg></seglistitem>
|
||||
|
||||
<sect2 id="contents-make" role="content"><title>Contents of Make</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed program</segtitle>
|
||||
<seglistitem><seg>make</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="make">
|
||||
<term><command>make</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-make make"><primary sortas="b-make">make</primary></indexterm>
|
||||
<para>automatically determines which pieces of a large package need to be
|
||||
recompiled, and then issues the relevant commands.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-man-pages"><primary sortas="a-Man-pages">Man-pages</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Man-pages package contains over 1200 manual pages.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,10 +17,6 @@
|
||||
<seglistitem><seg>0.1 SBU</seg><seg>15 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>For its installation Man-pages depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Coreutils, Make</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -36,22 +31,7 @@
|
||||
|
||||
<sect2 id="contents-manpages" role="content"><title>Contents of Man-pages</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed files</segtitle>
|
||||
<seglistitem><seg>various manual pages</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="manual-pages">
|
||||
<term><emphasis>manual pages</emphasis></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-man-pages manual-pages"><primary sortas="e-manual-pages">manual pages</primary></indexterm>
|
||||
<para>Examples of provided manual pages are the pages describing all the C and
|
||||
C++ functions, important device files, and important configuration files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-man"><primary sortas="a-Man">Man</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Man package contains programs for finding and viewing manual pages.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,33 +17,20 @@
|
||||
<seglistitem><seg>0.1 SBU</seg><seg>1.9MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Man installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, Gawk, GCC,
|
||||
Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Man</title>
|
||||
|
||||
<para>We'll make three adjustments to the sources of Man.</para>
|
||||
|
||||
<para>The first is a patch which allows Man to work better with recent releases
|
||||
of Groff. In particular, man pages will now display using the full terminal
|
||||
width instead of being limited to 80 characters:</para>
|
||||
<para>Apply a patch:</para>
|
||||
|
||||
<screen><userinput>patch -Np1 -i ../man-&man-version;-80cols-1.patch</userinput></screen>
|
||||
|
||||
<para>The second is a sed substitution to add the <parameter>-R</parameter>
|
||||
switch to the <emphasis>PAGER</emphasis> variable so that escape sequences are
|
||||
properly handled by Less:</para>
|
||||
<para>Issue a sed substitution:</para>
|
||||
|
||||
<screen><userinput>sed -i 's@-is@&R@g' configure</userinput></screen>
|
||||
|
||||
<para>The third is also a sed substitution to comment out the <quote>MANPATH
|
||||
/usr/man</quote> line in the <filename>man.conf</filename> file to prevent
|
||||
redundant results when using programs such as <command>whatis</command>:</para>
|
||||
<para>Issue another sed substitution:</para>
|
||||
|
||||
<screen><userinput>sed -i 's@MANPATH./usr/man@#&@g' src/man.conf.in</userinput></screen>
|
||||
|
||||
@ -52,17 +38,6 @@ redundant results when using programs such as <command>whatis</command>:</para>
|
||||
|
||||
<screen><userinput>./configure -confdir=/etc</userinput></screen>
|
||||
|
||||
<para>The meaning of the configure options:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>-confdir=/etc</parameter></term>
|
||||
<listitem><para>This tells the
|
||||
<command>man</command> program to look for the <filename>man.conf</filename>
|
||||
configuration file in the <filename class="directory">/etc</filename> directory.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput>make</userinput></screen>
|
||||
@ -71,108 +46,12 @@ configuration file in the <filename class="directory">/etc</filename> directory.
|
||||
|
||||
<screen><userinput>make install</userinput></screen>
|
||||
|
||||
<note><para>If you wish to disable SGR (Select Graphic Rendition) escape sequences, you should edit the
|
||||
<filename>man.conf</filename> file and add the <parameter>-c</parameter> switch
|
||||
to NROFF.</para></note>
|
||||
|
||||
<para>If your character set uses 8-bit characters, search for the line
|
||||
beginning with <quote>NROFF</quote> in <filename>/etc/man.conf</filename>, and verify that it coincides
|
||||
with the following:</para>
|
||||
|
||||
<screen>NROFF /usr/bin/nroff -Tlatin1 -mandoc</screen>
|
||||
|
||||
<para>Note that you should use <quote>latin1</quote> even if it is not the character set
|
||||
of your locale. The reason is that,
|
||||
according to the specification, <application>groff</application> has
|
||||
no means of typesetting characters outside ISO-8859-1
|
||||
without some strange escape codes, and localized manual
|
||||
pages are therefore really a hack. When formatting manual pages,
|
||||
<application>groff</application> thinks that they are in the ISO-8859-1
|
||||
encoding and this <parameter>-Tlatin1</parameter> switch tells
|
||||
<application>groff</application> to use the same encoding for output.
|
||||
Since <application>groff</application> does no recoding of input characters,
|
||||
the formatted result is really in the same encoding as input (although
|
||||
<application>groff</application> doesn't know that it is not ISO-8859-1)
|
||||
and therefore it is usable as the input for a pager.</para>
|
||||
|
||||
<para>Of course, this hack does not solve the problem of non-working
|
||||
<command>man2dvi</command> program for localized manual
|
||||
pages in non-ISO-8859-1 locales.
|
||||
Also, it does not work at all with multibyte character sets.
|
||||
The first problem does not have a solution currently. The second
|
||||
one is not of a concern because the LFS installation does not support
|
||||
multibyte character sets properly anyway. You may want to look at
|
||||
internationalization related hints, though.</para>
|
||||
|
||||
<para>You may want to also take a look at the BLFS page at
|
||||
<ulink url="&blfs-root;view/cvs/postlfs/compressdoc.html"/> which deals with
|
||||
formatting and compression issues for man pages.</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
<sect2 id="contents-man" role="content"><title>Contents of Man</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>apropos, makewhatis, man,
|
||||
man2dvi, man2html and whatis</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="apropos">
|
||||
<term><command>apropos</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-man apropos"><primary sortas="b-apropos">apropos</primary></indexterm>
|
||||
<para>searches the whatis database and displays
|
||||
the short descriptions of system commands that contain a given string.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="makewhatis">
|
||||
<term><command>makewhatis</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-man makewhatis"><primary sortas="b-makewhatis">makewhatis</primary></indexterm>
|
||||
<para>builds the whatis database. It reads
|
||||
all the manual pages in the manpath and for each page writes the name and a
|
||||
short description in the whatis database.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="man">
|
||||
<term><command>man</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-man man"><primary sortas="b-man">man</primary></indexterm>
|
||||
<para>formats and displays the requested on-line manual page.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="man2dvi">
|
||||
<term><command>man2dvi</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-man man2dvi"><primary sortas="b-man2dvi">man2dvi</primary></indexterm>
|
||||
<para>converts a manual page into dvi format.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="man2html">
|
||||
<term><command>man2html</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-man man2html"><primary sortas="b-man2html">man2html</primary></indexterm>
|
||||
<para>converts a manual page into html.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="whatis">
|
||||
<term><command>whatis</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-man whatis"><primary sortas="b-whatis">whatis</primary></indexterm>
|
||||
<para>searches the whatis database and displays the short descriptions of system
|
||||
commands that contain the given keyword as a separate word.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,8 +10,6 @@
|
||||
<indexterm zone="ch-system-mktemp"><primary sortas="a-Mktemp">Mktemp</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Mktemp package contains programs used to create secure temporary
|
||||
files in shell scripts.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -19,16 +17,12 @@ files in shell scripts.</para>
|
||||
<seglistitem><seg>0.1 SBU</seg><seg>317 KB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<para>The installation dependencies for Mktemp haven't been checked yet.</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Mktemp</title>
|
||||
|
||||
<para>Many scripts still use the deprecated <command>tempfile</command>
|
||||
program, which has functionality much the same as <command>mktemp</command>.
|
||||
Patch Mktemp to include a <command>tempfile</command> wrapper:</para>
|
||||
<para>Apply a patch:</para>
|
||||
|
||||
<screen><userinput>patch -Np1 -i ../mktemp-&mktemp-version;-add_tempfile-1.patch</userinput></screen>
|
||||
|
||||
@ -36,17 +30,6 @@ Patch Mktemp to include a <command>tempfile</command> wrapper:</para>
|
||||
|
||||
<screen><userinput>./configure --prefix=/usr --with-libc</userinput></screen>
|
||||
|
||||
<para>The meaning of the configure option:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>--with-libc</parameter></term>
|
||||
<listitem><para>This causes the <command>mktemp</command> program to
|
||||
use the <emphasis>mkstemp</emphasis> and <emphasis>mkdtemp</emphasis>
|
||||
functions from the system C library.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput>make</userinput></screen>
|
||||
@ -61,30 +44,7 @@ make install-tempfile</userinput></screen>
|
||||
|
||||
<sect2 id="contents-mktemp" role="content"><title>Contents of Mktemp</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>mktemp, tempfile</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="mktemp">
|
||||
<term><command>mktemp</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-mktemp mktemp"><primary sortas="b-mktemp">mktemp</primary></indexterm>
|
||||
<para>creates temporary files in a secure manner. It is used in scripts.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tempfile">
|
||||
<term><command>tempfile</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-mktemp tempfile"><primary sortas="b-tempfile">tempfile</primary></indexterm>
|
||||
<para>creates temporary files in a less secure manner than
|
||||
<command>mktemp</command>. It is installed for backwards-compatibility.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,8 +10,6 @@
|
||||
<indexterm zone="ch-system-module-init-tools"><primary sortas="a-Module-Init-Tools">Module-Init-Tools</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Module-Init-Tools package contains programs for handling kernel
|
||||
modules in Linux kernels greater than or equal to version 2.5.47.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -19,11 +17,6 @@ modules in Linux kernels greater than or equal to version 2.5.47.</para>
|
||||
<seglistitem><seg>0.1 SBU</seg><seg>650 KB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Module-Init-Tools installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Bison,
|
||||
Coreutils, Diffutils, Flex, GCC, Glibc, Grep, M4, Make, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -49,108 +42,7 @@ Coreutils, Diffutils, Flex, GCC, Glibc, Grep, M4, Make, Sed</seg></seglistitem>
|
||||
|
||||
<sect2 id="contents-module-init-tools" role="content"><title>Contents of Module-Init-Tools</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>depmod, genksyms, insmod,
|
||||
insmod_ksymoops_clean, kallsyms (link to insmod), kernelversion, ksyms
|
||||
(link to insmod), lsmod (link to insmod), modinfo, modprobe (link to insmod)
|
||||
and rmmod (link to insmod)</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="depmod">
|
||||
<term><command>depmod</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-module-init-tools depmod"><primary sortas="b-depmod">depmod</primary></indexterm>
|
||||
<para>creates a dependency file, based on the
|
||||
symbols it finds in the existing set of modules. This dependency file is used
|
||||
by modprobe to automatically load the required modules.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="genksyms">
|
||||
<term><command>genksyms</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-module-init-tools genksyms"><primary sortas="b-genksyms">genksyms</primary></indexterm>
|
||||
<para>generates symbol version information.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="insmod">
|
||||
<term><command>insmod</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-module-init-tools insmod"><primary sortas="b-insmod">insmod</primary></indexterm>
|
||||
<para>installs a loadable module in the running kernel.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="insmod_ksymoops_clean">
|
||||
<term><command>insmod_ksymoops_clean</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-module-init-tools insmod_ksymoops_clean"><primary sortas="b-insmod_ksymoops_clean">insmod_ksymoops_clean</primary></indexterm>
|
||||
<para>deletes saved ksyms and modules not accessed for two days.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="kallsyms">
|
||||
<term><command>kallsyms</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-module-init-tools kallsyms"><primary sortas="b-kallsyms">kallsyms</primary></indexterm>
|
||||
<para>extracts all kernel symbols for debugging.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="kernelversion">
|
||||
<term><command>kernelversion</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-module-init-tools kernelversion"><primary sortas="b-kernelversion">kernelversion</primary></indexterm>
|
||||
<para>reports the major version of the running kernel.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ksyms">
|
||||
<term><command>ksyms</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-module-init-tools ksyms"><primary sortas="b-ksyms">ksyms</primary></indexterm>
|
||||
<para>displays exported kernel symbols.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="lsmod">
|
||||
<term><command>lsmod</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-module-init-tools lsmod"><primary sortas="b-lsmod">lsmod</primary></indexterm>
|
||||
<para>shows which modules are loaded.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="modinfo">
|
||||
<term><command>modinfo</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-module-init-tools modinfo"><primary sortas="b-modinfo">modinfo</primary></indexterm>
|
||||
<para>examines an object file associated with
|
||||
a kernel module and displays any information that it can glean.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="modprobe">
|
||||
<term><command>modprobe</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-module-init-tools modprobe"><primary sortas="b-modprobe">modprobe</primary></indexterm>
|
||||
<para>uses a dependency file, created by
|
||||
<command>depmod</command>, to automatically load the relevant modules.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="rmmod">
|
||||
<term><command>rmmod</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-module-init-tools rmmod"><primary sortas="b-rmmod">rmmod</primary></indexterm>
|
||||
<para>unloads modules from the running kernel.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,8 +10,6 @@
|
||||
<indexterm zone="ch-system-ncurses"><primary sortas="a-Ncurses">Ncurses</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Ncurses package contains libraries for terminal-independent
|
||||
handling of character screens.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -19,11 +17,6 @@ handling of character screens.</para>
|
||||
<seglistitem><seg>0.6 SBU</seg><seg>27 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Ncurses installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
|
||||
Gawk, GCC, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -45,17 +38,15 @@ Gawk, GCC, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
|
||||
<screen><userinput>chmod 755 /usr/lib/*.&ncurses-version;</userinput></screen>
|
||||
|
||||
<para>Now fix a library that shouldn't be executable:</para>
|
||||
<para>Now fix a library:</para>
|
||||
|
||||
<screen><userinput>chmod 644 /usr/lib/libncurses++.a</userinput></screen>
|
||||
|
||||
<para>Move the libraries to the <filename class="directory">/lib</filename> directory,
|
||||
where they're expected to reside:</para>
|
||||
<para>Move the libraries to the <filename class="directory">/lib</filename> directory:</para>
|
||||
|
||||
<screen><userinput>mv /usr/lib/libncurses.so.5* /lib</userinput></screen>
|
||||
|
||||
<para>Because the libraries have been moved, a few symlinks are pointing to
|
||||
non-existent files. Recreate those symlinks:</para>
|
||||
<para>Recreate some symlinks:</para>
|
||||
|
||||
<screen><userinput>ln -sf ../../lib/libncurses.so.5 /usr/lib/libncurses.so
|
||||
ln -sf libncurses.so /usr/lib/libcurses.so</userinput></screen>
|
||||
@ -64,138 +55,7 @@ ln -sf libncurses.so /usr/lib/libcurses.so</userinput></screen>
|
||||
|
||||
<sect2 id="contents-ncurses" role="content"><title>Contents of Ncurses</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<seglistitem><seg>captoinfo (link to tic), clear, infocmp, infotocap (link to tic),
|
||||
reset (link to tset), tack, tic, toe, tput and tset</seg>
|
||||
<seg>libcurses.[a,so] (link to libncurses.[a,so]), libform.[a,so], libmenu.[a,so],
|
||||
libncurses++.a, libncurses.[a,so], libpanel.[a,so]</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="captoinfo">
|
||||
<term><command>captoinfo</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-ncurses captoinfo"><primary sortas="b-captoinfo">captoinfo</primary></indexterm>
|
||||
<para>converts a termcap description into a terminfo description.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="clear">
|
||||
<term><command>clear</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-ncurses clear"><primary sortas="b-clear">clear</primary></indexterm>
|
||||
<para>clears the screen, if this is possible.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="infocmp">
|
||||
<term><command>infocmp</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-ncurses infocmp"><primary sortas="b-infocmp">infocmp</primary></indexterm>
|
||||
<para>compares or prints out terminfo descriptions.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="infotocap">
|
||||
<term><command>infotocap</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-ncurses infotocap"><primary sortas="b-infotocap">infotocap</primary></indexterm>
|
||||
<para>converts a terminfo description into a termcap description.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="reset">
|
||||
<term><command>reset</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-ncurses reset"><primary sortas="b-reset">reset</primary></indexterm>
|
||||
<para>reinitializes a terminal to its default values.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tack">
|
||||
<term><command>tack</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-ncurses tack"><primary sortas="b-tack">tack</primary></indexterm>
|
||||
<para>is the terminfo action checker. It is mainly
|
||||
used to test the correctness of an entry in the terminfo database.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tic">
|
||||
<term><command>tic</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-ncurses tic"><primary sortas="b-tic">tic</primary></indexterm>
|
||||
<para>is the terminfo entry-description compiler.
|
||||
It translates a terminfo file from source format into the binary format needed
|
||||
for the ncurses library routines. A terminfo file contains information on the
|
||||
capabilities of a certain terminal.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="toe">
|
||||
<term><command>toe</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-ncurses toe"><primary sortas="b-toe">toe</primary></indexterm>
|
||||
<para>lists all available terminal types, for each
|
||||
giving its primary name and its description.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tput">
|
||||
<term><command>tput</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-ncurses tput"><primary sortas="b-tput">tput</primary></indexterm>
|
||||
<para>makes the values of terminal-dependent
|
||||
capabilities available to the shell. It can also be used to reset or initialize
|
||||
a terminal, or report its long name.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tset">
|
||||
<term><command>tset</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-ncurses tset"><primary sortas="b-tset">tset</primary></indexterm>
|
||||
<para>can be used to initialize terminals.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libncurses">
|
||||
<term><filename class="libraryfile">>libncurses*</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-ncurses libncurses"><primary sortas="c-libncurses*">libncurses*</primary></indexterm>
|
||||
<para>contains functions to display text in
|
||||
many complicated ways on a terminal screen. A good example of the use of these
|
||||
functions is the menu displayed during the kernel's <command>make menuconfig</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libform">
|
||||
<term><filename class="libraryfile">libform*</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-ncurses libform"><primary sortas="c-libform*">libform*</primary></indexterm>
|
||||
<para>contains functions to implement forms.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libmenu">
|
||||
<term><filename class="libraryfile">libmenu*</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-ncurses libmenu"><primary sortas="c-libmenu*">libmenu*</primary></indexterm>
|
||||
<para>contains functions to implement menus.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libpanel">
|
||||
<term><filename class="libraryfile">libpanel*</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-ncurses libpanel"><primary sortas="c-libpanel*">libpanel*</primary></indexterm>
|
||||
<para>contains functions to implement panels.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-patch"><primary sortas="a-Patch">Patch</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Patch package contains a program for modifying files.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,19 +17,12 @@
|
||||
<seglistitem><seg>0.1 SBU</seg><seg>1.9 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Patch installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
|
||||
GCC, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Patch</title>
|
||||
|
||||
<para>Prepare Patch for compilation (the preprocessor flag
|
||||
<parameter>-D_GNU_SOURCE</parameter> is only needed on PowerPCs, on other
|
||||
machines you can leave it out):</para>
|
||||
<para>Prepare Patch for compilation:</para>
|
||||
|
||||
<screen><userinput>CPPFLAGS=-D_GNU_SOURCE ./configure --prefix=/usr</userinput></screen>
|
||||
|
||||
@ -47,25 +39,7 @@ machines you can leave it out):</para>
|
||||
|
||||
<sect2 id="contents-patch" role="content"><title>Contents of Patch</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed program</segtitle>
|
||||
<seglistitem><seg>patch</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="patch">
|
||||
<term><command>patch</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-patch patch"><primary sortas="b-patch">patch</primary></indexterm>
|
||||
<para>modifies files according to a patch file.
|
||||
A patch file normally is a difference listing created with the <command>diff</command> program.
|
||||
By applying these differences to the original files, <command>patch</command> creates the patched
|
||||
versions. Using patches instead of entirely new tarballs to keep your sources
|
||||
up-to-date can save you a lot of download time.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-perl"><primary sortas="a-Perl">Perl</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Perl package contains the Practical Extraction and Report Language.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,48 +17,28 @@
|
||||
<seglistitem><seg>2.9 SBU</seg><seg>143 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Perl installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
|
||||
Gawk, GCC, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Perl</title>
|
||||
|
||||
<para>If you want full control over the way Perl is set up, you can run the
|
||||
interactive <command>Configure</command> script and hand-pick the way this
|
||||
package is built. If you think you can live with the (sensible)
|
||||
defaults it auto-detects, then prepare Perl for compilation with:</para>
|
||||
<para>Prepare Perl for compilation:</para>
|
||||
|
||||
<screen><userinput>./configure.gnu --prefix=/usr -Dpager="/bin/less -isR"</userinput></screen>
|
||||
|
||||
<para>The meaning of the configure option:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>-Dpager="/bin/less -isR"</parameter></term>
|
||||
<listitem><para>This corrects an error in the <command>perldoc</command> code with the invocation
|
||||
of the <command>less</command> program.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput>make</userinput></screen>
|
||||
|
||||
<para>If you wish to run the test suite, you first have to create a basic
|
||||
<filename>/etc/hosts</filename> file, which is needed by a couple of tests to
|
||||
resolve the name <emphasis>localhost</emphasis>:</para>
|
||||
<para>Create a basic <filename>/etc/hosts</filename> file:</para>
|
||||
|
||||
<screen><userinput>echo "127.0.0.1 localhost $(hostname)" > /etc/hosts</userinput></screen>
|
||||
|
||||
<para>Now run the tests, if you wish:</para>
|
||||
<para>Run the tests:</para>
|
||||
|
||||
<screen><userinput>make test</userinput></screen>
|
||||
|
||||
<para>Finally, install the package:</para>
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput>make install</userinput></screen>
|
||||
|
||||
@ -68,244 +47,7 @@ resolve the name <emphasis>localhost</emphasis>:</para>
|
||||
|
||||
<sect2 id="contents-perl" role="content"><title>Contents of Perl</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<seglistitem><seg>a2p, c2ph, dprofpp, enc2xs,
|
||||
find2perl, h2ph, h2xs, libnetcfg, perl, perl&perl-version; (link to perl),
|
||||
perlbug, perlcc, perldoc, perlivp, piconv, pl2pm, pod2html, pod2latex, pod2man,
|
||||
pod2text, pod2usage, podchecker, podselect, psed (link to s2p), pstruct (link
|
||||
to c2ph), s2p, splain and xsubpp</seg>
|
||||
<seg>(too many to name)</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="a2p">
|
||||
<term><command>a2p</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl a2p"><primary sortas="b-a2p">a2p</primary></indexterm>
|
||||
<para>translates awk to Perl.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="c2ph">
|
||||
<term><command>c2ph</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl c2ph"><primary sortas="b-c2ph">c2ph</primary></indexterm>
|
||||
<para>dumps C structures as generated from <quote>cc -g -S</quote> stabs.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="dprofpp">
|
||||
<term><command>dprofpp</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl dprofpp"><primary sortas="b-dprofpp">dprofpp</primary></indexterm>
|
||||
<para>displays Perl profile data.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="en2cxs">
|
||||
<term><command>en2cxs</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl en2cxs"><primary sortas="b-en2cxs">en2cxs</primary></indexterm>
|
||||
<para>builds a Perl extension for the Encode module,
|
||||
from either Unicode Character Mappings or Tcl Encoding Files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="find2perl">
|
||||
<term><command>find2perl</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl find2perl"><primary sortas="b-find2perl">find2perl</primary></indexterm>
|
||||
<para>translates find commands to Perl.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="h2ph">
|
||||
<term><command>h2ph</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl h2ph"><primary sortas="b-h2ph">h2ph</primary></indexterm>
|
||||
<para>converts <filename class="extension">.h</filename> C header files to
|
||||
<filename class="extension">.ph</filename> Perl header files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="h2xs">
|
||||
<term><command>h2xs</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl h2xs"><primary sortas="b-h2xs">h2xs</primary></indexterm>
|
||||
<para>converts <filename class="extension">.h</filename> C header files to Perl extensions.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libnetcfg">
|
||||
<term><command>libnetcfg</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl libnetcfg"><primary sortas="b-libnetcfg">libnetcfg</primary></indexterm>
|
||||
<para>can be used to configure the <filename class="libraryfile">libnet</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="perl">
|
||||
<term><command>perl</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl perl"><primary sortas="b-perl">perl</primary></indexterm>
|
||||
<para>combines some of the best features of C, sed,
|
||||
awk and sh into a single swiss-army language.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="perlbug">
|
||||
<term><command>perlbug</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl perlbug"><primary sortas="b-perlbug">perlbug</primary></indexterm>
|
||||
<para>is used to generate bug reports about
|
||||
Perl or the modules that come with it, and mail them.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="perlcc">
|
||||
<term><command>perlcc</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl perlcc"><primary sortas="b-perlcc">perlcc</primary></indexterm>
|
||||
<para>generates executables from Perl programs.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="perldoc">
|
||||
<term><command>perldoc</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl perldoc"><primary sortas="b-perldoc">perldoc</primary></indexterm>
|
||||
<para>displays a piece of documentation in pod
|
||||
format that is embedded in the Perl installation tree or in a Perl script.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="perlivp">
|
||||
<term><command>perlivp</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl perlivp"><primary sortas="b-perlivp">perlivp</primary></indexterm>
|
||||
<para>is the Perl Installation Verification Procedure. It can be used to verify that
|
||||
Perl and its libraries have been installed correctly.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="piconv">
|
||||
<term><command>piconv</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl piconv"><primary sortas="b-piconv">piconv</primary></indexterm>
|
||||
<para>is a Perl version of the character encoding
|
||||
converter <command>iconv</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pl2pm">
|
||||
<term><command>pl2pm</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl pl2pm"><primary sortas="b-pl2pm">pl2pm</primary></indexterm>
|
||||
<para>is a rough tool for converting Perl4 <filename class="extension">.pl</filename>
|
||||
files to Perl5 <filename class="extension">.pm</filename> modules.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pod2html">
|
||||
<term><command>pod2html</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl pod2html"><primary sortas="b-pod2html">pod2html</primary></indexterm>
|
||||
<para>converts files from pod format to HTML format.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pod2latex">
|
||||
<term><command>pod2latex</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl pod2latex"><primary sortas="b-pod2latex">pod2latex</primary></indexterm>
|
||||
<para>converts files from pod format to LaTeX format.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pod2man">
|
||||
<term><command>pod2man</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl pod2man"><primary sortas="b-pod2man">pod2man</primary></indexterm>
|
||||
<para>converts pod data to formatted *roff input.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pod2text">
|
||||
<term><command>pod2text</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl pod2text"><primary sortas="b-pod2text">pod2text</primary></indexterm>
|
||||
<para>converts pod data to formatted ASCII text.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pod2usage">
|
||||
<term><command>pod2usage</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl pod2usage"><primary sortas="b-pod2usage">pod2usage</primary></indexterm>
|
||||
<para>prints usage messages from embedded pod docs in files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="podchecker">
|
||||
<term><command>podchecker</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl podchecker"><primary sortas="b-podchecker">podchecker</primary></indexterm>
|
||||
<para>checks the syntax of pod format documentation files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="podselect">
|
||||
<term><command>podselect</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl podselect"><primary sortas="b-podselect">podselect</primary></indexterm>
|
||||
<para>displays selected sections of pod documentation.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="psed">
|
||||
<term><command>psed</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl psed"><primary sortas="b-psed">psed</primary></indexterm>
|
||||
<para>is a Perl version of the stream editor <command>sed</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pstruct">
|
||||
<term><command>pstruct</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl pstruct"><primary sortas="b-pstruct">pstruct</primary></indexterm>
|
||||
<para>dumps C structures as generated from <quote>cc -g -S</quote> stabs.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="s2p">
|
||||
<term><command>s2p</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl s2p"><primary sortas="b-s2p">s2p</primary></indexterm>
|
||||
<para>translates sed to Perl.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="splain">
|
||||
<term><command>splain</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl splain"><primary sortas="b-splain">splain</primary></indexterm>
|
||||
<para>is used to force verbose warning
|
||||
diagnostics in Perl.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="xsubpp">
|
||||
<term><command>xsubpp</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-perl xsubpp"><primary sortas="b-xsubpp">xsubpp</primary></indexterm>
|
||||
<para>converts Perl XS code into C code.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-procps"><primary sortas="a-Procps">Procps</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Procps package contains programs for monitoring processes.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,11 +17,6 @@
|
||||
<seglistitem><seg>0.1 SBU</seg><seg>6.2 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Procps installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, GCC, Glibc,
|
||||
Make, Ncurses</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -41,149 +35,7 @@ Make, Ncurses</seg></seglistitem>
|
||||
|
||||
<sect2 id="contents-procps" role="content"><title>Contents of Procps</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed library</segtitle>
|
||||
<seglistitem><seg>free, kill, pgrep, pkill,
|
||||
pmap, ps, skill, snice, sysctl, tload, top, uptime, vmstat, w and watch</seg>
|
||||
<seg>libproc.so</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="free">
|
||||
<term><command>free</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-procps free"><primary sortas="b-free">free</primary></indexterm>
|
||||
<para>reports the amount of free and used memory
|
||||
in the system, both physical and swap memory.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="kill">
|
||||
<term><command>kill</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-procps kill"><primary sortas="b-kill">kill</primary></indexterm>
|
||||
<para>is used to send signals to processes.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pgrep">
|
||||
<term><command>pgrep</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-procps pgrep"><primary sortas="b-pgrep">pgrep</primary></indexterm>
|
||||
<para>looks up processes based on their name and other attributes.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pkill">
|
||||
<term><command>pkill</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-procps pkill"><primary sortas="b-pkill">pkill</primary></indexterm>
|
||||
<para>signals processes based on their name and other attributes.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pmap">
|
||||
<term><command>pmap</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-procps pmap"><primary sortas="b-pmap">pmap</primary></indexterm>
|
||||
<para>reports the memory map of the given process.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ps">
|
||||
<term><command>ps</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-procps ps"><primary sortas="b-ps">ps</primary></indexterm>
|
||||
<para>gives a snapshot of the current processes.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="skill">
|
||||
<term><command>skill</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-procps skill"><primary sortas="b-skill">skill</primary></indexterm>
|
||||
<para>sends signals to processes matching the given criteria.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="snice">
|
||||
<term><command>snice</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-procps snice"><primary sortas="b-snice">snice</primary></indexterm>
|
||||
<para>changes the scheduling priority of processes matching the given criteria.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="sysctl">
|
||||
<term><command>sysctl</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-procps sysctl"><primary sortas="b-sysctl">sysctl</primary></indexterm>
|
||||
<para>modifies kernel parameters at run time.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tload">
|
||||
<term><command>tload</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-procps tload"><primary sortas="b-tload">tload</primary></indexterm>
|
||||
<para>prints a graph of the current system load average.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="top">
|
||||
<term><command>top</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-procps top"><primary sortas="b-top">top</primary></indexterm>
|
||||
<para>displays the top CPU processes. It provides
|
||||
an ongoing look at processor activity in real time.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="uptime">
|
||||
<term><command>uptime</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-procps uptime"><primary sortas="b-uptime">uptime</primary></indexterm>
|
||||
<para>reports how long the system has been
|
||||
running, how many users are logged on, and the system load averages.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="vmstat">
|
||||
<term><command>vmstat</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-procps vmstat"><primary sortas="b-vmstat">vmstat</primary></indexterm>
|
||||
<para>reports virtual memory statistics, giving information about processes,
|
||||
memory, paging, block IO, traps, and CPU activity.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="w">
|
||||
<term><command>w</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-procps w"><primary sortas="b-w">w</primary></indexterm>
|
||||
<para>shows which users are currently logged on, where and since when.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="watch">
|
||||
<term><command>watch</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-procps watch"><primary sortas="b-watch">watch</primary></indexterm>
|
||||
<para>runs a given command repeatedly, displaying the first screen-full of its
|
||||
output. This allows you to watch the output change over time.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libproc">
|
||||
<term><filename class="libraryfile">libproc</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-procps libproc"><primary sortas="c-libproc">libproc</primary></indexterm>
|
||||
<para>contains the functions used by most programs in this package.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,8 +10,6 @@
|
||||
<indexterm zone="ch-system-psmisc"><primary sortas="a-Psmisc">Psmisc</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Psmisc package contains programs for displaying information on
|
||||
processes.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -19,11 +17,6 @@ processes.</para>
|
||||
<seglistitem><seg>0.1 SBU</seg><seg>2.2 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Psmisc installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
|
||||
GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -33,19 +26,6 @@ GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed</seg></seglistitem>
|
||||
|
||||
<screen><userinput>./configure --prefix=/usr --exec-prefix=""</userinput></screen>
|
||||
|
||||
<para>The meaning of the configure option:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>--exec-prefix=""</parameter></term>
|
||||
<listitem><para>This causes the
|
||||
binaries to be installed in <filename class="directory">/bin</filename> instead of
|
||||
<filename class="directory">/usr/bin</filename>. As the Psmisc programs are often used in
|
||||
bootscripts, they should be available also when the <filename class="directory">/usr</filename>
|
||||
file system isn't mounted.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput>make</userinput></screen>
|
||||
@ -54,21 +34,12 @@ file system isn't mounted.</para></listitem>
|
||||
|
||||
<screen><userinput>make install</userinput></screen>
|
||||
|
||||
<para>There is no reason for the <command>pstree</command> and
|
||||
<command>pstree.x11</command> programs to reside in
|
||||
<filename class="directory">/bin</filename>. We therefore move them to
|
||||
<filename class="directory">/usr/bin</filename>. Also, there is no need
|
||||
for <command>pstree.x11</command> to exist as a separate program. We
|
||||
therefore make it a symbolic link to <command>pstree</command>:</para>
|
||||
<para>Move a program:</para>
|
||||
|
||||
<screen><userinput>mv /bin/pstree* /usr/bin
|
||||
ln -sf pstree /usr/bin/pstree.x11</userinput></screen>
|
||||
|
||||
<para>By default Psmisc's <command>pidof</command> program isn't installed.
|
||||
Generally, this isn't a problem because we later install the Sysvinit package,
|
||||
which provides a better <command>pidof</command> program. But if you're not
|
||||
going to use Sysvinit, you should complete the installation of Psmisc by
|
||||
creating the following symlink:</para>
|
||||
<para>If you're not going to use Sysvinit, you should create the following symlink:</para>
|
||||
|
||||
<screen><userinput>ln -s killall /bin/pidof</userinput></screen>
|
||||
|
||||
@ -77,46 +48,7 @@ creating the following symlink:</para>
|
||||
|
||||
<sect2 id="contents-psmisc" role="content"><title>Contents of Psmisc</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>fuser, killall, pstree and pstree.x11 (link to pstree)</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="fuser">
|
||||
<term><command>fuser</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-psmisc fuser"><primary sortas="b-fuser">fuser</primary></indexterm>
|
||||
<para>reports the PIDs of processes that use the given files or file systems.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="killall">
|
||||
<term><command>killall</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-psmisc killall"><primary sortas="b-killall">killall</primary></indexterm>
|
||||
<para>kills processes by name. It sends a signal
|
||||
to all processes running any of the given commands.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pstree">
|
||||
<term><command>pstree</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-psmisc pstree"><primary sortas="b-pstree">pstree</primary></indexterm>
|
||||
<para>displays running processes as a tree.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pstree.x11">
|
||||
<term><command>pstree.x11</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-psmisc pstree.x11"><primary sortas="b-pstree.x11">pstree.x11</primary></indexterm>
|
||||
<para>same as pstree except that it waits for confirmation before exiting.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -7,30 +7,13 @@
|
||||
<title>The passwd, group and log files</title>
|
||||
<?dbhtml filename="pwdgroup.html"?>
|
||||
|
||||
<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/etc/passwd">/etc/passwd</primary></indexterm>
|
||||
<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/etc/group">/etc/group</primary></indexterm>
|
||||
<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/run/utmp">/var/run/utmp</primary></indexterm>
|
||||
<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/btmp">/var/log/btmp</primary></indexterm>
|
||||
<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/lastlog">/var/log/lastlog</primary></indexterm>
|
||||
<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/wtmp">/var/log/wtmp</primary></indexterm>
|
||||
|
||||
<para>In order for <emphasis>root</emphasis> to be able to login and for the
|
||||
name <quote>root</quote> to be recognized, there need to be relevant entries in
|
||||
the <filename>/etc/passwd</filename> and <filename>/etc/group</filename> files.
|
||||
</para>
|
||||
|
||||
<para>Create the <filename>/etc/passwd</filename> file by running the following
|
||||
command:</para>
|
||||
<para>Create the <filename>/etc/passwd</filename> file:</para>
|
||||
|
||||
<screen><userinput>cat > /etc/passwd << "EOF"
|
||||
root:x:0:0:root:/root:/bin/bash
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>The actual password for <emphasis>root</emphasis> (the <quote>x</quote>
|
||||
here is just a placeholder) will be set later.</para>
|
||||
|
||||
<para>Create the <filename>/etc/group</filename> file by running the following
|
||||
command:</para>
|
||||
<para>Create the <filename>/etc/group</filename> file:</para>
|
||||
|
||||
<screen><userinput>cat > /etc/group << "EOF"
|
||||
root:x:0:
|
||||
@ -50,44 +33,14 @@ utmp:x:13:
|
||||
usb:x:14:
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>The created groups aren't part of any standard -- they are some of the
|
||||
groups that the Udev configuration we will be using in the next section
|
||||
uses. The LSB (<ulink url="http://www.linuxbase.org/">Linux Standard
|
||||
Base</ulink>) recommends only that, beside the group <quote>root</quote> with a
|
||||
GID of 0, a group <quote>bin</quote> with a GID of 1 be present. All other group
|
||||
names and GIDs can be chosen freely by the system administrator, since
|
||||
well-written packages don't depend on GID numbers but use the group's name.
|
||||
</para>
|
||||
|
||||
<para>To get rid of the <quote>I have no name!</quote> prompt, we will start a
|
||||
new shell. Since we installed a full Glibc in
|
||||
<xref linkend="chapter-temporary-tools"/>, and have just created the
|
||||
<filename>/etc/passwd</filename> and <filename>/etc/group</filename> files,
|
||||
user name and group name resolution will now work.</para>
|
||||
<para>Start a new shell:</para>
|
||||
|
||||
<screen><userinput>exec /tools/bin/bash --login +h</userinput></screen>
|
||||
|
||||
<para>Note the use of the <parameter>+h</parameter> directive. This tells
|
||||
<command>bash</command> not to use its internal path hashing. Without this
|
||||
directive, <command>bash</command> would remember the paths to binaries it
|
||||
has executed. Since we want to use our newly compiled binaries as soon as
|
||||
they are installed, we turn off this function for the duration of this
|
||||
chapter.</para>
|
||||
|
||||
<para>The <command>login</command>, <command>agetty</command> and
|
||||
<command>init</command> programs (and some others) use a number of log
|
||||
files to record information such as who was logged into the system and when.
|
||||
These programs, however, won't write to the log files if they don't already
|
||||
exist. Initialize the log files and give them their proper permissions:</para>
|
||||
<para>Initialize the log files and give them their proper permissions:</para>
|
||||
|
||||
<screen><userinput>touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
|
||||
chgrp utmp /var/run/utmp /var/log/lastlog
|
||||
chmod 664 /var/run/utmp /var/log/lastlog</userinput></screen>
|
||||
|
||||
<para>The <filename>/var/run/utmp</filename> file records the users that are
|
||||
currently logged in. The <filename>/var/log/wtmp</filename> file records all
|
||||
logins and logouts. The <filename>/var/log/lastlog</filename> file records for
|
||||
each user when he or she last logged in. The <filename>/var/log/btmp</filename>
|
||||
file records the bad login attempts.</para>
|
||||
|
||||
</sect1>
|
||||
|
@ -7,48 +7,12 @@
|
||||
<title>Readjusting the toolchain</title>
|
||||
<?dbhtml filename="readjusting.html"?>
|
||||
|
||||
<para>Now that the new and final C libraries have been installed, it's time to
|
||||
adjust our toolchain again. We'll adjust it so that it will link any newly
|
||||
compiled program against these new libraries. This is in fact the same thing we
|
||||
did in the <quote>Adjusting</quote> phase in the beginning of the previous
|
||||
chapter, even though it looks like the reverse: then we guided the chain from
|
||||
the host's <filename class="directory">/{,usr/}lib</filename> to the new
|
||||
<filename class="directory">/tools/lib</filename>, now we guide it from that
|
||||
same <filename class="directory">/tools/lib</filename> to the LFS's <filename
|
||||
class="directory">/{,usr/}lib</filename>.</para>
|
||||
|
||||
<para>First we adjust the linker. For this we retained the
|
||||
source and build directories from the second pass over Binutils. Install the
|
||||
adjusted linker by running the following from within the
|
||||
<para>Install the adjusted linker by running the following from within the
|
||||
<filename class="directory">binutils-build</filename> directory:</para>
|
||||
|
||||
<screen><userinput>make -C ld INSTALL=/tools/bin/install install</userinput></screen>
|
||||
|
||||
<note><para>If you somehow missed the earlier warning to retain the Binutils
|
||||
source and build directories from the second pass in
|
||||
<xref linkend="chapter-temporary-tools"/>, or otherwise accidentally deleted them or just
|
||||
don't have access to them, don't worry, all is not lost. Just ignore the above
|
||||
command. The result will be that the next package, Binutils, will link against
|
||||
the C libraries in <filename class="directory">/tools</filename> rather
|
||||
than in <filename class="directory">/{,usr/}lib</filename>. This is not ideal,
|
||||
however, our testing has shown that the resulting Binutils program binaries
|
||||
should be identical.</para></note>
|
||||
|
||||
<para>From now on every compiled program will link <emphasis>only</emphasis>
|
||||
against the libraries in <filename class="directory">/usr/lib</filename> and
|
||||
<filename class="directory">/lib</filename>. The extra
|
||||
<parameter>INSTALL=/tools/bin/install</parameter> is needed because the Makefile
|
||||
created during the second pass still contains the reference to
|
||||
<command>/usr/bin/install</command>, which we obviously haven't installed yet.
|
||||
Some host distributions contain a <filename class="symlink">ginstall</filename>
|
||||
symbolic link which takes precedence in the Makefile and thus can cause a
|
||||
problem here. The above command takes care of this also.</para>
|
||||
|
||||
<para>You can now remove the Binutils source and build directories.</para>
|
||||
|
||||
<para>The next thing to do is to amend our GCC specs file so that it points
|
||||
to the new dynamic linker. Just like earlier on, we use a sed to accomplish
|
||||
this:</para>
|
||||
<para>Amend the GCC specs file:</para>
|
||||
|
||||
<!-- Ampersands are needed to allow cut and paste -->
|
||||
|
||||
@ -56,40 +20,16 @@ this:</para>
|
||||
-e 's@\*startfile_prefix_spec:\n@$_/usr/lib/@g;' \
|
||||
`gcc --print-file specs`</userinput></screen>
|
||||
|
||||
<para>Again, cutting and pasting the above is recommended. And just like
|
||||
before, it is a good idea to visually inspect the specs file to verify the
|
||||
intended change was actually made.</para>
|
||||
|
||||
<important><para>If you are working on a platform where the name of the dynamic
|
||||
linker is something other than <filename>ld-linux.so.2</filename>, you
|
||||
<emphasis>must</emphasis> substitute <filename>ld-linux.so.2</filename> with the
|
||||
name of your platform's dynamic linker in the above commands. Refer back to
|
||||
<xref linkend="ch-tools-toolchaintechnotes"/> if necessary.</para></important>
|
||||
|
||||
|
||||
<caution><para>It is imperative at this point to stop and ensure that the
|
||||
basic functions (compiling and linking) of the adjusted toolchain are working
|
||||
as expected. For this we are going to perform a simple sanity check:</para>
|
||||
<caution><para>Perform a simple sanity check:</para>
|
||||
|
||||
<screen><userinput>echo 'main(){}' > dummy.c
|
||||
cc dummy.c
|
||||
readelf -l a.out | grep ': /lib'</userinput></screen>
|
||||
|
||||
<para>If everything is working correctly, there should be no errors, and the
|
||||
output of the last command will be (allowing for platform specific differences
|
||||
in dynamic linker name):</para>
|
||||
<para>The output of the last command will be:</para>
|
||||
|
||||
<screen><computeroutput>[Requesting program interpreter: /lib/ld-linux.so.2]</computeroutput></screen>
|
||||
|
||||
<para>Note especially that <filename class="directory">/lib</filename> is now
|
||||
the prefix of our dynamic linker.</para>
|
||||
|
||||
<para> If you did not receive the output
|
||||
as shown above, or received no output at all, then something is seriously wrong.
|
||||
You will need to investigate and retrace your steps to find out where the
|
||||
problem is and correct it. There is no point in continuing until this is done.
|
||||
Most likely something went wrong with the specs file amendment above.</para>
|
||||
|
||||
<para>Once you are satisfied that all is well, clean up the test files:</para>
|
||||
|
||||
<screen><userinput>rm dummy.c a.out</userinput></screen>
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-readline"><primary sortas="a-Readline">Readline</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Readline package contains the Readline command-line library.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,18 +17,12 @@
|
||||
<seglistitem><seg>XXX SBU</seg><seg>3.8 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Readline installation depends on</segtitle>
|
||||
<seglistitem><seg>Binutils, Coreutils, Diffutils, Gawk,
|
||||
GCC, Glibc, Grep, Make, Ncurses, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Readline</title>
|
||||
|
||||
<para>The following patch fixes various issues including a problem where Readline
|
||||
sometimes will only show 33 characters on a line and then wrap to the next line.</para>
|
||||
<para>Apply a patch.</para>
|
||||
|
||||
<screen><userinput>patch -Np1 -i ../readline-&readline-version;-fixes-1.patch</userinput></screen>
|
||||
|
||||
@ -62,10 +55,9 @@ ln -sf ../../lib/libhistory.so.5 /usr/lib/libhistory.so</userinput></screen>
|
||||
|
||||
|
||||
<sect2 id="contents-readline" role="content"><title>Contents of Readline</title>
|
||||
<segmentedlist>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<seglistitem><seg>Not checked</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
|
@ -7,35 +7,11 @@
|
||||
<title>Cleaning up</title>
|
||||
<?dbhtml filename="revisedchroot.html"?>
|
||||
|
||||
<para>From now on, when you exit the chroot environment and wish to reenter
|
||||
it, you should use the following modified chroot command:</para>
|
||||
<para>Modified chroot command:</para>
|
||||
|
||||
<screen><userinput>chroot "$LFS" /usr/bin/env -i \
|
||||
HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
|
||||
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
|
||||
/bin/bash --login</userinput></screen>
|
||||
|
||||
<para>The reason for this is that, since the programs in <filename
|
||||
class="directory">/tools</filename> are no longer needed, you may want to
|
||||
delete the whole directory and regain the space. Before actually deleting the
|
||||
directory, exit from chroot and reenter it with the above command. Also, before
|
||||
removing <filename class="directory">/tools</filename>, you may want to tar it
|
||||
up and store it in a safe place, in case you want to build another LFS system
|
||||
soon.</para>
|
||||
|
||||
<note><para>Removing <filename class="directory">/tools</filename> will also
|
||||
remove the temporary copies of Tcl, Expect and DejaGNU, which were used for
|
||||
running the toolchain tests. If you want to use these programs later on, you
|
||||
will need to recompile and re-install them. The installation instructions are
|
||||
the same as in <xref linkend="chapter-temporary-tools"/>, apart from changing
|
||||
the prefix from <filename class="directory">/tools</filename> to <filename class="directory">/usr</filename>. The
|
||||
BLFS book discusses a slightly different approach to installing Tcl, see
|
||||
<ulink url="&blfs-root;"/>.</para></note>
|
||||
|
||||
<para>You may also want to move the packages and patches stored in <filename
|
||||
class="directory">/sources</filename> to a more usual location, such as
|
||||
<filename class="directory">/usr/src/packages</filename>, and remove the
|
||||
directory -- or simply delete the whole directory if you've burned its contents
|
||||
on a CD).</para>
|
||||
|
||||
</sect1>
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-sed"><primary sortas="a-Sed">Sed</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Sed package contains a stream editor.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,11 +17,6 @@
|
||||
<seglistitem><seg>0.2 SBU</seg><seg>5.2 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Sed installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils,
|
||||
Diffutils, GCC, Gettext, Glibc, Grep, Make, Texinfo</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -48,21 +42,7 @@ Diffutils, GCC, Gettext, Glibc, Grep, Make, Texinfo</seg></seglistitem>
|
||||
|
||||
<sect2 id="contents-sed" role="content"><title>Contents of Sed</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed program</segtitle>
|
||||
<seglistitem><seg>sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="sed">
|
||||
<term><command>sed</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-sed sed"><primary sortas="b-sed">sed</primary></indexterm>
|
||||
<para>is used to filter and transform text files in a single pass.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,8 +10,6 @@
|
||||
<indexterm zone="ch-system-shadow"><primary sortas="a-Shadow">Shadow</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Shadow package contains programs for handling passwords in a secure
|
||||
way.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -19,11 +17,6 @@ way.</para>
|
||||
<seglistitem><seg>0.4 SBU</seg><seg>11 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Shadow installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Bison, Coreutils,
|
||||
Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -41,47 +34,34 @@ Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
|
||||
<screen><userinput>make install</userinput></screen>
|
||||
|
||||
<para>Shadow uses two files to configure authentication settings for the
|
||||
system. Install these two config files:</para>
|
||||
<para>Install two config files:</para>
|
||||
|
||||
<screen><userinput>cp etc/{limits,login.access} /etc</userinput></screen>
|
||||
|
||||
<para>Instead of using the default <emphasis>crypt</emphasis> method, we want
|
||||
to use the more secure <emphasis>MD5</emphasis> method of password encryption,
|
||||
which also allows passwords longer than 8 characters. We also need to
|
||||
change the obsolete <filename class="directory">/var/spool/mail</filename>
|
||||
location for user mailboxes that Shadow uses by default to the <filename
|
||||
class="directory">/var/mail</filename> location used currently. We accomplish
|
||||
both these things by changing the relevant configuration file while copying it
|
||||
to its destination (it's probably better to cut-and-paste this rather than try
|
||||
and type it all in):</para>
|
||||
<para>Change a configuration file while copying it:</para>
|
||||
|
||||
<screen><userinput>sed -e's@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@' \
|
||||
-e 's@/var/spool/mail@/var/mail@' \
|
||||
< etc/login.defs.linux > /etc/login.defs</userinput></screen>
|
||||
|
||||
<para>Move some misplaced symlinks/programs to their proper locations:</para>
|
||||
<para>Move a program:</para>
|
||||
|
||||
<screen><userinput>mv /usr/bin/passwd /bin</userinput></screen>
|
||||
|
||||
<para>And move Shadow's static library to a more appropriate location:</para>
|
||||
<para>Move a library:</para>
|
||||
|
||||
<screen><userinput>mv /lib/libshadow.*a /usr/lib</userinput></screen>
|
||||
|
||||
<para>As some packages expect to find the libraries in
|
||||
<filename class="directory">/usr/lib</filename>, create the following symlinks:</para>
|
||||
<para>Create the following symlinks:</para>
|
||||
|
||||
<screen><userinput>rm /lib/libshadow.so
|
||||
ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so</userinput></screen>
|
||||
|
||||
<para>The <parameter>-D</parameter> option of the <command>useradd</command> program requires this
|
||||
directory for it to work properly:</para>
|
||||
<para>Create a dir:</para>
|
||||
|
||||
<screen><userinput>mkdir /etc/default</userinput></screen>
|
||||
|
||||
<para>Coreutils has already installed a better <command>groups</command>
|
||||
program in <filename class="directory">/usr/bin</filename>. Remove the one
|
||||
installed by Shadow:</para>
|
||||
<para>Remove a program:</para>
|
||||
|
||||
<screen><userinput>rm /bin/groups</userinput></screen>
|
||||
|
||||
@ -89,20 +69,8 @@ installed by Shadow:</para>
|
||||
|
||||
|
||||
<sect2 id="conf-shadow" role="configuration"><title>Configuring Shadow</title>
|
||||
<indexterm zone="conf-shadow">
|
||||
<primary sortas="a-Shadow">Shadow</primary>
|
||||
<secondary>configuring</secondary></indexterm>
|
||||
|
||||
<para>This package contains utilities to add, modify and delete users and
|
||||
groups, set and change their passwords, and other such administrative tasks.
|
||||
For a full explanation of what <emphasis>password shadowing</emphasis> means,
|
||||
see the <filename>doc/HOWTO</filename> file within the unpacked source tree.
|
||||
There's one thing to keep in mind if you decide to use Shadow support: programs
|
||||
that need to verify passwords (display managers, ftp programs, pop3 daemons,
|
||||
and the like) need to be <emphasis>shadow-compliant</emphasis>, that is they
|
||||
need to be able to work with shadowed passwords.</para>
|
||||
|
||||
<para>To enable shadowed passwords, run the following command:</para>
|
||||
<para>To enable shadowed passwords:</para>
|
||||
|
||||
<screen><userinput>pwconv</userinput></screen>
|
||||
|
||||
@ -110,11 +78,6 @@ need to be able to work with shadowed passwords.</para>
|
||||
|
||||
<screen><userinput>grpconv</userinput></screen>
|
||||
|
||||
<para>Under normal circumstances, you won't have created any passwords yet.
|
||||
However, if returning to this section later to enable shadowing, you should
|
||||
reset any current user passwords with the <command>passwd</command> command or
|
||||
any group passwords with the <command>gpasswd</command> command.</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
@ -130,294 +93,7 @@ any group passwords with the <command>gpasswd</command> command.</para>
|
||||
|
||||
<sect2 id="contents-shadow" role="content"><title>Contents of Shadow</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>chage, chfn, chpasswd, chsh, expiry, faillog, gpasswd,
|
||||
groupadd, groupdel, groupmod, groups, grpck, grpconv, grpunconv, lastlog, login,
|
||||
logoutd, mkpasswd, newgrp, newusers, passwd, pwck, pwconv, pwunconv, sg
|
||||
(link to newgrp), useradd, userdel, usermod, vigr (link to vipw) and vipw</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="chage">
|
||||
<term><command>chage</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow chage"><primary sortas="b-chage">chage</primary></indexterm>
|
||||
<para>is used to change the maximum number of
|
||||
days between obligatory password changes.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="chfn">
|
||||
<term><command>chfn</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow chfn"><primary sortas="b-chfn">chfn</primary></indexterm>
|
||||
<para>is used to change a user's full name and some other info.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="chpasswd">
|
||||
<term><command>chpasswd</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow chpasswd"><primary sortas="b-chpasswd">chpasswd</primary></indexterm>
|
||||
<para>is used to update the passwords of a
|
||||
whole series of user accounts in one go.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="chsh">
|
||||
<term><command>chsh</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow chsh"><primary sortas="b-chsh">chsh</primary></indexterm>
|
||||
<para>is used to change a user's default login shell.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="expiry">
|
||||
<term><command>expiry</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow expiry"><primary sortas="b-expiry">expiry</primary></indexterm>
|
||||
<para>checks and enforces the current password expiration policy.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="faillog">
|
||||
<term><command>faillog</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow faillog"><primary sortas="b-faillog">faillog</primary></indexterm>
|
||||
<para>is used to examine the log of login failures, to set a maximum number of
|
||||
failures before an account is blocked, or to reset the failure count.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gpasswd">
|
||||
<term><command>gpasswd</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow gpasswd"><primary sortas="b-gpasswd">gpasswd</primary></indexterm>
|
||||
<para>is used to add and delete members and administrators to groups.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="groupadd">
|
||||
<term><command>groupadd</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow groupadd"><primary sortas="b-groupadd">groupadd</primary></indexterm>
|
||||
<para>creates a group with the given name.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="groupdel">
|
||||
<term><command>groupdel</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow groupdel"><primary sortas="b-groupdel">groupdel</primary></indexterm>
|
||||
<para>deletes the group with the given name.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="groupmod">
|
||||
<term><command>groupmod</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow groupmod"><primary sortas="b-groupmod">groupmod</primary></indexterm>
|
||||
<para>is used to modify the given group's name or GID.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="groups">
|
||||
<term><command>groups</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow groups"><primary sortas="b-groups">groups</primary></indexterm>
|
||||
<para>reports the groups of which the given users are members.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="grpck">
|
||||
<term><command>grpck</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow grpck"><primary sortas="b-grpck">grpck</primary></indexterm>
|
||||
<para>verifies the integrity of the group files, <filename>/etc/group</filename>
|
||||
and <filename>/etc/gshadow</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="grpconv">
|
||||
<term><command>grpconv</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow grpconv"><primary sortas="b-grpconv">grpconv</primary></indexterm>
|
||||
<para>creates or updates the shadow group file from the normal group file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="grpunconv">
|
||||
<term><command>grpunconv</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow grpunconv"><primary sortas="b-grpunconv">grpunconv</primary></indexterm>
|
||||
<para>updates <filename>/etc/group</filename>
|
||||
from <filename>/etc/gshadow</filename> and then deletes the latter.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="lastlog">
|
||||
<term><command>lastlog</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow lastlog"><primary sortas="b-lastlog">lastlog</primary></indexterm>
|
||||
<para>reports the most recent login of all users, or of a given user.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="login">
|
||||
<term><command>login</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow login"><primary sortas="b-login">login</primary></indexterm>
|
||||
<para>is used by the system to let users sign on.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="logoutd">
|
||||
<term><command>logoutd</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow logoutd"><primary sortas="b-logoutd">logoutd</primary></indexterm>
|
||||
<para>is a daemon used to enforce restrictions on log-on time and ports.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mkpasswd">
|
||||
<term><command>mkpasswd</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow mkpasswd"><primary sortas="b-mkpasswd">mkpasswd</primary></indexterm>
|
||||
<para>encrypts the given password using the also given perturbation.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="newgrp">
|
||||
<term><command>newgrp</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow newgrp"><primary sortas="b-newgrp">newgrp</primary></indexterm>
|
||||
<para>is used to change the current GID during a login session.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="newusers">
|
||||
<term><command>newusers</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow newusers"><primary sortas="b-newusers">newusers</primary></indexterm>
|
||||
<para>is used to create or update a whole series of user accounts in one go.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="passwd">
|
||||
<term><command>passwd</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow passwd"><primary sortas="b-passwd">passwd</primary></indexterm>
|
||||
<para>is used to change the password for a user or group account.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pwck">
|
||||
<term><command>pwck</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow pwck"><primary sortas="b-pwck">pwck</primary></indexterm>
|
||||
<para>verifies the integrity of the password files,
|
||||
<filename>/etc/passwd</filename> and <filename>/etc/shadow</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pwconv">
|
||||
<term><command>pwconv</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow pwconv"><primary sortas="b-pwconv">pwconv</primary></indexterm>
|
||||
<para>creates or updates the shadow password file
|
||||
from the normal password file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pwunconv">
|
||||
<term><command>pwunconv</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow pwunconv"><primary sortas="b-pwunconv">pwunconv</primary></indexterm>
|
||||
<para>updates <filename>/etc/passwd</filename>
|
||||
from <filename>/etc/shadow</filename> and then deletes the latter.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="sg">
|
||||
<term><command>sg</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow sg"><primary sortas="b-sg">sg</primary></indexterm>
|
||||
<para>executes a given command while the user's GID
|
||||
is set to that of the given group.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="su">
|
||||
<term><command>su</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow su"><primary sortas="b-su">su</primary></indexterm>
|
||||
<para>runs a shell with substitute user and group IDs.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="useradd">
|
||||
<term><command>useradd</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow useradd"><primary sortas="b-useradd">useradd</primary></indexterm>
|
||||
<para>creates a new user with the given name,
|
||||
or updates the default new-user information.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="userdel">
|
||||
<term><command>userdel</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow userdel"><primary sortas="b-userdel">userdel</primary></indexterm>
|
||||
<para>deletes the given user account.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="usermod">
|
||||
<term><command>usermod</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow usermod"><primary sortas="b-usermod">usermod</primary></indexterm>
|
||||
<para>is used to modify the given user's login name, UID (User Identification),
|
||||
shell, initial group, home directory, and the like.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="vigr">
|
||||
<term><command>vigr</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow vigr"><primary sortas="b-vigr">vigr</primary></indexterm>
|
||||
<para>can be used to edit the <filename>/etc/group</filename> or
|
||||
<filename>/etc/gshadow</filename> files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="vipw">
|
||||
<term><command>vipw</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow vipw"><primary sortas="b-vipw">vipw</primary></indexterm>
|
||||
<para>can be used to edit the <filename>/etc/passwd</filename> or
|
||||
<filename>/etc/shadow</filename> files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libmisc">
|
||||
<term><filename class="libraryfile">libmisc</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow libmisc"><primary sortas="c-libmisc">libmisc</primary></indexterm>
|
||||
<para>...</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libshadow">
|
||||
<term><filename class="libraryfile">libshadow</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-shadow libshadow"><primary sortas="c-libshadow">libshadow</primary></indexterm>
|
||||
<para>contains functions used by most programs in this package.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -4,44 +4,21 @@
|
||||
<title>Stripping again</title>
|
||||
<?dbhtml filename="strippingagain.html"?>
|
||||
|
||||
<para>If you are not a programmer and don't plan to do any debugging on your
|
||||
system software, you can shrink your system 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 any more.</para>
|
||||
|
||||
<para>Most people who use the command mentioned below don't experience any
|
||||
problems. But it is easy to make a typo and render your new system unusable, so
|
||||
before running the strip command it is probably a good idea to make a backup of
|
||||
the current situation.</para>
|
||||
|
||||
<para>If you are going to perform the stripping, special care is needed to
|
||||
ensure you're not running any of the binaries that are about to be stripped.
|
||||
If you're not sure whether you entered chroot with the command given in
|
||||
<xref linkend="ch-system-chroot"/>, then first exit from chroot:</para>
|
||||
<para>Exit from chroot:</para>
|
||||
|
||||
<screen><userinput>logout</userinput></screen>
|
||||
|
||||
<para>Then reenter it with:</para>
|
||||
<para>Reenter with:</para>
|
||||
|
||||
<screen><userinput>chroot $LFS /tools/bin/env -i \
|
||||
HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
|
||||
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
|
||||
/tools/bin/bash --login</userinput></screen>
|
||||
|
||||
<para>Now you can safely strip the binaries and libraries:</para>
|
||||
<para>Strip the binaries and libraries:</para>
|
||||
|
||||
<screen><userinput>/tools/bin/find /{,usr/}{bin,lib,sbin} -type f \
|
||||
-exec /tools/bin/strip --strip-debug '{}' ';'</userinput></screen>
|
||||
|
||||
<para>A large number of files will be reported as having their file format not
|
||||
recognized. These warnings can be safely ignored, they just mean that those
|
||||
files are scripts instead of binaries, no harm is done.</para>
|
||||
|
||||
<para>If you are really tight on disk space, you may want to use
|
||||
<parameter>--strip-all</parameter> on the binaries in
|
||||
<filename class="directory">/{,usr/}{bin,sbin}</filename> to gain several more megabytes. But do
|
||||
<emphasis>not</emphasis> use this option on libraries: they would be
|
||||
destroyed.</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
|
@ -10,8 +10,6 @@
|
||||
<indexterm zone="ch-system-syslogng"><primary sortas="a-Syslogng">Syslog-ng</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Syslog-ng package contains programs for logging system messages, such
|
||||
as those given by the kernel when unusual things happen.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -19,10 +17,6 @@ as those given by the kernel when unusual things happen.</para>
|
||||
<seglistitem><seg>Unchecked</seg><seg>Unchecked</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Syslog-ng installation depends on</segtitle>
|
||||
<seglistitem><seg>Unchecked</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -44,14 +38,8 @@ as those given by the kernel when unusual things happen.</para>
|
||||
|
||||
|
||||
<sect2 id="conf-syslogng" role="configuration"><title>Configuring Syslog-ng</title>
|
||||
<indexterm zone="conf-syslogng">
|
||||
<primary sortas="a-Syslogng">Syslog-ng</primary>
|
||||
<secondary>configuring</secondary></indexterm>
|
||||
|
||||
<indexterm zone="conf-syslogng"><primary sortas="e-/etc/syslog-ng/syslog-ng.conf">/etc/syslog-ng/syslog-ng.conf</primary></indexterm>
|
||||
|
||||
<para>Create a new <filename>/etc/syslog-ng/syslog-ng.conf</filename> file by
|
||||
running the following:</para>
|
||||
<para>Create a <filename>/etc/syslog-ng/syslog-ng.conf</filename> file:</para>
|
||||
|
||||
<screen><userinput>mkdir -p /etc/syslog-ng
|
||||
cat > /etc/syslog-ng/syslog-ng.conf << "EOF"
|
||||
@ -133,25 +121,7 @@ EOF</userinput></screen>
|
||||
|
||||
<sect2 id="contents-syslogng" role="content"><title>Contents of Syslog-ng</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>Unchecked</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="syslog-ng">
|
||||
<term><command>syslog-ng</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-syslogng"><primary sortas="b-syslog-ng">syslog-ng</primary></indexterm>
|
||||
<para>logs the messages that system programs
|
||||
offer for logging. Every logged message contains at least a date stamp and a
|
||||
hostname, and normally the program's name too, but that depends on how
|
||||
trusting the logging daemon is told to be.</para>
|
||||
</listitem>
|
||||
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -28,13 +28,7 @@ running, and shutdown of your system.</para>
|
||||
<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 shouldn't 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, you can modify the source so that these messages read like
|
||||
<quote>Sending processes started by init the TERM signal</quote> instead:</para>
|
||||
<para>Issue a sed sustitution:</para>
|
||||
|
||||
<screen><userinput>sed -i 's@Sending processes@& started by init@g' \
|
||||
src/init.c</userinput></screen>
|
||||
@ -51,14 +45,8 @@ misinterpretation, you can modify the source so that these messages read like
|
||||
|
||||
|
||||
<sect2 id="conf-sysvinit" role="configuration"><title>Configuring Sysvinit</title>
|
||||
<indexterm zone="conf-sysvinit">
|
||||
<primary sortas="a-Sysvinit">Sysvinit</primary>
|
||||
<secondary>configuring</secondary></indexterm>
|
||||
|
||||
<indexterm zone="conf-sysvinit"><primary sortas="e-/etc/inittab">/etc/inittab</primary></indexterm>
|
||||
|
||||
<para>Create a new <filename>/etc/inittab</filename> file by running the
|
||||
following:</para>
|
||||
<para>Create a <filename>/etc/inittab</filename> file:</para>
|
||||
|
||||
<screen><userinput>cat > /etc/inittab << "EOF"
|
||||
# Begin /etc/inittab
|
||||
@ -89,172 +77,24 @@ su:S016:once:/sbin/sulogin
|
||||
# End /etc/inittab
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para> The <parameter>-I '\033(K'</parameter> switch tells <command>agetty</command> to send this escape sequence to
|
||||
the terminal before doing anything else. This escape sequence switches the
|
||||
console character set to a user-defined one, which can be modified by
|
||||
running the <command>setfont</command> program.
|
||||
Actually, the <command>console</command> initscript from the LFS-Bootscripts
|
||||
package calls the <command>setfont</command> program during system
|
||||
startup. Sending this escape sequence is necessary for
|
||||
people who use non-ISO-8859-1 screen font, but does not hurt native English
|
||||
speakers.</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
<sect2 id="contents-sysvinit" role="content"><title>Contents of Sysvinit</title>
|
||||
|
||||
<segmentedlist>
|
||||
<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>
|
||||
<para>See testing</para>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="halt">
|
||||
<term><command>halt</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-sysvinit halt"><primary sortas="b-halt">halt</primary></indexterm>
|
||||
<para>normally invokes <command>shutdown</command> with the <parameter>-h</parameter> flag,
|
||||
except when already in run-level 0, then it tells the kernel to halt the system.
|
||||
But first it notes in the file <filename>/var/log/wtmp</filename> that the
|
||||
system is being brought down.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="init">
|
||||
<term><command>init</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-sysvinit init"><primary sortas="b-init">init</primary></indexterm>
|
||||
<para>is the mother of all processes. It reads its
|
||||
commands from <filename>/etc/inittab</filename>, which normally tell it which
|
||||
scripts to run for which run-level, and how many gettys to spawn.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="killall5">
|
||||
<term><command>killall5</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-sysvinit killall5"><primary sortas="b-killall5">killall5</primary></indexterm>
|
||||
<para>sends a signal to all processes, except the processes in its own session --
|
||||
so it won't kill the shell running the script that called it.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="last">
|
||||
<term><command>last</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-sysvinit last"><primary sortas="b-last">last</primary></indexterm>
|
||||
<para>shows which users last logged in (and out),
|
||||
searching back through the file <filename>/var/log/wtmp</filename>. It can
|
||||
also show system boots and shutdowns, and run-level changes.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="lastb">
|
||||
<term><command>lastb</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-sysvinit lastb"><primary sortas="b-lastb">lastb</primary></indexterm>
|
||||
<para>shows the failed login attempts, as logged in
|
||||
<filename>/var/log/btmp</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mesg">
|
||||
<term><command>mesg</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-sysvinit mesg"><primary sortas="b-mesg">mesg</primary></indexterm>
|
||||
<para>controls whether other users can send
|
||||
messages to the current user's terminal.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<!-- This should be added to testing:
|
||||
|
||||
<varlistentry id="mountpoint">
|
||||
<term><command>mountpoint</command></term>
|
||||
<listitem>
|
||||
<para>Checks if the directory is a mountpoint</para>
|
||||
<indexterm zone="ch-system-sysvinit mountpoint"><primary sortas="b-mountpoint">mountpoint</primary></indexterm>
|
||||
<para>checks if the directory is a mountpoint.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pidof">
|
||||
<term><command>pidof</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-sysvinit pidof"><primary sortas="b-pidof">pidof</primary></indexterm>
|
||||
<para>reports the PIDs of the given programs.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="poweroff">
|
||||
<term><command>poweroff</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-sysvinit poweroff"><primary sortas="b-poweroff">poweroff</primary></indexterm>
|
||||
<para>tells the kernel to halt the system and
|
||||
switch off the computer. But see <command>halt</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="reboot">
|
||||
<term><command>reboot</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-sysvinit reboot"><primary sortas="b-reboot">reboot</primary></indexterm>
|
||||
<para>tells the kernel to reboot the system. But see <command>halt</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="runlevel">
|
||||
<term><command>runlevel</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-sysvinit runlevel"><primary sortas="b-runlevel">runlevel</primary></indexterm>
|
||||
<para>reports the previous and the current run-level, as noted in the last run-level
|
||||
record in <filename>/var/run/utmp</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="shutdown">
|
||||
<term><command>shutdown</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-sysvinit shutdown"><primary sortas="b-shutdown">shutdown</primary></indexterm>
|
||||
<para>brings the system down in a secure way,
|
||||
signaling all processes and notifying all logged-in users.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="sulogin">
|
||||
<term><command>sulogin</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-sysvinit sulogin"><primary sortas="b-sulogin">sulogin</primary></indexterm>
|
||||
<para>allows the superuser to log in. It is
|
||||
normally invoked by <command>init</command> when the system goes into single user mode.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="telinit">
|
||||
<term><command>telinit</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-sysvinit telinit"><primary sortas="b-telinit">telinit</primary></indexterm>
|
||||
<para>tells <command>init</command> which run-level to enter.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="utmpdump">
|
||||
<term><command>utmpdump</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-sysvinit utmpdump"><primary sortas="b-utmpdump">utmpdump</primary></indexterm>
|
||||
<para>displays the content of the given login file in a friendlier format.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="wall">
|
||||
<term><command>wall</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-sysvinit wall"><primary sortas="b-wall">wall</primary></indexterm>
|
||||
<para>writes a message to all logged-in users.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
-->
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-tar"><primary sortas="a-Tar">Tar</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Tar package contains an archiving program.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,11 +17,6 @@
|
||||
<seglistitem><seg>0.2 SBU</seg><seg>10 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Tar installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils,
|
||||
Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
@ -48,30 +42,7 @@ Diffutils, GCC, Gettext, Glibc, Grep, Make, Sed</seg></seglistitem>
|
||||
|
||||
<sect2 id="contents-tar" role="content"><title>Contents of Tar</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>rmt and tar</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="rmt">
|
||||
<term><command>rmt</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-tar rmt"><primary sortas="b-rmt">rmt</primary></indexterm>
|
||||
<para>is used to remotely manipulate a magnetic
|
||||
tape drive, through an interprocess communication connection.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tar">
|
||||
<term><command>tar</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-tar tar"><primary sortas="b-tar">tar</primary></indexterm>
|
||||
<para>is used to create and extract files from archives, also known as tarballs.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,8 +10,6 @@
|
||||
<indexterm zone="ch-system-texinfo"><primary sortas="a-Texinfo">Texinfo</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Texinfo package contains programs for reading, writing, and
|
||||
converting Info documents.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -19,19 +17,12 @@ converting Info documents.</para>
|
||||
<seglistitem><seg>0.2 SBU</seg><seg>17 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Texinfo installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils,
|
||||
Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Texinfo</title>
|
||||
|
||||
<para>Prepare Texinfo for compilation:</para>
|
||||
|
||||
<para>The patch listed below fixes a known segfault in texinfo:</para>
|
||||
<para>Apply a patch:</para>
|
||||
|
||||
<screen><userinput>patch -Np1 -i ../texinfo-&texinfo-version;-segfault-1.patch</userinput></screen>
|
||||
|
||||
@ -54,24 +45,8 @@ Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed</seg></seglistitem>
|
||||
|
||||
<screen><userinput>make TEXMF=/usr/share/texmf install-tex</userinput></screen>
|
||||
|
||||
<para>The meaning of the make parameter:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>TEXMF=/usr/share/texmf</parameter></term>
|
||||
<listitem><para>The TEXMF
|
||||
makefile variable holds the location of the root of your TeX tree if, for
|
||||
example, you plan to install a TeX package later on.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>The Info documentation system uses a plain text file to hold its list of
|
||||
menu entries. The file is located at <filename>/usr/share/info/dir</filename>.
|
||||
Unfortunately, due to occasional problems in the Makefiles of various packages,
|
||||
it can sometimes get out of step with the Info manuals actually installed on the
|
||||
system. If ever you need to recreate the
|
||||
<filename>/usr/share/info/dir</filename> file, the following optional commands
|
||||
will accomplish the task:</para>
|
||||
<para>If ever you need to recreate the
|
||||
<filename>/usr/share/info/dir</filename> file, run this:</para>
|
||||
|
||||
<screen><userinput>cd /usr/share/info
|
||||
rm dir
|
||||
@ -84,68 +59,7 @@ done</userinput></screen>
|
||||
|
||||
<sect2 id="contents-texinfo" role="content"><title>Contents of Texinfo</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>info, infokey, install-info,
|
||||
makeinfo, texi2dvi and texindex</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="info">
|
||||
<term><command>info</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-texinfo info"><primary sortas="b-info">info</primary></indexterm>
|
||||
<para>is used to read Info documents. Info
|
||||
documents are a bit like man pages, but often go much deeper than just
|
||||
explaining all the flags. Compare for example <command>man tar</command>
|
||||
and <command>info tar</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="infokey">
|
||||
<term><command>infokey</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-texinfo infokey"><primary sortas="b-infokey">infokey</primary></indexterm>
|
||||
<para>compiles a source file containing Info
|
||||
customizations into a binary format.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="install-info">
|
||||
<term><command>install-info</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-texinfo install-info"><primary sortas="b-install-info">install-info</primary></indexterm>
|
||||
<para>is used to install Info files. It updates entries in the Info index file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="makeinfo">
|
||||
<term><command>makeinfo</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-texinfo makeinfo"><primary sortas="b-makeinfo">makeinfo</primary></indexterm>
|
||||
<para>translates the given Texinfo source
|
||||
documents into various other formats: Info files, plain text, or HTML.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="texi2dvi">
|
||||
<term><command>texi2dvi</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-texinfo texi2dvi"><primary sortas="b-texi2dvi">texi2dvi</primary></indexterm>
|
||||
<para>is used to format the given Texinfo
|
||||
document into a device-independent file that can be printed.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="texindex">
|
||||
<term><command>texindex</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-texinfo texindex"><primary sortas="b-texindex">texindex</primary></indexterm>
|
||||
<para>is used to sort Texinfo index files.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-udev"><primary sortas="a-Udev">Udev</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Udev package contains programs for dynamic creation of device nodes.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -27,26 +26,16 @@
|
||||
|
||||
<screen><userinput>make udevdir=/dev</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>udevdir=/dev</parameter></term>
|
||||
<listitem><para>This tells <command>udev</command> which directory it is to
|
||||
create device nodes in.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Install it:</para>
|
||||
|
||||
<screen><userinput>make udevdir=/dev install</userinput></screen>
|
||||
|
||||
<para>Udev's configuration is far from ideal by default, so we install our own
|
||||
configuration files here:</para>
|
||||
<para>Install our configuration files:</para>
|
||||
|
||||
<screen><userinput>cp ../udev-config-2.permissions /etc/udev/permissions.d/25-lfs.permissions
|
||||
cp ../udev-config-1.rules /etc/udev/rules.d/25-lfs.rules</userinput></screen>
|
||||
|
||||
<para>Finally, we'll allow udev to create the full compliment of device
|
||||
nodes, since earlier we only created a minimal set.</para>
|
||||
<para>Create the full compliment of device nodes:</para>
|
||||
|
||||
<screen><userinput>/sbin/udevstart</userinput></screen>
|
||||
|
||||
@ -55,86 +44,8 @@ nodes, since earlier we only created a minimal set.</para>
|
||||
|
||||
<sect2 id="contents-udev" role="content"><title>Contents of Udev</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>udev, udevd, udevsend, udevstart, udevinfo, udevtest</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
<para>See testing</para>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="udev">
|
||||
<term><command>udev</command></term>
|
||||
<listitem><indexterm zone="ch-system-udev udev"><primary
|
||||
sortas="b-udev">udev</primary></indexterm>
|
||||
<para>is used to create device nodes in <filename
|
||||
class="directory">/dev</filename> or to rename network interfaces (not in LFS)
|
||||
in response to hotplug events.</para>
|
||||
</listitem></varlistentry>
|
||||
|
||||
<varlistentry id="udevd">
|
||||
<term><command>udevd</command></term>
|
||||
<listitem> <indexterm zone="ch-system-udev udevd"><primary
|
||||
sortas="b-udevd">udevd</primary></indexterm>
|
||||
<para>is a daemon that reorders hotplug events before submitting them to
|
||||
<command>udev</command>,
|
||||
thus avoiding various race conditions.</para>
|
||||
</listitem></varlistentry>
|
||||
|
||||
<varlistentry id="udevsend">
|
||||
<term><command>udevsend</command></term>
|
||||
<listitem> <indexterm zone="ch-system-udev udevsend"><primary
|
||||
sortas="b-udevsend">udevsend</primary></indexterm>
|
||||
<para>is used to deliver hotplug events to <command>udevd</command>.</para>
|
||||
</listitem></varlistentry>
|
||||
|
||||
<varlistentry id="udevstart">
|
||||
<term><command>udevstart</command></term>
|
||||
<listitem> <indexterm zone="ch-system-udev udevstart"><primary
|
||||
sortas="b-udevstart">udevstart</primary></indexterm>
|
||||
<para>is used to create device nodes in <filename
|
||||
class="directory">/dev</filename> that correspond to drivers compiled directly
|
||||
into the kernel. It performs that task by simulating hotplug events presumably
|
||||
dropped by the kernel before invocation of this program (e.g. because the root
|
||||
filesystem has not been mounted) and submitting such synthetic hotplug events
|
||||
to <command>udev</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="udevinfo">
|
||||
<term><command>udevinfo</command></term>
|
||||
<listitem> <indexterm zone="ch-system-udev udevinfo"><primary
|
||||
sortas="b-udevinfo">udevinfo</primary></indexterm>
|
||||
<para>allows users to query the <command>udev</command> database for
|
||||
information on any device currently present on the system. It also
|
||||
provides a way to query any device in the sysfs tree to help creating udev
|
||||
rules.</para>
|
||||
</listitem></varlistentry>
|
||||
|
||||
<varlistentry id="udevtest">
|
||||
<term><command>udevtest</command></term>
|
||||
<listitem> <indexterm zone="ch-system-udev udevtest"><primary
|
||||
sortas="b-udevtest">udevtest</primary></indexterm>
|
||||
<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
|
||||
have created, or (not in LFS) the name of the renamed network interface.</para>
|
||||
</listitem></varlistentry>
|
||||
|
||||
<varlistentry id="etc-dev-d">
|
||||
<term><filename class="directory">/etc/dev.d</filename></term>
|
||||
<listitem> <indexterm zone="ch-system-udev etc-dev-d"><primary
|
||||
sortas="e-etc-dev-d">/etc/dev.d</primary></indexterm>
|
||||
<para>directory is supposed to contain user-written handlers for device
|
||||
creation hotplug events.</para>
|
||||
</listitem></varlistentry>
|
||||
|
||||
<varlistentry id="etc-udev">
|
||||
<term><filename class="directory">/etc/udev</filename></term>
|
||||
<listitem> <indexterm zone="ch-system-udev etc-udev"><primary
|
||||
sortas="e-etc-udev">/etc/udev</primary></indexterm>
|
||||
<para>directory contains <command>udev</command> configuration files,
|
||||
device permissions and rules for device naming.</para>
|
||||
</listitem></varlistentry>
|
||||
</variablelist>
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
||||
|
@ -10,9 +10,6 @@
|
||||
<indexterm zone="ch-system-util-linux"><primary sortas="a-Util-linux">Util-linux</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Util-linux package contains miscellaneous utility programs. Among
|
||||
them are utilities for handling file systems, consoles, partitions, and
|
||||
messages.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -20,20 +17,12 @@ messages.</para>
|
||||
<seglistitem><seg>0.2 SBU</seg><seg>16 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Util-linux installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils,
|
||||
Diffutils, GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed, Zlib</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>FHS compliance notes</title>
|
||||
|
||||
<para>The FHS recommends that we use <filename class="directory">/var/lib/hwclock</filename>,
|
||||
instead of the usual <filename class="directory">/etc</filename>, as the location for the
|
||||
<filename>adjtime</filename> file. To make the <command>hwclock</command>
|
||||
program FHS-compliant, run the following:</para>
|
||||
<para>Issue a sed sustitution:</para>
|
||||
|
||||
<screen><userinput>sed -i 's@etc/adjtime@var/lib/hwclock/adjtime@g' hwclock/hwclock.c
|
||||
mkdir -p /var/lib/hwclock</userinput></screen>
|
||||
@ -51,25 +40,6 @@ mkdir -p /var/lib/hwclock</userinput></screen>
|
||||
|
||||
<screen><userinput>make HAVE_KILL=yes HAVE_SLN=yes</userinput></screen>
|
||||
|
||||
<para>The meaning of the make parameters:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><parameter>HAVE_KILL=yes</parameter></term>
|
||||
<listitem><para>This prevents the
|
||||
<command>kill</command> program (already installed by Procps) from being
|
||||
built and installed again.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>HAVE_SLN=yes</parameter></term>
|
||||
<listitem><para>This prevents the
|
||||
<command>sln</command> program (a statically linked
|
||||
<command>ln</command> already installed by Glibc) from being built and
|
||||
installed again.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Now install the package:</para>
|
||||
|
||||
<screen><userinput>make HAVE_KILL=yes HAVE_SLN=yes install</userinput></screen>
|
||||
@ -79,527 +49,7 @@ installed again.</para></listitem>
|
||||
|
||||
<sect2 id="contents-utillinux" role="content"><title>Contents of Util-linux</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<seglistitem><seg>agetty, arch, blockdev, cal, cfdisk, chkdupexe, col, colcrt,
|
||||
colrm, column, ctrlaltdel, cytune, ddate, dmesg, elvtune, fdformat, fdisk,
|
||||
fsck.cramfs, fsck.minix, getopt, hexdump, hwclock, ipcrm, ipcs, isosize, line,
|
||||
logger, look, losetup, mcookie, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap,
|
||||
more, mount, namei, pg, pivot_root, ramsize (link to rdev), raw, rdev, readprofile,
|
||||
rename, renice, rev, rootflags (link to rdev), script, setfdprm, setsid, setterm,
|
||||
sfdisk, swapoff (link to swapon), swapon, tunelp, ul, umount, vidmode (link to rdev),
|
||||
whereis and write</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="agetty">
|
||||
<term><command>agetty</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux agetty"><primary sortas="b-agetty">agetty</primary></indexterm>
|
||||
<para>opens a tty port, prompts for a login name,
|
||||
and then invokes the <command>login</command> program.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="arch">
|
||||
<term><command>arch</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux arch"><primary sortas="b-arch">arch</primary></indexterm>
|
||||
<para>reports the machine's architecture.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="blockdev">
|
||||
<term><command>blockdev</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux blockdev"><primary sortas="b-blockdev">blockdev</primary></indexterm>
|
||||
<para>allows you to call block device ioctls from the command line.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="cal">
|
||||
<term><command>cal</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux cal"><primary sortas="b-cal">cal</primary></indexterm>
|
||||
<para>displays a simple calendar.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="cfdisk">
|
||||
<term><command>cfdisk</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux cfdisk"><primary sortas="b-cfdisk">cfdisk</primary></indexterm>
|
||||
<para>is used to manipulate the partition table of the given device.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="chkdupexe">
|
||||
<term><command>chkdupexe</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux chkdupexe"><primary sortas="b-chkdupexe">chkdupexe</primary></indexterm>
|
||||
<para>finds duplicate executables.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="col">
|
||||
<term><command>col</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux col"><primary sortas="b-col">col</primary></indexterm>
|
||||
<para>filters out reverse line feeds.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="colcrt">
|
||||
<term><command>colcrt</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux colcrt"><primary sortas="b-colcrt">colcrt</primary></indexterm>
|
||||
<para>is used to filter nroff output for terminals
|
||||
that lack some capabilities such as overstriking and half-lines.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="colrm">
|
||||
<term><command>colrm</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux colrm"><primary sortas="b-colrm">colrm</primary></indexterm>
|
||||
<para>filters out the given columns.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="column">
|
||||
<term><command>column</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux column"><primary sortas="b-column">column</primary></indexterm>
|
||||
<para>formats a given file into multiple columns.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ctrlaltdel">
|
||||
<term><command>ctrlaltdel</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux ctrlaltdel"><primary sortas="b-ctrlaltdel">ctrlaltdel</primary></indexterm>
|
||||
<para>sets the function of the Ctrl+Alt+Del key combination to a hard or a
|
||||
soft reset.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="cytune">
|
||||
<term><command>cytune</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux cytune"><primary sortas="b-cytune">cytune</primary></indexterm>
|
||||
<para>was used to tune the parameters of the
|
||||
serial line drivers for Cyclades cards.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ddate">
|
||||
<term><command>ddate</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux ddate"><primary sortas="b-ddate">ddate</primary></indexterm>
|
||||
<para>gives the Discordian date, or converts the
|
||||
given Gregorian date to a Discordian one.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="dmesg">
|
||||
<term><command>dmesg</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux dmesg"><primary sortas="b-dmesg">dmesg</primary></indexterm>
|
||||
<para>dumps the kernel boot messages.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="elvtune">
|
||||
<term><command>elvtune</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux elvtune"><primary sortas="b-elvtune">elvtune</primary></indexterm>
|
||||
<para>can be used to tune the performance
|
||||
and interactivity of a block device.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="fdformat">
|
||||
<term><command>fdformat</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux fdformat"><primary sortas="b-fdformat">fdformat</primary></indexterm>
|
||||
<para>low-level formats a floppy disk.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="fdisk">
|
||||
<term><command>fdisk</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux fdisk"><primary sortas="b-fdisk">fdisk</primary></indexterm>
|
||||
<para>could be used to manipulate the partition table of the given device.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="fsck.cramfs">
|
||||
<term><command>fsck.cramfs</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux fsck.cramfs"><primary sortas="b-fsck.cramfs">fsck.cramfs</primary></indexterm>
|
||||
<para>performs a consistency check on the
|
||||
Cramfs file system on the given device.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="fsck.minix">
|
||||
<term><command>fsck.minix</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux fsck.minix"><primary sortas="b-fsck.minix">fsck.minix</primary></indexterm>
|
||||
<para>performs a consistency check on the
|
||||
Minix file system on the given device.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="getopt">
|
||||
<term><command>getopt</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux getopt"><primary sortas="b-getopt">getopt</primary></indexterm>
|
||||
<para>parses options in the given command line.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="hexdump">
|
||||
<term><command>hexdump</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux hexdump"><primary sortas="b-hexdump">hexdump</primary></indexterm>
|
||||
<para>dumps the given file in hexadecimal, or in another given format.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="hwclock">
|
||||
<term><command>hwclock</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux hwclock"><primary sortas="b-hwclock">hwclock</primary></indexterm>
|
||||
<para>is used to read or set the system's hardware clock, also called the RTC
|
||||
(Real-Time Clock) or BIOS (Basic Input-Output System) clock.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ipcrm">
|
||||
<term><command>ipcrm</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux ipcrm"><primary sortas="b-ipcrm">ipcrm</primary></indexterm>
|
||||
<para>removes the given IPC resource.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ipcs">
|
||||
<term><command>ipcs</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux ipcs"><primary sortas="b-ipcs">ipcs</primary></indexterm>
|
||||
<para>provides IPC status information.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="isosize">
|
||||
<term><command>isosize</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux isosize"><primary sortas="b-isosize">isosize</primary></indexterm>
|
||||
<para>reports the size of an iso9660 file system.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="line">
|
||||
<term><command>line</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux line"><primary sortas="b-line">line</primary></indexterm>
|
||||
<para>copies a single line.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="logger">
|
||||
<term><command>logger</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux logger"><primary sortas="b-logger">logger</primary></indexterm>
|
||||
<para>enters the given message into the system log.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="look">
|
||||
<term><command>look</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux look"><primary sortas="b-look">look</primary></indexterm>
|
||||
<para>displays lines that begin with the given string.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="losetup">
|
||||
<term><command>losetup</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux losetup"><primary sortas="b-losetup">losetup</primary></indexterm>
|
||||
<para>is used to set up and control loop devices.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mcookie">
|
||||
<term><command>mcookie</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux mcookie"><primary sortas="b-mcookie">mcookie</primary></indexterm>
|
||||
<para>generates magic cookies, 128-bit random hexadecimal numbers,
|
||||
for <command>xauth</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mkfs">
|
||||
<term><command>mkfs</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux mkfs"><primary sortas="b-mkfs">mkfs</primary></indexterm>
|
||||
<para>is used to build a file system on a device
|
||||
(usually a hard disk partition).</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mkfs.bfs">
|
||||
<term><command>mkfs.bfs</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux mkfs.bfs"><primary sortas="b-mkfs.bfs">mkfs.bfs</primary></indexterm>
|
||||
<para>creates an SCO (Santa Cruz Operations) bfs file system.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mkfs.cramfs">
|
||||
<term><command>mkfs.cramfs</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux mkfs.cramfs"><primary sortas="b-mkfs.cramfs">mkfs.cramfs</primary></indexterm>
|
||||
<para>creates a cramfs file system.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mkfs.minix">
|
||||
<term><command>mkfs.minix</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux mkfs.minix"><primary sortas="b-mkfs.minix">mkfs.minix</primary></indexterm>
|
||||
<para>creates a Minix file system.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mkswap">
|
||||
<term><command>mkswap</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux mkswap"><primary sortas="b-mkswap">mkswap</primary></indexterm>
|
||||
<para>initializes the given device or file to be used as a swap area.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="more">
|
||||
<term><command>more</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux more"><primary sortas="b-more">more</primary></indexterm>
|
||||
<para>is a filter for paging through text one
|
||||
screen full at a time. But <command>less</command> is much better.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mount">
|
||||
<term><command>mount</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux mount"><primary sortas="b-mount">mount</primary></indexterm>
|
||||
<para>attaches the file system on the given device to a specified directory (thus
|
||||
hiding the contents of that directory) in the file-system tree.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="namei">
|
||||
<term><command>namei</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux namei"><primary sortas="b-namei">namei</primary></indexterm>
|
||||
<para>shows the symbolic links in the given pathnames.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pg">
|
||||
<term><command>pg</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux pg"><primary sortas="b-pg">pg</primary></indexterm>
|
||||
<para>displays a text file one screen full at a time.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pivot_root">
|
||||
<term><command>pivot_root</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux pivot_root"><primary sortas="b-pivot_root">pivot_root</primary></indexterm>
|
||||
<para>makes the given file system the new
|
||||
root file system of the current process.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ramsize">
|
||||
<term><command>ramsize</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux ramsize"><primary sortas="b-ramsize">ramsize</primary></indexterm>
|
||||
<para>is used to set the size of the RAM disk in a bootable image.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="rdev">
|
||||
<term><command>rdev</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux rdev"><primary sortas="b-rdev">rdev</primary></indexterm>
|
||||
<para>is used to query and set the root
|
||||
device and other things in a bootable image.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="readprofile">
|
||||
<term><command>readprofile</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux readprofile"><primary sortas="b-readprofile">readprofile</primary></indexterm>
|
||||
<para>reads kernel profiling information.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="rename">
|
||||
<term><command>rename</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux rename"><primary sortas="b-rename">rename</primary></indexterm>
|
||||
<para>renames the given files, replacing a given string with another.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="renice">
|
||||
<term><command>renice</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux renice"><primary sortas="b-renice">renice</primary></indexterm>
|
||||
<para>is used to alter the priority of running processes.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="rev">
|
||||
<term><command>rev</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux rev"><primary sortas="b-rev">rev</primary></indexterm>
|
||||
<para>reverses the lines of a given file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="rootflags">
|
||||
<term><command>rootflags</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux rootflags"><primary sortas="b-rootflags">rootflags</primary></indexterm>
|
||||
<para>is used to set the rootflags in a bootable image.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="script">
|
||||
<term><command>script</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux script"><primary sortas="b-script">script</primary></indexterm>
|
||||
<para>makes a typescript of a terminal session, of everything printed to
|
||||
the terminal.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="setfdprm">
|
||||
<term><command>setfdprm</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux setfdprm"><primary sortas="b-setfdprm">setfdprm</primary></indexterm>
|
||||
<para>sets user-provided floppy disk parameters.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="setsid">
|
||||
<term><command>setsid</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux setsid"><primary sortas="b-setsid">setsid</primary></indexterm>
|
||||
<para>runs the given program in a new session.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="setterm">
|
||||
<term><command>setterm</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux setterm"><primary sortas="b-setterm">setterm</primary></indexterm>
|
||||
<para>is used to set terminal attributes.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="sfdisk">
|
||||
<term><command>sfdisk</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux sfdisk"><primary sortas="b-sfdisk">sfdisk</primary></indexterm>
|
||||
<para>is a disk partition table manipulator.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="swapdev">
|
||||
<term><command>swapdev</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux swapdev"><primary sortas="b-swapdev">swapdev</primary></indexterm>
|
||||
<para>is used to set the swap device in a bootable image.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="swapoff">
|
||||
<term><command>swapoff</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux swapoff"><primary sortas="b-swapoff">swapoff</primary></indexterm>
|
||||
<para>disables devices and files for paging and swapping.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="swapon">
|
||||
<term><command>swapon</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux swapon"><primary sortas="b-swapon">swapon</primary></indexterm>
|
||||
<para>enables devices and files for paging and swapping.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tunelp">
|
||||
<term><command>tunelp</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux tunelp"><primary sortas="b-tunelp">tunelp</primary></indexterm>
|
||||
<para>is used to tune the parameters of the line printer.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ul">
|
||||
<term><command>ul</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux ul"><primary sortas="b-ul">ul</primary></indexterm>
|
||||
<para>is a filter for translating underscores into
|
||||
escape sequences indicating underlining for the terminal in use.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="umount">
|
||||
<term><command>umount</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux umount"><primary sortas="b-umount">umount</primary></indexterm>
|
||||
<para>disconnects a file system from the system's file tree.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="vidmode">
|
||||
<term><command>vidmode</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux vidmode"><primary sortas="b-vidmode">vidmode</primary></indexterm>
|
||||
<para>could be used to set the video mode in a bootable image.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="whereis">
|
||||
<term><command>whereis</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux whereis"><primary sortas="b-whereis">whereis</primary></indexterm>
|
||||
<para>reports the location of binary, the
|
||||
source, and the manual page for the given command.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="write">
|
||||
<term><command>write</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-util-linux write"><primary sortas="b-write">write</primary></indexterm>
|
||||
<para>sends a message to the given user,
|
||||
<emphasis>if</emphasis> that user has not disabled such messages.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
<indexterm zone="ch-system-vim"><primary sortas="a-Vim">Vim</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Vim package contains a powerful text editor.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -18,28 +17,12 @@
|
||||
<seglistitem><seg>0.4 SBU</seg><seg>34 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Vim installation depends on</segtitle>
|
||||
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
|
||||
GCC, Glibc, Grep, Make, Ncurses, Sed</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<tip>
|
||||
<title>Alternatives to Vim</title>
|
||||
<para>If you prefer another editor -- like Emacs, Joe, or Nano -- to Vim,
|
||||
have a look at <ulink url="&blfs-root;view/stable/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 locations of the <filename>vimrc</filename> and
|
||||
<filename>gvimrc</filename> configuration files to <filename class="directory">/etc</filename>.</para>
|
||||
<para>Change the default locations of the configuration files:</para>
|
||||
|
||||
<screen><userinput>echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h
|
||||
echo '#define SYS_GVIMRC_FILE "/etc/gvimrc"' >> src/feature.h</userinput></screen>
|
||||
@ -48,55 +31,27 @@ echo '#define SYS_GVIMRC_FILE "/etc/gvimrc"' >> src/feature.h</userinput><
|
||||
|
||||
<screen><userinput>./configure --prefix=/usr --enable-multibyte</userinput></screen>
|
||||
|
||||
<para>The optional but highly recommended
|
||||
<parameter>--enable-multibyte</parameter> switch
|
||||
includes support for editing files in multibyte character encodings into
|
||||
<command>vim</command>.
|
||||
It is needed for those people who ignore our recommendation not to
|
||||
use LFS in locales with multibyte character sets. It is also needed for
|
||||
people who want to be able to edit text files initially created
|
||||
in Linux distributions like Fedora Core
|
||||
that use UTF-8 as a default character set.</para>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput>make</userinput></screen>
|
||||
|
||||
<para>To test the results, you can issue:
|
||||
<userinput>make test</userinput>. However, this test suite outputs a lot of
|
||||
seemingly garbage characters to the screen, and this can wreak havoc with the
|
||||
settings of the current terminal. Therefore the running of the test suite here
|
||||
is strictly optional.</para>
|
||||
<para>To test the results, issue:
|
||||
<userinput>make test</userinput></para>
|
||||
|
||||
<para>Now install the package:</para>
|
||||
|
||||
<screen><userinput>make install</userinput></screen>
|
||||
|
||||
<para>Many users are used to using <command>vi</command>, instead of
|
||||
<command>vim</command>. To let them execute <command>vim</command> when
|
||||
they habitually enter <command>vi</command>, create a symlink:</para>
|
||||
<para>Create a symlink:</para>
|
||||
|
||||
<screen><userinput>ln -s vim /usr/bin/vi</userinput></screen>
|
||||
|
||||
<para>If you are going to install the X Window System on your LFS system, you
|
||||
may want to re-compile Vim after having installed X. Vim comes with a nice GUI
|
||||
version of the editor that requires X and a few other libraries to be
|
||||
installed. For more information read the Vim documentation.</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
<sect2 id="conf-vim" role="configuration"><title>Configuring Vim</title>
|
||||
<indexterm zone="conf-vim"><primary sortas="e-/etc/vim">/etc/vim</primary></indexterm>
|
||||
|
||||
<para>By default, <command>vim</command> runs in vi-incompatible mode. Some
|
||||
people might not like this, but we prefer to run <command>vim</command> in its
|
||||
own mode (else we wouldn't have included it in this book, but the original
|
||||
<command>vi</command>). We've included the setting of <quote>nocompatible</quote>
|
||||
below to high-light the fact that the new behavior is being used. It
|
||||
also reminds those who would change to <quote>compatible</quote> mode that it should
|
||||
appear first because it changes other settings and overrides must come
|
||||
after this setting. Create a default vim configuration file by running
|
||||
<para>Create a default vim configuration file by running
|
||||
the following:</para>
|
||||
|
||||
<screen><userinput>cat > /etc/vimrc << "EOF"
|
||||
@ -113,13 +68,6 @@ endif
|
||||
" End /etc/vimrc
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>The <parameter>set nocompatible</parameter> makes
|
||||
<command>vim</command> behave in a more useful way (the default) than the
|
||||
vi-compatible manner. Remove the <quote>no</quote> if you want the old <command>vi</command>
|
||||
behavior. The <parameter>set backspace=2</parameter> allows
|
||||
backspacing over line breaks, autoindents and the start of insert. The
|
||||
<parameter>syntax on</parameter> enables <command>vim</command>'s
|
||||
syntax highliting.
|
||||
<!-- XXX: the ascii-only files are considered to be in utf-8 - that's not what
|
||||
one expects . That's why fileencodings stuff is commented out for now
|
||||
|
||||
@ -133,12 +81,6 @@ like Fedora Core use UTF-8, and conservative ones like Debian
|
||||
use traditional 8-bit encodings for text files. If you have not
|
||||
passed the <parameter>- -enable-multibyte</parameter> switch to the
|
||||
<command>./configure</command> command above, this line will not work. -->
|
||||
Finally, the <emphasis>if</emphasis> statement with the
|
||||
<parameter>set background=dark</parameter> corrects <command>vim</command>'s
|
||||
guess about the background color of some terminal emulators. This gives the
|
||||
highliting a better color scheme for use on the black background of
|
||||
these programs.
|
||||
</para>
|
||||
|
||||
<para>Documentation for other available options can be obtained by running
|
||||
the following command:</para>
|
||||
@ -150,182 +92,7 @@ the following command:</para>
|
||||
|
||||
<sect2 id="contents-vim" role="content"><title>Contents of Vim</title>
|
||||
|
||||
<segmentedlist>
|
||||
<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><title>Short descriptions</title>
|
||||
|
||||
<varlistentry id="efm_filter.pl">
|
||||
<term><command>efm_filter.pl</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-vim efm_filter.pl"><primary sortas="b-efm_filter.pl">efm_filter.pl</primary></indexterm>
|
||||
<para>is a filter for creating an error file that can be read by <command>vim</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="efm_perl.pl">
|
||||
<term><command>efm_perl.pl</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-vim efm_perl.pl"><primary sortas="b-efm_perl.pl">efm_perl.pl</primary></indexterm>
|
||||
<para>reformats the error messages of the
|
||||
Perl interpreter for use with the <quote>quickfix</quote> mode of <command>vim</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ex">
|
||||
<term><command>ex</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-vim ex"><primary sortas="b-ex">ex</primary></indexterm>
|
||||
<para>starts <command>vim</command> in ex mode.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="less.sh">
|
||||
<term><command>less.sh</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-vim less.sh"><primary sortas="b-less.sh">less.sh</primary></indexterm>
|
||||
<para>is a script that starts <command>vim</command> with less.vim.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mve.awk">
|
||||
<term><command>mve.awk</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-vim mve.awk"><primary sortas="b-mve.awk">mve.awk</primary></indexterm>
|
||||
<para>processes <command>vim</command> errors.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="pltags.pl">
|
||||
<term><command>pltags.pl</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-vim pltags.pl"><primary sortas="b-pltags.pl">pltags.pl</primary></indexterm>
|
||||
<para>creates a tags file for Perl code, for use by <command>vim</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ref">
|
||||
<term><command>ref</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-vim ref"><primary sortas="b-ref">ref</primary></indexterm>
|
||||
<para>checks the spelling of arguments.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="rview">
|
||||
<term><command>rview</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-vim rview"><primary sortas="b-rview">rview</primary></indexterm>
|
||||
<para>is a restricted version of <command>view</command>: no shell
|
||||
commands can be started and <command>view</command> can't be suspended.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="rvim">
|
||||
<term><command>rvim</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-vim rvim"><primary sortas="b-rvim">rvim</primary></indexterm>
|
||||
<para>is a restricted version of <command>vim</command>: no shell
|
||||
commands can be started and <command>vim</command> can't be suspended.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="shtags.pl">
|
||||
<term><command>shtags.pl</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-vim shtags.pl"><primary sortas="b-shtags.pl">shtags.pl</primary></indexterm>
|
||||
<para>generates a tag file for Perl scripts.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tcltags">
|
||||
<term><command>tcltags</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-vim tcltags"><primary sortas="b-tcltags">tcltags</primary></indexterm>
|
||||
<para>generates a tag file for TCL code.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="view">
|
||||
<term><command>view</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-vim view"><primary sortas="b-view">view</primary></indexterm>
|
||||
<para>starts <command>vim</command> in read-only mode.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="vim">
|
||||
<term><command>vim</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-vim vim"><primary sortas="b-vim">vim</primary></indexterm>
|
||||
<para>is the editor.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="vim132">
|
||||
<term><command>vim132</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-vim vim132"><primary sortas="b-vim132">vim132</primary></indexterm>
|
||||
<para>starts <command>vim</command> with the terminal in 132-column mode.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="vim2html.pl">
|
||||
<term><command>vim2html.pl</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-vim vim2html.pl"><primary sortas="b-vim2html.pl">vim2html.pl</primary></indexterm>
|
||||
<para>converts Vim documentation to HTML.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="vimdiff">
|
||||
<term><command>vimdiff</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-vim vimdiff"><primary sortas="b-vimdiff">vimdiff</primary></indexterm>
|
||||
<para>edits two or three versions of a file with <command>vim</command> and show differences.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="vimm">
|
||||
<term><command>vimm</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-vim vimm"><primary sortas="b-vimm">vimm</primary></indexterm>
|
||||
<para>enables the DEC locator input model on a remote terminal.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="vimspell.sh">
|
||||
<term><command>vimspell.sh</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-vim vimspell.sh"><primary sortas="b-vimspell.sh">vimspell.sh</primary></indexterm>
|
||||
<para>is a script which spells a file and generates the syntax statements necessary
|
||||
to highlight in <command>vim</command>. This script requires the old Unix <command>spell</command>
|
||||
command, which is provided neither in LFS nor in BLFS.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="vimtutor">
|
||||
<term><command>vimtutor</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-vim vimtutor"><primary sortas="b-vimtutor">vimtutor</primary></indexterm>
|
||||
<para>teaches you the basic keys and commands of <command>vim</command>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="xxd">
|
||||
<term><command>xxd</command></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-vim xxd"><primary sortas="b-xxd">xxd</primary></indexterm>
|
||||
<para>makes a hex dump of the given file. It can
|
||||
also do the reverse, so it can be used for binary patching.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -10,8 +10,6 @@
|
||||
<indexterm zone="ch-system-zlib"><primary sortas="a-Zlib">Zlib</primary></indexterm>
|
||||
|
||||
<sect2 role="package"><title/>
|
||||
<para>The Zlib package contains compression and un-compression routines used by
|
||||
some programs.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
@ -19,21 +17,11 @@ some programs.</para>
|
||||
<seglistitem><seg>0.1 SBU</seg><seg>1.5 MB</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Zlib installation depends on</segtitle>
|
||||
<seglistitem><seg>Binutils, Coreutils, GCC, Glibc, Make, 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 CFLAGS is
|
||||
specified in the environment. If you are using your own CFLAGS variable, be
|
||||
sure to add the <parameter>-fPIC</parameter> directive to your CFLAGS for the
|
||||
duration of the below <command>configure</command> command, then remove it
|
||||
afterwards.</para></note>
|
||||
|
||||
<para>Prepare Zlib for compilation:</para>
|
||||
|
||||
<screen><userinput>./configure --prefix=/usr --shared --libdir=/lib</userinput></screen>
|
||||
@ -76,22 +64,7 @@ make</userinput></screen>
|
||||
|
||||
<sect2 id="contents-zlib" role="content"><title>Contents of Zlib</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<seglistitem><seg>libz[a,so]</seg></seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist><title>Short description</title>
|
||||
|
||||
<varlistentry id="libz">
|
||||
<term><filename class="libraryfile">libz*</filename></term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-zlib libz"><primary sortas="c-libz*">libz*</primary></indexterm>
|
||||
<para>contains compression and un-compression
|
||||
functions used by some programs.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>See testing</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
@ -7,9 +7,7 @@
|
||||
<title>Configuring the Linux console</title>
|
||||
<?dbhtml filename="console.html"?>
|
||||
|
||||
<indexterm zone="ch-scripts-console">
|
||||
<primary sortas="d-console">console</primary>
|
||||
<secondary>configuring</secondary></indexterm>
|
||||
<para>Create the configuration file:</para>
|
||||
|
||||
<screen><userinput>cat >/etc/sysconfig/console <<"EOF"
|
||||
KEYMAP="<replaceable>[arguments for loadkeys]</replaceable>"
|
||||
|
@ -7,9 +7,6 @@
|
||||
<title>Configuring the localnet script</title>
|
||||
<?dbhtml filename="hostname.html"?>
|
||||
|
||||
<indexterm zone="ch-scripts-hostname">
|
||||
<primary sortas="d-localnet">localnet</primary>
|
||||
<secondary>configuring</secondary></indexterm>
|
||||
|
||||
<para>Create the <filename>/etc/sysconfig/network</filename> file and enter a hostname by
|
||||
running:</para>
|
||||
|
@ -7,16 +7,6 @@
|
||||
<title>Creating the /etc/hosts file</title>
|
||||
<?dbhtml filename="hosts.html"?>
|
||||
|
||||
<indexterm zone="ch-scripts-hosts"><primary sortas="e-/etc/hosts">/etc/hosts</primary></indexterm>
|
||||
|
||||
<indexterm zone="ch-scripts-hosts">
|
||||
<primary sortas="d-localnet">localnet</primary>
|
||||
<secondary>/etc/hosts</secondary></indexterm>
|
||||
|
||||
<indexterm zone="ch-scripts-hosts">
|
||||
<primary sortas="d-network">network</primary>
|
||||
<secondary>/etc/hosts</secondary></indexterm>
|
||||
|
||||
<para>If a network card is not going to be configured, create the
|
||||
<filename>/etc/hosts</filename> file by running:</para>
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
<title>Creating the /etc/inputrc file</title>
|
||||
<?dbhtml filename="inputrc.html"?>
|
||||
|
||||
<indexterm zone="ch-scripts-inputrc"><primary sortas="e-/etc/inputrc">/etc/inputrc</primary></indexterm>
|
||||
<para>Create the /etc/inputrc file:</para>
|
||||
|
||||
<screen><userinput>cat > /etc/inputrc << "EOF"
|
||||
# Begin /etc/inputrc
|
||||
|
@ -7,9 +7,6 @@
|
||||
<title>Configuring the network script</title>
|
||||
<?dbhtml filename="network.html"?>
|
||||
|
||||
<indexterm zone="ch-scripts-network">
|
||||
<primary sortas="d-network">network</primary>
|
||||
<secondary>configuring</secondary></indexterm>
|
||||
|
||||
<sect2>
|
||||
<title>Creating network interface configuration files</title>
|
||||
|
@ -7,7 +7,6 @@
|
||||
<title>The Bash Shell Startup Files</title>
|
||||
<?dbhtml filename="profile.html"?>
|
||||
|
||||
<indexterm zone="ch-scripts-profile"><primary sortas="e-/etc/profile">/etc/profile</primary></indexterm>
|
||||
|
||||
<para>Create the <filename>/etc/profile</filename> file:</para>
|
||||
|
||||
|
@ -7,9 +7,6 @@
|
||||
<title>Configuring the setclock script</title>
|
||||
<?dbhtml filename="setclock.html"?>
|
||||
|
||||
<indexterm zone="ch-scripts-setclock">
|
||||
<primary sortas="d-setclock">setclock</primary>
|
||||
<secondary>configuring</secondary></indexterm>
|
||||
|
||||
<para>Create a new file <filename>/etc/sysconfig/clock</filename> by running
|
||||
the following:</para>
|
||||
|
@ -7,9 +7,6 @@
|
||||
<title>How do these bootscripts work?</title>
|
||||
<?dbhtml filename="usage.html"?>
|
||||
|
||||
<indexterm zone="ch-scripts-usage">
|
||||
<primary sortas="a-Bootscripts">Bootscripts</primary>
|
||||
<secondary>usage</secondary></indexterm>
|
||||
|
||||
<para>See testing</para>
|
||||
|
||||
|
@ -7,7 +7,6 @@
|
||||
<title>Creating the /etc/fstab file</title>
|
||||
<?dbhtml filename="fstab.html"?>
|
||||
|
||||
<indexterm zone="ch-bootable-fstab"><primary sortas="e-/etc/fstab">/etc/fstab</primary></indexterm>
|
||||
|
||||
<screen><userinput>cat > /etc/fstab << "EOF"
|
||||
# Begin /etc/fstab
|
||||
|
@ -7,9 +7,6 @@
|
||||
<title>Making the LFS system bootable</title>
|
||||
<?dbhtml filename="grub.html"?>
|
||||
|
||||
<indexterm zone="ch-bootable-grub">
|
||||
<primary sortas="a-Grub">Grub</primary>
|
||||
<secondary>configuring</secondary></indexterm>
|
||||
|
||||
<para>We highly recommend that you create a Grub boot floppy diskette just in case.
|
||||
Insert a blank floppy diskette and run the following commands:</para>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user