NOM¶
fallocate - Réserver ou rendre de l'espace pour un fichier
SYNOPSIS¶
fallocate [
-n] [
-p] [
-c] [
-z] [
-o
position]
-l longueur fichier
fallocate -d [
-o position] [
-l longueur]
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.
Le code de retour renvoyé par
fallocate est
0 en cas de
réussite et
1 en cas d'échec.
OPTIONS¶
Les arguments
longueur 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.
- -n, --keep-size
- Ne pas modifier la longueur apparente du fichier. Des blocs
pourraient être alloués après la fin du
fichier, ils peuvent être enlevés avec
truncate.
- -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 longueur octets. Dans l'espace
indiqué, les blocs partiels de systèmes de fichiers sont mis
à zéro et les blocs complets de systèmes 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) et tmpfs (depuis
Linux 3.5).
- -d, --dig-holes
- Détecter et creuser des trous. Rassembler 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, tout le fichier est
analysé pour les trous.
Cela peut être considéré comme faire un
« cp --sparse » et renommer le fichier
de destination comme fichier original, sans avoir besoin d’espace
disque supplémentaire.
Consultez --punch-hole pour la liste des systèmes de fichiers
pris en charge.
- -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
longueur octets. À la fin de
l’opération, le contenu du fichier commençant
à position+longueur sera ajouté à la
position et le fichier sera longueur plus petit.
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.
- -z, --zero-range
- Initialiser l'intervalle d'octets commençant à
position et continuant pendant longueur 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.
- -o, --offset position
- Indiquer la position de début de l’intervalle, en
octet.
- -l, --length longueur
- Indiquer la longueur de l’intervalle, en octet.
- -h, --help
- Afficher un texte d'aide puis quitter.
- -v, --verbose
- Activer le mode verbeux.
- -V, --version
- Afficher les informations sur la version et quitter.
AUTEURS¶
Eric Sandeen
Karel Zak
VOIR AUSSI¶
fallocate(2),
posix_fallocate(3),
truncate(1)
DISPONIBILITɶ
La commande
fallocate fait partie du paquet util-linux, elle est
disponible sur
l’archive
du noyau Linux