web-dev-qa-db-fra.com

Où se trouve la base de données pour Locate / updatedb sur Ubuntu?

Je lisais à propos de la commande de localisation, et le tutoriel que j'utilisais indique que/var/log/updatedb est l'emplacement où se trouve updatedb. Ce n'est pas là sur ubuntu (xubuntu), et il ne semble même pas être localisable (ironiquement) en principe. Voici ce que j'ai fait pour essayer de le trouver:

[Host]:~$ Sudo find / -name updatedb
[Sudo] password for [USERNAME]:
find: ‘/run/user/1000/gvfs’: Permission denied
/etc/alternatives/updatedb
/usr/bin/updatedb

si je regarde dans/usr/bin et long-list updatedb, il est lié (lien bleu clair - et avec un 'l' dans les permissions, donc un lien symbolique) à/etc/alternatives/updatedb.

si je regarde dans/etc/alternatives

[Host]:/usr/bin$ cd /etc/alternatives
[Host]:/etc/alternatives$ ls -l updatedb
lrwxrwxrwx 1 root root 25 Jul 15 02:35 updatedb -> /usr/bin/updatedb.mlocate

vous obtenez le lien symbolique ci-dessus vers /usr/bin/updatedb.mlocate

[Host]:/usr/bin$ ls -l updatedb.mlocate
-rwxr-xr-x 1 root root 43768 Nov 18 2014 updatedb.mlocate

[Host]:/usr/bin$ file updatedb.mlocate
updatedb.mlocate: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=85d4fb92c2e099510893b0c2eccb13d49943e81e, stripped

J'ai ensuite lu ce lien sur Ubuntu:

http://manpages.ubuntu.com/manpages/precise/man8/updatedb.8.html Ce qui indique que la base de données est dans /var/lib/mlocate.db, mais ceci (juste en dessous) C'est ce que j'ai eu, et quand ouvert dans un éditeur de texte le message était que les données étaient illisibles:

[Host]:/var/lib/mlocate$ ls
mlocate.db
[Host]:/var/lib/mlocate$ emacs mlocate.db
[Host]:/var/lib/mlocate$ file mlocate.db
mlocate.db: regular file, no read permission
[Host]:/var/lib/mlocate$ ls -l mlocate.db
-rw-r----- 1 root mlocate 5291101 Aug 1 08:45 mlocate.db
[Host]:/var/lib/mlocate$

Je m'attends à un malentendu conceptuel, mais je serais reconnaissant de tout commentaire qui me permettrait de comprendre où se trouve la base de données.

Avec mes remerciements, Will

4
Will

Vous avez le bon fichier, mais la base de données est illisible pour deux raisons liées:

  1. Vous n'avez pas la permission d'y accéder directement.
    Ceci peut être surmonté avec Sudo emacs mlocate.db

  2. Ce n'est pas un fichier texte, donc il y a peu de tilitaire en l'ouvrant dans un éditeur de texte. Il est possible de l'afficher et de l'éditer à l'aide d'un éditeur de texte, mais le résultat le plus probable est une corruption de la base de données. Utilisez les outils appropriés pour lire ou modifier mlocate.db: updatedb et locate.

6
user4556274

Le fichier se trouve dans /var/lib/mlocate/mlocate.db mais appartient à root. Vous ne pouvez donc pas y accéder sans un accès super utilisateur.

pour remplir votre écran avec son contenu, lancez la commande Sudo cat /var/lib/mlocate/mlocate.db

N'essayez pas de modifier ce fichier

Source: ls -lhs /var/lib/mlocatelocate/mlocate.db

2
Elder Geek