Não é possível formatar o sistema de arquivos de loopback local

0

Estou tentando criar um sistema de arquivos de loopback local ext3 de 40GB. Este sistema de arquivos de loopback é armazenado no meu NAS, que é montado em uma máquina Ubuntu Precise 12.04 x64 usando o NFS. A máquina possui permissões de leitura e gravação no NAS.

Eu criei um arquivo de 40 GB para uso executando dd if=/dev/zero of=/media/vps/Ironman.ext3 bs=1024 count=40000000 . O arquivo foi criado com sucesso, então eu montei como um sistema de loopback em /dev/loop0 executando sudo losetup /dev/loop0 /media/vps/Ironman.ext3 .

Agora estou tentando formatá-lo como um sistema de arquivos ext3 executando sudo mkfs -t ext3 -q /media/vps/Ironman.ext3 . No entanto, sempre que executo esse comando, recebo a seguinte saída:

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

Como posso contornar isso e formatar o dispositivo de loopback como ext3?

Atualização 1

Acabei de tentar formatá-lo usando o dispositivo de loopback, como visto abaixo. Eu ainda estou, no entanto, recebendo permissão negada. Você pode ver no primeiro conjunto que o arquivo já estava montado.

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

Atualização 2

Com saída detalhada

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
    
por Daniel Groves 30.09.2013 / 23:20

2 respostas

0

Você precisa criar o sistema de arquivos no dispositivo de loop, não o arquivo que faz o backup do dispositivo de loop. (Isto é o que significa o aviso "não é um dispositivo especial de bloco" do mke2fs.) O arquivo de suporte é apenas uma questão de consideração para o código "loop device" no kernel, e você não o usará diretamente, exceto em o comando losetup . O erro "permissão negada" pode muito bem ser porque você está tentando modificar diretamente o arquivo de apoio de um dispositivo de loop atualmente ativo; fazer isso poderia facilmente causar todos os tipos de estragos, então o kernel provavelmente impedirá que você o faça mesmo como root.

Depois de executar losetup , use sudo mkfs -t ext3 -q /dev/loop0 e ele funcionará bem. Em seguida, monte /dev/loop0 onde preferir (por exemplo, sudo mount /dev/loop0 /media/ironman ).

Isso pode ficar mais claro se você considerar as outras opções disponíveis para o losetup, incluindo --offset e --sizelimit (verifique a página de manual para mais exemplos).

    
por 01.10.2013 / 11:13
-1

Ok, esta mensagem é muito antiga, mas não tem resposta.

Acabei de ter o mesmo problema. O problema para mim foi que, sobre o NFS, o usuário root não tem nenhuma habilidade especial para ler & escrever para um arquivo.

Uma coisa que você pode fazer é mudar o dono do arquivo para root, ou você pode colocá-lo no grupo raiz e torná-lo em grupo.

    
por 29.09.2015 / 14:03