用克隆替换APFS上的现有重复文件


15

有没有一种使用APFS的写时复制克隆功能从现有重复文件中回收空间的方法?

当您在APFS上复制文件时,它实际上并不复制文件块,而是仅克隆元数据。这样可以防止它再使用任何空间,直到您实际对重复文件进行编辑。似乎应该有一些工具可以找到现有的副本并将其替换为克隆,从而回收用于存储副本的空间。

苹果社区MacRumors论坛上的相关问题没有任何内容。


2
很难相信没有人编写应用程序来执行此操作。仅在我的主文件夹上,这样做就可以节省4.41 GB。这远非微不足道。请注意:应用程序开发人员,我很乐意为此支付几美元!
swineone '19

Answers:


3

有一些具有alpha品质的开源脚本可以尝试执行此操作-https://github.com/ranvel/clonefile-dedup


是的,我也找到了这个。不幸的是,有两个原因使我无法使用:最终,它只是使用cp -c,它丢弃了原始文件的所有元数据(所有者,权限,扩展属性等)。而且没有理由不能仅仅通过shell脚本sqlite3直接调用它,而是必须安装Python 3,这意味着它对不能更改设置以运行未签名/非签名的非管理员的限制应用商店签名代码。
杰夫·尼克松

1
我向github.com/ranvel/clonefile-dedup提交了一些更改(它们已被批准),现在它将保留文件日期和时间以及chown / chmod属性。
乔治Yohng,

2

我有同样的问题,并写了一个小的shell脚本来做到这一点使用本机cpmvjdupes(速度),以及gcp(元数据保存)。希望这可以帮助!

相对于其他解决方案的优势:



0

请查看diskDedupe http://www.diskdedupe.com。 它确实满足您的需求。

当用原始文件的副本替换重复文件时,它只有两个按钮(扫描和重复数据删除)并维护所有元数据。

我在所有档案中使用了它。


2
欢迎问不同。您使用该软件有什么经验?您似乎今天才刚加入该站点,所以我们想知道为什么您推荐此特定软件?
fsb

嗨,fsb,自苹果决定编写自己的文件系统APFS而不是使用ZFS以来,我一直在等待APFS。然后,我很失望APFS没有像ZFS那样提供任何重复数据删除功能。因此,我正在寻找一个至少提供一些脱机重复数据删除功能的简单应用程序。我通过Google搜索APFS和重复数据删除找到diskDedupe,并进行了尝试。我也找到了此页面,并希望分享我的经验。我现在使用diskDedupe已经超过4个月了,它并不昂贵,并且为我节省了很多磁盘空间。
peter1999
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.