LDP/LDP/guide/docbook/LFS-Current/chapter06/db.xml

302 lines
10 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-db" role="wrap">
<?dbhtml filename="db.html"?>
<sect1info condition="script">
<productname>db</productname>
<productnumber>&db-version;</productnumber>
<address>&db-url;</address>
</sect1info>
<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-book;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-book;general/gdbm.html"/></para>
</tip>
</sect2>
<sect2 role="installation">
<title>Installation of Berkeley DB</title>
<para>Apply an upstream patch so that replication clients can open a
sequence:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&db-fixes-patch;</userinput></screen>
<para>Prepare Berkeley DB for compilation:</para>
<screen><userinput remap="configure">cd build_unix
../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 remap="make">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 remap="install">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 remap="install">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_codegen, db_deadlock, db_dump,
db_hotbackup, db_load, db_printlog, db_recover, db_stat, db_upgrade, and
db_verify</seg>
<seg>libdb.{a,so}and libdb_cxx.{a,so}</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_codegen">
<term><command>db_codegen</command></term>
<listitem>
<para>Generates application code to create and configure Berkeley DB
database environments and databases based on a simple description
language, and writes it to one or more output files</para>
<indexterm zone="ch-system-db db_codegen">
<primary sortas="b-db_codegen">db_codegen</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.{a,so}</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.{a,so}</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>