ファイルは「locate」コマンドで表示されますが、存在しません。どうして?


12

奇妙な問題があります。
現在、Backtrack 5(Ubuntuベース)のフラッシュインストールを修正しています。私は本当にフラッシュを動作させる必要があるので、グーグルで調べました。あるボードでは、あるディストリビューション(最終的にDebianベース)がiceweasel-flashpluginにフラッシュインストールされるため、そこへのパスをiceweaselからfirefoxに変更する必要があると、ある人が言いました。(または、Firefoxにプラグインを検索するように指示しますが、わかりません)。

しかし、奇妙な部分があります。Locateコマンドを使用すると、ファイルとそのパスを見つけることができます。この正確なパスでcatコマンドを実行すると、「ファイルまたはディレクトリなし」が得られ、ls -laを使用しても何も起こりません。iで始まるファイルは2つしかありません。

誰かがなぜこれが起こっているのか知っていますか?そして、このフラッシュインストールを修正する方法はありますか?
事前にどうもありがとうございました。
シェルのスクリーンショット

回答:


14

locateというデータベースを使用しますlocatedb。通常、システムcronジョブによって更新されます。DBが更新されていない場合、存在しないか新しいファイル/ディレクトリが表示されます。updatedbコマンドで強制的に更新することができます。とりわけこのリンクを参照してください。

のマンページはlocate明確に言う-

   locate  reads  one or more databases prepared by updatedb and writes
   file names matching at least one of the PATTERNs  to  standard  output,
   one per line.

   By default, locate does not check whether files found in database still
   exist;  locate  can  never  report  files created after the most recent
   update of the relevant database.

ソース


OK、ルールを守らなければならない.. RTFM!ご説明ありがとうございます。
PatrickCUDO

4

Locateは、通常1日に1回cronで更新されるデータベースに基づいています。強制更新:実行するupdatedbと、locate iceweasel最新の結果が返されます。

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