サーバ関連:copyfs

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 と指定することもできる
    • あるいはカレントディレクトリ上にある datawork をマウントするのであれば、変数を使って、$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日 101047秒
      v2.0  : -rw-r--r--  user     user              4 2016年08月05日 101053秒
      v3.0  : -rw-r--r--  user     user              8 2016年08月05日 1011分00秒
      v4.0  : -rw-r--r--  user     user             12 2016年08月05日 1011分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日 101047秒
        v2.0  : -rw-r--r--  user     user              4 2016年08月05日 101053[*]
        v3.0  : -rw-r--r--  user     user              8 2016年08月05日 1011分00秒
        v4.0  : -rw-r--r--  user     user             12 2016年08月05日 1011分04秒
  • サーバ関連/copyfs.txt
  • 最終更新: 2016/09/07 13:08
  • by mumeiyamibito