找回密码
立即注册
搜索
发回帖 发新帖

6695

积分

0

好友

851

主题
发表于 昨天 20:20 | 查看: 1| 回复: 0

这个年代硬盘价格跟着水涨船高,省着点用总归没坏处。

硬盘快满的时候,如果想把一个很大的压缩包解开,经常会出现一种死循环:压缩包不能删,解压出来的文件又没地方放。一个 180GB 的安装包,解压后没准要 200GB,最拥挤的时候,两者会同时挤占大约 380GB 的空间。

HatchZip 正是为了处理这个问题而生的。它是一个开源的解压软件,支持 Windows、macOS 和 Linux,提供桌面版和命令行版两种形态,可以处理 ZIP、RAR、7z、tar、.tar.gz 等常见格式,分卷压缩包也不在话下。

关键点并不在于解压算法更省空间,而是空间释放的顺序变了。

普通解压工具的做法,是先把所有文件完整写出来,之后再让用户手动删除压缩包。HatchZip 则从归档尾部开始工作:文件先写入硬盘并保存稳妥之后,才会把压缩包对应部分截掉,释放出来的空间接着给下一个文件用。

HatchZip 从归档尾部提取并逐段截短释放空间的动画过程

ZIP、tar 通常以单个文件作为处理单元,而 7z 的单元是 solid block。因此能不能做到“边解压边瘦身”,还得看压缩包内部的结构。假如一个 7z 文件只有一个巨大的数据块,并且这个块占满了整个归档,那它仍然需要整体占用空间。遇到这种情况,HatchZip 会在开始之前直接拒绝执行,而不是解压到一半才告诉你硬盘不够用。

安全问题是这套方案的核心考量之一。因为原始归档会被逐渐消耗掉,所以 HatchZip 必须确保文件真正落到硬盘之后,才会删除对应的归档字节。官方设计流程大致是这样的:一批文件先写入临时文件,接着校验、重命名、刷盘、更新 journal,最后才截短归档。如果中途中断,下次执行相同命令时,可以借助 .hatchzip 和 .hatchzip-tail 从断点继续。

如果压缩包下载不易、不方便重新获取,可以加上 --verify-first 参数,让程序先读取整个归档并验证校验和,再开始删除任何内容。虽然速度会慢一些,但对于重要文件或者来源不太稳定的压缩包来说,这点代价是值得的。

桌面版用起来很直接:安装之后右击压缩包,选择“HatchZip”,再点“Extract here”。在 Windows 11 里,入口藏在“显示更多选项”下面。软件会先展示空间规划;如果硬盘容量充足,也可以选择保留原始压缩包,此时归档不会被修改。

HatchZip 桌面版界面:northwind.zip 解压空间规划与磁盘占用预览

命令行用户可以先做一次无副作用的检查:

hatchzip check game.zip

确认方案没问题之后,再执行真正解压:

hatchzip extract game.zip

如果没有特别指定参数,默认会保留 2GB 的磁盘余量,避免硬盘被彻底吃光。当输出目录里已经存在同名文件时,需要用 --replace 来覆盖;原文件会先移到 .hatchzip-replaced,等流程全部完成后再删除。

HatchZip 的价值不在于取代所有解压工具。硬盘空间充裕的时候,普通工具完全够用。它真正填补的,是那种“大文件已经下载完了,却没有额外空间解压”的尴尬空白。

有一点需要留意:目前 Windows 和 macOS 的安装包还没有数字签名。官方说明 Windows 上可能会弹出 SmartScreen 提示,macOS 则需要在“隐私与安全性”中手动放行。下载时应只通过项目 Release 页面或 hatchzip.dev 获取。

随着游戏、模型和数据集体积不断膨胀,重新安排解压顺序,比反复清理几十 GB 的临时文件要有意义得多。HatchZip 解决的,正是大文件时代里一个非常具体的麻烦。

项目地址: https://github.com/xevrion/hatchzip




上一篇:群晖NAS勒索攻击:黑客利用已修复CVE-2024-10441,升级DSM版本清单
下一篇:Go 多租户踩坑实录:漏传一次租户 ID,串了 8 条订单还不报错
您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-11-2 01:03 , Processed in 0.062078 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表