1
iBugOne 2023-02-08 18:02:09 +08:00
这些问题至少取决于你用啥软件和文件系统,基本方式是先扫描再去重。
扫描重复文件的方法都比较简单粗暴,比较文件大小和内容( checksum )。 创建 dedup 文件的方法取决于文件系统,简单的方法是 hard link ,那么这时候改其中一份就会同步改掉另一份,但是由于两个文件指向同一个 inode ,权限什么的都是一样的,不会有越权访问; hard link 方式如果想要两份文件独立修改,需要软件支持,并且改完之后就变回占两份空间了。 如果有 FS 支持的话(比如 XFS / Btrfs ),可以通过 reflink 模式实现 dedup ,两个文件具有不同的 inode ,但底层使用相同的分配块;修改其中一份文件会分配新的块并更新分配表,另一份不受影响,也没有越权访问问题。 总之你这问题问得太宽泛了,没法具体回答,常见情况大概如上 |
2
busier 2023-02-25 03:50:21 +08:00
了解下 Copy On Write
|