lfs/chapter06/db.xml

283 lines
9.4 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-db" role="wrap">
<?dbhtml filename="db.html"?>
<title>Berkeley DB-&db-version;</title>
<indexterm zone="ch-system-db">
<primary sortas="a-Berkeley-DB">Berkeley DB</primary>
</indexterm>
<sect2 role="package">
<title/>
<para>The Berkeley DB package contains programs and utilities used by many
other applications for database related functions.</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem>
<seg>&db-ch6-sbu;</seg>
<seg>&db-ch6-du;</seg>
</seglistitem>
</segmentedlist>
<tip>
<title>Other Installation Possibilities</title>
<para>There are instructions to build this package in the BLFS book if you
need to build the RPC server or additional language bindings. The
additional language bindings will require additional packages to be
installed. See <ulink url="&blfs-root;view/svn/server/databases.html#db"/>
for suggested installation instructions.</para>
<para>Also, GDBM <emphasis>could</emphasis> be used in place of Berkeley
DB to satisfy Man-DB. However, since Berkeley DB is considered a core part
of the LFS build, it will not be listed as a dependency for any package in
the BLFS book. Likewise, many hours go into testing LFS with Berkeley DB
installed, not with GDBM. If you fully understand the risks versus
benefits of using GDBM and wish to use it anyway, see the BLFS
instructions located at <ulink
url="&blfs-root;view/svn/general/gdbm.html"/></para>
</tip>
</sect2>
<sect2 role="installation">
<title>Installation of Berkeley DB</title>
<para>Apply a patch to Berkeley DB to fix a couple of bugs when accessing
databases via its Java API:</para>
<screen><userinput>patch -Np1 -i ../&db-fixes-patch;</userinput></screen>
<para>Prepare Berkeley DB for compilation:</para>
<screen><userinput>cd build_unix &amp;&amp;
../dist/configure --prefix=/usr --enable-compat185 --enable-cxx</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
<varlistentry>
<term><parameter>--enable-compat185</parameter></term>
<listitem>
<para>This option enables building Berkeley DB 1.85 compatibility
API.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--enable-cxx</parameter></term>
<listitem>
<para>This option enables building C++ API libraries.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para>
<screen><userinput>make</userinput></screen>
<para>It is not possible to test the package meaningfully, because
that would involve building TCL bindings. TCL bindings cannot be
built properly now because TCL is linked against Glibc in
<filename class="directory">/tools</filename>, not against Glibc in
<filename class="directory">/usr</filename>.</para>
<para>Install the package:</para>
<screen><userinput>make docdir=/usr/share/doc/db-&db-version; install</userinput></screen>
<variablelist>
<title>The meaning of the make parameter:</title>
<varlistentry>
<term><parameter>docdir=...</parameter></term>
<listitem>
<para>This variable specifies the correct place for the
documentation.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Fix the ownership of the installed documentation:</para>
<screen><userinput>chown -Rv root:root /usr/share/doc/db-&db-version;</userinput></screen>
</sect2>
<sect2 id="contents-db" role="content">
<title>Contents of Berkeley DB</title>
<segmentedlist>
<segtitle>Installed programs</segtitle>
<segtitle>Installed libraries</segtitle>
<seglistitem>
<seg>db_archive, db_checkpoint, db_deadlock, db_dump, db_hotbackup,
db_load, db_printlog, db_recover, db_stat, db_upgrade, and db_verify</seg>
<seg>libdb.{so,ar}and libdb_cxx.r{o,ar}</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="db_archive">
<term><command>db_archive</command></term>
<listitem>
<para>Prints the pathnames of log files that are no longer in use</para>
<indexterm zone="ch-system-db db_archive">
<primary sortas="b-db_archive">db_archive</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="db_checkpoint">
<term><command>db_checkpoint</command></term>
<listitem>
<para>A daemon used to monitor and checkpoint database logs</para>
<indexterm zone="ch-system-db db_checkpoint">
<primary sortas="b-db_checkpoint">db_checkpoint</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="db_deadlock">
<term><command>db_deadlock</command></term>
<listitem>
<para>A daemon used to abort lock requests when deadlocks are
detected</para>
<indexterm zone="ch-system-db db_deadlock">
<primary sortas="b-db_deadlock">db_deadlock</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="db_dump">
<term><command>db_dump</command></term>
<listitem>
<para>Converts database files to a plain-text file format readable
by <command>db_load</command></para>
<indexterm zone="ch-system-db db_dump">
<primary sortas="b-db_dump">db_dump</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="db_hotbackup">
<term><command>db_hotbackup</command></term>
<listitem>
<para>Creates <quote>hot backup</quote> or <quote>hot failover</quote>
snapshots of Berkeley DB databases</para>
<indexterm zone="ch-system-db db_hotbackup">
<primary sortas="b-db_hotbackup">db_hotbackup</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="db_load">
<term><command>db_load</command></term>
<listitem>
<para>Is used to create database files from plain-text files</para>
<indexterm zone="ch-system-db db_load">
<primary sortas="b-db_load">db_load</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="db_printlog">
<term><command>db_printlog</command></term>
<listitem>
<para>Converts database log files to human readable text</para>
<indexterm zone="ch-system-db db_printlog">
<primary sortas="b-db_printlog">db_printlog</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="db_recover">
<term><command>db_recover</command></term>
<listitem>
<para>Is used to restore a database to a consistent state after a
failure</para>
<indexterm zone="ch-system-db db_recover">
<primary sortas="b-db_recover">db_recover</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="db_stat">
<term><command>db_stat</command></term>
<listitem>
<para>Displays statistics for Berkeley databases</para>
<indexterm zone="ch-system-db db_stat">
<primary sortas="b-db_stat">db_stat</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="db_upgrade">
<term><command>db_upgrade</command></term>
<listitem>
<para>Is used to upgrade database files to a newer version of
Berkeley DB</para>
<indexterm zone="ch-system-db db_upgrade">
<primary sortas="b-db_upgrade">db_upgrade</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="db_verify">
<term><command>db_verify</command></term>
<listitem>
<para>Is used to run consistency checks on database files</para>
<indexterm zone="ch-system-db db_verify">
<primary sortas="b-db_verify">db_verify</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libdb">
<term><filename class="libraryfile">libdb.{so,a}</filename></term>
<listitem>
<para>Contains functions to manipulate database files from C
programs</para>
<indexterm zone="ch-system-db libdb">
<primary sortas="c-libdb">libdb</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libdb_cxx">
<term><filename class="libraryfile">libdb_cxx.{so,a}</filename></term>
<listitem>
<para>Contains functions to manipulate database files from C++
programs</para>
<indexterm zone="ch-system-db libdb_cxx">
<primary sortas="c-libdb_cxx">libdb_cxx</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>