Onde está o banco de dados para locate / updatedb no Ubuntu?

4

Eu tenho lido sobre o comando locate, e o tutorial que eu estava usando diz que / var / log / updatedb é onde o updatedb está localizado. Não está lá no Ubuntu (xubuntu), e nem parece ser capaz de localizar (ironicamente) em princípio. Isso é o que eu fiz para tentar encontrá-lo:

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

se eu olhar em / usr / bin e long-list updatedb, ele está vinculado (link azul claro - e com um 'l' nas permissões, portanto, um symlink) para /etc/alternatives/updatedb.

se eu olhar em / 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

você recebe o link simbólico acima em /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

Eu então leio este link no Ubuntu:

link O que diz que o banco de dados está em /var/lib/mlocate.db, mas isso (logo abaixo) é o que eu recebi e, quando aberto em um editor de texto, a mensagem era que os dados eram ilegíveis:

[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$

Espero que eu tenha um mal-entendido conceitual, mas ficaria grato por qualquer comentário que me ajudasse a entender onde o banco de dados pode ser encontrado.

Com gratidão, Will

    
por Will 01.08.2016 / 19:01

2 respostas

6

Você tem o arquivo correto, mas o banco de dados está ilegível por dois motivos relacionados:

  1. Você não tem permissão para acessá-lo diretamente.
    Isso pode ser superado com sudo emacs mlocate.db

  2. Não é um arquivo de texto, portanto, há pouco utilitário para abri-lo em um editor de texto. É possível visualizar e editar usando um editor de texto, mas o resultado mais provável é a corrupção do banco de dados. Use as ferramentas apropriadas para ler ou modificar mlocate.db : updatedb e locate .

por user4556274 01.08.2016 / 19:09
2

O arquivo reside em /var/lib/mlocate/mlocate.db, mas é de propriedade do root, portanto você não pode acessá-lo sem o acesso de superusuário.

para preencher sua tela com seu conteúdo, edite o comando sudo cat /var/lib/mlocate/mlocate.db

Não tente editar este arquivo

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

    
por Elder Geek 01.08.2016 / 19:11