web-dev-qa-db-ja.com

どうすればbtrfsをext4に見せかけることができますか?

Dropboxは、Linuxクライアントが将来的にはext4のみをサポートすることを発表しました。私は現在btrfsパーティションでDropboxを使用しています(問題はありません)。どうやらxattrサポートは不可欠です。 ext4とbtrfsの両方がこれをサポートしており、実際、btrfsもサポートしていないext4機能については知りません。

Dropboxがファイルシステムを検出する方法を知りませんが、btrfsにext4のふりをさせる方法はありますか?

9
jl6

おそらくこれを処理する最も簡単な方法は、Btrfsファイルシステムにext4ループバックイメージを作成し、それを一時的な場所にマウントし、Dropboxと同期するファイルをそのファイルシステムに移動し、Dropboxが同期する最上位ディレクトリに再マウントすることです。 。

これでDropboxは機能し続けますが、ファイルシステム全体を置き換える必要はありません。ループバックイメージなどのスナップショットを作成できるため、Btrfsのいくつかの利点が得られます。

2
LustreOne

カーネルに変更を加えなければ、おそらくそうではありません。そしてそれでもそれは良い考えではないかもしれません、btrfsツールはファイルシステムがbtrfsではないと思ったら動作を拒否するかもしれません。

Dropboxは質問に答えないのと同じようにそれをサポートしませんか、それともプログラムは他のファイルシステムでの実行を積極的に避けますか?後者の場合、ファイルシステムを検出するには多くの方法があり、それらすべてをだますことはできません。

2
RalfFriedl

ここでは、btrfsでext4ファイルを作成し、イメージを保存するディレクトリを開始する方法を説明します。

truncate -s 100G dropbox.img
chown root:root dropbox.img
chmod 600 dropbox.img
mkfs.ext4 -j dropbox.img
mkdir /opt/dropbox
mount -t ext4 -o loop {path}/dropbox.img /opt/dropbox
chmod 777 /opt/dropbox
umount /opt/dropbox

次に、/etc/fstabを編集して追加します

{path}/dropbox.img      /opt/dropbox            ext4    loop            0 0

そして今あなたがmount -aなら、あなたはbtrfsに永続的なext4ファイルシステムを持っているでしょう


truncateではなくfallocateを選択します。これは、dropbox.imgファイルが、通常ではなく、ファイルシステム上で「シンプロビジョニング」(スパースファイル)されるためです。つまり、100 GBはすぐには使い果たされず、Dropboxが時間の経過とともに読み書きするため、時間の経過とともにゆっくりと使用されます。

1
Andy

DropboxはZFS、XFS、Btrfs、eCryptFSのサポートを復活させました

Dropboxは、LinuxでのZFS、XFS、BtrfsおよびeCryptFSのサポートを復活させました。 Dropbox クライアントアップデート は、64ビットLinuxシステムではZFSおよびXFS、すべてのLinuxシステムではeCryptFSおよびBtrfsのサポートを復活させます。

リンク:

0
karel