Cегодня многие пользователи macOS даже не задумываются, почему команда «Дублировать» в Finder настолько быстрая. Мы привыкли думать, что копирование больших файлов занимает время, но «мгновенная» операция стало чем-то само собой разумеющимся в современных системах. Секрет кроется в архитектуре APFS (Файловая система Apple - Apple File System), представленной Apple в 2017 году: вместо реального копирования, система создаёт так называемые «клоны» (clone files), которые разделяют одни и те же данные на диске. Это означает, что вам не придётся хранить две (или более) физические копии одного и того же файла.
Разработчик и энтузиаст файловых систем, John Siracusa, пошёл ещё дальше. Он создал новое приложение под названием Hyperspace, которое позволяет дополнительно экономить место за счёт преобразования «настоящих» дубликатов в «виртуальные» клоны. То есть файлы продолжают выглядеть и работать так, как будто они физически разделены, но фактически используют единый блок данных на диске. Каким образом это работает и почему это, возможно, самое «опасное» приложение от Siracusa? Попробуем разобраться.
Идея и путь к Hyperspace
Ещё во времена классических Mac OS большим преимуществом были код типа (type code) и код создателя (creator code) и ресурсные форки, позволявшие хранить множество метаданных о файлах. С годами интерес к файловым системам не утих, и когда появилась APFS, в ней выделили два важных механизма:
- 🧩 Снимки (snapshots), позволяющие «замораживать» состояние файловой системы для бэкапов и отката.
- 💿 Клоны (copy-on-write clones), дающие возможность быстро дублировать файлы без копирования физического содержимого.
По задумке John Siracusa, если пользователь «захламляет» свой диск разными копиями больших файлов, то почему бы не объединить их в «клон-формат» и освободить существенную часть дискового пространства?
Как функционирует этот механизм
Основная «магия» состоит в том, что APFS использует гибкую модель, где физические данные и их «ссылки» (inode-записи) отделены друг от друга. Когда мы «клонируем» файл, создаётся новая ссылка (inode), но указывающая на те же самые данные на диске.
- 🔍 Поиск дубликатов: Hyperspace сканирует все файлы на диске, пытаясь определить, какие из них имеют идентичное содержимое, но при этом не являются APFS-клонами.
- 💾 Экономия места: далее найденные «реальные» дубликаты превращаются в «виртуальные» ссылки, деля одну общую область памяти. В результате объём занимаемого пространства сокращается, а файлы с точки зрения пользователя никуда не пропадают.
- ⚠️ Опасность: как подчёркивает сам автор, это приложение затрагивает файлы, которые оно не создавало и не контролирует. Если что-то пойдёт не так (например, сбой в процессе клонирования или ошибка пользователя), последствия могут быть серьёзными для системы или данных.
Личный взгляд на проблему
По собственному опыту, Mac-пользователи редко думают о дубликатах как о критичном аспекте хранения. Обычно мы просто покупаем объёмистые SSD или выносим архивы в облако. Однако идея «освободить десятки гигабайт» без удаления файлов звучит крайне заманчиво:
- 🍏 С точки зрения экосистемы Apple это ещё один пример того, как передовая файловая система позволяет делать вещи, недоступные на старых ОС.
- 🏴☠️ Рисковая сторона: приложение вмешивается в низкоуровневую структуру файлов, поэтому Hyperspace действительно требует доверия к разработчику. Нужно быть готовым к тому, что программа будет менять данные вашей системы.
- 💡 Полезность для широкого круга: судя по тому, с какой быстротой заполняются современные диски (даже по 1-2 ТБ), возможность эффективно собирать дубликаты в клоны может стать незаменимой.
Технические штрихи
- 🛠️ SwiftUI: Hyperspace написан с помощью SwiftUI и использует Swift 6, причём автор отмечает, что некоторые несовершенные аспекты языка и фреймворка пришлось дорабатывать по ходу работы.
- 🏎️ Производительность: так как операция клонирования осуществляется на уровне файловой системы, Hyperspace не тратит много времени и ресурсов на физическое копирование. Сканирование может занять время (особенно если у вас множество больших файлов), но сама операция преобразования происходит почти мгновенно.
- 🧭 Безопасность: в силу «опасного» характера вмешательства в файлы, рекомендуется использовать резервные копии (Time Machine или аналоги). APFS в принципе устойчива к подобным операциям, но дополнительная предосторожность не помешает.
Для кого приложение?
- 🏠 Домашние пользователи: те, кто любит копировать большие проекты, фильмы, фотоархивы и не хочет тратить деньги на более ёмкие диски.
- 💼 Профессионалы: дизайнеры, видеомонтажёры и разработчики, зачастую имеющие множество идентичных версий файлов.
- ⭐ Ценители «чистых» решений: Hyperspace не удаляет никаких версий файлов, а просто «связывает» их на уровне файловой системы. Это особенно ценно, если вы не любите выбрасывать ничего и предпочитаете хранить всё «про запас».
Итоги
Как и переход Apple с HFS+ на APFS, релиз Hyperspace — событие не только любопытное с технической стороны, но и подтверждающее, что в мире macOS ещё есть что улучшать. Да, приложение выглядит рискованным, однако сама идея «переупаковки» контента даёт новую жизнь старым дубликатам, буквально освобождая десятки гигабайт.
Если вы аккуратно относитесь к своим данным и держите резервные копии, Hyperspace может стать отличным инструментом для быстрой оптимизации дискового пространства.