4.5 Работа с БД RPM

Как правило база данных установленных пакетов хранится в /var/lib/rpm. Файлы в этом каталоге - это файлы СУБД Berkeley DB, в чем можно убедится с помощью команды file:

# file /var/lib/rpm/*

/var/lib/rpm/Basenames: Berkeley DB (Hash, version 7, native byte-order)

/var/lib/rpm/Conflictname: Berkeley DB (Hash, version 7, native byte-order)

/var/lib/rpm/__db.001: data

/var/lib/rpm/__db.002: X11 SNF font data, LSB first

/var/lib/rpm/__db.003: X11 SNF font data, LSB first

/var/lib/rpm/Dirnames: Berkeley DB (Btree, version 8, native byte-order)

/var/lib/rpm/Filemd5s: Berkeley DB (Btree, version 8, native byte-order)

/var/lib/rpm/Group: Berkeley DB (Hash, version 7, native byte-order)

/var/lib/rpm/Installtid: Berkeley DB (Btree, version 8, native byte-order)

/var/lib/rpm/Name: Berkeley DB (Hash, version 7, native byte-order)

/var/lib/rpm/Packages: Berkeley DB (Hash, version 7, native byte-order)

/var/lib/rpm/Providename: Berkeley DB (Hash, version 7, native byte-order)

/var/lib/rpm/Provideversion: Berkeley DB (Btree, version 8, native byte-order)

/var/lib/rpm/Requirename: Berkeley DB (Hash, version 7, native byte-order)

/var/lib/rpm/Requireversion: Berkeley DB (Btree, version 8, native byte-order)

/var/lib/rpm/Sha1header: Berkeley DB (Btree, version 8, native byte-order)

/var/lib/rpm/Sigmd5: Berkeley DB (Btree, version 8, native byte-order)

/var/lib/rpm/Triggername: Berkeley DB (Hash, version 7, native byte-order)

Каждый файл является базой данных в формате Berkeley DB за исключением файлов __db. Строки типа "/var/lib/rpm/__db.002: X11 SNF font data, LSB first" следует отнести к ограниченности функционала команды file, так как файлы __db.00x конечно не являются файлами шрифтов.

По сути дела БД RPM - это набор баз данных Berkeley DB, каждая для своего типа запроса. Поскольку эти файлы представляют собой хэш-таблицы в формате имя-значение, они работают очень быстро при поиске по имени записи, хотя и не слишком быстро при полном переборе записей.

Если что-то идет не так с БД RPM, следует в первую очередь попытаться перестроить или переинициализировать ее, для чего существует специальные режимы rpm. Однако изначально полезно иметь резервную копию БД.

Далее - Создание резервной копии БД RPM
Назад - Настройка проверок
Содержание