- Гайд для новичков. Разреженные файлы в Windows, Linux и MacOS, файловых систем NTFS, REFS, Ext3, Ext4, BTRFS и APFS
- Разница между сжатием и разреженными файлами
- Преимущества и недостатки
- Создаем разреженный файл в Windows
- Как создать разреженный файл в Linux
- Как увеличить
- Разреженные файлы в ApFS
- Заключение
- Сжатие и распаковка файловых архивов с помощью Терминала на Mac
- Создание сжатого tar-архива
- Распаковка архива tar
- Форматы файловой системы, доступные в Дисковой утилите на Mac
- Apple File System (APFS)
- Mac OS Extended
- Совместимые с Windows форматы
Гайд для новичков. Разреженные файлы в Windows, Linux и MacOS, файловых систем NTFS, REFS, Ext3, Ext4, BTRFS и APFS
В этой статье пойдет речь о разреженных файлах. Расскажем об их недостатках и достоинствах, какие файловые системы поддерживают такие файлы. А также, как создавать или преобразовать их из обычных. Статья для новичков.
Разреженные – это специальные файлы, которые с большей эффективностью используют файловую систему, они не позволяют ФС занимать свободное дисковое пространство носителя, когда разделы не заполнены. То есть, «пустое место» будет задействовано только при необходимости. Пустая информация в виде нулей, будет хранится в блоке метаданных ФС. Поэтому, разреженные файлы изначально занимают меньший объем носителя, чем их реальный объем.
Этот тип поддерживает большинство файловый систем: BTRFS, NILFS, ZFS, NTFS, ext2, ext3, ext4, XFS, JFS, ReiserFS, Reiser4, UFS, Rock Ridge, UDF, ReFS, APFS, F2FS.
Все эти ФС полностью поддерживают такой тип, но в тоже время не предоставляют прямой доступ к их функциям по средством своего стандартного интерфейса. Управлять их свойствами можно только через команды командной строки.
Разница между сжатием и разреженными файлами
Все файловые системы, которые я назвал выше, также поддерживают стандартную функцию сжатия. Оба этих инструмента дают преимущество в виде экономии места на диске, но достигают этой цели по-разному. Основным недостатком использования сжатия является то, что это может снизить производительность системы при выполнении операции чтения\ записи. Так как будут использоваться дополнительные ресурсы для распаковки или сжатия данных. Но некоторые программные продукты не поддерживают сжатие.
Преимущества и недостатки
Самым большим преимуществом разреженных файлов является то, что пользователь может создавать файлы большого размера, которые занимают очень мало места для хранения. Пространство для хранения выделяется автоматически по мере записи на него данных. Разреженные файлы большого объема создаются за относительно короткое время, поскольку файловой системе не требуется предварительно выделять дисковое пространство для записи нулей.
Преимущества ограничены лишь приложениями, которые их поддерживают. Если у программы нет возможности распознавать или использовать их, то она сохранит их в исходном – несжатом состоянии, что не даст никаких преимуществ. Также с ними нужно быть осторожными, поскольку разреженный файл размером всего несколько мегабайт может внезапно увеличиться до нескольких гигабайт, когда неподдерживающие приложения скопируют его в место назначения.
Еще один из недостатков — это то, что нельзя скопировать или создать такой файл, если его номинальный размер превышает доступный объем свободного пространства (или ограничения размера квоты, налагаемые на учетные записи пользователей). Например, если исходный размер (со всеми нулевыми байтами) составляет 500 МБ, а для учетной записи пользователя, используемой для его создания, существует предел квоты в 400 МБ. Это приведет к ошибке даже если фактическое дисковое пространство, занимаемое им, составляет всего 50 МБ на диске.
Что касается накопителей, на которых хранятся такие данные, то они также подвержены фрагментации, поскольку файловая система будет записывать данные в разреженные файлы по мере необходимости. Со временем это может привести к снижению производительности. Кроме того, некоторые утилиты для управления дисками могут неточно отображать объем доступного свободного места. Когда файловая система почти заполнена, это может привести к неожиданным результатам. Например, могут возникать ошибки «переполнения диска», когда данные копируются поверх существующей части, которая была помечена как разреженная.
Создаем разреженный файл в Windows
Для этого в ОС Windows будем использовать командную строку. В поиске пишем cmd и запускаем ее от имени администратора.
В Windows для управления такими данными используют программу fsutil (утилита файловой системы). При выполнении create, по умолчанию файл создается самый обычный. Переходим в папку где нужно его создать и вводим:
fsutil file createnew sparse-file 1000000000
Где sparse-file – имя, а в конце указан его размер в байтах.
Чтобы присвоить файлу значение «разреженный» вводим:
fsutil sparse setflag sparse-file
Для удаления этого флага выполняется следующая команда:
fsutil sparse setflag sparse-file 0
И чтобы снова присвоить атрибут:
fsutil sparse setflag sparse-file
fsutil sparse queryflag sparse-file
Сам по себе атрибут ещё не приводит к экономии дискового пространства. Для этого нужно разметить пустую область, которая будет освобождена внутри.
Для пометки пустой области введите:
fsutil sparse setrange sparse-file 0 1000000000
В конце указывается смещение и длина, они задаются в байтах. В моем случае от нуля до 1Гб.
Для установки полностью разреженного файла указываем полный объем. Если нужно можно расширить файл указав здесь большее значение.
Для того чтобы убедиться, что файлу присвоен данный атрибут выполним layout
fsutil file layout sparse-file
Такой Атрибут можно задать любому файлу. Просто выполнив эту команду с его именем и задать нужный вам размер.
В свойствах созданного ранее файла можно увидеть, что при размере в 1Гб. файл занимает на диске 0 байт.
Данный набор команд подходит для всех файловых систем Windows, которые поддерживают данный тип данных (NTFS, ReFS и т.д.).
Как создать разреженный файл в Linux
В Linux процесс создания таких типов данных немного проще, поскольку существует несколько команд для их создания. Этот набор подойдет для всех файловых систем Linux.
Здесь можно использовать команду dd, либо truncate.
Первая команда имеет следующий вид:
dd if=/dev/zero of=file-sparse bs=1 count=0 seek=2G
Где file-sparse – имя, и в конце указан его размер, можно задать в байтах, мегабайтах и т.д.
Вторая команда проще, она имеет такой вид:
truncate -s2G file-sparse
Где значение 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
Это увеличит его размер до 2 Гб.
Для проверки размера выполним такую команду:
du -h —apparent-size 025.jpg
Разреженные файлы в ApFS
По сути, данный набор команд подходит и для файловой системы apple – ApFS, так как Linux и MacOS используют в своей основе архитектуру ядра Unix, они обе предоставляют доступ к Unix-командам и оболочке Bash.
Запустите терминал и выполните любую из команд, которую я использовал в Linux.
В MacOS Catalina работает только первая команда, и размер нужно указывать в байтах, иначе в результате команда выведет ошибку.
sudo dd if=/dev/zero of=sparse_APFS bs=1 count=0 seek=1000000000
Файловая система ApFS при соблюдении определенных условий создает разреженные файлы по умолчанию, поэтому для увеличения любого файла можно использовать команду:
dd if=/dev/zero of=187.jpg bs=1 count=0 seek=500000000
Зададим размер, к примеру, 500Мб, в MacOS размер нужно указывать в байтах.
В свойствах можно увидеть, что его размер увеличился до 500 Mb.
Заключение
Перед использованием этого функционала в любых ОС вам крайне важно узнать все их преимущества и недостатки. Знание этих особенностей гарантировано позволит вам избежать потенциальных проблем в будущем.
Полную версию статьи со всеми дополнительными видео уроками смотрите в источнике. А также зайдите на наш Youtube канал, там собраны более 400 обучающих видео.
Источник
Сжатие и распаковка файловых архивов с помощью Терминала на Mac
При передаче папок и нескольких файлов между компьютерами может быть полезно сжать их в один архив. Это экономит место, позволяет передавать всего один объект вместо множества объектов и упрощает возобновление передачи, если задача будет по какой-либо причине приостановлена.
В Терминале можно использовать команду GNU tar для сжатия и распаковки файловых архивов. Стандартным расширением файла для сжатого архива tar является .tgz, но иногда имена файлов имеют расширение .tar.gz. Если архив не сжат, его имя оканчивается просто на .tar.
Совет. Создавать и распаковывать архивы легче в Finder (команду tar в Терминале рекомендуется использовать только в том случае, если нужно создать именно архив tar). См. Сжатие и распаковка файлов и папок.
Создание сжатого tar-архива
В приложении «Терминал» на Mac введите команду tar и нажмите клавишу Return.
Для простого сжатия папки с именем, например LotsOfFiles, можно ввести:
Флаг z указывает на то, что архив сжимается и объединяется в один файл. Этот параметр обычно используется, но он не обязателен.
Если папка имеет большой размер, можно добавить флаг v и следить за процессом сжатия:
Распаковка архива tar
Чтобы распаковать tar-архив на Mac, выполните одно из следующих действий.
В приложении «Терминал» на Mac введите команду tar с флагом x , затем нажмите клавишу Return. Для просмотра сообщений о ходе сжатия также используйте флаг v . Например:
В Finder на Mac дважды нажмите файл tar.
Источник
Форматы файловой системы, доступные в Дисковой утилите на Mac
Дисковая утилита на Mac поддерживает несколько форматов файловых систем:
Apple File System (APFS). Файловая система, использующаяся в macOS 10.13 и новее.
Mac OS Extended. Файловая система, использующаяся в macOS 10.12 и ранее.
MS-DOS (FAT) и ExFAT. Файловые системы, совместимые с Windows.
Apple File System (APFS)
Apple File System (APFS) — стандартная файловая система для компьютеров Mac с macOS 10.13 и новее, которая обеспечивает надежное шифрование, совместное использование пространства, получение моментальных снимков, быстрое изменение размеров каталогов и улучшенные принципы файловой системы. Система APFS оптимизирована для флеш-накопителей и дисков SSD, которые используются в новейших компьютерах Mac, однако ее также можно использовать для более старых систем с традиционными жесткими дисками и внешними накопителями с прямым подключением. Версии macOS 10.13 и новее поддерживают APFS для загрузочных томов и томов данных.
APFS выделяет дисковое пространство внутри контейнера (раздела) по требованию. Если контейнер APFS содержит несколько томов, его свободное пространство используется совместно и при необходимости автоматически назначается любому из томов. При желании можно задать размеры резерва и квоты для каждого тома. Каждый том использует только часть общего контейнера, поэтому доступное пространство равно общему размеру контейнера за вычетом размера всех томов в контейнере.
Для компьютеров Mac с macOS 10.13 или новее выберите один из следующих форматов APFS.
APFS: использует формат APFS. Выберите этот вариант, если Вам не нужен зашифрованный или чувствительный к регистру формат.
APFS (зашифрованный): использует формат APFS и шифрует том.
APFS (чувствительный к регистру символов): использует формат APFS и учитывает регистр в именах файлов и папок. Например, папки с именами «Домашняя работа» и «ДОМАШНЯЯ РАБОТА» не будут считаться одинаковыми.
APFS (чувствительный к регистру символов, зашифрованный): использует формат APFS, учитывает регистр в именах файлов и папок и шифрует том. Например, папки с именами «Домашняя работа» и «ДОМАШНЯЯ РАБОТА» не будут считаться одинаковыми.
В контейнерах APFS можно легко добавлять и удалять тома. Каждый том в контейнере APFS может иметь собственный формат APFS — APFS, APFS (зашифрованный), APFS (чувствительный к регистру символов) или APFS (чувствительный к регистру символов, зашифрованный).
Mac OS Extended
Выберите один из описанных ниже форматов файловой системы Mac OS Extended для обеспечения совместимости с компьютерами Mac с macOS 10.12 и более ранних версий.
Mac OS Extended (журналируемый): использует формат Mac (журналируемый HFS Plus) для защиты целостности иерархии файловой системы. Выберите этот вариант, если Вам не нужен зашифрованный или чувствительный к регистру формат.
Mac OS Extended (журналируемый, зашифрованный): использует формат Mac, запрашивает пароль и шифрует раздел.
Mac OS Extended (чувствительный к регистру символов, журналируемый): использует формат Mac и учитывает регистр в именах папок. Например, папки с именами «Домашняя работа» и «ДОМАШНЯЯ РАБОТА» не будут считаться одинаковыми.
Mac OS Extended (чувствительный к регистру символов, журналируемый, зашифрованный): использует формат Mac, учитывает регистр в именах папок, запрашивает пароль и шифрует раздел.
Совместимые с Windows форматы
Выберите один из описанных ниже форматов файловой системы, совместимых с Windows, если Вы форматируете диск для использования с ОС Windows.
MS-DOS (FAT). используется для томов Windows, размер которых не превышает 32 ГБ.
ExFAT. используется для томов Windows, размер которых превышает 32 ГБ.
Источник