web-dev-qa-db-ja.com

ディレクトリ/ファイルの変更を監視してインデックスを再構築する方法は?

Windows7からUbuntu12.04に移行しました。

Win 7では、「すべて」を使用してファイルとディレクトリを検索します。インデックスデータベースを構築し、ファイルまたはディレクトリが変更されると更新できます。私はそれにとても慣れているので、Ubuntu12.04で似たようなものがあるかどうか知りたいです。

現在、回避策はupdatedblocateですが、何かを検索するたびにupdatedbする必要があります。また、結果は絶対ファイルパスですが、ファイルの詳細を知りたい場合はどうすればよいですか?(たとえば、created_timeで結果を並べ替える場合はどうすればよいですか?)

ディスクにファイルを追加すると、updatedbが自動的に実行される方法はありますか?そうでない場合、「すべて」のように機能できるツールはありますか?

3
ChandlerQ

私が精通している3つの選択肢があります。

このチュートリアルのタイトルは 最高のLinuxデスクトップ検索ツール これらと他のいくつかについて説明しています。

トラッカー

インストールは簡単です。

$ apt-get install tracker tracker-utils

インストール後、ドライブのインデックス作成が自動的に開始されます。中を覗いて、tracker-controlを使用して何が起こっているかを確認できます。

$ tracker-control 
Found 288 PIDs…
Found process ID 2611 for 'tracker-store'

Store:
17 Aug 2013, 11:57:51:  ✓     Store                 - Idle 

Miners:
17 Aug 2013, 11:57:51:  ✗     Applications          - Not running or is a disabled plugin
17 Aug 2013, 11:57:51:  ✗     File System           - Not running or is a disabled plugin

または、track-statsを使用できます:

$ tracker-stats | head -10
Statistics:
  mfo:Action = 1
  mlo:LandmarkCategory = 15
  mto:State = 6
  mto:TransferMethod = 2
  mtp:ScanType = 6
  nao:Tag = 1
  nco:AuthorizationStatus = 3
  nco:Contact = 1
  nco:Gender = 3

次のように設定を再構成できます。

$ tracker-preferences

tracker prefs

次のように、手動でマイナーを起動できます。

$ tracker-control -s
Starting miners…
  ✓ Applications
  ✓ File System

そして、それが何をしているのかを見てください:

$ tracker-control -F
Store:
17 Aug 2013, 12:13:29:  ✓     Store                 - Idle 

Miners:
17 Aug 2013, 12:13:29:    0%  Applications          - Initializing 
17 Aug 2013, 12:13:29:    0%  File System           - Initializing 
Press Ctrl+C to end follow of Tracker state
17 Aug 2013, 12:13:29:  ✓     Store                 - Idle 
17 Aug 2013, 12:13:39:    1%  Applications          - Crawling recursively directory 'file:///usr/share/applications' 
17 Aug 2013, 12:13:39:    1%  Applications          - Crawling recursively directory 'file:///usr/share/desktop-directories' 
17 Aug 2013, 12:13:39:    1%  Applications          - Crawling recursively directory 'file:///home/tammy/.local/share/applications' 
17 Aug 2013, 12:13:39:    1%  Applications          - Crawling recursively directory 'file:///home/tammy/.local/share/desktop-directories' 

ディスク上のコンテンツにインデックスが付けられたら、GUIまたはNautilusへの統合検索のいずれかを使用してコンテンツを検索できます(Ctrlf)。また、コマンドラインツールtracker-searchも提供します。

$ tracker-search art
Results:
  file:///home/tammy/Documents/ArtEdCurriculumElemFRS.odt

もう少し詳細:

$ tracker-search -d art
Results:
cols:3
  file:///home/tammy/Documents/ArtEdCurriculumElemFRS.odt
    application/vnd.oasis.opendocument.text
    http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#PaginatedTextDocument

GUI検索ツールtracker-needleを呼び出すこともできます。

ss of tracker-needle

Recoll

現在、これをアクティブに設定していませんが、実際の動作を示す Webサイトのスクリーンショット があります。詳細については、 オンラインドキュメント を参照することもできます。

4
slm

ファイルが作成されるたびにupdatedbを実行すると、updatedbがすべてのシステムを解析して新しいファイル/ディレクトリを探すため、深刻なI/Oオーバーヘッドが発生します。そうは言っても、Ubuntuはユーザーファイルにインデックスを付けるためのいくつかのツールをインストールできます。何を使用するかはあなた次第です。

  • トラッカーのみのインデックス作成。検索結果を提供するには、他のツールと統合する必要があります。
  • Strigi、nepomuk、およびイルカの組み合わせ
  • Recoll は、非常に強力なXapian検索エンジンライブラリに基づいています。
  • Beagle ドキュメントのコンテンツと関連するメタデータを検索します。
  • Namaz は、コマンドラインのインデックス作成および検索エンジンです。

それらのほとんどはデフォルトのUbuntuリポジトリに含まれており、ソフトウェアセンターを使用してインストールできます。

2
Braiam