Scroll to navigation

FALLOCATE(1) Comenzi utilizator FALLOCATE(1)

NUME

fallocate - pre-alocă sau revocă alocarea de spațiu pentru un fișier

REZUMAT

fallocate [-c|-p|-z] [-o poziția] -l lungimea [-n] nume-fișier

fallocate -d [-o poziția] [-l lungimea] nume-fișier

fallocate -x [-o poziția] -l lungimea nume-fișier

DESCRIERE

fallocate este utilizat pentru a manipula spațiul alocat pe disc pentru un fișier, fie pentru a-i revoca alocarea, fie pentru a-l pre-aloca. În cazul sistemelor de fișiere care acceptă apelul de sistem fallocate(2), pre-alocarea se face rapid prin alocarea de blocuri și marcarea acestora ca fiind neinițializate, fără a fi nevoie să se facă In/Ieș către blocurile de date. Acest lucru este mult mai rapid decât crearea unui fișier prin umplerea acestuia cu zerouri.

Starea de ieșire returnată de fallocate este 0 în caz de succes și 1 în caz de eșec.

OPȚIUNI

Argumentele lungime și poziție pot fi urmate de sufixele multiplicative KiB (=1024), MiB (=1024*1024), și așa mai departe pentru GiB, TiB, PiB, EiB, ZiB și YiB („iB” este opțional, de exemplu, „K” are aceeași semnificație ca și „KiB”), sau sufixele KB (=1000), MB (=1000*1000) și așa mai departe pentru GB, TB, PB, EB, ZB și YB.

Opțiunile --collapse-range, --dig-holes, --punch-hole, și --zero-range se exclud reciproc.

-c, --collapse-range

Îndepărtează un interval de octeți dintr-un fișier, fără a lăsa o gaură. Intervalul de octeți care urmează să fie eliminat începe de la poziția și continuă cu lungimea octeți. La finalizarea operației, conținutul fișierului care începe la locația poziția+lungimea va fi adăugat la locația poziția, iar fișierul va fi cu lungimea octeți mai mic. Opțiunea --keep-size nu poate fi specificată pentru operația „collapse-range”.

Disponibilă începând cu Linux 3.15 pentru ext4 (numai pentru fișiere bazate pe extindere de spațiu) și XFS.

Un sistem de fișiere poate impune limitări privind precizia operației, pentru a asigura o implementare eficientă. În mod obișnuit, poziția și lungimea trebuie să fie un multiplu al dimensiunii blocului logic al sistemului de fișiere, care variază în funcție de tipul și configurația sistemului de fișiere. În cazul în care un sistem de fișiere are o astfel de cerință, operația va eșua cu eroarea EINVAL dacă această cerință este încălcată.

-d, --dig-holes

Detectează și creează goluri. Acest lucru face ca fișierul să fie mai dispersat pe loc, fără a utiliza spațiu suplimentar pe disc. Dimensiunea minimă a golului depinde de dimensiunea blocului de In/Ieș din sistemul de fișiere (de obicei 4096 octeți). De asemenea, atunci când se utilizează această opțiune, --keep-size este implicită. Dacă nu este specificat niciun interval prin --offset și --length, atunci întregul fișier este analizat pentru goluri.

Vă puteți gândi la această opțiune ca și cum ați face un „cp --sparse” și apoi ați redenumi fișierul de destinație la cel original, fără a fi nevoie de spațiu suplimentar pe disc.

Consultați --punch-hole pentru o listă a sistemelor de fișiere acceptate.

-i, --insert-range

Inserează un gol de lungime octeți de la poziția, schimbând datele existente.

-l, --length lungimea

Specifică lungimea intervalului, în octeți.

-n, --keep-size

Nu modifică lungimea aparentă a fișierului. Aceasta poate aloca efectiv blocuri după EOF, care pot fi eliminate cu o trunchiere.

-o, --offset poziția

Specifică poziția de început a intervalului, în octeți.

-p, --punch-hole

Eliberează spațiu (adică creează o gaură) în intervalul de octeți începând de la poziția și continuând cu lungimea octeți. În intervalul specificat, blocurile parțiale ale sistemului de fișiere sunt reduse la zero, iar blocurile întregi ale sistemului de fișiere sunt eliminate din fișier. După un apel reușit, citirile ulterioare din acest interval vor returna zerouri. Această opțiune nu poate fi specificată în același timp cu opțiunea --zero-range. De asemenea, atunci când se utilizează această opțiune, --keep-size este inclusă.

Acceptată pentru XFS (de la Linux 2.6.38), ext4 (de la Linux 3.0), Btrfs (de la Linux 3.7), tmpfs (de la Linux 3.5) și gfs2 (de la Linux 4.16).

-v, --verbose

Activează mesajele informative detaliate.

-x, --posix

Activează modul de operare POSIX. În acest mod, operația de alocare se finalizează întotdeauna, dar poate dura mai mult timp atunci când alocarea rapidă nu este acceptată de sistemul de fișiere de bază.

-z, --zero-range

Pune la zero spațiul în intervalul de octeți începând de la poziția și continuând cu lungimea octeți. În cadrul intervalului specificat, blocurile sunt prealocate pentru regiunile care acoperă golurile din fișier. După un apel reușit, citirile ulterioare din acest interval vor returna zero.

Punerea la zero se face în cadrul sistemului de fișiere, de preferință prin convertirea intervalului în spații nescrise. Această abordare înseamnă că intervalul specificat nu va fi eliminat fizic de pe dispozitiv (cu excepția blocurilor parțiale de la oricare dintre capetele intervalului), iar In/Ieș este (astfel) necesară doar pentru a actualiza metadatele.

Opțiunea --keep-size poate fi specificată pentru a preveni modificarea lungimii fișierului.

Disponibilă începând cu Linux 3.14 pentru ext4 (numai pentru fișiere bazate pe extindere de spațiu) și XFS.

-h, --help

Afișează acest mesaj de ajutor și iese.

-V, --version

Afișează informațiile despre versiune și iese.

AUTORI

Eric Sandeen <sandeen@redhat.com>, Karel Zak <kzak@redhat.com>

CONSULTAȚI ȘI

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

RAPORTAREA ERORILOR

Pentru rapoarte de eroare, folosiți sistemul de urmărire al erorilor la <https://github.com/util-linux/util-linux/issues>.

DISPONIBILITATE

Comanda fallocate face parte din pachetul util-linux care poate fi descărcat de la Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

2025-01-09 util-linux 2.40.3