众所周知,像百度网盘 /阿里云,同一 md5 文件纵使它名字千奇百怪,保存在文件夹的天涯海角,在服务端它也只有一个,这样就能省下一大堆硬盘成本。
所以想请教下有没有类似的管理软件?比如甲乙丙三个文件夹存放的歌曲分别是 A-G ,C-N ,H-Z ,里面甚至有名字 A 改成 a 的相同文件,当我把这三个文件夹复制到指定位置,该软件检测到文件夹变化之后只会保存我 A-Z 这 26 个文件, 以及他们原来在甲乙丙三个文件夹的路径和名字,
总之从“我”的角度来看并不会感受到变化。无论是我查看,还是下次我复制甲乙丙文件夹出来的时候,它们该叫什么名字还叫什么名字,该在哪里还在哪里。(应该接近网盘)
nas 用的群晖。如果 win 或者 linux 上有上述类似的软件也可以推荐下
1
hymzhek 2023-04-15 17:25:13 +08:00 1
seafile 似乎有去重功能
|
2
rails 2023-04-15 17:36:20 +08:00 1
win 有个重复数据删除功能,linux 有个 VDO ( Virtual Data Optimize 虚拟数据优化程序)
|
3
loux 2023-04-15 22:30:37 +08:00 via iPhone 1
这种只适合只读的文件系统,在你的视角是不同的文件,但是当你编辑修改后所有的文件都被修改了,而你并不知道哪些文件被修改了,这比多占用空间更恐怖
|
4
dann73580 2023-04-16 01:49:44 +08:00 1
Minio 自建 s3 ,是有这么个功能的
|
5
busier 2023-04-16 08:45:27 +08:00 1
首先你要一个支持 Copy On Write (即 COW )的文件系统!比方说 Linux 下的 btrfs 文件系统就可以!
然后用 duperemove ,它可以将扫描 btrfs 文件系统,让相同的文件只存储一份,多处引用的文件名不变! 由于 btrfs 的 COW 特性,任何一处引用的文件名发生修改写入,并不会影响其它引用的文件名! 举个例子: 假如有一个 1GiB 的文件 file1 ,在 btrfs 上通过 cp --reflink 进行 COW 方式复制目标 file2 ,那么两个文件的总磁盘空占用还是 1GiB 。之后如果你对 file1 修改了 1MiB ,那么 file2 还是原内容不会变,两个文件占用的总磁盘空间就是 1GiB + 1MiB 。没错!即使是 file1 或 file2 修改了,也不会整个文件复制一遍! 假如你后来 file2 又修改了 2 MiB ,那么两个文件的总磁盘空间占用就是原 1GiB + 1MiB + 2MiB 。 也就是说,在 btrfs 上只存储了变化的部分。 可以说,比网盘整个文件比较 HASH 方式更加先进! |
6
busier 2023-04-16 08:47:00 +08:00
以前是,现在不是!了解下 btrfs 。
|
8
sleepingdog OP |
9
jKpzPv20NjX56i44 2023-04-16 15:25:02 +08:00 1
同推荐 btrfs 。一个非常先进的 filesystem 。
|
10
itskingname 2023-04-17 12:10:32 +08:00 1
@loux 在编辑的时候,文件就开始分离。创建一个新的副本来编辑而不修改原有的文件。不编辑,只是普通复制粘贴的时候,就始终引用同一个文件。
|