macOS
brew install zchunklocal Homebrew formula metadata
brew
Compressed file format for efficient deltas. Version 1.5.3 via Homebrew; verified 2026-06-19.
install
brew install zchunklocal Homebrew formula metadata
sudo apt install libzck-devDebian stable package indexes · libzck-dev · source: deb.debian.org
sudo dnf install zchunkFedora Rawhide package metadata · zchunk · source: dl.fedoraproject.org
nix profile install nixpkgs#zchunknixpkgs package indexes · pkgs/by-name/zc/zchunk/package.nix · source: api.github.com
sudo pacman -S zchunkArch Linux sync databases · zchunk · source: geo.mirror.pkgbuild.com
sudo zypper install libzck-developenSUSE Tumbleweed package metadata · libzck-devel · source: download.opensuse.org
overview
Compressed file format for efficient deltas
history
zchunk is Jonathan Dieter's delta-friendly compressed file format and tool suite. It splits compressed data into independently verified chunks so clients can reuse old chunks and fetch only changed ranges from ordinary HTTP servers.
Dieter introduced zchunk publicly in April 2018 as a new format influenced by zsync and casync but aimed at avoiding their weaknesses for update metadata. The core idea was to keep reasonable compression while making deltas practical with standard HTTP range requests, zstd-compressed chunks, and strong per-chunk checksums.
The format's motivating use case was Fedora repository metadata. Dieter explained that Fedora update checks repeatedly downloaded large metadata files even when most records were unchanged. zchunk answered that by storing chunk metadata in the file header, comparing it with an older local copy, and downloading only the missing chunks needed to reconstruct the new file byte-for-byte.
The upstream README later marked the API and ABI stable as of zchunk 1.0, with future changes limited to backward-compatible additions. That stability mattered because zchunk was not just a standalone compression command; it had to be embedded into repository metadata generation and package-update clients.
Fedora drove zchunk's most visible adoption. The Fedora 30 change proposal made zchunk metadata a system-wide change, with repository metadata compressed in zchunk alongside older formats and support work across dnf, libdnf, librepo, libsolv, and createrepo_c. Fedora expected regular dnf users to see substantially smaller metadata downloads, especially for daily update checks.
The practical adoption path was infrastructure-heavy rather than user-interface-heavy: repository generators had to produce .zck metadata, clients had to understand the format, and mirrors only needed to support normal HTTP range requests. That made zchunk a quiet package-management optimization rather than a user-facing archiver like gzip or xz.
The zchunk tools include zck for creating .zck files, unzck for decompression, zckdl for range-aware downloads against an older source copy, zck_read_header for inspecting headers, and dictionary tooling for repeated data. Users creating update metadata or other frequently changing structured files choose stable chunking and dictionaries so future versions maximize chunk reuse.
The best fit is content where each new version overlaps heavily with older versions: package repository metadata, catalogs, indexes, and other generated files. It is less about compressing a single archive once and more about minimizing repeated downloads over time.
zchunk is especially significant to package nerds because it moved compression from a generic file-size problem into the package-manager update loop. It shows how a small format and CLI can reshape bandwidth behavior across an entire distribution when integrated into metadata generation and dependency-resolution clients.
It also sits at a neat boundary between compression formats, rsync-like delta thinking, and package infrastructure: boring to end users when it works, deeply interesting to anyone who watches mirrors, metadata churn, and update clients.
security posture
broad file, network, media, or database tool signal.
blue risk · medium confidence · tool
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
unzck | cli | global executable | |
zck | cli | global executable | |
zck_delta_size | cli | global executable | |
zck_gen_zdict | cli | global executable | |
zck_read_header | cli | global executable | |
zckdl | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/zchunk/zchunk
install metadata
| Package key | brew:zchunk |
|---|---|
| Version | 1.5.3 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/zchunk |
| Homepage | https://github.com/zchunk/zchunk |
| Repository | https://github.com/zchunk/zchunk |
| Upstream docs | https://github.com/zchunk/zchunk#readme |
| License | BSD-2-Clause |
| Source archive | https://github.com/zchunk/zchunk/archive/refs/tags/1.5.3.tar.gz |
| Last updated | 2026-06-19T13:24:57Z |
| Pulse | updated |
| Dependencies | openssl@4, zstd |
| Build dependencies | argp-standalone, meson, ninja, pkgconf |
| Uses from macOS | curl |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | zchunk |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
libzck-dev 1.5.1+ds1-1
compress a file into independent chunks - development files
https://github.com/zchunk/zchunk
sudo apt install libzck-devlibzck1 1.5.1+ds1-1
compress a file into independent chunks - shared library
https://github.com/zchunk/zchunk
sudo apt install libzck1zchunk 1.5.1+ds1-1
compress a file into independent chunks
https://github.com/zchunk/zchunk
sudo apt install zchunkzchunk
nix profile install nixpkgs#zchunklibzck-dev 1.3.2+ds1-1build2
compress a file into independent chunks - development files
https://github.com/zchunk/zchunk
sudo apt install libzck-devlibzck1 1.3.2+ds1-1build2
compress a file into independent chunks - shared library
https://github.com/zchunk/zchunk
sudo apt install libzck1zchunk 1.3.2+ds1-1build2
compress a file into independent chunks
https://github.com/zchunk/zchunk
sudo apt install zchunkzchunk 1.5.1-4.fc44
Compressed file format that allows easy deltas
https://github.com/zchunk/zchunk
sudo dnf install zchunkzchunk-devel 1.5.1-4.fc44
Headers for building against zchunk
https://github.com/zchunk/zchunk
sudo dnf install zchunk-develzchunk-libs 1.5.1-4.fc44
Zchunk library
https://github.com/zchunk/zchunk
sudo dnf install zchunk-libszchunk 1.5.3-1
A file format designed for highly efficient deltas while maintaining good compression
https://github.com/zchunk/zchunk
sudo pacman -S zchunklibzck-devel 1.5.3-1.3
Headers for building against zchunk
https://github.com/zchunk/zchunk
sudo zypper install libzck-devellibzck1 1.5.3-1.3
Zchunk library
https://github.com/zchunk/zchunk
sudo zypper install libzck1zchunk 1.5.3-1.3
Compressed file format that allows easy deltas
https://github.com/zchunk/zchunk
sudo zypper install zchunksource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.