У меня проблема с моим сервером, которая меня пугает. Я хочу создать пустой файл и затем смонтировать его как устройство цикла. Итак, я пробую это:
dd if=/dev/zero of=/tmp/loop.img bs=1024k count=10
Когда я проверяю файл, он имеет правильный размер:
ls -lisah
528484126 10M -rw-r--r-- 1 root root 10M 31. Mär 04:06 loop.img
Следующим шагом будет создание файла fs:
mkfs.ext4 /tmp/loop.img
а затем файл меньше:
ls -lisah
528484126 1,2M -rw-r--r-- 1 root root 10M 31. Mär 04:10 loop.img
И я не могу смонтировать файл. Кто-нибудь знает, что произошло, или может сказать мне мою ошибку?
Что ж, ваша самая большая проблема в том, что вы не смонтировали образ через цикл перед запуском mkfs, что вы, вероятно, хотели сделать (например, losetup /dev/loop0 /tmp/loop.img
с последующим mkfs.ext4 /dev/loop0
)
Но что касается усадки и причин изменения цифр, 1,2M - это фактическое использование файла; 10M - это выделение диска. Это говорит о том, что «вы предоставили loop.img 10M для / tmp, и в настоящее время он использует их 1,2M».
Образы файловой системы - это один из немногих типов файлов (наряду с редко размещенными файлами), где это важно; обычно выделение на диске - это просто граница следующего блока, превышающая фактический размер файла.