Tdpkg

Материал из YourcmcWiki
Перейти к: навигация, поиск

Содержание

tdpkg

The tdpkg shared library is used to speed up dpkg *.list files loading using either tokyocabinet or sqlite3.

It currently works for the Debian GNU/Linux system.

build

Requirements: build-essential, libsqlite3-dev (for the sqlite3 backend) and libtokyocabinet-dev (for the tokyocabinet backend)

Type make to build tdpkg with tokyocabinet support.

Type make CACHE=sqlite instead for sqlite3 support.

Important: Library is experimental, 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 use the absolute path to libtdpkg.so):

alias dpkg="LD_PRELOAD=/path/to/libtdpkg.so dpkg"
alias apt-get="LD_PRELOAD=/path/to/libtdpkg.so apt-get" 

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