Criar contêiner de imagem de arquivo


23

Eu gostaria de criar um arquivo de 100 GB para usar como sistema de arquivos. O arquivo será armazenado em um volume criptografado, para que o sistema de arquivos / arquivos em si não precise ser (adicionalmente) criptografado. A pesquisa revelou muitos métodos diferentes de fazer isso. Alguns usam losetup, outros não. O método a seguir é aceitável?

$ dd if=/dev/zero of=~/theFile.img bs=1M count=10240
$ mkfs.ext4 ~/theFile.img   # will prompt about block special device
$ sudo mount -o loop ~/theFile.img /media/mountPoint

3
Além deste criando um arquivo de 10GB em vez de 100GB, muito obrigado, mudando a contagem de 102400 cumprido o meu necessidades :)

Respostas:


9
  1. BS e COUNT devem estar em minúsculas:

    dd if=/dev/zero of=~/theFile.img bs=1M count=10240

  2. você precisa criar o diretório / media / MountPoint se ele ainda não existir:

    sudo mkdir -p /media/MountPoint

Além dessas duas coisas, o que você tem lá deve funcionar.

Geralmente é melhor ser explícito do que confiar no comportamento implícito; portanto, convém alterar a linha de montagem para:

sudo mount -t ext4 -o loop ~/theFile.img /media/mountPoint


2
Obrigado pelas correções. Foi o Mem 1Mque tinha que ser maiúsculas. Não sei por que eu coloquei bse countem letras maiúsculas também. Obrigado pela melhoria mount.
— SabreWolfy

Aceitei uma edição sugerida para minha pergunta para corrigir o erro em maiúsculas e especificar explicitamente um dispositivo de loop no mount.
— SabreWolfy

5

Exceto pelas letras maiúsculas nas ddopções e sem incluir a loopopção mount, acho isso perfeitamente válido. mkfsestá avisando que não está usando um dispositivo de bloqueio para garantir que você saiba o que está fazendo.

De qualquer forma, no final, você estará usando um dispositivo de loop:

$ dd if=/dev/zero of=~/theFile.img bs=1M count=10
$ /sbin/mkfs.ext4 theFile.img
$ sudo mount -o loop theFile.img /mnt/tmp/
$ df -h

/dev/loop0            9,7M  1,1M  8,1M  12% /mnt/tmp

1
O -o looppode ou não ser necessário ... depende da versão do mount. Minha versão atual não exige, mas lembro de ter que especificá-la no passado. Ainda assim, como eu disse - é melhor ser explícito do que implícito nos scripts, serve como documentação do WTF Eu estava pensando quando fiz isso?
— cas

Acordado. (Nota: eu estou usando montar 2.17.2-9 dos atuais estável Debian)
— rPET
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.