mirror of https://github.com/vitalif/tdpkg
A wrapper library around dpkg to make it use tokyocabinet (or sqlite) and speed it up when reading database. See http://yourcmc.ru/wiki/Tdpkg
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
![]() |
10 years ago | |
---|---|---|
.gitignore | 13 years ago | |
AUTHORS | 13 years ago | |
COPYING | 13 years ago | |
Makefile | 10 years ago | |
README | 13 years ago | |
cache-sqlite.c | 13 years ago | |
cache-tokyo.c | 13 years ago | |
cache.h | 13 years ago | |
tdpkg.c | 10 years ago | |
util.c | 13 years ago | |
util.h | 13 years ago |
README
The `tdpkg' shared library is used to speed up dpkg .list files loading using
either tokyocabinet or sqlite3.
Homepage: http://lethalman.hostei.com/tdpkg.html
REQUIREMENTS
build-essential
libsqlite3-dev for sqlite backend
libtokyocabinet-dev for tokyocabinet backend
BUILD
Type `make' to build tdpkg with tokyocabinet support.
Type `make CACHE=sqlite' instead to build tdpkg with sqlite3 support.
You'd better not install this library, it could make your system highly
unstable.
USAGE
Please make a backup copy of your /var/lib/dpkg/info directory before using
tdpkg.
Manual usage:
LD_PRELOAD=./libtdpkg.so dpkg ...
For system-wide usage use an alias (make sure you the absolute path to
libtdpkg.so):
alias dpkg="LD_PRELOAD=/path/to/libtdpkg.so dpkg"
The cache for both sqlite3 and tokyocabinet is located at
/var/lib/dpkg/info/tdpkg.cache.
BENCHMARKING
The operations involved with dpkg database reading are mostly done on the file system.
For this reason cleaning up the kernel cache is a must before calling either tdpkg or dpkg:
echo 1 > /proc/sys/vm/drop_caches