Задача в домашнем задании просит меня создать виртуальную файловую систему, смонтировать ее и выполнить с ней некоторые операции.
Я должен создать файл размером 10 МБ, все биты которого установлены в значение 0
, отформатировать его как ext3 и смонтировать. Вот как я это сделал:
dd if=/dev/zero of=~/filesyst bs=10485760 count=1
sudo mkfs.ext3 ~/filesyst
sudo mount –o loop ~/filesyst /media/fuse
Несмотря на то, что я использовал /dev/zero
файл, я все еще полон тарабарских символов (в основном в знаках). Разрешения на /media/fuse
это drw-rw-rw-
(которые хорошо), но разрешения на файлы внутри него что - то вроде этого:
d????????? ? ? ? ? ? lost+found
-????????? ? ? ? ? ? secret_bin
Где я ошибся?
Я думаю, что проблема связана с вашей командой mkfs.ext3. IIRC, Есть разные аргументы, которые нужно использовать при выполнении этого файла, а не устройства.
—
user606723
Может быть, я не прав, согласно adamsinfo.com/… Вы делаете это правильно. Можете ли вы попробовать выполнить точные команды по этому URL и посмотреть, есть ли у вас проблемы?
—
user606723
Также попробуйте
—
user606723
mkfs.ext3 -F ~/filesyst
@ user606723 Спасибо, я решил. Проблема была
—
Пол
bs
и в count
аргументах. Если я напишу bs=1MiB count=10
, как в той ссылке, которую вы разместили, это работает.
Кстати, вам не нужно заполнять файл нулями. Вы можете просто создать пустой файл произвольного размера с помощью
—
psusi
truncate -s 400m filesyst
. Разница в том, что до тех пор, пока вы на самом деле не записываете данные в файл, он не использует места на диске, поэтому вы можете создать виртуальную файловую систему, которая будет больше, чем весь ваш диск, при условии, что вы фактически не пытаетесь заполнить ее. , Вы можете видеть, сколько места фактически использует файл du -h filesyst
.