web-dev-qa-db-ja.com

fuseで空でないマウントポイントにマウントするとどうなりますか?

ヒューズは初めてです。 Fuseクライアントプログラムを実行しようとすると、次のエラーが表示されます。

Fuse: mountpoint is not empty
Fuse: if you are sure this is safe, use the 'nonempty' mount option

マウントポイントは、Fuseファイルシステムを論理的にアタッチするディレクトリであることを理解しています。この場所にマウントするとどうなりますか?危険は何ですか?ディレクトリが上書きされるだけですか?基本的に、空でないディレクトリにマウントするとどうなりますか?

20
bernie2436

Fuseによってマウントされたデバイス上のファイルは、notが空でないマウントポイントに既に存在するファイルと同じパスとファイル名を持っていることを確認する必要があります。そうしないと、混乱を招くことになります。確かな場合は、-o nonemptyをmountコマンドに。

次のコマンドを使用して、何が起こっているのかを試すことができます。

// create 10 MB file 
dd if=/dev/zero of=partition bs=1024 count=10240

// create loopdevice from that file
Sudo losetup /dev/loop0 ./partition

// create  filesystem on it
Sudo e2mkfs.ext3 /dev/loop0

// mount the partition to temporary folder and create a file
mkdir test
Sudo mount -o loop /dev/loop0 test
echo "bar" | Sudo tee test/foo

# unmount the device
Sudo umount /dev/loop0

# create the file again
echo "bar2" > test/foo

# now mount the device (having file with same name on it) 
# and see what happens
Sudo mount -o loop /dev/loop0 test
18
hek2mgl

次のように、コマンドラインに-o nonemptyを追加するだけです。

s3fs -o nonempty  <bucket-name> </mount/point/>
6
Vaseem007

どうやら何も起こりません、それは非破壊的な方法で失敗し、警告を与えます。

この問題はごく最近発生しました。これを解決する1つの方法は、空でないマウントポイント内のすべてのファイルを別の場所に移動することです。例:

mv /nonEmptyMountPoint/* ~/Desktop/mountPointDump/

これにより、マウントポイントが空になり、mountコマンドが機能します。

2
DaJF