Bagaimana cara membuat sistem file virtual dengan benar?

10

Sebuah tugas dalam pekerjaan rumah saya meminta saya untuk membuat sistem file virtual, memasangnya, dan melakukan beberapa operasi di atasnya.

Saya seharusnya membuat file 10 MB yang bit-bitnya sudah diatur 0, format sebagai ext3 dan pasang . Beginilah cara saya melakukannya:

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

Meskipun saya sudah menggunakan /dev/zero, file saya masih penuh dengan karakter omong kosong (kebanyakan di-tanda). Izin pada /media/fuseadalah drw-rw-rw-(yang baik-baik saja), tetapi izin pada file di dalamnya adalah sesuatu seperti ini:

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

Di mana saya salah?

Paul
sumber
Saya pikir masalahnya terkait dengan perintah mkfs.ext3 Anda. IIRC, Ada berbagai argumen yang perlu Anda gunakan saat melakukan ini pada file, bukan pada perangkat.
user606723
1
Mungkin saya salah, per adamsinfo.com / ... , Anda melakukannya dengan benar. Bisakah Anda mencoba mengikuti perintah yang tepat pada url ini dan melihat apakah Anda masih memiliki masalah?
user606723
Juga, cobamkfs.ext3 -F ~/filesyst
user606723
@ user606723 Terima kasih, saya menyelesaikannya. Masalahnya adalah bsdan countargumen. Jika saya menulis bs=1MiB count=10, seperti di tautan yang Anda poskan, itu berfungsi.
Paul
1
Omong-omong, Anda sebenarnya tidak perlu mengisi file dengan nol. Anda bisa membuat file kosong dengan ukuran acak truncate -s 400m filesyst. Perbedaannya adalah bahwa sampai Anda benar-benar menulis data ke file, itu tidak menggunakan ruang pada disk, sehingga Anda dapat membuat sistem file virtual yang lebih besar dari seluruh drive disk Anda, selama Anda tidak mencoba untuk benar-benar mengisinya . Anda dapat melihat seberapa banyak ruang yang digunakan file tersebut du -h filesyst.
psusi

Jawaban:

6

Hmmm ... cara yang benar untuk melakukannya adalah:

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

dan itu bekerja:

(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

Anda harus memeriksa perangkat loop pertama dengan gratis losetup -f.

Rmano
sumber