update-db cron job: solving a long-standing issue

Milan nalimilan at club.fr
Sat Sep 15 14:54:57 UTC 2007

The slocate cron.daily job has long been an issue, making users ask why
their computers were not responding or simply working hard without any
explanation. This little 'bug' is giving a really bad impression to new
users, making Ubuntu look 'Windows-like' (the worst for us), that is to
say unstable and strange.

Having a look to Launchpad bug tracker, you can see that at least 5 open
bugs refer to this problem, some proposing patches to make the issue
less annoying. Those are:

https://bugs.launchpad.net/ubuntu/+source/slocate/+bug/134692 (with a
committed patch, about using ionice to lessen the io usage of updatedb)
(duplicate*, reporting ionice issues making previous patch almost
https://bugs.launchpad.net/ubuntu/+source/slocate/+bug/133638 (about
telling the user that the system is indexing files)
https://bugs.launchpad.net/ubuntu/+source/cron/+bug/27918 (about laptop
batteries issues)
https://bugs.launchpad.net/ubuntu/+source/slocate/+bug/41742 (about a
laptop not wanting to suspend when updatedb has automatically started)

And partly those, because bugs with slocate affect out-of-the-box users
that don't really need it:
https://bugs.launchpad.net/ubuntu/+source/slocate/+bug/113312 (about
encrypted partition being indexed without notice from a newbie user)
https://bugs.launchpad.net/ubuntu/+source/slocate/+bug/74029 (about /mnt
default indexation issues)

This bug should really be rapidly considered and solves by choosing a
clear policy for Ubuntu. If we really want to keep the locate command
working out-of-the-box in Ubuntu, we should find out ways of making
updatedb run : 1) with low io and CPU priority 2) only when the user is
not using his computer and 3) when not on battery - (just like Tracker
will be doing by default in Gutsy).

Or we can consider using rlocate (http://rlocate.sourceforge.net/),
which is a synchronized replacement for locate, keeping track of the
filesystem updates when they are done.

We can also think (and this is my opinion ;-) ) that the locate command
is only used by advanced users that now how to install slocate in two
minutes, and thus that we don't need to install it by default. Newbies
don't use locate in a terminal, but Tracker in GNOME. And we should
remember that users are likely to use new background processes with
Tracker or Beagle, that may even be installed by default. So the less
are running, the better the system will work. Replacements like find can
be used when necessary (eg for occasional remote help), though they are
less efficient.

I'd like to get your comments about this point, in order to fix it in
the next release, before new users consider that their Ubuntu system is
doing jobs without their consent and in an irrational way. Thanks for
reading... :-)


More information about the Ubuntu-devel-discuss mailing list