Разреженные файлы: что собой представляют и как их использовать?

Об особенностях разреженных файлов, их преимуществах и ограничениях мы расскажем более подробно в данном обзоре.

Разреженные файлы: что собой представляют и как их использовать?

По умолчанию, разреженные файлы являются специальным форматом представления, в котором часть цифровой последовательности заменена сведениями о ней (сформирован перечень дыр), что в свою очередь позволяет гораздо эффективнее задействовать возможности файловой системы. Информация об отсутствующих последовательностях располагается напрямую в метаданных файловой системы, а не занятый высвободившийся объем запоминающего устройства будет использоваться для записи по мере надобности. Такой подход значительно сокращает объем исходного файла и экономит пространство накопителя.

Разреженные файлы: что собой представляют и как их использовать?

Разреженные файлы распознаются многими основными файловыми системами, задействованными при работе в Windows, Linux и MacOS.

Как и многие типы файловой организации, разреженные файлы обладают отличительными особенностями, предлагающими пользователям как выгоду, так и отдельные неудобства. К приоритетным выгодам безусловно относится эффективное использование дискового пространства. Любой, даже очень большой, файл может занимать на диске минимальный объем. И только по мере записи дополнительных данных область для хранения будет дополнительно увеличиваться. Процесс создания разреженных файлов также выгодно отличается от обычных, ведь системе требуется существенно меньше времени по причине пропуска последовательности нулевых байт. Дополнительно, меньший объем записи меньше нагружает диск и увеличивает срок его безотказной службы.

Помимо преимуществ, есть и недостатки. Система выполняет дополнительные операции с метаданными при записи информации о пропуске нулевых последовательностей. Не все ФС поддерживают разреженные файлы, и при переносе файла в такую систему, объем его может значительно возрасти по сравнению с исходником. А при ограниченном объеме конечного носителя операция копирования может быть полностью заблокирована или привести к непредсказуемым последствиям, ошибкам, логическим конфликтам, в том числе частичной перезаписи выделенной разреженной области. Также принудительная фрагментация при записи может сказаться на производительности, особенно при частой записи.

Поэтому выбирать, использовать или нет, разреженные файлы пользователи должны исходя из персональных потребностей и существующих задач.

Для создания разреженных файлов требуется использовать возможности командной строки в ОС Windows или терминала в Linux и MacOS.

Для операционной системы «Windows»

Все операции с разряженными файлами осуществляет инструмент ФС «fsutil». В Windows запустите командную строку с привилегиями администратора. На первом этапе перейдите в требуемую папку, а потом наберите команду следующего вида, опустив граничные кавычки, для создания простого файла: «fsutil file createnew sparse-file 1000000000».

Атрибуты «sparse-file» и «1000000000» соответственно означают наименование файла и объем (единица измерения – байт).

Разреженные файлы: что собой представляют и как их использовать?

Затем задайте новому файлу формат «разреженный», для чего следом введите в консоли команду (также без кавычек): «fsutil sparse setflag sparse-file».

Разреженные файлы: что собой представляют и как их использовать?

Примечание. Если возникла потребность сменить атрибут файла и удалить присвоенное значение «разреженный», то внесите изменения в его формат посредством набора команды «fsutil sparse setflag sparse-file 0» (кавычки не использовать).

Разреженные файлы: что собой представляют и как их использовать?

Дополнительно. Пользователи всегда могут проверить состояние формата файла и его заданную характеристику при помощи команды «fsutil sparse queryflag sparse-file». Сведения об атрибуте будут непосредственно сразу указаны в следующей строке после запроса.

Разреженные файлы: что собой представляют и как их использовать?

На следующем этапе необходимо произвести разметку дисковой области, высвобождаемой внутри, чтобы экономично использовать накопитель. Наберите в консоли команду (без кавычек): «fsutil sparse setrange sparse-file 0 1000000000».

Разреженные файлы: что собой представляют и как их использовать?

Примечание. Цифровые значения означают смещение. Единица измерения – байт. В нашем примере диапазон от 0 до одного гигабайта. Можно указать как полный объем, так и задать превышающее установленное значение.

Проверить факт присвоения атрибута можно командой «fsutil file layout sparse-file» (ограничивающие кавычки не использовать).

Разреженные файлы: что собой представляют и как их использовать?

Данный атрибут может быть применен для любого по выбору файла и требует только указания в команде соответствующего наименования с востребованным размером. В нашем примере в расшифровке свойств отображается утверждение, что расширенный файл емкостью один гигабайт потребляет пространства накопителя ноль байт.

Для операционной системы «Linux»

Создать разреженный файл в данной ОС несколько легче и можно воспользоваться двумя разными инструментами. Откройте терминал и введите указание к действию с командами «dd» или «truncate». Форма команды для создания разреженного файла в первом случае будет иметь вид (не использовать кавычки): «dd if=/dev/zero of=file-sparse bs=1 count=0 seek=2G».

Разреженные файлы: что собой представляют и как их использовать?

Примечание. Атрибут «file-sparse» означает наименование файла. Заключительная цифра – готовый объем. Единица измерения – по выбору пользователя (мы указали в гигабайтах).

Второй вариант создания разреженного файла предполагает следующий вид команды (без обрамляющих кавычек): «truncate –s1G file-sparse2».

Разреженные файлы: что собой представляют и как их использовать?

Примечание. Порядок записи атрибутов, по сравнению с первым способом, изменен, после характеристики «s» сначала задан объем файла, а потом указано его наименование.

Каждый способ непосредственно сразу напрямую создает разреженный файл и не требует последовательного двух шагового исполнения разных команд, как в операционной системе Windows.

Если же требуется привести к разреженному формату представления другой простой файл, то в Linux следует использовать следующую команду (кавычки опустить): «cp --sparse=always ./025.jpg ./0251.jpg».

Разреженные файлы: что собой представляют и как их использовать?

Примечание. В представленной команде замените значения «025.jpg» и «0251.jpg» именами простого обычного файла и нового разреженного соответственно.

Для увеличения исходного готового файла задействуйте команду (кавычки не учитывать): «dd if=/dev/zero of=025.jpg bs=1 count=0 seek=2G».

Разреженные файлы: что собой представляют и как их использовать?

Примечание. В нашем примере значение «025.jpg» указывает на имя увеличиваемого файла, а параметр в конце команды «2G» устанавливает его новый объем в два гигабайта.

Чтобы убедиться, какой размер выделен, введите без кавычек команду с именем проверяемого файла (в нашем примере имя файла «025.jpg») следующего вида: «du -h --apparent-size 025.jpg».

Разреженные файлы: что собой представляют и как их использовать?

Для ОС «MacOS»

Файловая система ApFS, эксклюзивно используемая Apple, также поддерживает разреженные файлы, управлять которыми пользователи могут посредством команд для операционной системы Linux, представленными в предыдущем разделе, с отдельными уточнениями.

Например, для MacOS Catalina возможно использование только команды на основе утилиты формата «dd» с обязательным указанием объема разреженного файла только в одной единице измерения – байт. В противном случае система просигнализирует об ошибке. Вид команды в терминале выглядит следующим образом (без кавычек): «sudo dd if=/dev/zero of=sparse_APFS bs=1 count=0 seek=1000000000».

Разреженные файлы: что собой представляют и как их использовать?

Указание для увеличения объема файла также требует задавать новый размер в байтах. Так, для увеличения объема до 400Мб команда примет вид (исключить кавычки): «dd if=/dev/zero of=025.jpg bs=1 count=0 seek=400000000».

Как восстановить разреженные файлы

Лучший способ восстановить разреженные файлы, как и для всех основных типов существующих файлов, - это воспользоваться готовой резервной копией, предварительно ранее созданной и хранящейся отдельно в защищенном месте. Однако данный способ не гарантирует полную сохранность данных и стопроцентный возврат файлов в случае их утраты или повреждения. Поэтому всегда следует иметь дополнительный вариант, а именно, программу для восстановления данных. Следует лишь убедиться, что такое решение обеспечивает восстановление разреженных файлов, поддерживает различные операционные и файловые системы, обладает мощным алгоритмом, оснащено дополнительными инструментами, повышающими степень удачного исхода, выполнено в понятном и удобном интерфейсе. Общение на тематических площадках и советы профессиональных специалистов по восстановлению помогут выбрать в Интернете подходящее решение.

Полную версию статьи со всеми дополнительными видео уроками смотрите в источнике. А также зайдите на наш Youtube канал, там собраны более 400 обучающих видео.

11
2 комментария

Вас ситуация на habr ничему не учит? Или специально мутите кейс "Как не нужно строить продвижение и заставить всех отвернуться от продукта"?

2

Объясните дураку, зачем мне создавать дырявые файлы? Похоже на секту дырявых файлов.