LoginSignup
13
8

More than 3 years have passed since last update.

btrfsでDropboxを使う

Last updated at Posted at 2018-08-31

はじめに

Linux版Dropboxがext4にしか対応しないというアナウンスが流れた。しかし、Dropboxのために今使ってるbtrfsを変えるのは癪だし、別でpartition切るのは空き作るのが辛かったり容量の管理が面倒くさい。そこで、loopbackで既存fs上にext4のファイルを作ってDropboxを動かす。タイトルはbtrfsだけど他でも流用可能。

ArchLinuxの場合で説明するが、特にArchLinux特有固有の話は無いと思われるので、他のLinuxでも問題なくできる筈である。

手順

元になるファイル作成

元になるファイルを作成する。ただし、ファイルシステムの都合上予め最大容量を決め打ちする必要がある。作り直すのは面倒くさいのでできるだけデカく作っておきたいが、無駄が多い。ので、0の羅列の場合は容量を省略できるスパースファイルとファイルシステムの透過的圧縮(使っているファイルシステムに依る。最新のext4やbtrfsは対応している)を併用する。

  1. truncate -s 4G loop-dropboxでスパースファイルを作る
  2. 可能であればchattr +c loop-dropboxでファイルに圧縮属性を付与
  3. mkfs.ext4 loop-dropboxでext4でフォーマット

マウント・コピー

最初全削除してloopbackファイルを直でマウントしたら全削除されたと判断されて全部吹き飛ばすミスをしたので(復元はしたが)、マウントしたらまずは全ファイルをrsyncする。

  1. mount -o loop -t ext4 loop-dropbox Dropbox2でマウント
  2. rsync -av Dropbox/ Dropbox2/
  3. dropboxを落とす
  4. Dropboxを削除
  5. Dropbox2をunmount
  6. Dropboxにマウント
  7. dropbox再起動

fstab設定

うまく動いたらmount設定をfstabに永続化しておく

/.../loop-dropbox /home/.../Dropbox ext4 loop 0 0

これでおしまい。

Thanks

大体この辺全部筆者がオリジナルで考えたかのように書いてるけど、@syuu1228 先生の技術協力によってできたものです。ありがとうございました。

余談

作者はDropboxやめてMEGAに移行したので今も動くかはわかりません! https://mega.nz/

13
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
8