Qingwa
(青小蛙)
1
原始链接在: DwarFS - 跨平台、快速、高压缩比文件镜像系统:非常适合压缩打包海量小文件 - 小众软件
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 倍。
获取
原文:https://www.appinn.com/dwarfs/
另外可以参考下 AI 提供的使用指南:
w568w
(w568w)
2
和 Linux 的 SquashFS 以及华为的 EROFS 相比,性能怎么样?
编辑:GitHub 里把其他只读文件系统全部拿出来吊打一遍,还真是……有实力啊。
Landius
(Landius)
3
能用到 npm 的依赖上就好了,动辄成千上万的小文件真是头疼
Sworld
(Sworld)
8
有种docker的感觉,但是更专注于文件系统而不是启动服务。很有意思的技术,感觉值得观察
昨天尝试用这个软件备份下文件,有点慢啊。
备份的文件有1.2TB左右,文件数量大概100万+,文件夹数量50万+,文件基本上是图片、缩略图、元信息,准备将文件打包存到机械硬盘上,结果扫描阶段就花了将近一个小时,开始传输基本上就30~50MB每秒,CPU跑满,13700k直接卡的啥都干不了。
今天按照类似的理念,创建vhdx磁盘镜像,挂载后用fastcopy复制,基本上能跑到硬盘满速,缺点就是没压缩功能了。
看DwarFS的扫描结果,我这些文件能压到93%,估计压缩的都是那些元信息文件,已经用其他软件压缩到极致的数据不太适合,如果是备份大量纯文本日志、数据库的场景,或许更合适。
Qingwa
(青小蛙)
10
重复数据多的很合适。
还有一次性备份1.2T有点大了,建议分小点,多次。
不然一个篮子坏了就很惨
sairoa
12
这些文件是eagle的库,里面的文件都是用脚本从从pixiv下载的图片。
现在研究拆分方案,考虑放弃用eagle存全量数据,元数据存到directus里检索,缩略图存minio,文件直接存文件系统。
all in one用着挺爽,但迁移备份太难了。
sairoa
15
主要还是考虑备份,文件量一大fastcopy都能卡死,实际使用性能其实还够用,想尽办法减少文件数量,要不是考虑以后2T的固态也会不够用,都打算直接dd备份了。
Light2k
(2k)
16
那和wim以及esd就是差不多的格式,这两个gui工具还能多点
Mozi
(Foojer)
17
只包含 winfsp-x64.dll 还是不行的,需要安装一个驱动模块,建议直接下载安装后再使用:Release WinFsp 2023 · winfsp/winfsp · GitHub
1 个赞
moecurl
(catmory)
18
我在Ubuntu23.10.1下面测试挂载镜像成功,但是在windows下挂载不成功,显示的是The service dwarfs has been started. 但是实际并没有出现盘符。我看了一下作者在winfsp上的回复,貌似这个问题一直有,不知道要用哪个命令参数去处理这个问题。
apaqiu
(apaqiu)
19
跟7z比有何優勢?我前幾日下到一個82M的7z文件,解壓之後竟然有2G。
我的理解是,DwarFS是只讀且能掛載後直接使用。7z必需解壓才能用,不過是可寫的。
xmmdg
(笑眯眯的狗)
20
你这一说我突然想起来很久以前有个软件叫 winmount,可以挂载压缩包