==============================
  snowcp
==============================

◆ 概要 ◆
・snowcpはマルチスレッド対応のコピーツールです。次のような特徴があります。
　・異なるHDD間では読み書きを並行して実行します。
　・fallocateを使用してファイルの断片化を低減します。
　・コピー先のファイルシステムがXFSの場合Direct I/Oを使用します。
　・MD5ライブラリを用いてのベリファイが可能です。


◆ 開発環境 ◆
・Ubuntu 11.10 32bit


◆ 動作条件 ◆
・最近のディストリビューションであれば問題なく動作すると思います。
　詳しくはソースコードを見て下さい。


◆ インストール方法 ◆
・Ubuntu 11.10の場合はdebファイルをダブルクリックすればインストール出来ます。
　他のディストリビューションの場合はmakeした後、
　snowcpを/usr/binにコピーして下さい。


◆ 使い方 ◆
・引数無しでsnowcpコマンドを実行すると、オプションが表示されます。
　（例：snowcp -h）
　詳しくは下記のページを参照してください。

　・ReadMe
　　http://sourceforge.jp/projects/snowcp/wiki/ReadMe

　・オプション
　　http://sourceforge.jp/projects/snowcp/wiki/%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3

　・今後の予定
　　http://sourceforge.jp/projects/snowcp/wiki/%E4%BB%8A%E5%BE%8C%E3%81%AE%E4%BA%88%E5%AE%9A


◆ 仕様・既知のバグ ◆
・拡張属性／ACL／スパースファイルには未対応です。

・ネットワークを介したコピーは考慮していません。ファイルの読み込みにmmapを使用し
　ているため、コピー元がネットワーク上にあると速度が出ない可能性があります。コピ
　ー先がネットワーク上にある場合は、問題ないはずです。

・環境によっては、コピー速度がcpコマンドと大差ありません。

・PATH_MAXを超えるファイルはコピーできません。

・コピー先のファイルシステムがXFSの場合でも、ファイルサイズが小さい場合はダイレ
　クトI/Oを使用しません（その方が速度が出るため）。

・ダイレクトI/Oを使用した場合、コピー後に表示される総書き込み量（Write）が、総読
　み込み量（Read）よりも多く表示されます。

・ベリファイ時、コピー先がダイレクトI/Oに対応していない場合、md5sumコマンドを用
　いてベリファイを行います。この場合、ベリファイ対象のファイルがページキャッシュ
　に乗っていると、ディスクI/Oが発生しません(つまり正常にベリファイできません)。

・Ubuntu 11.10のext4にはバグがあるため、128MBを超えるファイルをコピーすると必ず
　断片化します。それ未満のサイズの場合は、fallocateの精度向上により、高確率で断
　片化を抑えることが出来ます。


◆ 注意事項 ◆
・作者自身、このソフトを常用しているため、致命的なバグは残っていないはずですが、
　万が一の場合を考慮して、極力ベリファイオプションを付けて実行するようにして下さ
　い。rsyncと併用するとより安全です。


◆ コンパイルについて ◆
・gccでコンパイルすることを想定しています。
・GLibを使用しているため、関連ライブラリ（Ubuntuではlibgtk2.0-dev）をインストー
　ルする必要があります。


◆ 免責事項 ◆
・当ソフトを利用した事によるいかなる損害も作者は一切の責任を負いません。

--------------------

◆ 連絡先 ◆
http://d.hatena.ne.jp/itiri/
