Je sais que je peux créer et utiliser un périphérique de bouclage comme celui-ci:
# Create the file
truncate disk.img --size 2G
# Create a filesystem
mkfs.ext4 disk.img
# Mount to use
mount disk.img /mnt
# Clean up
umount /mnt
Cependant, dans ce cas, l'image disque est fixée à 2 Go. Il est de 2 Go lorsqu'il est vide et de 2 Go lorsqu'il est plein. Il ne grandira pas.
Existe-t-il une sorte de périphérique de bouclage qui peut grossir? Ou, existe-t-il une sorte de périphérique de bouclage qui n'a besoin que de l'espace qu'il stocke?
loop-device
phunehehe
la source
la source
virt-make-fs
peut être utile. Il peut être utilisé pour créer des images ext2 à l'aide de fichiers tar.Réponses:
Créez un périphérique à fichier fragmenté, à l'aide de dd.
Référence: wikipedia sparse file article
la source
Le commentaire de @ jordanm l'a cloué. J'ai supposé que la taille du fichier était fixe lorsque j'ai regardé la sortie de
ls -lh disk.img
. Lorsque j'ai utiliséls -s disk.img
comme dans la réponse de @ Stephan, la taille réelle du fichier est affichée. À titre de test, j'ai créé un fichier image plus grand que mon disque dur:Et cela fonctionne très bien, ce qui signifie que la réponse est dans la question :)
la source
fallocate(1)
.Vous pouvez le faire manuellement avec dd cherche, ou plus facilement, car vous utilisez tronquer:
Un liner 2 pour le cultiver, ne demande guère d'automatisation ici, j'oserais dire :)
la source