web-dev-qa-db-ja.com

Ubuntuのlocate / updatedbのデータベースはどこにありますか?

私はlocateコマンドについて読んでおり、私が使用していたチュートリアルでは、/ var/log/updatedbがupdatedbのある場所であると述べています。 ubuntu(xubuntu)には存在せず、原則として(皮肉にも)位置を特定することさえできないようです。これは私がそれを試して見つけようとしたことです:

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

/ usr/binと長いリストのupdatedbを見ると、それは/ etc/alternatives/updatedbにリンクされています(水色のリンク-パーミッションに「l」が付いているので、シンボリックリンク)。

/ 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

上記の/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

次に、ubuntuでこのリンクを読みます。

http://manpages.ubuntu.com/manpages/precise/man8/updatedb.8.html これは、データベースが/var/lib/mlocate.dbにあることを示していますが、これ(すぐ下)私が得たものであり、テキストエディタで開いたときに、メッセージはデータが読めないというものでした:

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

概念的に誤解していると思いますが、データベースがどこにあるかを理解するのに役立つコメントに感謝します。

おかげで、ウィル

4
Will

正しいファイルがありますが、データベースは次の2つの関連する理由で読み取りできません。

  1. 直接アクセスする権限がありません。
    これはSudo emacs mlocate.dbで克服できます

  2. テキストファイルではないので、テキストエディタで開くときにユーティリティはほとんどありません。テキストエディタを使用して表示および編集することは可能ですが、最も可能性の高い結果はデー​​タベースの破損です。 mlocate.dbupdatedbおよびlocateの読み取りまたは変更に適切なツールを使用します。

6
user4556274

ファイルは/var/lib/mlocate/mlocate.dbにありますが、rootが所有しているため、スーパーユーザーアクセスなしではアクセスできません。

画面にコンテンツを表示するには、コマンドSudo cat /var/lib/mlocate/mlocate.dbを発行します

このファイルを編集しないでください

ソース:ls -lhs /var/lib/mlocatelocate/mlocate.db

2
Elder Geek