На файловой системе с поддержкой
reflink выполните:cp --reflink=always build.tar.zst test-build.tar.zst
Новый файл получает собственное имя и метаданные, но первоначально разделяет
extents исходного файла.Когда один из файлов изменяется, файловая система копирует только затронутые блоки:
printf 'test' >> test-build.tar.zst
Исходный файл при этом не изменится.
Режим
--reflink=always удобен для проверки: если источник и назначение находятся на разных файловых системах либо reflink не поддерживается, cp завершится ошибкой вместо незаметного полного копирования.Для автоматического перехода к обычному копированию используется:
cp --reflink=auto build.tar.zst test-build.tar.zst
Такой клон подходит для крупных артефактов сборки, наборов данных и временных рабочих копий. Он не заменяет резервное копирование и не гарантирует согласованность файлов работающих баз данных или виртуальных машин.
🔥 Используйте
reflink, когда нужен быстрый независимый клон большого неизменяемого файла внутри одной поддерживаемой файловой системы.🚪 Linux Ready | #совет
