私は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$
概念的に誤解していると思いますが、データベースがどこにあるかを理解するのに役立つコメントに感謝します。
おかげで、ウィル
正しいファイルがありますが、データベースは次の2つの関連する理由で読み取りできません。
直接アクセスする権限がありません。
これはSudo emacs mlocate.db
で克服できます
テキストファイルではないので、テキストエディタで開くときにユーティリティはほとんどありません。テキストエディタを使用して表示および編集することは可能ですが、最も可能性の高い結果はデータベースの破損です。 mlocate.db
:updatedb
およびlocate
の読み取りまたは変更に適切なツールを使用します。
ファイルは/var/lib/mlocate/mlocate.dbにありますが、rootが所有しているため、スーパーユーザーアクセスなしではアクセスできません。
画面にコンテンツを表示するには、コマンドSudo cat /var/lib/mlocate/mlocate.db
を発行します
このファイルを編集しないでください
ソース:ls -lhs /var/lib/mlocatelocate/mlocate.db