最新消息:

HatchZip:硬盘空间不够也能解压超大压缩包,边解压边释放原文件空间

佳软 yeeach 33浏览 0评论

 

在日常下载大型游戏、AI 模型、影视素材、完整数据集或者做系统备份还原的,应该都遇到过一个极其尴尬的局面:磁盘空间明明够放解压后的内容,但系统却弹窗提示空间不足。

原因很简单:传统的解压工具(无论是 7-Zip、WinRAR 还是系统的 unzip)采用的都是“全量保留”策略。如果一个压缩包有 180 GB,解压后需要 200 GB,那么你在解压过程中必须同时腾出 380 GB 的可用空间。对于很多固态硬盘容量捉襟见肘、只剩 200 多 GB 剩余空间的用户来说,往往得被迫卸载其他软件或外接移动硬盘倒腾,非常繁琐。

最近开源的 HatchZip,解决的正是这个问题。

HatchZip:https://github.com/xevrion/hatchzip

 

HatchZip 是一个用 Rust 编写的高性能解压工具,其核心设计理念是:原地解压,压缩包像“破壳”一样随着文件释放而同步缩小。

传统解压方式必须等到全部文件提取完成,用户才能手动删除源压缩包。而 HatchZip 则是在解压过程中,一边释放文件,一边将已经解压完的源数据部分从磁盘上“就地裁剪”(Truncate/Punch Hole)释放回操作系统。

还是以 180 GB 压缩包、解压后 200 GB 为例:

传统工具:需要 180 GB + 200 GB = 380 GB 可用空间。

HatchZip:只需略大于 200 GB 的可用空间即可顺利完成。

 

HatchZip 的核心功能亮点:

1. 倒序解压与就地裁剪(Extract & Truncate)

  • 对于 ZIP 格式,文件目录信息(Central Directory)通常存放在文件尾部。HatchZip 会先解析并暂存元数据,随后从后往前提取数据块。每解压完一部分,就通过底层文件系统操作直接截断/收缩文件尾部,把空间即时还给磁盘。

2. 多格式与分卷支持

  • 支持标准 ZIP(含 ZIP64、自解压 exe)、7z、tar、tar.gz 以及常见的分卷压缩格式(如 .001、.002)。对于分卷包,更可以在某个分卷解压完后直接安全清除该分卷。

3. 安全第一:预先校验与保留余量

  • 空间预检:在改动任何底层字节之前,HatchZip 会预估解压后的体积并对比可用空间,一旦空间不足直接拒绝执行,避免中途写满磁盘。
  • 安全防线:默认保留 2 GB 磁盘空闲缓冲(可通过 –keep-free 调整),绝不把磁盘写到 0 字节卡死系统。
  • 断点续解:解压过程中无论是按下 Ctrl+C 中断还是意外关机崩溃,重新执行原命令即可直接断点续传继续解压。
  • 文件校验:解压同时逐文件进行 CRC-32 校验,防止数据静默损坏。

4. 跨平台与开箱即用

  • 全面支持 Windows (NTFS)、macOS (APFS) 和 Linux (ext4/XFS/btrfs) 等支持文件收缩的文件系统。
  • 既提供类似 7-Zip 的右键菜单/GUI 界面,也提供命令行指令 hatchzip(别名 hz)。

 

针对「没有足够空间解压」这个问题,HatchZip 采用的是一种非常特别的思路:边解压、边删除已经用不到的压缩数据,把释放出来的空间继续交给后面的文件。

但业内其实还有另外一条路线:根本不要完整解压,而是直接把压缩包挂载成文件夹甚至系统盘符,需要哪个文件时再临时解压哪个文件。

这类工具本质上是在压缩格式上加了一层虚拟文件系统。对于操作系统和应用程序来说,挂载的就是普通目录,但磁盘上始终只有原来的压缩包,并不会产生额外解压目录。

这类工具比较典型的有:

Ratarmount

https://github.com/mxmlnkn/ratarmount

专门针对超大型归档和数据集设计,可以把 TAR、ZIP、RAR、GZ、BZ2、XZ、ZSTD 等压缩包直接作为文件系统访问,并且支持建立索引,非常适合 AI 数据集、服务器备份和大型媒体归档。

 

fuse-archive / mount-archive

https://github.com/google/fuse-archive

Google 开源的 FUSE 压缩包文件系统,支持 ZIP、RAR、7Z、ISO、TGZ、XZ 等大量格式,并提供 Lazy Extraction——只有真正读取某个文件时才进行解压。

 

 

mount-zip / zipmount

https://github.com/google/mount-zip

专门针对 ZIP 的轻量方案,可以把一个或多个 ZIP 直接挂载成只读文件系统,启动速度快、内存占用低,还支持加密 ZIP。

 

 

SimpleZipDrive

https://github.com/purelogiccode/SimpleZipDrive

对 Windows 用户更加直观,可以直接把 ZIP、7Z、RAR、TAR、ISO 等压缩文件挂载成 M:、N: 这样的虚拟磁盘,也可以挂载到普通文件夹。

 

 

ArchiveMount

https://github.com/FirTech/ArchiveMount

同样面向 Windows,可以把压缩包挂载成虚拟盘符或目录,真正访问某个文件时才解压到缓存,而不是提前展开整个压缩包。

 

 

ImDisk

https://github.com/LTRData/ImDisk

直接将 ZIP/RAR 文件虚拟成 Windows 系统盘符

 

 

 

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址