Linuxの「検索」キャッシュを更新する方法


73

ロケートのキャッシュ/インデックスを更新するにはどうすればよいですか?新しいパッケージをインストールしましたが、ファイルのインデックスはまだ作成されていません。それでは、インデクサーをトリガーするには、どのコマンドをコミットする必要がありますか?

現在、Debian jessie(テスト)に取り組んでいます:Linux mbpc 3.13-1-amd64#1 SMP Debian 3.13.7-1(2014-03-25)x86_64 GNU / Linux


あなたの場合locateからであるGNU検索ユーティリティ(あなたがDebianのジェシーを使用している場合、それはおそらく、)プロジェクト、その後、あなたはここで、プロジェクトのウェブサイトやドキュメントを見つけることができます。gnu.org/software/findutils
sampablokuper

回答:


103

コマンドは次のとおりです。

sudo updatedb

詳細man updatedbを参照してください。


1
私が覚えているように、あなたはそれをするためにrootでなければならない、またはそれをsudo
David Lakatos

1
そしてそれをcronとして置きます。
フローリンAsăvoaie14年

18
あなたがルートでないなら、あなたはとにかく... ServerFaultの上であってはならない
ジェニーD

3
@JennyDこれは... ServerFaultのではありません
ジョン・ハント

2
このコマンドは、Debian Stretch RC3およびSata SSDドライブで約13分間実行されるため、しばらくお待ちください。
マレッキー

21

OSXでは次のとおりです。 sudo /usr/libexec/locate.updatedb

以下とリンクできます: sudo ln -s /usr/libexec/locate.updatedb /usr/local/bin/updatedb

標準のUNIXコマンドのシンボリックリンクを作成する必要があるように見えますが、それはあります。


0

debian / ubuntuでは、locateのどのフレーバーがインストールされているかを見つけることができます:

dpkg -S locate | grep /bin/

私の場合、次のとおりです。

mlocate: /usr/bin/updatedb.mlocate

どのcronジョブが原因であるかを確認するには、次を実行します。

dpkg -L mlocate | grep cron

私の場合、これは次のことを示しています。

/etc/cron.daily
/etc/cron.daily/mlocate

データベースを更新するには、rootとしてcronジョブを実行します:

sudo /etc/cron.daily/mlocate

cronjobがなく、updatedb自体が機能しない場合は、インストール済みのフレーバーを見つけてみてください:

dpkg -L mlocate | grep /bin/

返されるもの:

/usr/bin/mlocate
/usr/bin/updatedb.mlocate
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.