Я пытаюсь прочитать файлы базы данных, созданные reprepro
.У меня нет такого большого опыта работы с bdb, поэтому я могу быть смущен здесь, но похоже, что база данных каким-то образом наслоена.
Если я просто делаю btopen('path/to/packages.db', 'r')
, я получаю объект базы данных ссодержимое вроде:
In [4]: packages.items()
Out[4]:
[('local-lenny|main|amd64', '\x00\x00\x00\x04'),
('local-lenny|main|i386', '\x00\x00\x00\x02'),
('local-lenny|main|powerpc', '\x00\x00\x00\x14'),
('local-lenny|main|source', '\x00\x00\x00\x06'),
('local-lenny|main|sparc', '\x00\x00\x00\x12')]
Однако db4.6_dump показывает:
VERSION=3
format=bytevalue
database=local-lenny|main|sparc
type=btree
db_pagesize=4096
HEADER=END
<loads of data>
Сам файл обозначается как: /var/packages/db/packages.db: Berkeley DB (Btree, version 9, native byte-order)
file
.
Какмне добраться до этого содержания?Если я правильно понимаю, я получил только имена реальных баз данных в keys()
.Как мне теперь добраться до содержимого этих БД?