「updatedb」プログラムはなぜそれほど速く実行されますか?

「updatedb」プログラムはなぜそれほど速く実行されますか?

フルディスクスキャンを実行し、システム上のすべてのファイルをスキャンするプログラムがある場合は、実行に時間がかかることがよくあります。比較すると、updatebはなぜそれほど速く実行されますか?

ベストアンサー1

答えは使用しているバージョンによって異なりますが、locateほとんどはそうです。mlocateupdatedb、全体の検査を避けることで迅速に実行されます。

mlocateは検索/更新DBの実装です。 「m」は「マージ」を意味します。 updateb は既存のデータベースを再利用して多くのファイルシステムを再読み込みするのを防ぎ、updateb を高速化し、システムキャッシュを無駄にしすぎません。

(データベースは、各ディレクトリのタイムスタンプctimeまたはmtime新しいものを保存します。)

ほとんどの実装と同様に、updatedb無視するmlocateように構成されたファイルシステムとパスもスキップされます。デフォルトでは何もありませんが、ディストリビューションは通常、ネットワークファイルシステム、仮想ファイルシステムなどを無視するmlocate基本ファイルシステムを提供します。updatedb.confDebian 構成ファイルたとえば、これはDebianの標準的な慣行なので、GNUupdatedb構成は似ています。)。

おすすめ記事