You are currently viewing HatchZip giải nén file nén khổng lồ mà không cần gấp đôi dung lượng ổ đĩa

HatchZip giải nén file nén khổng lồ mà không cần gấp đôi dung lượng ổ đĩa

Bạn tải một bản game 180 GB, giải nén ra 200 GB. Với WinRAR, 7-Zip hay unzip, bạn cần 380 GB trống, vì file nén và toàn bộ nội dung giải nén phải cùng tồn tại một lúc. HatchZip chỉ cần hơn 200 GB một chút.

Cách nó làm: giải nén từ cuối file nén, và mỗi phần đã giải nén xong thì cắt luôn khỏi file nén. Dung lượng file nén trả lại được tái sử dụng cho các file tiếp theo. Đó là toàn bộ ý tưởng cốt lõi, không có gì phức tạp hơn về mặt khái niệm, nhưng phần implementation thì không tầm thường chút nào.

Vì sao nó đang được chú ý

Tính đến lúc mình xem, repo có 924 sao. Con số này không gọi là bùng nổ, nhưng tốc độ thì đáng nói: repo được tạo ngày 21/10/2026 và cập nhật ngày 23/10/2026, tức là chỉ trong hai ngày đã có gần một nghìn sao. Viết bằng Rust, license Apache-2.0, có cả CLI lẫn GUI desktop cho Windows, macOS và Linux.

Vấn đề nó giải quyết rất thật. Ai từng ngồi với một ổ SSD 256 GB đầy 90% rồi tải về một file nén 100 GB đều biết cảm giác: giải nén xong thì ổ đầy, mà giải nén không xong thì cũng chẳng còn chỗ. Nhu cầu có thật, và các công cụ lâu đời như unzip hay 7-Zip không giải quyết được vì kiến trúc của chúng giả định file nén phải còn nguyên cho đến khi xong việc.

Điểm khác biệt nằm ở chỗ HatchZip kiểm tra trước xem có đủ chỗ không rồi mới đụng vào file. README ghi rõ nó giữ một khoảng trống an toàn suốt quá trình, và có thể dừng hoặc crash bất kỳ lúc nào rồi resume tiếp. Cái này quan trọng hơn vẻ ngoài: giải nén mà mất điện giữa chừng với công cụ thường là đi tong cả file nén lẫn file đích.

Cài đặt và chạy thử

Bản desktop thì tải từ trang release, có installer cho từng hệ. Windows 10/11 dùng HatchZip-x64-setup.exe, cài theo user, không cần quyền admin, có thêm menu chuột phải. macOS có bản .dmg cho Apple Silicon và Intel. Linux có .deb, .rpm và .AppImage.

Nếu chỉ cần CLI, Linux và macOS:

curl -fsSL https://raw.githubusercontent.com/xevrion/hatchzip/main/install.sh | sh

Windows, trong PowerShell:

irm https://raw.githubusercontent.com/xevrion/hatchzip/main/install.ps1 | iex

Cả hai script tải build về, đối chiếu checksum SHA-256 công bố, rồi cài hatchzip và tên viết tắt hz cho riêng user, kèm man page và shell completions. Không cần root.

Có Cargo thì:

cargo install hatchzip

Trước khi giải nén thật, nên chạy lệnh kiểm tra:

hatchzip check game.zip

Nó in ra kiểu như game.zip 180.2 MB zip, 200.0 MB uncompressed in 22 entries, kèm dung lượng trống hiện có và dung lượng tối thiểu cần thiết. Với 7z một solid block thì nó từ chối luôn từ đầu, vì một block không thể giải phóng cho đến khi toàn bộ block đó ra ngoài, và nếu không đủ chỗ cho cả block thì làm gì cũng vô ích. Logic đúng.

Hiệu năng thực tế theo README

README có bảng đo trên Fedora 43, Core i7-14700HX, SSD NVMe SK Hynix. Cùng 200 MB dữ liệu game (21 file) giải nén trên đĩa 220 MiB với khoảng 50 MB trống:

  • ZIP 180 MB: unzip hết chỗ ở file thứ 6 trên 21. HatchZip xong, từng file giống hệt bản gốc.
  • 7z từ 7-Zip 25.01 với -ms=20m (10 solid block): 7-Zip cần 380 MB, HatchZip xong trong 0,64 giây.
  • 7z chia thành 5 volume 40 MB: HatchZip xong, volume bị xóa dần từng cái, đỉnh điểm dùng 210 MB.
  • tar từ GNU tar 200 MB: HatchZip xong trong 0,12 giây.
  • 7z cấu hình mặc định (1 solid block): HatchZip từ chối trước khi đụng vào gì, vì cần 200 MB trống mà không có.

Tốc độ ZIP: 0,25 đến 0,35 giây so với 1,48 đến 1,50 giây của unzip 6.00, tính cả một lần fsync mà unzip bỏ qua. Nhanh hơn khoảng 5 lần, không phải nhờ thuật toán giải nén thần thánh gì mà nhờ giải nén song song. Hệ quả là: file nén chỉ chứa một file khổng lồ thì tốc độ bằng một core, đừng kỳ vọng gì hơn.

Phần chỗ trống thêm cần có xấp xỉ kích thước đơn vị lớn nhất có thể giải phóng một lần: một file với ZIP và tar, một solid block với 7z. Trên filesystem punch được hole (ext4, XFS, btrfs, tmpfs), file lớn trong ZIP hoặc tar giải phóng byte của nó mỗi 256 MiB trong lúc giải nén. Ví dụ trong README: một file 600 MiB stored nằm trong ZIP giải nén trên tmpfs 950 MiB với 367 MB trống, trong khi trước đó cần tới 629 MB.

Ai nên dùng

Người chơi game trên laptop ổ nhỏ. Người làm data, tải về một archive dataset vài trăm GB trên máy chỉ còn vài chục GB trống. Sysadmin cần bung file nén trên máy ảo cấu hình chật. Ai hay làm việc với ổ USB exFAT hoặc FAT32: README nói nó chạy được cả trên hai loại này vì chúng hỗ trợ shrink file.

Còn ai không cần: máy còn nhiều chỗ trống thì 7-Zip hay unzip vẫn ổn, khỏi cài thêm. Và nếu file nén là một solid block 7z duy nhất thì HatchZip cũng bó tay, nó sẽ nói thẳng ra chứ không làm liều.

Lưu ý trước khi cài

License Apache-2.0, thoáng, dùng thương mại được. Code viết bằng Rust, engine tách riêng thành crate hatchzip-core nếu bạn muốn nhúng vào tool khác.

Điểm trừ thực tế: bản Windows và macOS chưa được code-sign. Trên Windows sẽ hiện “Windows protected your PC”, phải chọn More info rồi Run anyway. Trên macOS 15 trở lên phải mở app một lần rồi cho phép trong System Settings, Privacy & Security. Với người quen thì không sao, với người dùng phổ thông thì đây là rào cản tâm lý không nhỏ.

Repo mới hai ngày tuổi. Dù README ghi đã test crash safety bằng cách kill ở nhiều điểm của mỗi format và resume đều cho output giống hệt, thì chuyện một dự án non trẻ vẫn còn đó. Đừng thử nó lần đầu với file nén duy nhất chứa dữ liệu không backup được. Cứ chạy hatchzip check trước, xem nó báo gì đã.

Cũng nên biết NTFS và APFS chưa được xác minh cho tính năng punch hole, theo README. Tức là trên Windows và macOS bạn vẫn dùng được, nhưng mức tiết kiệm chỗ có thể kém hơn con số trên ext4.

Tóm cái ý tưởng lại: bài toán “cần gấp đôi chỗ để giải nén” tồn tại bao nhiêu năm nay mà ít ai buồn động vào, vì nó đòi đụng vào chính file nguồn trong lúc đọc. HatchZip làm đúng cái đó, đo được bằng con số cụ thể: 220 MiB đĩa, 50 MB trống, 200 MB dữ liệu ra ngoài nguyên vẹn. Nếu bạn hay vật lộn với ổ đĩa đầy thì đáng bỏ mười phút thử. Repo ở đây: xevrion/hatchzip.

Câu hỏi thường gặp

HatchZip là gì và khác gì 7-Zip hay unzip?

HatchZip là công cụ giải nén viết bằng Rust, giải nén từ cuối file nén và cắt dần phần đã xong khỏi file nguồn để tái sử dụng dung lượng. Nhờ vậy nó chỉ cần hơn 200 GB một chút cho file nén 180 GB giải ra 200 GB, thay vì 380 GB như WinRAR, 7-Zip hay unzip.

HatchZip có giải nén được file 7z một solid block không?

Không. Với 7z cấu hình mặc định (1 solid block), HatchZip từ chối ngay từ đầu vì một block không thể giải phóng cho đến khi toàn bộ block đó ra ngoài, mà cần 200 MB trống thì không có. Nó nói thẳng ra chứ không làm liều, đúng như logic trong README.

HatchZip có an toàn khi mất điện giữa chừng không?

README ghi nó giữ một khoảng trống an toàn suốt quá trình và có thể dừng hoặc crash bất kỳ lúc nào rồi resume tiếp, đã test bằng cách kill ở nhiều điểm của mỗi format và resume đều cho output giống hệt. Tuy vậy repo mới hai ngày tuổi, nên đừng thử lần đầu với file nén chứa dữ liệu không backup được, cứ chạy hatchzip check trước.

Chia sẻ bài này

TelegramXFacebookZalo
Đăng ngày 24/10/2026
Giang Na
Về tác giả: Giang Na
Người lập ra blog từ 2015 với những bài về Blogspot. Giờ tập trung vào cách đưa AI vào việc thường ngày, theo hướng thực dụng và dễ làm theo.

Giang Na

Người lập ra blog từ 2015 với những bài về Blogspot. Giờ tập trung vào cách đưa AI vào việc thường ngày, theo hướng thực dụng và dễ làm theo.