Я думаю о ситуации, когда у меня будет что-то, что создаст копию каталога, настроит несколько файлов, а затем выполнит некоторую обработку результата. Это можно сделать довольно часто, может быть, несколько десятков раз в день. (Точный вариант использования - тестирование представлений исправлений; дублирование кода, исправление его, сборка / тестирование / отчет / и т. Д.)
То, что я ищу, можно сделать, создав новую структуру каталогов и наполнив ее жесткими ссылками из оригинала. Однако это работает, только если все инструменты, которые вы используете, удаляют и воссоздают файлы, а не редактируют их на месте.
Есть ли способ заставить файловую систему выполнять копирование при записи для файла?
Примечание. Мне известно, что многие ПС используют COW на уровне блоков (все обновления выполняются путем записи в новые блоки), но это не то, что мне нужно.
cp
иln
делает почти точно то же самое. COW на уровне блоков - это хитрость, позволяющая минимизировать интервал неверности метаданных FS: en.wikipedia.org/wiki/ZFS#Copy-on-write_transactional_modelОтветы:
Если у вас есть выбор платформы для вашего файлового сервера, я бы пошел с последней сборкой OpenSolaris и использовал бы функцию дедупликации ZFS. Таким образом, копии файлов не будут занимать дополнительное пространство, и даже общие сегменты между файлами не будут реплицироваться.
Вы можете прочитать все о дедупликации ZFS в этом посте в блоге Джеффа Бонвика .
источник
Большинство решений для виртуализации Linux предлагают COW на уровне файлов среди виртуализированных ОС (скопировано из WP):
источник
Может быть SVN или другой инструмент управления версиями (git, cvs)?
источник