DwarFS 是一个适用于 Linux、Windows 和 macOS 系统的快速、高压缩比只读文件系统,它可以打包任何文件与数据,最终得到一个可以跨平台读取的压缩镜像文件,并且访问速度很快,占用的 CPU 资源也很少。非常适合压缩打包海量小文件。@Appinn
DwarFS 是什么
DwarFS 是一款专注于去除重复数据,实现高压缩比的只读文件系统。你可以用它保存那些不再需要修改的只读数据,比如:
- 原始记录数据
- 影片、照片等原始素材
- 天文延时摄影
- 备份数据
- 软件分发(系统镜像等)
- 任何不再需要修改的文件
它也非常适合保存海量的小文件。
关于压缩率,青小蛙测试了一下:
原始大小 | DwarFS 大小 | |
.mkv 视频文件 | 24.9GB | 24.1GB |
软件安装包 | 110MB | 102MB |
系统镜像 | 4.59GB | 4.46GB |
29603个文件,3679个文件夹 | 5.09GB | 1.74GB |
最后一个数据出来还是很震惊的,这是发现频道的一款软件(【开发者自荐】VIVY – Stable Diffusion 桌面应用),使用 DwarFS 压缩:
然而并没有完,当你通过 DwarFS 把这个压缩后的镜像挂载到系统之后,它是可以正常运行里面的程序的。
当然并未继续测试只读盘对于程序使用的影响。不过 DwarFS 提供了办法使用 overlayfs 设置 DwarFS 的示例,以便在只读 DwarFS 映像之上创建可写文件系统挂载。这些就留给开发者折腾吧。
DwarFS 具体用法
DwarFS 原生支持 macOS、Linux,并在 WinFsp 的支持下,可以在 Windows 下使用。
创建镜像
mkdwarfs.exe -i c:\tv -o c:\tv.dwarfs
其中,-i 后面是源文件,-o 后面是创建的镜像文件。macOS 与 Linux 相同。
之后,你就会得到一个 tv.dwarfs 镜像文件,这个文件可以随意带走,也可以挂载到系统上。
挂载镜像
不同系统方式不同:
Windows 系统挂载 dwarfs 镜像
dwarfs.exe c:\tv.dwarfs Z:
将 tv.dwarfs 挂载到系统 Z 盘。
macOS & Linux 挂载 dwarfs 镜像
将当前目录下的 tv.dwarfs 挂载到 /mnt
挂载速度很快,用起来就与普通文件一样了。
卸载镜像
Windows 下,终止命令行就可以了。
macOS 与 Linux 使用常规方式:
即可卸载镜像。
访问速度
根据开发者测试,通过 1 Gb/s 网络连接访问相同的一组数据,dwarfs 镜像比原始文件快了大约 2.5 倍。
获取
- GitHub
- Windows 搬运(已包含 winfsp-x64.dll)
原文:https://www.appinn.com/dwarfs/