Speeding up dpkg

I always had problems with the speed and memory consumption of dpkg. When I’m doing apt-get upgrade, my laptop becomes unusable for several minutes. And I do it every day, since I’m using debian testing. I made a little research, and found out that a huge part of the time is spent in the parsedb function with parsing the text files containing package information. That’s when you see "(Reading database ..."

Therefore I decided to replace the textfile backend with sqlite3. The first step is almost finished: the package information has been imported into an sqlite database. I just wrote a 100 line C++ prog, and it works.

The preliminary results are self explanatory:

Using dpkg as it is now (file backend, 17782 packages):

hikaru:/home/robi/prog/dpkg/trunk/utils# time dpkg -l "gnome-terminal"

[...]
ii gnome-terminal 2.14.2-1 The GNOME 2 terminal emulator application
[...]
real 0m6.817s
user 0m1.360s
sys 0m0.092s

Using an sql query with sqlite (same database, 17782 packages):

hikaru:/home/robi/prog/dpkg/trunk/utils# time echo "SELECT * FROM packages WHERE Package='gnome-terminal';" | sqlite3 available.db
gnome-terminal|optional|gnome|404|Guilherme de S. Pastore |i386||2.14.2-1|b18bd66347ef25707e7b92957142de0b
[...]
real 0m0.851s
user 0m0.004s
sys 0m0.004s

The next step is to fix some bugs (eg. having ‘ in the descriptions is a problem at the moment), and then replace the code in parsedb. But first I have to get some sleep.

Read More

In a perfect world people’s illness is not a business

Grrr again… I hate pharmaceutical industry and I hate biotech companies. It’s not about healing, it’s not about making people’s life better. It’s all about money. Damm damm diridamm… Read this: Drugs firm blocks cheap blindness cure. Medical research should only be perfomed by non-profit organizations, and the knowledge must be shared. Otherwise we are facing a really sad future.

Read More

Linux is Not Windows

I’ve found a very good article, which should be read by everybody who starts experiencing with Linux. It explains that Linux is not Windows, and you can read it here: http://linux.oneandoneis2.org/LNW.htm

Read More

Evolution addressbooks organized

I had at least 5 evolution folders in my old home dirs and backups. This means 5+ addressbooks and 4-5 mail spools. Since I could not find out any better ways, I’ve just moved the .evolution (and even one evolution) folders to a temporary folder, and started to delete unnecessary files and empty dirs. Then I’ve created several empty addressbooks in evolution and just copied the addressbook.db and addressbook.db.summary files into the appropriate dirs. It worked. Now I can move the address cards between them. Well, that will be still some work…

To be continued with mail folders.

Read More

backup is my life

nn1

Read More