Вопрос может быть неточным, поэтому я попытаюсь объяснить его более подробно.
По ряду причин у меня есть много копий одного и того же файла в моей файловой системе Linux. Многие из них довольно большие.
Скажем, у меня есть /path/to/some.file
и копии этого файла, /other/path/file.name
и /yet/another/path/third.copy
. Интересно, существует ли файловая система, которая буквально заставила бы два из этих файлов действовать как ссылка на оригинал? Естественно, если пользователь изменяет один из них, тогда и только тогда они становятся независимыми файлами.
PS. Я знаю, что это может быть (частично) выполнено с помощью ссылок. Но я хочу, чтобы эта функция, которую я пытался объяснить выше, была прозрачно обработана файловой системой.
linux
filesystems
DejanLekic
источник
источник
Ответы:
Эта функция называется дедупликацией . Ни одна из популярных файловых систем Linux (ext *) не поддерживает его, но, очевидно, ZFS поддерживает его частично . Существует также таблица файловых систем, в которой перечислены, среди прочего, дедупликация, но, похоже, нет популярных вариантов - это запланированная функция для Btrfs.
Я предполагаю, что периодическая проверка вашей файловой системы и создание соответствующих жестких ссылок - лучшее, что вы можете сделать в данный момент, хотя это не подразумевает копирование при записи.
источник
Основное ключевое слово, которое вы хотите найти, - «копировать при записи». В BTRFS есть операция клонирования, которая делает именно то, что вы хотите, и
cp --reflink
будет делать то, что вы ищете, при условии, что ваша система имеет достаточно современное ядро и coreutils 7.5. Wiki Source Кроме того, bedup - это инструмент, который объединяет дубликаты по всему объему. CoW также является движущей силой технологии создания снимков btrfs, IIRC.источник
cp --reflink
но отмечу, что на самом деле я хочу, чтобы FS обнаруживал клонов и использовал ссылки вместо этого, прозрачно. Я также отошел отbedup
инструмента.cp --reflink
/ клон), либо отдельный инструмент, чтобы завершить работу позже (постель).Существует онлайновая файловая система S3QL, предназначенная для резервного копирования с большой возможностью дедупликации.
источник
Zfs, btrfs, ext3cow, bcachefs (афаик, но есть вероятность, что он еще не реализован). У Microsoft был один в разработке, но они остановились по неизвестным причинам.
источник