FALLOCATE(1)

NOM
fallocate - Réserver ou rendre de l'espace pour un fichier

SYNOPSIS
fallocate [-c|-p|-z] [-o position] -l taille [-n] fichier

fallocate -d [-o position] [-l taille] fichier

fallocate -x [-o position] -l taille fichier

DESCRIPTION
fallocate sert à manipuler l’espace disque alloué à un fichier, soit pour le réserver, soit pour le rendre. Pour les systèmes de fichiers qui permettent l'appel système fallocate(2), la réservation est réalisée rapidement en allouant des blocs et en les marquant comme non initialisés, sans nécessiter d'échange (entrée ou sortie) avec les blocs de données. C'est bien plus rapide que de créer un fichier en le remplissant de zéros.

L'état de sortie renvoyé par fallocate est 0 en cas de réussite et 1 en cas d'échec.

OPTIONS
Les arguments taille et position peuvent être suivis des suffixes multiplicatifs KiB=1024, MiB=1024*1024, etc., pour GiB, TiB, PiB, EiB, ZiB et YiB (la partie « iB » est facultative, par exemple « K » est identique à « KiB ») ou des suffixes KB=1000, MB=1000*1000, etc., pour GB, TB, PB, EB, ZB et YB.

Les options --collapse-range, --dig-holes, --punch-hole et --zero-range s'excluent mutuellement.

-c, --collapse-range
    Supprimer un intervalle d’octets d’un fichier, sans laisser de trou. L’intervalle d’octets à supprimer commence à position et continue pendant taille octets. À la fin de l’opération, le contenu du fichier commençant à position+taille sera ajouté à la position et le fichier sera plus petit de taille octets. L’option --keep-size ne peut pas être utilisée pour une opération de suppression d’intervalle.

    Disponible depuis Linux 3.15 pour ext4 (seulement pour les fichiers avec extension de domaine ou « extent ») et XFS.

    Un système de fichiers peut poser des limites à la granularité de l'opération, afin de garantir une implémentation efficace. Typiquement, position et taille doivent être un multiple de la taille du bloc logique, laquelle varie selon le type et la configuration du système de fichiers. Si un système de fichiers a ce genre d'obligation, l'opération échouera avec l'erreur EINVAL si cette obligation est violée.

-d, --dig-holes
    Détecter et creuser des trous. Cela rassemble les fichiers creux, sans utiliser d’espace disque supplémentaire. La taille minimale du trou dépend de la taille de bloc d’entrée et sortie du système de fichiers (4096 octets en général). De plus, en utilisant cette option, --keep-size est implicite. Si aucun intervalle n’est indiqué par --offset et --length, le fichier entier est analysé pour les trous.

    Cette option peut être vue comme faire un « cp --sparse » puis renommer le fichier de destination comme le fichier original, sans avoir besoin d’espace disque supplémentaire.

    Consultez --punch-hole pour une liste des systèmes de fichiers pris en charge.

-i, --insert-range
    Insérer un trou de taille taille octets à partir de la position, déplaçant les données existantes.

-l, --length taille
    Indiquer la taille de l’intervalle, en octets.

-n, --keep-size
    Ne pas modifier la taille apparente du fichier. Des blocs pourraient être alloués après la fin du fichier, ils peuvent être enlevés avec truncate.

-o, --offset position
    Indiquer la position de début de l’intervalle, en octets.

-p, --punch-hole
    Désallouer l'espace (c'est-à-dire créer un trou) dans l'intervalle d'octets commençant à position et continuant pendant taille octets. Dans l'espace indiqué, les blocs partiels de systèmes de fichiers sont mis à zéro et les blocs complets du système de fichiers sont retirés du fichier. Après un appel réussi, les lectures suivantes dans cet intervalle renverront des zéros. Cette option peut ne pas être indiquée en même temps que l’option --zero-range. De plus, lors de l’utilisation de cette option, --keep-size est implicite.

    Pris en charge pour XFS (depuis Linux 2.6.38), ext4 (depuis Linux 3.0), Btrfs (depuis Linux 3.7), tmpfs (depuis Linux 3.5) et gfs2 (depuis Linux 4.16).

-v, --verbose
    Activer le mode verbeux.

-x, --posix
    Activer le mode d'opération POSIX. Dans ce mode, l'opération d'allocation se termine toujours mais peut prendre plus de temps si l'allocation rapide n'est pas prise en charge par le système de fichiers sous-jacent.

-z, --zero-range
    Initialiser l'intervalle d'octets commençant à position et continuant pendant taille octets. Dans l'espace indiqué, les blocs sont préalloués pour les zones qui couvrent les trous du fichier. Après un appel réussi, les lectures suivantes dans cet intervalle renverront des zéros.

    L’initialisation est réalisée dans le système de fichiers de préférence en convertissant l’intervalle en « extents » non écrits. Cette approche signifie que l’intervalle indiqué ne sera pas physiquement initialisé sur le périphérique (à part les blocs partiels aux extrémités de l’intervalle) et qu’une entrée ou sortie n’est (sinon) nécessaire que pour mettre à jour les métadonnées.

    L’option --keep-size peut être indiquée pour empêcher la modification de taille du fichier.

    Disponible depuis Linux 3.14 pour ext4 (seulement pour les fichiers avec extension de domaine ou « extent ») et XFS.

-V, --version
    Afficher le nom et la version du logiciel et quitter.

-h, --help
    Afficher l’aide-mémoire puis quitter.

AUTEURS
Eric Sandeen (sandeen@redhat.com)
Karel Zak (kzak@redhat.com)

VOIR AUSSI
truncate(1), fallocate(2), posix_fallocate(3)

DISPONIBILITÉ
La commande fallocate fait partie du paquet util-linux, elle est disponible sur l’archive du noyau Linux (https://www.kernel.org/pub/linux/utils/util-linux/).

TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <ccb@club-internet.fr>, Michel Quercia <quercia AT cal DOT enst DOT fr>, Thierry Vignaud <tvignaud@mandriva.com>, Frédéric Delanoy <delanoy_f@yahoo.com>, Thierry Vignaud <tvignaud@mandriva.com>, Christophe Sauthier <christophe@sauthier.com>, Sébastien Blanchet, Jérôme Perzyna <jperzyna@yahoo.fr>, Aymeric Nys <aymeric AT nnx POINT com>, Alain Portal <aportal@univ-montp2.fr>, Thomas Huriaux <thomas.huriaux@gmail.com>, Yves Rütschlé <l10n@rutschle.net>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Philippe Piette <foudre-blanche@skynet.be>, Jean-Baka Domelevo-Entfellner <domelevo@gmail.com>, Nicolas Haller <nicolas@boiteameuh.org>, Sylvain Archenault <sylvain.archenault@laposte.net>, Valéry Perrin <valery.perrin.debian@free.fr>, Jade Alglave <jade.alglave@ens-lyon.org>, Nicolas François <nicolas.francois@centraliens.net>, Alexandre Kuoch <alex.kuoch@gmail.com>, Lyes Zemmouche <iliaas@hotmail.fr>, Florentin Duneau <fduneau@gmail.com>, Alexandre Normand <aj.normand@free.fr>, David Prévot <david@tilapin.org> et Jean-Philippe MENGUAL <jpmengual@debian.org> Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à <debian-l10n-french@lists.debian.org>.