4.10 Filesystem all’interno di un file

Con GNU/Linux è possibile creare e montare dei file che contengono al loro interno un filesystem. Per far ciò è necessario utilizzare il loop device ovvero un driver che consente ad un file di essere montato come fosse un file di dispositivo a blocchi.

Il file nel quale inserire un filesystem può essere creato con un comando analogo al seguente  
$ dd if=/dev/zero of=test.fs bs=1024k count=100  
In questo modo si crea un file test.fs, detto file immagine (image file), di 100 MiB (100 1024 KiB). Quindi si passa a creare il filesystem all’interno del file. Ad esempio con il comando  
$ mkfs -t ext3 -F test.fs  
si crea un filesystem ext3 all’interno del file immagine test.fs precedentemente creato. I file contenenti un filesystem possono essere anche montati per navigarne e gestirne il contenuto. Ad esempio con il comando  
$ mount -t ext3 -o loop test.fs /mnt/test  
si monta, attraverso il loop device, il filesystem ext3 contenuto nel file immagine test.fs nella directory /mnt/test (che deve esistere). Quindi impartendo successivamente il comando  
$ ls /mnt/test  
si otterrà l’elenco dei file e directory contenuti nella root directory del filesystem contenuto in test.fs. È possibile quindi anche navigare il contenuto di un file ISO34, cioè un file contenente l’immagine del contenuto di un CD o un DVD. Per far ciò si può utilizzare il comando  
$ mount -r -t iso9660 -o loop test.iso /mnt/test  
dove test.iso è il file ISO e /mnt/test è la directory nella quale il filesystem in esso contenuto verrà montato. A questo punto per avere l’elenco del contenuto del file test.iso sarà sufficiente digitare il comando  
$ ls /mnt/test