#### Beyond Linux® From Scratch (systemd Edition) - Version 10.1

### Chapter 22. Databases

- Prev

  Databases

- Next

  lmdb-0.9.28

- Up
- Home

# Berkeley DB-5.3.28

## Introduction to Berkeley DB

The Berkeley DB package contains programs and utilities used by many other applications for database related functions.

This package is known to build and work properly using an LFS-10.1 platform.

### Package Information

- Download (HTTP): http://anduin.linuxfromscratch.org/BLFS/bdb/db-5.3.28.tar.gz

- Download MD5 sum: b99454564d5b4479750567031d66fe24

- Download size: 34 MB

- Estimated disk space required: 265 MB

- Estimated build time: 0.6 SBU

### Berkeley DB Dependencies

#### Optional

Sharutils-4.15.2 (for the uudecode command)

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/db

## Installation of Berkeley DB

First apply a fix so that this will compile with current versions of g++:

    sed -i 's/\(__atomic_compare_exchange\)/\1_db/' src/dbinc/atomic.h

Install Berkeley DB by running the following commands:

    cd build_unix                        &&
    ../dist/configure --prefix=/usr      \
                      --enable-compat185 \
                      --enable-dbm       \
                      --disable-static   \
                      --enable-cxx       &&
    make

Now, as the `root` user:

    make docdir=/usr/share/doc/db-5.3.28 install &&

    chown -v -R root:root                        \
          /usr/bin/db_*                          \
          /usr/include/db{,_185,_cxx}.h          \
          /usr/lib/libdb*.{so,la}                \
          /usr/share/doc/db-5.3.28

## Command Explanations

cd build_unix && ../dist/configure --prefix=/usr...: This replaces the normal ./configure command, as Berkeley DB comes with various build directories for different platforms.

`--enable-compat185`: This switch enables building the DB-1.85 compatibility API.

`--enable-cxx`: This switch enables building C++ API libraries.

`--enable-dbm`: Enables legacy interface support needed by some older packages.

make docdir=/usr/share/doc/db-5.3.28 install: This installs the documentation in the standard location instead of `/usr/docs`.

chown -v -R root:root ...:This command changes the ownership of various installed files from the uid:gid of the builder to root:root.

`--enable-tcl --with-tcl=/usr/lib`: Enables Tcl support in DB and creates the `libdb_tcl` libraries.

`--enable-java`: Enables Java support in DB and creates the `libdb_java` libraries. Support is currently broken with Java-7.x.

## Contents

Installed Programs: db_archive, db_checkpoint, db_deadlock, db_dump, db_hotbackup, db_load, db_log_verify, db_printlog, db_recover, db_replicate, db_stat, db_tuner, db_upgrade, and db_verify
Installed Libraries: libdb.so, libdb_cxx.so, and libdb_tcl.so
Installed Directory: /usr/share/doc/db-5.3.28

### Short Descriptions

db_archive | prints the pathnames of log files that are no longer in use
db_checkpoint | is a daemon process used to monitor and checkpoint database logs
db_deadlock | is used to abort lock requests when deadlocks are detected
db_dump | converts database files to a flat file format readable by db_load
db_hotbackup | creates "hot backup" or "hot failover" snapshots of Berkeley DB databases
db_load | is used to create database files from flat files created with db_dump
db_log_verify | verifies the log files of a database
db_printlog | converts database log files to human readable text
db_recover | is used to restore a database to a consistent state after a failure
db_replicate | is a daemon process that provides replication/HA services on a transactional environment
db_stat | displays database environment statistics
db_tuner | analyzes the data in a btree database, and suggests a page size that is likely to deliver optimal operation
db_upgrade | is used to upgrade database files to a newer version of Berkeley DB
db_verify | is used to run consistency checks on database files

Last updated on 2021-02-19 22:13:48 -0800

- Prev

  Databases

- Next

  lmdb-0.9.28

- Up
- Home