← retour aux snippets

fallocate: punch hole pour rendre sparse

Créer des 'holes' (donc non alloués) dans un fichier pour économiser de l'espace.

objectif

Sparsifier des zones de fichiers (log, DB) où des zéros peuvent être déalloués.

code minimal

# punche 64 MiB à partir de l'offset 1 GiB
fallocate -p -d -o $((1024*1024*1024)) -l $((64*1024*1024)) bigfile.img

utilisation

# détecter l'utilisation réelle
du -h bigfile.img && ls -lh bigfile.img

variante(s) utile(s)

# zéros en fin de fichier -> détecter et réduire
truncate -s "$(stat -c%s bigfile.img)" bigfile.img

notes

  • support dépend du FS (ext4/xfs ok, selon options).
  • -d peut défragmenter les extents.