Я пытаюсь сделать 40 ГБ ext3 локальной петлевой файловой системы. Эта петлевая файловая система хранится на моем сетевом хранилище, которое смонтировано на компьютере Ubuntu Precise 12.04 x64 с использованием NFS. Машина имеет права на чтение и запись на NAS.

Я создал файл 40 ГБ для использования, запустив dd if=/dev/zero of=/media/vps/Ironman.ext3 bs=1024 count=40000000 . Файл был успешно создан, поэтому я смонтировал его как петлевую систему в /dev/loop0 , запустив sudo losetup /dev/loop0 /media/vps/Ironman.ext3 .

Сейчас я пытаюсь отформатировать это как файловую систему ext3, запустив sudo mkfs -t ext3 -q /media/vps/Ironman.ext3 . Однако всякий раз, когда я запускаю эту команду, я получаю следующий вывод:

mke2fs 1.42 (29-Nov-2011)
/media/vps/Ironman.ext3 is not a block special device.
Proceed anyway? (y,n) y
/media/vps/Ironman.ext3: Permission denied while setting up superblock

Как я могу обойти это, и отформатировать устройство обратной петли как ext3?

Обновление 1

Я только что попытался отформатировать его с помощью устройства обратной петли, как показано ниже. Я все еще, однако, получаю разрешение, которому отказывают. Вы можете увидеть в первом наборе файл уже был подключен.

danielsgroves@precise64:/dev$ sudo losetup /dev/loop0
/dev/loop0: [0015]:26378243 (/media/vps/Ironman.ext3)
danielsgroves@precise64:/dev$ sudo mkfs -t ext3 -q /dev/loop0
/dev/loop0: Operation not permitted while setting up superblock

Обновление 2

С подробным выводом

danielsgroves@precise64:/dev$ sudo mkfs -t ext3 -v /dev/loop0
mke2fs 1.42 (29-Nov-2011)
fs_types for mke2fs.conf resolution: 'ext3'
/dev/loop0: Operation not permitted while setting up superblock

2 ответа2

0

Вам необходимо создать файловую систему на устройстве цикла, а не файл, который поддерживает устройство цикла. (Это то, о чем говорит mke2fs предупреждение "не блочное специальное устройство".) Резервный файл - это только вопрос для кода "устройства петли" в ядре, и вы не будете использовать его напрямую, кроме как в команде losetup . Ошибка "Отказано в разрешении" может быть вызвана тем, что вы пытаетесь напрямую изменить файл поддержки текущего активного устройства цикла; это может легко привести к разного рода разрушениям, поэтому ядро, вероятно, (разумно) не позволит вам сделать это даже с правами root.

После запуска losetup используйте sudo mkfs -t ext3 -q /dev/loop0 и все должно работать нормально. Затем смонтируйте /dev/loop0 где вы предпочитаете (например, sudo mount /dev/loop0 /media/ironman).

Это может стать более понятным, если вы рассмотрите другие опции, доступные для losttup, включая --offset и --sizelimit (дополнительные примеры можно найти на странице man).

-1

Хорошо, это сообщение очень старое, но ответа нет.

У меня просто была такая же проблема. Проблема для меня заключалась в том, что у пользователя root по NFS нет особой возможности чтения и записи в файл.

Вы можете изменить владельца файла на root или поместить его в корневую группу и сделать его доступным для записи.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .