НАЗВА

fallocate — попередньо отримати місце у файлі або скасувати отримання місця у файлі

КОРОТКИЙ ОПИС

fallocate [-c|-p|-z] [-o відступ] -l довжина [ -n] назва-файла
 
fallocate -d [-o відступ] [ -l довжина] назва-файла
 
fallocate -x [-o відступ] -l довжина назва-файла

ОПИС

fallocate використовують для роботи із отриманим місцем на диску для файла — скасування отримання місця або попереднього отримання місця для нього. Для файлових систем, для яких передбачено підтримку системного виклику fallocate(2), попереднє отримання місця буде виконано швидко отриманням блоків і позначенням їх як неініціалізованих, що не потребуватиме введення-виведення до блоків даних. Це набагато швидше за створення файла заповненням його нулями.
 
Станом виходу з fallocate є 0, якщо дію буде виконано успішно, і 1, якщо станеться помилка.

ПАРАМЕТРИ

Після аргументів довжина і відступ можна додавати суфікси одиниць KiB (=1024), MiB (=1024*1024) тощо для GiB, TiB, PiB, EiB, ZiB та YiB (частина «iB» є необов'язковою, наприклад, «K» є тим самим, що і «KiB») або суфікси KB (=1000), MB (=1000*1000) тощо для GB, TB, PB, EB, ZB і YB.
 
Параметри --collapse-range, --dig-holes, --punch-hole і --zero-range не можна використовувати одночасно.
 
-c, --collapse-range
Вилучає діапазон байтів з файла без залишення дірки. Діапазон байтів, який буде згорнуто, починатиметься із позиції відступ і продовжуватиметься довжина байтів. По завершенню дії вміст файла, що починається із позиції відступ+ довжина буде дописано з позиції відступ, а файл стане на довжина байтів меншим. Якщо виконується дія із згортання діапазону, параметр --keep-size не може бути вказано у рядку команди.
 
Доступна з Linux 3.15 для ext4 (лише для файлів на основі розширення) і XFS.
 
Файлова система може накладати обмеження на дискретизацію дії для того, щоб забезпечити ефективну реалізацію. Типово, відступ і довжина мають бути кратним до розміру логічного блоку файлової системи, який залежить від типу та налаштувань файлової системи. Якщо у файловій системі встановлено подібні обмеження, спроба виконання дії завершиться помилкою EINVAL при порушенні обмежень.
 
-d, --dig-holes
Виявляти і усувати дірки. Це робитиме файл розрідженим на місці без використання зайвого місця на диску. Мінімальний розмір дірки залежить від розміру блоку введення-виведення файлової системи (зазвичай, він дорівнює 4096 байтів). Також, при використанні цього параметра неявним чином встановлюється --keep-size. Якщо діапазон не вказано за допомогою --offset і --length, буде виконано виявлення дірок в усьому файлі.
 
Цей параметр можна вважати таким собі способом виконати cp --sparse, а потім замістити файлом призначення початковий файл без потреби у додатковому місці на диску.
 
Див. --punch-hole, щоб ознайомитися зі списком підтримуваних файлових систем.
 
-i, --insert-range
Вставити дірку довжиною довжина байтів з позиції відступ, зсунувши наявні дані.
 
-l, --length довжина
Вказує довжину діапазону у байтах.
 
-n, --keep-size
Не змінювати видиму довжину файла. Насправді, може призвести до отримання блоків за EOF, які може бути вилучено обрізанням.
 
-o, --offset відступ
Вказати початковий відступ діапазону у байтах.
 
-p, --punch-hole
Скасувати розміщення (тобто створити дірку) у діапазоні байтів, який починається з відступ і має розмір довжина байтів. У вказаному діапазоні часткові блоки файлової системи буде занулено, а цілі блоки файлової системи вилучено з файла. Після успішного виклику наступні читання з вказаного діапазону файла повертатимуть нулі. Цей параметр не можна вказувати разом із параметром --zero-range. Також при використанні цього параметра неявним чином встановлюється --keep-size.
 
Передбачено підтримку XFS (починаючи з Linux 2.6.38), ext4 (починаючи з Linux 3.0), Btrfs (починаючи з Linux 3.7), tmpfs (починаючи з Linux 3.5) і gfs2 (починаючи з Linux 4.16).
 
-v, --verbose
Увімкнути докладний режим.
 
-x, --posix
Увімкнути режим сумісності з POSIX. У цьому режимі дія із отримання пам'яті завжди завершується, але може тривати довше, якщо якщо у базовій системі не передбачено підтримки швидкого розміщення.
 
-z, --zero-range
Записати нулями місце у діапазоні байтів від відступ_ довжиною _довжина байтів. У вказаному діапазоні блоки буде попередньо отримано для областей, які займають у файлі дірки. Після успішного виклику наступні читання з цього діапазону даватимуть нулі.
 
Пріоритетним варіантом занулення у файловій системі є перетворення діапазону не незаписане розширення. Цей підхід передбачає, що вказаний діапазон не буде фізично записано нулями на пристрої (окрім часткових блоків на кінцях діапазону), а дії з введення-виведення будуть потрібні лише для оновлення метаданих.
 
Може бути вказано параметр --keep-size для запобігання зміні довжини файла.
 
Доступна з Linux 3.14 для ext4 (лише для файлів на основі розширення) і XFS.
 
-h, --help
Вивести текст довідки і завершити роботу.
 
-V, --version
Вивести дані щодо версії і завершити роботу.

АВТОРИ

Eric <[email protected]>Sandeen Karel <[email protected]>Zak

ДИВ. ТАКОЖ

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

ЗВІТИ ПРО ВАДИ

Для звітування про вади використовуйте систему стеження помилками на <https://github.com/util-linux/util-linux/issues>.

ДОСТУПНІСТЬ

fallocate є частиною пакунка util-linux, який можна отримати з Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

ПЕРЕКЛАД

Український переклад цієї сторінки посібника виконано Yuri Chornoivan <[email protected]>
Цей переклад є безкоштовною документацією; будь ласка, ознайомтеся з умовами GNU General Public License Version 3 НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ.
Якщо ви знайшли помилки у перекладі цієї сторінки підручника, будь ласка, надішліть електронний лист до списку листування перекладачів: [email protected]

Recommended readings

Pages related to fallocate you should read also: