フルディスクスキャンを実行し、システム上のすべてのファイルをスキャンするプログラムがある場合は、実行に時間がかかることがよくあります。比較すると、updatebはなぜそれほど速く実行されますか?
ベストアンサー1
答えは使用しているバージョンによって異なりますが、locate
ほとんどはそうです。mlocate
updatedb
、全体の検査を避けることで迅速に実行されます。
mlocateは検索/更新DBの実装です。 「m」は「マージ」を意味します。 updateb は既存のデータベースを再利用して多くのファイルシステムを再読み込みするのを防ぎ、updateb を高速化し、システムキャッシュを無駄にしすぎません。
(データベースは、各ディレクトリのタイムスタンプctime
またはmtime
新しいものを保存します。)
ほとんどの実装と同様に、updatedb
無視するmlocate
ように構成されたファイルシステムとパスもスキップされます。デフォルトでは何もありませんが、ディストリビューションは通常、ネットワークファイルシステム、仮想ファイルシステムなどを無視するmlocate
基本ファイルシステムを提供します。updatedb.conf
Debian 構成ファイルたとえば、これはDebianの標準的な慣行なので、GNUupdatedb
は構成は似ています。)。