La pregunta puede ser imprecisa, así que intentaré explicarla con más detalle.
Por varias razones, tengo muchas copias del mismo archivo en mi sistema de archivos Linux. Muchos de ellos son bastante grandes.
Digamos que tengo /path/to/some.file
y copias de este archivo /other/path/file.name
y /yet/another/path/third.copy
. Me pregunto si hay un sistema de archivos que literalmente haría que dos de estos archivos actúen como una referencia al original. Naturalmente, si el usuario modifica uno de ellos, entonces y solo entonces se convierten en archivos independientes.
PD. Sé que esto se puede lograr (parcialmente) mediante el uso de enlaces. Pero quiero que esta característica que intenté explicar anteriormente sea manejada de manera transparente por el sistema de archivos.
fuente
Respuestas:
Esta característica se llama deduplicación . Ninguno de los populares sistemas de archivos de Linux (ext *) lo admite, pero aparentemente, ZFS lo admite parcialmente . También hay una tabla de sistemas de archivos que enumera, entre otros, la deduplicación, pero no parece haber ninguna opción popular; sin embargo, es una característica planificada para Btrfs.
Supongo que verificar periódicamente su sistema de archivos y crear enlaces duros apropiados es lo mejor que puede hacer en este momento, aunque eso no implica copiar en escritura.
fuente
La palabra clave principal que desea buscar es "copiar al escribir". BTRFS tiene una operación de clonación que hace exactamente lo que desea, y
cp --reflink
hará lo que está buscando, siempre que su sistema tenga un núcleo suficientemente moderno y coreutils 7.5. Fuente de Wiki Además, bedup es una herramienta que fusionará duplicados en todo un volumen. CoW también es la característica de conducción debajo de la tecnología de instantáneas de btrfs, IIRC.fuente
cp --reflink
pero tenga en cuenta que realmente quiero que el FS detecte clones y use referencias en su lugar, de forma transparente. También estoy lejos de labedup
herramienta.cp --reflink
/ clonar) o una herramienta separada para finalizar el trabajo más tarde (acostarse).Existe un sistema de archivos en línea S3QL diseñado para copias de seguridad con gran capacidad de deduplicación.
fuente
Zfs, btrfs, ext3cow, bcachefs (afaik, pero existe la posibilidad de que aún no esté implementado). Microsoft tenía uno en desarrollo, pero se detuvieron por razones desconocidas.
fuente