Créer un conteneur d'image de fichier

23

Je voudrais créer un fichier de 100 Go à utiliser comme système de fichiers. Le fichier sera stocké sur un volume chiffré, de sorte que le fichier / système de fichiers lui-même n'a pas besoin d'être (davantage) chiffré. La recherche a révélé de nombreuses méthodes différentes pour ce faire. Certains utilisent losetup, d'autres non. La méthode suivante est-elle acceptable?

$ 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
SabreWolfy
la source
3
En plus de cela, la création d'un fichier de 10 Go au lieu de 100 Go, merci beaucoup, changer le nombre en 102400 a répondu à mes besoins :)

Réponses:

9
  1. BS et COUNT doivent être en minuscules:

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

  2. vous devez créer le répertoire / media / MountPoint s'il n'existe pas déjà:

    sudo mkdir -p /media/MountPoint

Mis à part ces deux choses, ce que vous avez là devrait fonctionner.

Il est généralement préférable d'être explicite que de s'appuyer sur un comportement implicite, vous pouvez donc changer la ligne de montage en:

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

cas
la source
2
Merci pour les corrections. Il était l' Men 1Mqui devait être en majuscules. Je ne sais pas pourquoi je mets bset counten majuscules aussi. Merci pour l'amélioration mount.
SabreWolfy
J'ai accepté une modification suggérée à ma question pour corriger l'erreur en majuscule et pour spécifier explicitement un périphérique de boucle dans le mount.
SabreWolfy
5

À l'exception des lettres majuscules dans les ddoptions et sans inclure l' loopoption dans mount, je trouve cela parfaitement valable. mkfsvous avertit que vous n'utilisez pas un périphérique bloc pour vous assurer que vous savez ce que vous faites.

Quoi qu'il en soit, à la fin, vous utiliserez un périphérique en boucle:

$ 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
rpet
la source
1
Le -o looppeut ou peut ne pas être requis ... dépend de la version du support. Ma version actuelle ne l'exige pas, mais je me souviens avoir dû le spécifier dans le passé. Pourtant, comme je l'ai dit - il vaut mieux être explicite qu'implicite dans les scripts, sert de documentation de WTF Was I Thinking When I Did That?
cas
D'accord. (Remarque: j'utilise le montage 2.17.2-9 de l'écurie Debian actuelle)
rpet