仮想ファイルシステムを正しく作成する方法


10

宿題のタスクで、仮想ファイルシステムを作成してマウントし、それにいくつかの操作を実行するように求められます。

ビットがすべてに設定されている10 MBのファイルを作成し、0ext3としてフォーマットしてマウントすることになっています。これは私がそれをした方法です:

dd if=/dev/zero of=~/filesyst bs=10485760 count=1
sudo mkfs.ext3 ~/filesyst
sudo mount –o loop ~/filesyst /media/fuse

私はを使用しました/dev/zeroが、ファイルはまだ意味不明な文字(主にアットマーク)でいっぱいです。の権限/media/fusedrw-rw-rw-(大丈夫です)ですが、その中のファイルの権限は次のようになります。

d????????? ? ? ? ?          ? lost+found
-????????? ? ? ? ?          ? secret_bin

どこが間違っているのですか?


問題はあなたのmkfs.ext3コマンドに関連していると思います。IIRC、デバイスではなくファイルでこれを行うときに使用する必要があるさまざまな引数があります。
user606723

1
多分私は間違っています、adamsinfo.com / …によると、あなたはそれを正しくやっています。このURLの正確なコマンドを試してみて、まだ問題があるかどうかを確認できますか?
user606723

また、試してみてくださいmkfs.ext3 -F ~/filesyst
user606723

@ user606723ありがとう、解決しました。問題となったbscount引数。私が書いた場合bs=1MiB count=10、あなたが投稿したそのリンクのように、それは機能します。
ポール

1
ちなみに、実際にファイルをゼロで埋める必要はありません。で任意のサイズの空のファイルを作成できますtruncate -s 400m filesyst。違いは、実際にファイルにデータを書き込むまで、ディスク上の領域を使用しないため、実際にいっぱいにしようとしない限り、ディスクドライブ全体よりも大きい仮想ファイルシステムを作成できることです。 。ファイルで実際に使用されている容量を確認できますdu -h filesyst
psusi

回答:


6

うーん...それを行う正しい方法は次のとおりです。

dd if=/dev/zero of=./filesyst bs=10485760 count=1
sudo losetup /dev/loop0 ./filesyst
sudo mkfs.ext3 /dev/loop0
sudo mount /dev/loop0 /tmp/lalla

そしてそれは動作します:

(0)romano-asus:~/tmp% ls -l /tmp/lalla
total 12
drwx------ 2 root root 12288 2011-12-20 22:21 lost+found
(0)romano-asus:~/tmp% df /tmp/lalla
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/loop0                9911      1121      8278  12% /tmp/lalla

最初のループデバイスが空いてlosetup -fいることをで確認する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.