Эта глава включает базы данных, которые находятся в диапазоне от чтения/записи одиночного пользователя до промышленных серверов баз данных с поддержкой трансакций. Обычно вы будете отсылаться сюда для удовлетворения зависимостей для других приложений, хотя сборка сервера SQL в основной LFS системе вполне возможна.
Пакет Berkeley DB содержит программы и утилиты, используемые многими другими приложениями для функций, связанных с базами данных.
Адрес (FTP): ftp://sleepycat1.inetu.net/releases/db-4.3.27.tar.gz
Контрольная сумма: fcc481d52c3b80e20a328f8c0cb042bd
Размер: 5.7 MB
Требуемое дисковое пространство: 68 MB
Расчетное время сборки: 1.23 SBU
Установим Berkeley DB запуском следующих команд:
cd build_unix &&
../dist/configure --prefix=/usr \
--enable-compat185 \
--enable-cxx &&
make LIBSO_LIBS="-lpthread" LIBXSO_LIBS="-lpthread" &&
make docdir=/usr/share/doc/db-4.3.27 install
Замечание: Если вы собираете пакет под непривилегированным пользователем, то переключитесь на пользователя root для установки пакета. Berkeley DB установит файлы с владельцем, которым будет пользователь, собравший пакет. Это не желательно. Изменим владельца установленных файлов применением следующих команд:
chown root:root /usr/bin/db_* \
/usr/lib/libdb* /usr/include/db* &&
chown -R root:root /usr/share/doc/db-4.3.27
cd build_unix && ../dist/configure --prefix=/usr...: Это заменит нормальную команду ./configure, так как Berkeley DB идет с различными директориями сборки для разных платформ.
--enable-compat185: Этот ключ включает сборку API совместимости DB 1.85.
--enable-cxx: Этот ключ включает сборку C++ API.
make LIBSO_LIBS="-lpthread" LIBXSO_LIBS="-lpthread": configure не корректно поддерживает NPTL. Эта переменная заставляет его правильно связываться с NPTL.
make docdir=/usr/share/doc/db-4.3.27 install: Это установит документацию в правильное место.
--enable-tcl --with-tcl=/usr/lib: Включает поддержку Tcl в DB и создает libdb_tcl библиотеки.
--enable-java: Включает поддержку Java в DB и создает libdb_java библиотеки.
Пакет Berkeley DB содержит db_archive, db_checkpoint, db_deadlock, db_dump, db_load, db_printlog, db_recover, db_stat, db_upgrade, db_verify и библиотеки libdb.
db_deadlock используется для прерывания блокирования запрсов, когда обнаружен deadlocks.
db_recover используется для восстановления базы данных в устойчивое состояние после сбоя.