LFS-systemd-7.8
[linux_from_scratch.git] / chapter06 / db.xml
blobab737dd797a95f93d710e758656af3ab889d40ab
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4   <!ENTITY % general-entities SYSTEM "../general.ent">
5   %general-entities;
6 ]>
8 <sect1 id="ch-system-db" role="wrap">
9   <?dbhtml filename="db.html"?>
11   <sect1info condition="script">
12     <productname>db</productname>
13     <productnumber>&db-version;</productnumber>
14     <address>&db-url;</address>
15   </sect1info>
17   <title>Berkeley DB-&db-version;</title>
19   <indexterm zone="ch-system-db">
20     <primary sortas="a-Berkeley-DB">Berkeley DB</primary>
21   </indexterm>
23   <sect2 role="package">
24     <title/>
26     <para>The Berkeley DB package contains programs and utilities used by many
27     other applications for database related functions.</para>
29     <segmentedlist>
30       <segtitle>&buildtime;</segtitle>
31       <segtitle>&diskspace;</segtitle>
33       <seglistitem>
34         <seg>&db-ch6-sbu;</seg>
35         <seg>&db-ch6-du;</seg>
36       </seglistitem>
37     </segmentedlist>
39     <tip>
40       <title>Other Installation Possibilities</title>
42       <para>There are instructions to build this package in the BLFS book if you
43       need to build the RPC server or additional language bindings. The
44       additional language bindings will require additional packages to be
45       installed. See <ulink url="&blfs-book;server/databases.html#db"/>
46       for suggested installation instructions.</para>
48       <para>Also, GDBM <emphasis>could</emphasis> be used in place of Berkeley
49       DB to satisfy Man-DB. However, since Berkeley DB is considered a core part
50       of the LFS build, it will not be listed as a dependency for any package in
51       the BLFS book. Likewise, many hours go into testing LFS with Berkeley DB
52       installed, not with GDBM. If you fully understand the risks versus
53       benefits of using GDBM and wish to use it anyway, see the BLFS
54       instructions located at <ulink
55       url="&blfs-book;general/gdbm.html"/></para>
57     </tip>
59   </sect2>
61   <sect2 role="installation">
62     <title>Installation of Berkeley DB</title>
64     <para>Apply an upstream patch so that replication clients can open a
65     sequence:</para>
67 <screen><userinput remap="pre">patch -Np1 -i ../&db-fixes-patch;</userinput></screen>
69     <para>Prepare Berkeley DB for compilation:</para>
71 <screen><userinput remap="configure">cd build_unix
72 ../dist/configure --prefix=/usr --enable-compat185 --enable-cxx</userinput></screen>
74     <variablelist>
75       <title>The meaning of the configure options:</title>
77       <varlistentry>
78         <term><parameter>--enable-compat185</parameter></term>
79         <listitem>
80           <para>This option enables building Berkeley DB 1.85 compatibility
81           API.</para>
82         </listitem>
83       </varlistentry>
85       <varlistentry>
86         <term><parameter>--enable-cxx</parameter></term>
87         <listitem>
88           <para>This option enables building C++ API libraries.</para>
89         </listitem>
90       </varlistentry>
92     </variablelist>
94     <para>Compile the package:</para>
96 <screen><userinput remap="make">make</userinput></screen>
98     <para>It is not possible to test the package meaningfully, because
99     that would involve building Tcl bindings. Tcl bindings cannot be
100     built properly now because Tcl is linked against Glibc in
101     <filename class="directory">/tools</filename>, not against Glibc in
102     <filename class="directory">/usr</filename>.</para>
104     <para>Install the package:</para>
106 <screen><userinput remap="install">make docdir=/usr/share/doc/db-&db-version; install</userinput></screen>
108     <variablelist>
109       <title>The meaning of the make parameter:</title>
111       <varlistentry>
112         <term><parameter>docdir=...</parameter></term>
113         <listitem>
114           <para>This variable specifies the correct place for the
115           documentation.</para>
116         </listitem>
117       </varlistentry>
119     </variablelist>
121     <para>Fix the ownership of the installed documentation:</para>
123 <screen><userinput remap="install">chown -Rv root:root /usr/share/doc/db-&db-version;</userinput></screen>
125   </sect2>
127   <sect2 id="contents-db" role="content">
128     <title>Contents of Berkeley DB</title>
130     <segmentedlist>
131       <segtitle>Installed programs</segtitle>
132       <segtitle>Installed libraries</segtitle>
134       <seglistitem>
135         <seg>db_archive, db_checkpoint, db_codegen, db_deadlock, db_dump,
136         db_hotbackup, db_load, db_printlog, db_recover, db_stat, db_upgrade, and
137         db_verify</seg>
138         <seg>libdb.{a,so}and libdb_cxx.{a,so}</seg>
139       </seglistitem>
140     </segmentedlist>
142     <variablelist>
143       <bridgehead renderas="sect3">Short Descriptions</bridgehead>
144       <?dbfo list-presentation="list"?>
145       <?dbhtml list-presentation="table"?>
147       <varlistentry id="db_archive">
148         <term><command>db_archive</command></term>
149         <listitem>
150           <para>Prints the pathnames of log files that are no longer in use</para>
151           <indexterm zone="ch-system-db db_archive">
152             <primary sortas="b-db_archive">db_archive</primary>
153           </indexterm>
154         </listitem>
155       </varlistentry>
157       <varlistentry id="db_checkpoint">
158         <term><command>db_checkpoint</command></term>
159         <listitem>
160           <para>A daemon used to monitor and checkpoint database logs</para>
161           <indexterm zone="ch-system-db db_checkpoint">
162             <primary sortas="b-db_checkpoint">db_checkpoint</primary>
163           </indexterm>
164         </listitem>
165       </varlistentry>
167       <varlistentry id="db_codegen">
168         <term><command>db_codegen</command></term>
169         <listitem>
170           <para>Generates application code to create and configure Berkeley DB
171           database environments and databases based on a simple description
172           language, and writes it to one or more output files</para>
173           <indexterm zone="ch-system-db db_codegen">
174             <primary sortas="b-db_codegen">db_codegen</primary>
175           </indexterm>
176         </listitem>
177       </varlistentry>
179       <varlistentry id="db_deadlock">
180         <term><command>db_deadlock</command></term>
181         <listitem>
182           <para>A daemon used to abort lock requests when deadlocks are
183           detected</para>
184           <indexterm zone="ch-system-db db_deadlock">
185             <primary sortas="b-db_deadlock">db_deadlock</primary>
186           </indexterm>
187         </listitem>
188       </varlistentry>
190       <varlistentry id="db_dump">
191         <term><command>db_dump</command></term>
192         <listitem>
193           <para>Converts database files to a plain-text file format readable
194           by <command>db_load</command></para>
195           <indexterm zone="ch-system-db db_dump">
196             <primary sortas="b-db_dump">db_dump</primary>
197           </indexterm>
198         </listitem>
199       </varlistentry>
201       <varlistentry id="db_hotbackup">
202         <term><command>db_hotbackup</command></term>
203         <listitem>
204           <para>Creates <quote>hot backup</quote> or <quote>hot failover</quote>
205           snapshots of Berkeley DB databases</para>
206           <indexterm zone="ch-system-db db_hotbackup">
207             <primary sortas="b-db_hotbackup">db_hotbackup</primary>
208           </indexterm>
209         </listitem>
210       </varlistentry>
212       <varlistentry id="db_load">
213         <term><command>db_load</command></term>
214         <listitem>
215           <para>Is used to create database files from plain-text files</para>
216           <indexterm zone="ch-system-db db_load">
217             <primary sortas="b-db_load">db_load</primary>
218           </indexterm>
219         </listitem>
220       </varlistentry>
222       <varlistentry id="db_printlog">
223         <term><command>db_printlog</command></term>
224         <listitem>
225           <para>Converts database log files to human readable text</para>
226           <indexterm zone="ch-system-db db_printlog">
227             <primary sortas="b-db_printlog">db_printlog</primary>
228           </indexterm>
229         </listitem>
230       </varlistentry>
232       <varlistentry id="db_recover">
233         <term><command>db_recover</command></term>
234         <listitem>
235           <para>Is used to restore a database to a consistent state after a
236           failure</para>
237           <indexterm zone="ch-system-db db_recover">
238             <primary sortas="b-db_recover">db_recover</primary>
239           </indexterm>
240         </listitem>
241       </varlistentry>
243       <varlistentry id="db_stat">
244         <term><command>db_stat</command></term>
245         <listitem>
246           <para>Displays statistics for Berkeley databases</para>
247           <indexterm zone="ch-system-db db_stat">
248             <primary sortas="b-db_stat">db_stat</primary>
249           </indexterm>
250         </listitem>
251       </varlistentry>
253       <varlistentry id="db_upgrade">
254         <term><command>db_upgrade</command></term>
255         <listitem>
256           <para>Is used to upgrade database files to a newer version of
257           Berkeley DB</para>
258           <indexterm zone="ch-system-db db_upgrade">
259             <primary sortas="b-db_upgrade">db_upgrade</primary>
260           </indexterm>
261         </listitem>
262       </varlistentry>
264       <varlistentry id="db_verify">
265         <term><command>db_verify</command></term>
266         <listitem>
267           <para>Is used to run consistency checks on database files</para>
268           <indexterm zone="ch-system-db db_verify">
269             <primary sortas="b-db_verify">db_verify</primary>
270           </indexterm>
271         </listitem>
272       </varlistentry>
275       <varlistentry id="libdb">
276         <term><filename class="libraryfile">libdb.{a,so}</filename></term>
277         <listitem>
278           <para>Contains functions to manipulate database files from C
279           programs</para>
280           <indexterm zone="ch-system-db libdb">
281             <primary sortas="c-libdb">libdb</primary>
282           </indexterm>
283         </listitem>
284       </varlistentry>
286       <varlistentry id="libdb_cxx">
287         <term><filename class="libraryfile">libdb_cxx.{a,so}</filename></term>
288         <listitem>
289           <para>Contains functions to manipulate database files from C++
290           programs</para>
291           <indexterm zone="ch-system-db libdb_cxx">
292             <primary sortas="c-libdb_cxx">libdb_cxx</primary>
293           </indexterm>
294         </listitem>
295       </varlistentry>
297     </variablelist>
299   </sect2>
301 </sect1>