Zum Inhalt springen

Fallocate: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 87: Zeile 87:


Der von '''fallocate''' zurückgegebene Exit-Status ist 0    bei Erfolg und 1 bei Fehlschlag.
Der von '''fallocate''' zurückgegebene Exit-Status ist 0    bei Erfolg und 1 bei Fehlschlag.
= OPTIONEN =
Nachfolgend kann den Argumenten ''Länge'' und    ''Versatz'' eines der multiplikativen Suffixe KiB (=1024), MiB    (=1024*1024) und so weiter für GiB, TiB, PiB, EiB, ZiB und YiB folgen    (das »iB« ist optional, zum Beispiel ist »K«    gleichbedeutend mit »KiB«) oder die Suffixe KB (=1000), MB    (=1000*1000) und so weiter für GB, TB, PB, EB, ZB und YB folgen.
The options '''--collapse-range''', '''--dig-holes''',    '''--punch-hole''', '''--zero-range''' and '''--posix''' are mutually    exclusive.
'''-c''', '''--collapse-range'''
entfernt einen Bereich aus einer Datei, ohne ein  »Loch« zu hinterlassen. Der »zusammenzuklappende«  Dateibereich beginnt bei ''Versatz'' und erstreckt sich über die  angegebene ''Länge'' in Byte. Nach Abschluss des Vorgangs ist der  Inhalt der Datei, der ursprünglich an der Stelle  ''Versatz''+''Länge'' stand, nun an der Stelle ''Versatz'' und  die Datei ist ''Länge'' Byte kleiner. Die Option '''--keep-size'''  kann für die Anwendung von »collapse-range« nicht  angegeben werden.
Dies ist seit Linux 3.15 für ext4 (nur für    Extent-basierte Dateien) und XFS verfügbar.
Ein Dateisystem kann Einschränkungen bezüglich der    Granularität der Aktion setzen, um eine effiziente Implementierung    sicherzustellen. Typischerweise müssen der ''Versatz'' und die    ''Länge'' Vielfache der logischen Blockgröße des    Dateisystems, die vom Dateisystemtyp und der Konfiguration abhängt,    sein. Falls ein Dateisystem so eine Anforderung hat, wird die Aktion mit dem    Fehler '''EINVAL''' fehlschlagen, falls diese Anforderung verletzt ist.
'''-d''', '''--dig-holes'''
Erkennen und Erstellen von  »Löchern«. Hierdurch wird am Speicherort der Datei eine  Sparse-Datei erstellt, ohne zusätzlichen Platz auf der Platte zu  verwenden. Die minimale Größe des »Lochs«  hängt von der E/A-Blockgröße des Dateisystems ab  (üblicherweise 4096 Byte). Außerdem ist '''--keep-size'''  impliziert, wenn diese Option verwendet wird. Wenn kein Bereich durch  '''--offset''' und '''--length''' angegeben wurde, wird die gesamte Datei  auf »Löcher« hin analysiert.
Sie können sich diese Option wie das Ergebnis des Befehls    »'''cp --sparse'''« vorstellen, wobei die Zieldatei den Namen    der Ursprungsdatei erhält und kein zusätzlicher Speicherplatz    erforderlich ist.
Mit der Option '''--punch-hole''' erhalten Sie eine Liste der    unterstützten Dateisysteme.
'''-i''', '''--insert-range'''
fügt ein Loch der Länge ''Länge''  Bytes bei ''Versatz'' ein und verschiebt bestehende Daten.
'''-l''', '''--length''' ''Länge''
gibt die Länge des Zuweisungsbereiches in Byte  an.
'''-n''', '''--keep-size'''
verhindert die Änderung der eigentlichen  Länge der Datei. Dadurch können tatsächlich auch  Blöcke nach dem Dateiende (EOF) zugewiesen werden, die durch  Abschneiden entfernt werden können.
'''-o''', '''--offset''' ''Versatz''
gibt den Anfang des Zuweisungsbereiches in Byte an.
'''-p''', '''--punch-hole'''
löscht eine Zuweisung (d.h. erzeugt ein  »Loch«) im Bereich, der bei ''Versatz'' beginnt und sich  über die angegebene ''Länge'' in Bytes erstreckt. Innerhalb  des angegebenen Bereiches werden Dateisystemblöcke partiell auf Null  gesetzt und ganze Dateisystemblöcke aus der Datei entfernt. Nach  erfolgreichem Aufruf geben nachfolgende Aufrufe Nullen aus diesem Bereich  zurück. Diese Option darf nicht gleichzeitig mit '''--zero-range'''  angegeben werden. Außerdem wird in dieser Option '''--keep-size'''  impliziert.
Dies wird für XFS (seit Linux 2.6.38), ext4 (seit Linux    3.0), Btrfs (seit Linux 3.7), tmpfs (seit Linux 3.5) und gfs2 (seit Linux    4.16) unterstützt.
'''-v''', '''--verbose'''
aktiviert den ausführlichen Modus.
'''-x''', '''--posix'''
aktiviert den POSIX-Betriebsmodus. In diesem Modus wird  die Zuweisung immer abgeschlossen, aber es kann länger dauern, wenn  schnelle Zuweisung nicht vom darunterliegenden Dateisystem unterstützt  wird.
'''-z''', '''--zero-range'''
Belegt den Raum in dem bei ''Versatz'' beginnenden  Byte-Bereich für ''Länge'' Bytes mit Nullen. Innerhalb des  angegebenen Bereichs werden Blöcke für die Regionen, die die  Löcher in der Datei überbrücken, vorbelegt. Nach einem  erfolgreichen Aufruf liefern nachfolgende Leseanforderungen aus diesem Bereich  Nullen zurück.
Das Nullen erfolgt innerhalb des Dateisystems, vorzugsweise durch    Umwandlung des Bereichs in ungeschriebene Extents. Dieser Ansatz bedeutet,    dass der angegebene Bereich nicht physisch auf dem Gerät mit Nullen    gefüllt wird (außer für Teilblöcke an beiden    Enden des Bereichs) und E/A (andernfalls) nur zur Aktualisierung von    Metadaten benötigt wird.
Die Option '''--keep-size''' kann angegeben werden, um    Änderungen der Länge der Datei zu verhindern.
Dies ist seit Linux 3.14 für ext4 (nur für    Extent-basierte Dateien) und XFS verfügbar.
'''-h''', '''--help'''
zeigt einen Hilfetext an und beendet das Programm.
'''-V''', '''--version'''
Display version and exit.

Version vom 4. September 2025, 13:37 Uhr

fallocate - Beschreibung

Beschreibung

fallocate - einer Datei Platz im Dateisystem zuweisen oder die Zuweisung lösen

Installation

Aufruf

fallocate [-c|-p|-z] [-o Versatz] -l Länge [-n] Dateiname

fallocate -d [-o Versatz] [-l Länge] Dateiname

fallocate -x [-o Versatz] -l Länge Dateiname

Optionen

Unix GNU Parameter Beschreibung

Parameter

Umgebungsvariablen

Exit-Status

Wert Beschreibung
0 Erfolg
>0 Fehler

Anwendung

Problembehebung

Konfiguration

Dateien

Datei Beschreibung


Anhang

Siehe auch



Dokumentation

Man-Page
  1. fallocate (1)
  2. fallocate (2)

Links

Projekt

Weblinks

  1. https://superuser.com/questions/850267/how-to-append-data-in-a-file-by-dd


TMP

BESCHREIBUNG

fallocate wird verwendet, um Blöcke für eine Datei vorzureservieren oder die Reservierung aufzuheben. Wenn das Dateisystem den fallocate(2)-Systemaufruf unterstützt, geschieht dies schnell durch Zuweisung von Blöcken und Markierung dieser Blöcke als nicht initialisiert. Dadurch ist direkter E/A-Zugriff auf die Datenblöcke unnötig. Diese Vorgehensweise ist bedeutend schneller als die Erzeugung der Datei durch Füllen mit Nullen.

Der von fallocate zurückgegebene Exit-Status ist 0 bei Erfolg und 1 bei Fehlschlag.