====== 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秒
===== 参考サイト =====
* [[https://orebibou.com/2015/05/%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%8B%E3%83%B3%E3%82%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%80%8Ecopyfs%E3%80%8F%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6/ | バージョニングファイルシステム『CopyFS』を使ってファイルのバージョン管理をしてみた - 俺的備忘録 〜なんかいろいろ〜]]
{{tag>Linux サーバ コマンド}}