mirror of
https://github.com/LCTT/LFS-BOOK-7.7-systemd.git
synced 2026-01-14 00:49:09 +00:00
1232 lines
44 KiB
HTML
1232 lines
44 KiB
HTML
zpl1025
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content=
|
|
"application/xhtml+xml; charset=utf-8" />
|
|
<title>
|
|
6.9. Glibc-2.21
|
|
</title>
|
|
<link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
|
|
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
|
|
<link rel="stylesheet" href="../stylesheets/lfs-print.css" type="text/css"
|
|
media="print" />
|
|
</head>
|
|
<body class="lfs" id="lfs-7.7-systemd">
|
|
<div class="navheader">
|
|
<h4>
|
|
Linux From Scratch - Version 7.7-systemd
|
|
</h4>
|
|
<h3>
|
|
Chapter 6. Installing Basic System Software
|
|
</h3>
|
|
<ul>
|
|
<li class="prev">
|
|
<a accesskey="p" href="man-pages.html" title=
|
|
"Man-pages-3.79">Prev</a>
|
|
<p>
|
|
Man-pages-3.79
|
|
</p>
|
|
</li>
|
|
<li class="next">
|
|
<a accesskey="n" href="adjusting.html" title=
|
|
"Adjusting the Toolchain">Next</a>
|
|
<p>
|
|
Adjusting the Toolchain
|
|
</p>
|
|
</li>
|
|
<li class="up">
|
|
<a accesskey="u" href="chapter06.html" title=
|
|
"Chapter 6. Installing Basic System Software">Up</a>
|
|
</li>
|
|
<li class="home">
|
|
<a accesskey="h" href="../index.html" title=
|
|
"Linux From Scratch - Version 7.7-systemd">Home</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="wrap" lang="en" xml:lang="en">
|
|
<h1 class="sect1">
|
|
<a id="ch-system-glibc" name="ch-system-glibc"></a>6.9. Glibc-2.21
|
|
</h1>
|
|
<div class="package" lang="en" xml:lang="en">
|
|
<p>
|
|
The Glibc package contains the main C library. This library
|
|
provides the basic routines for allocating memory, searching
|
|
directories, opening and closing files, reading and writing files,
|
|
string handling, pattern matching, arithmetic, and so on.
|
|
</p>
|
|
<div class="segmentedlist">
|
|
<div class="seglistitem">
|
|
<div class="seg">
|
|
<strong class="segtitle">Approximate build time:</strong>
|
|
<span class="segbody">16.3 SBU</span>
|
|
</div>
|
|
<div class="seg">
|
|
<strong class="segtitle">Required disk space:</strong>
|
|
<span class="segbody">1.1 GB</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="installation" lang="en" xml:lang="en">
|
|
<h2 class="sect2">
|
|
6.9.1. Installation of Glibc
|
|
</h2>
|
|
<div class="admon note">
|
|
<img alt="[Note]" src="../images/note.png" />
|
|
<h3>
|
|
Note
|
|
</h3>
|
|
<p>
|
|
Some packages outside of LFS suggest installing GNU libiconv in
|
|
order to translate data from one encoding to another. The
|
|
project's home page (<a class="ulink" href=
|
|
"http://www.gnu.org/software/libiconv/">http://www.gnu.org/software/libiconv/</a>)
|
|
says <span class="quote">“<span class="quote">This library
|
|
provides an <code class="function">iconv()</code> implementation,
|
|
for use on systems which don't have one, or whose implementation
|
|
cannot convert from/to Unicode.</span>”</span> Glibc
|
|
provides an <code class="function">iconv()</code> implementation
|
|
and can convert from/to Unicode, therefore libiconv is not
|
|
required on an LFS system.
|
|
</p>
|
|
</div>
|
|
<p>
|
|
Some of the Glibc programs use non-FHS compilant <code class=
|
|
"filename">/var/db</code> directory to store their runtime data.
|
|
Apply the following patch to make such programs store their runtime
|
|
data in the FHS-compliant locations:
|
|
</p>
|
|
<pre class="userinput">
|
|
<kbd class="command">patch -Np1 -i ../glibc-2.21-fhs-1.patch</kbd>
|
|
</pre>
|
|
<p>
|
|
The Glibc build system is self-contained and will install
|
|
perfectly, even though the compiler specs file and linker are still
|
|
pointing at <code class="filename">/tools</code>. The specs and
|
|
linker cannot be adjusted before the Glibc install because the
|
|
Glibc autoconf tests would give false results and defeat the goal
|
|
of achieving a clean build.
|
|
</p>
|
|
<p>
|
|
Fix a regression in the package that affects 32-bit architectures:
|
|
</p>
|
|
<pre class="userinput">
|
|
<kbd class="command">sed -e '/ia32/s/^/1:/' \
|
|
-e '/SSE2/s/^1://' \
|
|
-i sysdeps/i386/i686/multiarch/mempcpy_chk.S</kbd>
|
|
</pre>
|
|
<p>
|
|
The Glibc documentation recommends building Glibc outside of the
|
|
source directory in a dedicated build directory:
|
|
</p>
|
|
<pre class="userinput">
|
|
<kbd class="command">mkdir -v ../glibc-build
|
|
cd ../glibc-build</kbd>
|
|
</pre>
|
|
<p>
|
|
Prepare Glibc for compilation:
|
|
</p>
|
|
<pre class="userinput">
|
|
<kbd class="command">../glibc-2.21/configure \
|
|
--prefix=/usr \
|
|
--disable-profile \
|
|
--enable-kernel=2.6.32 \
|
|
--enable-obsolete-rpc</kbd>
|
|
</pre>
|
|
<div class="variablelist">
|
|
<p class="title">
|
|
<strong>The meaning of the new configure options:</strong>
|
|
</p>
|
|
<dl class="variablelist">
|
|
<dt>
|
|
<span class="term"><em class=
|
|
"parameter"><code>--enable-obsolete-rpc</code></em></span>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Installs NIS and RPC related headers that are not installed
|
|
by default; these are required to rebuild Glibc and by
|
|
several BLFS packages.
|
|
</p>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<p>
|
|
Compile the package:
|
|
</p>
|
|
<pre class="userinput">
|
|
<kbd class="command">make</kbd>
|
|
</pre>
|
|
<div class="admon important">
|
|
<img alt="[Important]" src="../images/important.png" />
|
|
<h3>
|
|
Important
|
|
</h3>
|
|
<p>
|
|
In this section, the test suite for Glibc is considered critical.
|
|
Do not skip it under any circumstance.
|
|
</p>
|
|
</div>
|
|
<p>
|
|
Generally a few tests do not pass, but you can generally ignore any
|
|
of the test failures listed below. Now test the build results:
|
|
</p>
|
|
<pre class="userinput">
|
|
<kbd class="command">make check</kbd>
|
|
</pre>
|
|
<p>
|
|
You will probably see some test failures. The Glibc test suite is
|
|
somewhat dependent on the host system. This is a list of the most
|
|
common issues seen for this version of LFS:
|
|
</p>
|
|
<div class="itemizedlist">
|
|
<ul>
|
|
<li class="listitem">
|
|
<p>
|
|
The <span class="emphasis"><em>tst/tst-cputimer1</em></span>
|
|
and <span class="emphasis"><em>rt/tst-cpuclock2</em></span>
|
|
tests have been known to fail. The reason is not completely
|
|
understood, but indications are that minor timing issues can
|
|
trigger these failures.
|
|
</p>
|
|
</li>
|
|
<li class="listitem">
|
|
<p>
|
|
The math tests sometimes fail when running on systems where
|
|
the CPU is not a relatively new genuine Intel or authentic
|
|
AMD processor.
|
|
</p>
|
|
</li>
|
|
<li class="listitem">
|
|
<p>
|
|
posix/tst-getaddrinfo4 and posix/tst-getaddrinfo5 will always
|
|
fail due to not having a network connection when the tests
|
|
are run.
|
|
</p>
|
|
</li>
|
|
<li class="listitem">
|
|
<p>
|
|
Other tests known to fail on some architectures are
|
|
malloc/tst-malloc-usable and nptl/tst-cleanupx4.
|
|
</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<p>
|
|
Though it is a harmless message, the install stage of Glibc will
|
|
complain about the absence of <code class=
|
|
"filename">/etc/ld.so.conf</code>. Prevent this warning with:
|
|
</p>
|
|
<pre class="userinput">
|
|
<kbd class="command">touch /etc/ld.so.conf</kbd>
|
|
</pre>
|
|
<p>
|
|
Install the package:
|
|
</p>
|
|
<pre class="userinput">
|
|
<kbd class="command">make install</kbd>
|
|
</pre>
|
|
<p>
|
|
Install the configuration file and runtime directory for
|
|
<span class="command"><strong>nscd</strong></span>:
|
|
</p>
|
|
<pre class="userinput">
|
|
<kbd class="command">cp -v ../glibc-2.21/nscd/nscd.conf /etc/nscd.conf
|
|
mkdir -pv /var/cache/nscd</kbd>
|
|
</pre>
|
|
<p>
|
|
Install the systemd support files for <span class=
|
|
"command"><strong>nscd</strong></span>:
|
|
</p>
|
|
<pre class="userinput">
|
|
<kbd class=
|
|
"command">install -v -Dm644 ../glibc-2.21/nscd/nscd.tmpfiles /usr/lib/tmpfiles.d/nscd.conf
|
|
install -v -Dm644 ../glibc-2.21/nscd/nscd.service /lib/systemd/system/nscd.service</kbd>
|
|
</pre>
|
|
<p>
|
|
The locales that can make the system respond in a different
|
|
language were not installed by the above command. None of the
|
|
locales are required, but if some of them are missing, test suites
|
|
of the future packages would skip important testcases.
|
|
</p>
|
|
<p>
|
|
Individual locales can be installed using the <span class=
|
|
"command"><strong>localedef</strong></span> program. E.g., the
|
|
first <span class="command"><strong>localedef</strong></span>
|
|
command below combines the <code class=
|
|
"filename">/usr/share/i18n/locales/cs_CZ</code> charset-independent
|
|
locale definition with the <code class=
|
|
"filename">/usr/share/i18n/charmaps/UTF-8.gz</code> charmap
|
|
definition and appends the result to the <code class=
|
|
"filename">/usr/lib/locale/locale-archive</code> file. The
|
|
following instructions will install the minimum set of locales
|
|
necessary for the optimal coverage of tests:
|
|
</p>
|
|
<pre class="userinput">
|
|
<kbd class="command">mkdir -pv /usr/lib/locale
|
|
localedef -i cs_CZ -f UTF-8 cs_CZ.UTF-8
|
|
localedef -i de_DE -f ISO-8859-1 de_DE
|
|
localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro
|
|
localedef -i de_DE -f UTF-8 de_DE.UTF-8
|
|
localedef -i en_GB -f UTF-8 en_GB.UTF-8
|
|
localedef -i en_HK -f ISO-8859-1 en_HK
|
|
localedef -i en_PH -f ISO-8859-1 en_PH
|
|
localedef -i en_US -f ISO-8859-1 en_US
|
|
localedef -i en_US -f UTF-8 en_US.UTF-8
|
|
localedef -i es_MX -f ISO-8859-1 es_MX
|
|
localedef -i fa_IR -f UTF-8 fa_IR
|
|
localedef -i fr_FR -f ISO-8859-1 fr_FR
|
|
localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro
|
|
localedef -i fr_FR -f UTF-8 fr_FR.UTF-8
|
|
localedef -i it_IT -f ISO-8859-1 it_IT
|
|
localedef -i it_IT -f UTF-8 it_IT.UTF-8
|
|
localedef -i ja_JP -f EUC-JP ja_JP
|
|
localedef -i ru_RU -f KOI8-R ru_RU.KOI8-R
|
|
localedef -i ru_RU -f UTF-8 ru_RU.UTF-8
|
|
localedef -i tr_TR -f UTF-8 tr_TR.UTF-8
|
|
localedef -i zh_CN -f GB18030 zh_CN.GB18030</kbd>
|
|
</pre>
|
|
<p>
|
|
In addition, install the locale for your own country, language and
|
|
character set.
|
|
</p>
|
|
<p>
|
|
Alternatively, install all locales listed in the <code class=
|
|
"filename">glibc-2.21/localedata/SUPPORTED</code> file (it includes
|
|
every locale listed above and many more) at once with the following
|
|
time-consuming command:
|
|
</p>
|
|
<pre class="userinput">
|
|
<kbd class="command">make localedata/install-locales</kbd>
|
|
</pre>
|
|
<p>
|
|
Then use the <span class=
|
|
"command"><strong>localedef</strong></span> command to create and
|
|
install locales not listed in the <code class=
|
|
"filename">glibc-2.21/localedata/SUPPORTED</code> file in the
|
|
unlikely case you need them.
|
|
</p>
|
|
</div>
|
|
<div class="configuration" lang="en" xml:lang="en">
|
|
<h2 class="sect2">
|
|
<a id="conf-glibc" name="conf-glibc"></a>6.9.2. Configuring Glibc
|
|
</h2>
|
|
<p>
|
|
The <code class="filename">/etc/nsswitch.conf</code> file needs to
|
|
be created because, although Glibc provides defaults when this file
|
|
is missing or corrupt, the Glibc defaults do not work well in a
|
|
networked environment. The time zone also needs to be configured.
|
|
</p>
|
|
<p>
|
|
Create a new file <code class="filename">/etc/nsswitch.conf</code>
|
|
by running the following:
|
|
</p>
|
|
<pre class="userinput">
|
|
<kbd class="command">cat > /etc/nsswitch.conf << "EOF"
|
|
<code class="literal"># Begin /etc/nsswitch.conf
|
|
|
|
passwd: files
|
|
group: files
|
|
shadow: files
|
|
|
|
hosts: files dns myhostname
|
|
networks: files
|
|
|
|
protocols: files
|
|
services: files
|
|
ethers: files
|
|
rpc: files
|
|
|
|
# End /etc/nsswitch.conf</code>
|
|
EOF</kbd>
|
|
</pre>
|
|
<p>
|
|
Install timezone data:
|
|
</p>
|
|
<pre class="userinput">
|
|
<kbd class="command">tar -xf ../tzdata2015a.tar.gz
|
|
|
|
ZONEINFO=/usr/share/zoneinfo
|
|
mkdir -pv $ZONEINFO/{posix,right}
|
|
|
|
for tz in etcetera southamerica northamerica europe africa antarctica \
|
|
asia australasia backward pacificnew systemv; do
|
|
zic -L /dev/null -d $ZONEINFO -y "sh yearistype.sh" ${tz}
|
|
zic -L /dev/null -d $ZONEINFO/posix -y "sh yearistype.sh" ${tz}
|
|
zic -L leapseconds -d $ZONEINFO/right -y "sh yearistype.sh" ${tz}
|
|
done
|
|
|
|
cp -v zone.tab zone1970.tab iso3166.tab $ZONEINFO
|
|
zic -d $ZONEINFO -p America/New_York
|
|
unset ZONEINFO</kbd>
|
|
</pre>
|
|
<div class="variablelist">
|
|
<p class="title">
|
|
<strong>The meaning of the zic commands:</strong>
|
|
</p>
|
|
<dl class="variablelist">
|
|
<dt>
|
|
<span class="term"><em class="parameter"><code>zic -L /dev/null
|
|
...</code></em></span>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This creates posix timezones, without any leap seconds. It is
|
|
conventional to put these in both <code class=
|
|
"filename">zoneinfo</code> and <code class=
|
|
"filename">zoneinfo/posix</code>. It is necessary to put the
|
|
POSIX timezones in <code class="filename">zoneinfo</code>,
|
|
otherwise various test-suites will report errors. On an
|
|
embedded system, where space is tight and you do not intend
|
|
to ever update the timezones, you could save 1.9MB by not
|
|
using the <code class="filename">posix</code> directory, but
|
|
some applications or test-suites might produce some failures.
|
|
</p>
|
|
</dd>
|
|
<dt>
|
|
<span class="term"><em class="parameter"><code>zic -L
|
|
leapseconds ...</code></em></span>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This creates right timezones, including leap seconds. On an
|
|
embedded system, where space is tight and you do not intend
|
|
to ever update the timezones, or care about the correct time,
|
|
you could save 1.9MB by omitting the <code class=
|
|
"filename">right</code> directory.
|
|
</p>
|
|
</dd>
|
|
<dt>
|
|
<span class="term"><em class="parameter"><code>zic ... -p
|
|
...</code></em></span>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This creates the <code class="filename">posixrules</code>
|
|
file. We use New York because POSIX requires the daylight
|
|
savings time rules to be in accordance with US rules.
|
|
</p>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
<p>
|
|
One way to determine the local time zone is to run the following
|
|
script:
|
|
</p>
|
|
<pre class="userinput">
|
|
<kbd class="command">tzselect</kbd>
|
|
</pre>
|
|
<p>
|
|
After answering a few questions about the location, the script will
|
|
output the name of the time zone (e.g., <span class=
|
|
"emphasis"><em>America/Edmonton</em></span>). There are also some
|
|
other possible timezones listed in <code class=
|
|
"filename">/usr/share/zoneinfo</code> such as <span class=
|
|
"emphasis"><em>Canada/Eastern</em></span> or <span class=
|
|
"emphasis"><em>EST5EDT</em></span> that are not identified by the
|
|
script but can be used.
|
|
</p>
|
|
<p>
|
|
Then create the <code class="filename">/etc/localtime</code> file
|
|
by running:
|
|
</p>
|
|
<pre class="userinput">
|
|
<kbd class="command">ln -sfv /usr/share/zoneinfo/<em class=
|
|
"replaceable"><code><xxx></code></em> /etc/localtime</kbd>
|
|
</pre>
|
|
<p>
|
|
Replace <em class="replaceable"><code><xxx></code></em> with
|
|
the name of the time zone selected (e.g., Canada/Eastern).
|
|
</p>
|
|
</div>
|
|
<div class="configuration" lang="en" xml:lang="en">
|
|
<h2 class="sect2">
|
|
<a id="conf-ld" name="conf-ld"></a>6.9.3. Configuring the Dynamic
|
|
Loader
|
|
</h2>
|
|
<p>
|
|
By default, the dynamic loader (<code class=
|
|
"filename">/lib/ld-linux.so.2</code>) searches through <code class=
|
|
"filename">/lib</code> and <code class="filename">/usr/lib</code>
|
|
for dynamic libraries that are needed by programs as they are run.
|
|
However, if there are libraries in directories other than
|
|
<code class="filename">/lib</code> and <code class=
|
|
"filename">/usr/lib</code>, these need to be added to the
|
|
<code class="filename">/etc/ld.so.conf</code> file in order for the
|
|
dynamic loader to find them. Two directories that are commonly
|
|
known to contain additional libraries are <code class=
|
|
"filename">/usr/local/lib</code> and <code class=
|
|
"filename">/opt/lib</code>, so add those directories to the dynamic
|
|
loader's search path.
|
|
</p>
|
|
<p>
|
|
Create a new file <code class="filename">/etc/ld.so.conf</code> by
|
|
running the following:
|
|
</p>
|
|
<pre class="userinput">
|
|
<kbd class="command">cat > /etc/ld.so.conf << "EOF"
|
|
<code class="literal"># Begin /etc/ld.so.conf
|
|
/usr/local/lib
|
|
/opt/lib
|
|
</code>
|
|
EOF</kbd>
|
|
</pre>
|
|
<p>
|
|
If desired, the dynamic loader can also search a directory and
|
|
include the contents of files found there. Generally the files in
|
|
this include directory are one line specifying the desired library
|
|
path. To add this capability run the following commands:
|
|
</p>
|
|
<pre class="userinput">
|
|
<kbd class="command">cat >> /etc/ld.so.conf << "EOF"
|
|
<code class="literal"># Add an include directory
|
|
include /etc/ld.so.conf.d/*.conf
|
|
</code>
|
|
EOF
|
|
mkdir -pv /etc/ld.so.conf.d</kbd>
|
|
</pre>
|
|
</div>
|
|
<div class="content" lang="en" xml:lang="en">
|
|
<h2 class="sect2">
|
|
<a id="contents-glibc" name="contents-glibc"></a>6.9.4. Contents of
|
|
Glibc
|
|
</h2>
|
|
<div class="segmentedlist">
|
|
<div class="seglistitem">
|
|
<div class="seg">
|
|
<strong class="segtitle">Installed programs:</strong>
|
|
<span class="segbody">catchsegv, gencat, getconf, getent,
|
|
iconv, iconvconfig, ldconfig, ldd, lddlibc4, locale, localedef,
|
|
makedb, mtrace, nscd, pcprofiledump, pldd, rpcgen, sln,
|
|
sotruss, sprof, tzselect, xtrace, zdump, and zic</span>
|
|
</div>
|
|
<div class="seg">
|
|
<strong class="segtitle">Installed libraries:</strong>
|
|
<span class="segbody">ld-2.21.so, libBrokenLocale.{a,so},
|
|
libSegFault.so, libanl.{a,so}, libc.{a,so}, libc_nonshared.a,
|
|
libcidn.so, libcrypt.{a,so}, libdl.{a,so}, libg.a, libieee.a,
|
|
libm.{a,so}, libmcheck.a, libmemusage.so, libnsl.{a,so},
|
|
libnss_compat.so, libnss_dns.so, libnss_files.so,
|
|
libnss_hesiod.so, libnss_nis.so, libnss_nisplus.so,
|
|
libpcprofile.so, libpthread.{a,so}, libpthread_nonshared.a,
|
|
libresolv.{a,so}, librpcsvc.a, librt.{a,so}, libthread_db.so,
|
|
and libutil.{a,so}</span>
|
|
</div>
|
|
<div class="seg">
|
|
<strong class="segtitle">Installed directories:</strong>
|
|
<span class="segbody">/usr/include/arpa, /usr/include/bits,
|
|
/usr/include/gnu, /usr/include/net, /usr/include/netash,
|
|
/usr/include/netatalk, /usr/include/netax25,
|
|
/usr/include/neteconet, /usr/include/netinet,
|
|
/usr/include/netipx, /usr/include/netiucv,
|
|
/usr/include/netpacket, /usr/include/netrom,
|
|
/usr/include/netrose, /usr/include/nfs, /usr/include/protocols,
|
|
/usr/include/rpc, /usr/include/rpcsvc, /usr/include/sys,
|
|
/usr/lib/audit, /usr/lib/gconv, /usr/lib/locale,
|
|
/usr/libexec/getconf, /usr/share/i18n, /usr/share/zoneinfo,
|
|
/var/cache/nscd, and /var/lib/nss_db</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="variablelist">
|
|
<h3>
|
|
Short Descriptions
|
|
</h3>
|
|
<table border="0" class="variablelist">
|
|
<colgroup>
|
|
<col align="left" valign="top" />
|
|
<col />
|
|
</colgroup>
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="catchsegv" name="catchsegv"></a><span class=
|
|
"term"><span class=
|
|
"command"><strong>catchsegv</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Can be used to create a stack trace when a program
|
|
terminates with a segmentation fault
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="gencat" name="gencat"></a><span class=
|
|
"term"><span class=
|
|
"command"><strong>gencat</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Generates message catalogues
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="getconf" name="getconf"></a><span class=
|
|
"term"><span class=
|
|
"command"><strong>getconf</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Displays the system configuration values for file system
|
|
specific variables
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="getent" name="getent"></a><span class=
|
|
"term"><span class=
|
|
"command"><strong>getent</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Gets entries from an administrative database
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="iconv" name="iconv"></a><span class=
|
|
"term"><span class=
|
|
"command"><strong>iconv</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Performs character set conversion
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="iconvconfig" name="iconvconfig"></a><span class=
|
|
"term"><span class=
|
|
"command"><strong>iconvconfig</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Creates fastloading <span class=
|
|
"command"><strong>iconv</strong></span> module
|
|
configuration files
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="ldconfig" name="ldconfig"></a><span class=
|
|
"term"><span class=
|
|
"command"><strong>ldconfig</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Configures the dynamic linker runtime bindings
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="ldd" name="ldd"></a><span class=
|
|
"term"><span class="command"><strong>ldd</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Reports which shared libraries are required by each given
|
|
program or shared library
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="lddlibc4" name="lddlibc4"></a><span class=
|
|
"term"><span class=
|
|
"command"><strong>lddlibc4</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Assists <span class="command"><strong>ldd</strong></span>
|
|
with object files
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="locale" name="locale"></a><span class=
|
|
"term"><span class=
|
|
"command"><strong>locale</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Prints various information about the current locale
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="localedef" name="localedef"></a><span class=
|
|
"term"><span class=
|
|
"command"><strong>localedef</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Compiles locale specifications
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="makedb" name="makedb"></a><span class=
|
|
"term"><span class=
|
|
"command"><strong>makedb</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Creates a simple database from textual input
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="mtrace" name="mtrace"></a><span class=
|
|
"term"><span class=
|
|
"command"><strong>mtrace</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Reads and interprets a memory trace file and displays a
|
|
summary in human-readable format
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="nscd" name="nscd"></a><span class=
|
|
"term"><span class=
|
|
"command"><strong>nscd</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
A daemon that provides a cache for the most common name
|
|
service requests
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="pcprofiledump" name=
|
|
"pcprofiledump"></a><span class="term"><span class=
|
|
"command"><strong>pcprofiledump</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Dumps information generated by PC profiling
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="pldd" name="pldd"></a><span class=
|
|
"term"><span class=
|
|
"command"><strong>pldd</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Lists dynamic shared objects used by running processes
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="rpcgen" name="rpcgen"></a><span class=
|
|
"term"><span class=
|
|
"command"><strong>rpcgen</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Generates C code to implement the Remote Procedure Call
|
|
(RPC) protocol
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="sln" name="sln"></a><span class=
|
|
"term"><span class="command"><strong>sln</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
A statically linked <span class=
|
|
"command"><strong>ln</strong></span> program
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="sotruss" name="sotruss"></a><span class=
|
|
"term"><span class=
|
|
"command"><strong>sotruss</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Traces shared library procedure calls of a specified
|
|
command
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="sprof" name="sprof"></a><span class=
|
|
"term"><span class=
|
|
"command"><strong>sprof</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Reads and displays shared object profiling data
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="tzselect" name="tzselect"></a><span class=
|
|
"term"><span class=
|
|
"command"><strong>tzselect</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Asks the user about the location of the system and
|
|
reports the corresponding time zone description
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="xtrace" name="xtrace"></a><span class=
|
|
"term"><span class=
|
|
"command"><strong>xtrace</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Traces the execution of a program by printing the
|
|
currently executed function
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="zdump" name="zdump"></a><span class=
|
|
"term"><span class=
|
|
"command"><strong>zdump</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The time zone dumper
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="zic" name="zic"></a><span class=
|
|
"term"><span class="command"><strong>zic</strong></span></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The time zone compiler
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="ld.so" name="ld.so"></a><span class=
|
|
"term"><code class="filename">ld-2.21.so</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The helper program for shared library executables
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="libBrokenLocale" name=
|
|
"libBrokenLocale"></a><span class="term"><code class=
|
|
"filename">libBrokenLocale</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Used internally by Glibc as a gross hack to get broken
|
|
programs (e.g., some Motif applications) running. See
|
|
comments in <code class=
|
|
"filename">glibc-2.21/locale/broken_cur_max.c</code> for
|
|
more information
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="libSegFault" name="libSegFault"></a><span class=
|
|
"term"><code class="filename">libSegFault</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The segmentation fault signal handler, used by
|
|
<span class="command"><strong>catchsegv</strong></span>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="libanl" name="libanl"></a><span class=
|
|
"term"><code class="filename">libanl</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
An asynchronous name lookup library
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="libc" name="libc"></a><span class=
|
|
"term"><code class="filename">libc</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The main C library
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="libcidn" name="libcidn"></a><span class=
|
|
"term"><code class="filename">libcidn</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Used internally by Glibc for handling internationalized
|
|
domain names in the <code class=
|
|
"function">getaddrinfo()</code> function
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="libcrypt" name="libcrypt"></a><span class=
|
|
"term"><code class="filename">libcrypt</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The cryptography library
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="libdl" name="libdl"></a><span class=
|
|
"term"><code class="filename">libdl</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The dynamic linking interface library
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="libg" name="libg"></a><span class=
|
|
"term"><code class="filename">libg</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Dummy library containing no functions. Previously was a
|
|
runtime library for <span class=
|
|
"command"><strong>g++</strong></span>
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="libieee" name="libieee"></a><span class=
|
|
"term"><code class="filename">libieee</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Linking in this module forces error handling rules for
|
|
math functions as defined by the Institute of Electrical
|
|
and Electronic Engineers (IEEE). The default is POSIX.1
|
|
error handling
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="libm" name="libm"></a><span class=
|
|
"term"><code class="filename">libm</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The mathematical library
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="libmcheck" name="libmcheck"></a><span class=
|
|
"term"><code class="filename">libmcheck</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Turns on memory allocation checking when linked to
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="libmemusage" name="libmemusage"></a><span class=
|
|
"term"><code class="filename">libmemusage</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Used by <span class=
|
|
"command"><strong>memusage</strong></span> to help
|
|
collect information about the memory usage of a program
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="libnsl" name="libnsl"></a><span class=
|
|
"term"><code class="filename">libnsl</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The network services library
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="libnss" name="libnss"></a><span class=
|
|
"term"><code class="filename">libnss</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The Name Service Switch libraries, containing functions
|
|
for resolving host names, user names, group names,
|
|
aliases, services, protocols, etc.
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="libpcprofile" name="libpcprofile"></a><span class=
|
|
"term"><code class="filename">libpcprofile</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Contains profiling functions used to track the amount of
|
|
CPU time spent in specific source code lines
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="libpthread" name="libpthread"></a><span class=
|
|
"term"><code class="filename">libpthread</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
The POSIX threads library
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="libresolv" name="libresolv"></a><span class=
|
|
"term"><code class="filename">libresolv</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Contains functions for creating, sending, and
|
|
interpreting packets to the Internet domain name servers
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="librpcsvc" name="librpcsvc"></a><span class=
|
|
"term"><code class="filename">librpcsvc</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Contains functions providing miscellaneous RPC services
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="librt" name="librt"></a><span class=
|
|
"term"><code class="filename">librt</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Contains functions providing most of the interfaces
|
|
specified by the POSIX.1b Realtime Extension
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="libthread_db" name="libthread_db"></a><span class=
|
|
"term"><code class="filename">libthread_db</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Contains functions useful for building debuggers for
|
|
multi-threaded programs
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>
|
|
<a id="libutil" name="libutil"></a><span class=
|
|
"term"><code class="filename">libutil</code></span>
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<p>
|
|
Contains code for <span class="quote">“<span class=
|
|
"quote">standard</span>”</span> functions used in
|
|
many different Unix utilities
|
|
</p>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="navfooter">
|
|
<ul>
|
|
<li class="prev">
|
|
<a accesskey="p" href="man-pages.html" title=
|
|
"Man-pages-3.79">Prev</a>
|
|
<p>
|
|
Man-pages-3.79
|
|
</p>
|
|
</li>
|
|
<li class="next">
|
|
<a accesskey="n" href="adjusting.html" title=
|
|
"Adjusting the Toolchain">Next</a>
|
|
<p>
|
|
Adjusting the Toolchain
|
|
</p>
|
|
</li>
|
|
<li class="up">
|
|
<a accesskey="u" href="chapter06.html" title=
|
|
"Chapter 6. Installing Basic System Software">Up</a>
|
|
</li>
|
|
<li class="home">
|
|
<a accesskey="h" href="../index.html" title=
|
|
"Linux From Scratch - Version 7.7-systemd">Home</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|