Як правильно створити віртуальну файлову систему?


10

Завдання в домашньому завданні просить мене створити віртуальну файлову систему, встановити її та виконати деякі операції над нею.

Я повинен створити файл розміром 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

1
Можливо, я помиляюся, згідно з adamsinfo.com/… , ви робите це правильно. Чи можете ви спробувати дотримуватися точних команд на цій URL-адресі і побачити, чи все ще є проблеми?
user606723

Також спробуйтеmkfs.ext3 -F ~/filesyst
user606723

@ user606723 Спасибі, я вирішив це. Проблемою були bsі countаргументи. Якщо я напишу bs=1MiB count=10, як у тому посиланні, яке ви розмістили, це працює.
Пол

1
До речі, вам фактично не потрібно заповнювати файл нулями. Ви можете просто створити порожній файл довільного розміру за допомогою truncate -s 400m filesyst. Різниця полягає в тому, що поки ви фактично не записуєте дані у файл, він не використовує місця на диску, тому ви можете створити віртуальну файлову систему, яка більша, ніж ваш весь диск, доки ви не спробуєте фактично заповнити їх. . Ви можете бачити, скільки місця фактично використовує файл du -h filesyst.
psusi

Відповіді:


6

Хммм ... правильний спосіб це зробити:

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

і це працює:

(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

Ви повинні перевірити перший циклічний пристрій безкоштовно losetup -f.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.