Develop and Download Open Source Software

OpenSource Downloads

7-Zip  (4,208)  
HandBrake Japanese Language Version  (3,353)  
CrystalDiskInfo  (1,743)  
CotEditor  (1,120)  
CrystalDiskMark  (866)  
Boookends  (788)  
SMPlayer  (642)  
えこでこツール  (599)  
Tera Term  (595)  
10  FFFTP  (579)  
11  Cabos  (530)  
12  BathyScaphe  (494)  
13  ffdshow  (481)  
14  MergeDoc  (464)  
15  ギコナビ  (438)  
More >>

最近ブックマークされた記事

KomparatorおよびKDiff3を利用したディレクトリ間の同期処理

2008年07月16日 10:46 Federico-Kereki(2008年6月27日(金)) 1 2 3
 1つの作業をラップトップマシンとデスクトップマシンとを使い分けながら交互に進めていくユーザにとって、双方のマシン間でデータを反映させ合う同期処理は不可欠の業務となるはずである。その種のサポートツールとしてはscpやrsyncなどのコマンドライン系ツールが多数存在しており、グラフィカル系アプリケーションに限ってもKonquerorKrusaderなどの汎用ツールを使って処理することも、あるいはUnison翻訳記事)のような専用ツールを利用することもできる。そうした中で本稿で紹介するのは、独自の機能を装備したKDEアプリケーションである Komparator および KDiff3 を用いたディレクトリ同期の手法である。

 Komparatorは2つのディレクトリ間で収録ファイルの比較と同期を行うためのツールである。特にこのツールはKIOスレーブを使用することで、通常のディレクトリだけでなく、smb:// (Sambaフォルダ)、ssh://およびftp:// (SSHおよびFTPを介するリモートディレクトリ)、fonts:// (ローカルフォント)などのプロトコルベースの疑似フォルダを比較対象とすることも可能とされている。同ツールはGPLv2の適用下で公開されており、現状の最新版は2007年10月にリリースされたバージョン0.8である。

 Komparatorのインストール作業自体に特に難しい点はない。まずはダウンロードサイトからソースコードの入手をすればいいが、UbuntuおよびSUSEについては専用バージョンも用意されている。私の場合はopenSUSE 10.3用バージョンをダウンロードして「sudo rpm -Uvh komparator-0.8-SuSE_10.3.i586.rpm」によるインストールを行ったところ、メインメニューのUtilities → Archivingに該当するエントリが追加された。その他のディストリビューションの場合はソースパッケージのダウンロードと抽出をしてから、通常のconfigure、make、make installを用いたインストールを行えばいい。

komparator1_thumb.png
Komparator

 このツールに同梱されているドキュメント類はあまり充実してはおらず、プログラム実行中に画面右下にあるHelpボタンをクリックすると「Komparator Handbook」が表示されるだけである。また海外のユーザにとっては残念なことに、同プログラムは英語版しか用意されていない。

 Komparatorのメインウィンドウはかなり込み入った印象を受けるが、そのインタフェースとしての構成自身にも一般的ではないデザインが散見される。例えばAboutおよびHelpコマンドがボタン形式で実装されているのはともかく、わざわざ重複させる形で“What's this”の専用ボタンまでもが用意されているのは、あまり見られない仕様ではなかろうか。いずれにせよ具体的な同期操作を進めていくには、Basic Search OptionsおよびExtended Search Optionsの画面にて、2つのディレクトリを選択して処理対象とするファイルの指定をしなくてはならない。その他のオプションとしては、処理階層の再帰化(“include subfolders”ボタン)、隠しファイルも対象に含めるか、ファイルの大文字小文字を区別させるか(Linux/Unixシステムならあって当然の機能)などの指定が行えるようになっている。またKomparatorの重複ファイル検出には、バイト単位の比較モードだけでなくファイルのMD5チェックサム計算モードも用意されており、後者のモードを指定した場合はチェックサムの一致するものが同一ファイルと見なされるようになる。

 同期処理を実行する前には、Settingsタブの設定内容を確認しておかなくてはならない。次に同期対象とする2つのURLを指定するが、この設定画面における“left”URLは上側のボックス、“right”URLは下側に表示されるボックスを指すので注意が必要だ。その後Searchをクリックすると、比較結果として下記の内容が表示されるはずである。

  • Duplicate filesタブ――複数の存在が検出されたファイル。これはディレクトリ間の同期という処理に直接関係はしないが、使い方によっては便利な機能である
  • Missing filesタブ――指定された一方のURL側にのみ存在するファイル。Komparatorのディレクトリ同期はこうしたファイル群を他方にコピーすることで実施される
  • Newer filesタブ――すべてのファイルがカラーコード別で一覧される(ただしカラースキームの詳細は分かりにくい)。左側のファイルとそれに対応する右側のファイルのペアを選択すると、右クリックにより、サイズ、タイプ、所有者などのファイル情報を比較できる。ただしファイルの内容を直接確認することはできない

 ここでの具体的な同期プロセスは、2つのディレクトリ間に配置された6つのボタンを用いて、操作対象となるファイルのコピー、移動、削除を個別に実行する仕様となっている。これらのボタンで行えるのは、左右2つのディレクトリ間におけるファイルのコピーと移動および各ディレクトリからのファイル削除であるのだが、多数のファイルを格納するディレクトリでこうした操作を個別実行するのはかなりの手間となるので、将来のバージョンでは“do everything”のような一括処理ボタンを追加してもらいたいものである。

最終更新:2008年09月15日 17:07