← retour aux snippets

fallocate/truncate: créer des fichiers rapidement

Allouer, tronquer ou créer des fichiers sparse de manière efficace pour tests et stockages.

bash filesystem #fallocate#truncate#sparse

objectif

Générer des fichiers de taille donnée (allocations rapides ou sparse) sans copier des zéros pendant des heures.

code minimal

# allouer 1 GiB (peut être non-initialisé selon FS)
fallocate -l 1G disk.img

# fichier sparse de 10 GiB
truncate -s 10G sparse.img

utilisation

# vérifier l'espace réellement utilisé (app-sparse)
du -h disk.img sparse.img

# remplir de zéros de façon efficace (écrit réellement)
dd if=/dev/zero of=filled.img bs=1M count=0 seek=1024 oflag=direct

variante(s) utile(s)

# pré-allouer un fichier journal
fallocate -l 100M app.log

# réduire un fichier (tronquer)
truncate -s 0 app.log

notes

  • fallocate dépend du FS (ext4/xfs ok; ZFS/Btrfs peuvent se comporter différemment).
  • truncate crée des fichiers sparse; attention lors de la copie vers des FS sans support sparse.