CopyFS
概要
- 自動バージョン管理ファイルシステム
- ファイルシステムと言えど、FUSE (Filesystem in Userspace) を利用したものなので簡単に導入できる
- Git のようにユーザが任意の時に詳細を記述して管理するタイプではなく、ファイルが更新されたらチェックポイントを作成するという単純なもの
- Dropbox の履歴機能に似ている
インストール
$ sudo apt-get install copyfs
使い方
- CopyFS は EncFS のように元データを扱うディレクトリ、作業用ディレクトリ (マウントポイント) の 2 つを準備する必要がある (ここでは、元データディレクトリを
/home/user/data
、作業用ディレクトリを/home/user/work
として説明する)
マウント(利用する時)
$ copyfs-mount /home/user/data /home/user/work
- ディレクトリの指定は絶対パスで行わなければならない
/home/user
がホームディレクトリであるのなら、~/data
、~/work
と指定することもできる- あるいはカレントディレクトリ上にある
data
、work
をマウントするのであれば、変数を使って、$PWD/data
、$PWD/work
と指定すると楽
- 以降は、
/home/user/work
でファイルの編集などの作業をしていくとバージョン管理されていく
アンマウント(利用が終わった時)
$ fusermount -u /home/user/work
copyfs-umount
でもあるのかと思いきや、普通にfusermount -u
でアンマウントします- ここは相対パスでも OK
バージョン表示
- マウントした状態で
/home/user/work
内のhoge.txt
のバージョンを調べたい場合
$ cd /home/user/work $ copyfs-fversion hoge.txt File hoge.txt ('*' is active) : v1.0 : -rw-r--r-- user user 0 2016年08月05日 10時10分47秒 v2.0 : -rw-r--r-- user user 4 2016年08月05日 10時10分53秒 v3.0 : -rw-r--r-- user user 8 2016年08月05日 10時11分00秒 v4.0 : -rw-r--r-- user user 12 2016年08月05日 10時11分04秒 [*]
- hoge.txt が 4 バージョンある場合の表示
[*]
が現在のバージョン
バージョンを戻す場合
- マウントした状態で
/home/user/work
内のhoge.txt
のバージョンを 2.0 に戻す場合
$ cd /home/user/work $ copyfs-fversion -l 2.0 hoge.txt
- バージョンを確認すると、2.0 になっている
$ copyfs-fversion hoge.txt File hoge.txt ('*' is active) : v1.0 : -rw-r--r-- user user 0 2016年08月05日 10時10分47秒 v2.0 : -rw-r--r-- user user 4 2016年08月05日 10時10分53秒 [*] v3.0 : -rw-r--r-- user user 8 2016年08月05日 10時11分00秒 v4.0 : -rw-r--r-- user user 12 2016年08月05日 10時11分04秒