Zadanie w mojej pracy domowej wymaga ode mnie stworzenia wirtualnego systemu plików, zamontowania go i wykonania na nim pewnych operacji.
Mam utworzyć plik o rozmiarze 10 MB, którego bity są ustawione na 0, sformatować go jako ext3 i zamontować. Oto jak to zrobiłem:
dd if=/dev/zero of=~/filesyst bs=10485760 count=1
sudo mkfs.ext3 ~/filesyst
sudo mount –o loop ~/filesyst /media/fuse
Mimo że użyłem /dev/zero, plik nadal jest pełen bełkotliwych znaków (głównie znaków). Uprawnienia do /media/fusesą drw-rw-rw-(które są w porządku), ale uprawnienia do znajdujących się w nim plików są mniej więcej takie:
d????????? ? ? ? ? ? lost+found
-????????? ? ? ? ? ? secret_bin
Gdzie popełniłem błąd?
mkfs.ext3 -F ~/filesyst
bsi countargumenty. Jeśli piszę bs=1MiB count=10, tak jak w tym linku, który opublikowałeś, działa.
truncate -s 400m filesyst. Różnica polega na tym, że dopóki nie zapiszesz danych do pliku, nie zajmuje on miejsca na dysku, dzięki czemu możesz stworzyć wirtualny system plików, który jest większy niż cały dysk, o ile nie spróbujesz go zapełnić . Możesz zobaczyć, ile miejsca zajmuje plik du -h filesyst.