yuu_nkjm blog
2012-02-01(Wed) [長年日記]
[locate][openSUSE][Linux] locateに検索漏れ(updatedbにインデックス漏れ)がある
インデックスが意図通り作成されていないと思った時は,updatedbの実行者(RUN_UPDATEDB_AS)と,除外ディレクトリの設定(UPDATEDB_PRUNEPATHS)の確認をする.
/etc/sysconfig エディタ 現在の選択: Applications/Locate RUN_UPDATEDB_AS: nobody ファイル: /etc/sysconfig/locate 入力可能な値: nobody, root または任意の値 既定値: nobody 説明: updatedb has a parameter "--localuser". It runs the "find" command as this user. Some people think this is a security hole if set to 'root' (because some directory information can be read which is normally protected). Others think it is useful to hold all files in the database. So if you want full information in locate db, set RUN_UPDATEDB_AS=root. If you want security use RUN_UPDATEDB_AS=nobody.
管理しているサーバではnobodyでの実行になっていた.セキュリティ的にはnobodyの方が良いのだろうが,rootでインデックス作ったほうが便利は便利なんだよなー.
いずれにせよ,存在するはずのファイルがlocateで見つからないぞって時は,まずはfindしてみた方が良いな.