ターゲティングが機能しない

ターゲティングが機能しない

システム: Linux Mint 19.1 Tessa, バージョン: Cinnamon

コマンドに問題がありますlocatetest.txtデスクトップにファイルを作成しました。その後、私は次のことをしました。

sudo updatedb

しかし、

locate test.txt -i 

まだ何も表示されません。

権限mlocate.db: -rw-r---- root ではなく通常のユーザーで動作します。 (それでsudoコマンドを使います。)

ベストアンサー1

このupdatedbコマンドはシステムのファイルシステムを検索し、使用可能なファイル名とディレクトリ名のインデックスを作成します。この索引付けは、権限のないユーザーで行われます。つまり、インデックスには、以下を介してアクセスできるファイル名のみが含まれます。みんなシステムユーザー。

あなたのホームディレクトリはあなただけがアクセスできるので(あなたの意見でそのディレクトリに対する権限があると言いましたrwx------インデックスは作成されません。合格updatedb。これは、その結果、名前locateがホームディレクトリから返されないことを意味します(代わりにsudo locate使用してもlocate同じインデックスを照会するので役に立ちません)。

この問題を解決するには、2 つのオプションがあります。

  1. ホームディレクトリ(およびその下にインデックスを付けたいすべてのディレクトリupdatedb)の制限を軽減します。権限はrwxr-xr-x8進数で、または755でなければなりません。

  2. locateファイルの検索には使用しないでください。代わりに、以下を使用してくださいfind

    find "$HOME" -name test.txt
    

    これにより、test.txtホームディレクトリまたはその下で呼び出されたすべてのエントリを見つけることができます。

おすすめ記事