When you think you have seen everything, Ubuntu, Xubuntu, Lubuntu on old hardware
Sunday, October 7, 2012 6:40:03 PM
I have found why Ubuntu derivatives were killing my old PC. And it is not related to the low hardware specs but to people's stupidity.
It seems there is a script that creates (using python) a database of some sort called "xapian" and the only real use of that database I could find is to make it possible to do fast searches on installed packages through Synaptic.
Now, the script is scheduled in "cron":
Plus whenever you use Synaptic.
Every time the script starts it either rebuild the database or updates it.
Now, everybody with two working neurons would think that:
1. the database creation/updating should be disabled if the system is single core CPU and/or there is too few RAM available. In fact it is much worse to kill the system while updating the database than having "slow" serches on installed packges. In my case it made the computer unusable for a long while. And please note that a "casual" user would never understand the reason. In Windows the same happens with current antivirus that update in background.
2. the database creation/updating should be done in "idle/background" mode, not simply taking all available hardware to make it as fast as possible. Again, on very powerful systems the user may not notice it but when you need resources for something else it is not nice to see this process coming up randomly and sucking power madly.
3. considering the fact that the database does not provide any major advantage, having the creation/update triggered so often is just a waste of resouces, including battery.
I have found only two solutions for the issue.
sudo chmod 644 /usr/sbin/update-apt-xapian-index
It changes permissions on the script so it can't be executed.
Open Synaptic and remove the installed package "apt-xapian-index".
So far I did not find any negative consequence from removing the package.
On a side note: drivers.
The thing is whenever they update the kernel and Xorg they should also update the drivers. Which is not the case. So basically you never know if a driver that worked until now will still work with the next distro update. To make it worse, there isn't any standardization across distros, each distro use a different stack of kernel-Xorg-drivers. So the fact that you have a working driver on distro X doesn't help at all if you need it on distro Y. Then blame the hardware vendors.