Come creare correttamente un file system virtuale?


10

Un'attività nel mio compito di compiti a casa mi chiede di creare un file system virtuale, montarlo ed eseguire alcune operazioni su di esso.

Dovrei creare un file di 10 MB i cui bit sono tutti impostati 0, formattarlo come ext3 e montarlo. Ecco come l'ho fatto:

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

Anche se ho usato /dev/zero, il file è ancora pieno di personaggi incomprensibili (per lo più a segni). Le autorizzazioni su /media/fusesono drw-rw-rw-(che vanno bene), ma le autorizzazioni sui file al suo interno sono qualcosa del genere:

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

Dove ho sbagliato?


Penso che il problema sia legato al tuo comando mkfs.ext3. IIRC, ci sono diversi argomenti che devi usare quando lo fai su un file invece che su un dispositivo.
user606723

1
Forse mi sbaglio, per adamsinfo.com/… , lo stai facendo correttamente. Puoi provare a seguire i comandi esatti su questo URL e vedere se hai ancora problemi?
user606723

Inoltre, provamkfs.ext3 -F ~/filesyst
user606723

@ user606723 Grazie, l'ho risolto. Il problema era l' argomento bse count. Se scrivo bs=1MiB count=10, come in quel link che hai pubblicato, funziona.
Paul,

1
A proposito, in realtà non è necessario riempire il file con zeri. Puoi semplicemente creare un file vuoto di dimensioni arbitrarie con truncate -s 400m filesyst. La differenza è che fino a quando non si scrivono effettivamente i dati nel file, non utilizza spazio sul disco, quindi è possibile creare un filesystem virtuale più grande dell'intera unità disco, purché non si provi a riempirlo effettivamente . Puoi vedere quanto spazio utilizza il file con du -h filesyst.
psusi,

Risposte:


6

Hmmm ... il modo corretto per farlo è:

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

e funziona:

(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

Dovresti controllare gratuitamente il primo dispositivo loop con losetup -f.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.