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/fuse
są 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
bs
i count
argumenty. 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
.