# Install zchunk with Homebrew, apt, dnf, Nix, pacman, zypper

Compressed file format for efficient deltas. Version 1.5.3 via Homebrew; verified 2026-06-19.

## Install

```sh
sudo av install brew:zchunk
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install zchunk
```

  Evidence: local Homebrew formula metadata

### Linux

- Debian apt (92%):

```sh
sudo apt install libzck-dev
```

  Evidence: Debian stable package indexes: libzck-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install zchunk
```

  Evidence: Fedora Rawhide package metadata: zchunk from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#zchunk
```

  Evidence: nixpkgs package indexes: pkgs/by-name/zc/zchunk/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S zchunk
```

  Evidence: Arch Linux sync databases: zchunk from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install libzck-devel
```

  Evidence: openSUSE Tumbleweed package metadata: libzck-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:zchunk
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/zchunk>
- **Version:** 1.5.3
- **Source summary:** Compressed file format for efficient deltas
- **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
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- unzck (cli)
- zck (cli)
- zck_delta_size (cli)
- zck_gen_zdict (cli)
- zck_read_header (cli)
- zckdl (cli)
- unzck (alias)
- zck (alias)
- zck_delta_size (alias)
- zck_gen_zdict (alias)
- zck_read_header (alias)
- zckdl (alias)

## Dependencies

- openssl@4
- zstd

## Build dependencies

- argp-standalone
- meson
- ninja
- pkgconf

## Uses from macOS

- curl

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.5.3
- Package-manager updated: 2026-06-19
- Local data: ok
- Upstream repository: https://github.com/zchunk/zchunk
- Upstream latest detected: 1.5.3 (current)
## Project history and usage

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.

### Project history

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.

### Adoption history

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.

### How it is used

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.

### Why package nerds care

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.

### Timeline

- 2018-04: Jonathan Dieter introduced zchunk as a delta-friendly compressed file format.
- 2018-05: Dieter published a deeper explanation of the chunk/header/download model and Fedora metadata motivation.
- 2018-12: Fedora infrastructure began generating zchunked metadata, according to the Fedora change page.
- 2019: Fedora 30 targeted zchunk repository metadata as a system-wide change.
- zchunk 1.0: Upstream README marks the API and ABI stable with backward-compatible additions only.

### Related projects

- zsync: an earlier HTTP-friendly delta download approach that influenced zchunk.
- casync: content-addressed synchronization tool that influenced zchunk's design tradeoffs.
- zstd: compression library used internally by zchunk chunks.
- dnf, libdnf, librepo, libsolv, and createrepo_c: Fedora package-management components involved in zchunk metadata adoption.

### Sources

- <https://fedoraproject.org/wiki/Changes/Zchunk_Metadata - Fedora change proposal documents Fedora 30 adoption, expected bandwidth benefits, and integration work across package-management components.>
- <https://github.com/zchunk/zchunk - README describes the format, tools, HTTP range-request model, checksums, dictionaries, and API/ABI stability.>
- <https://www.jdieter.net/posts/2018/04/30/introducing-zchunk/ - original public introduction explaining design goals, zsync/casync influence, zstd chunks, dictionaries, and early Fedora use case.>
- <https://www.jdieter.net/posts/2018/05/31/what-is-zchunk/ - detailed explanation of chunk headers, reuse of old chunks, HTTP range downloads, and Fedora metadata motivation.>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Source Database Details

- **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:** head, stable

## Other Package-Manager Records

- Debian apt - libzck-dev - 1.5.1+ds1-1: normalized package name match | Debian stable package indexes: libzck-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | compress a file into independent chunks - development files | https://github.com/zchunk/zchunk
- Debian apt - libzck1 - 1.5.1+ds1-1: normalized package name match | Debian stable package indexes: libzck1 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | compress a file into independent chunks - shared library | https://github.com/zchunk/zchunk
- Debian apt - zchunk - 1.5.1+ds1-1: normalized package name match | Debian stable package indexes: zchunk from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | compress a file into independent chunks | https://github.com/zchunk/zchunk
- Nix - zchunk: normalized package name match | nixpkgs package indexes: pkgs/by-name/zc/zchunk/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - libzck-dev - 1.3.2+ds1-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libzck-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | compress a file into independent chunks - development files | https://github.com/zchunk/zchunk
- Ubuntu apt - libzck1 - 1.3.2+ds1-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libzck1 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | compress a file into independent chunks - shared library | https://github.com/zchunk/zchunk
- Ubuntu apt - zchunk - 1.3.2+ds1-1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: zchunk from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | compress a file into independent chunks | https://github.com/zchunk/zchunk
- dnf - zchunk - 1.5.1-4.fc44: normalized package name match | Fedora Rawhide package metadata: zchunk from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Compressed file format that allows easy deltas | https://github.com/zchunk/zchunk
- dnf - zchunk-devel - 1.5.1-4.fc44: normalized package name match | Fedora Rawhide package metadata: zchunk-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Headers for building against zchunk | https://github.com/zchunk/zchunk
- dnf - zchunk-libs - 1.5.1-4.fc44: normalized package name match | Fedora Rawhide package metadata: zchunk-libs from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Zchunk library | https://github.com/zchunk/zchunk
- pacman - zchunk - 1.5.3-1: normalized package name match | Arch Linux sync databases: zchunk from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A file format designed for highly efficient deltas while maintaining good compression | https://github.com/zchunk/zchunk
- zypper - libzck-devel - 1.5.3-1.3: normalized package name match | openSUSE Tumbleweed package metadata: libzck-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Headers for building against zchunk | https://github.com/zchunk/zchunk
- zypper - libzck1 - 1.5.3-1.3: normalized package name match | openSUSE Tumbleweed package metadata: libzck1 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Zchunk library | https://github.com/zchunk/zchunk
- zypper - zchunk - 1.5.3-1.3: normalized package name match | openSUSE Tumbleweed package metadata: zchunk from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Compressed file format that allows easy deltas | https://github.com/zchunk/zchunk


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [openssl@4](https://www.automicvault.com/pkg/brew/openssl-4/) - Runtime dependency declared by Homebrew.
- [zstd](https://www.automicvault.com/pkg/brew/zstd/) - Runtime dependency declared by Homebrew.
- [meson](https://www.automicvault.com/pkg/brew/meson/) - Build dependency declared by Homebrew.
- [ninja](https://www.automicvault.com/pkg/brew/ninja/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [libdeflate](https://www.automicvault.com/pkg/brew/libdeflate/) - Shares av.db curated category or tags: c, cli, compression, developer-tools.
- [zopfli](https://www.automicvault.com/pkg/brew/zopfli/) - Shares av.db curated category or tags: c, cli, compression, developer-tools.
- [advancecomp](https://www.automicvault.com/pkg/brew/advancecomp/) - Shares av.db curated category or tags: cli, compression, developer-tools.
- [brotli](https://www.automicvault.com/pkg/brew/brotli/) - Shares av.db curated category or tags: cli, compression, developer-tools.
- [exomizer](https://www.automicvault.com/pkg/brew/exomizer/) - Shares av.db curated category or tags: cli, compression, developer-tools.
- [pigz](https://www.automicvault.com/pkg/brew/pigz/) - Shares av.db curated category or tags: cli, compression, developer-tools.
- [pixz](https://www.automicvault.com/pkg/brew/pixz/) - Shares av.db curated category or tags: cli, compression, developer-tools.
- [py7zr](https://www.automicvault.com/pkg/brew/py7zr/) - Shares av.db curated category or tags: cli, compression, developer-tools.
- [wandio](https://www.automicvault.com/pkg/brew/wandio/) - Local package facts share a topical domain. Shared terms: cli, compression, developer, developer-tools, file.

## Combined YAML source

View the package source record on GitHub. [combined/zchunk.yml](https://github.com/automic-vault/db/blob/main/combined/zchunk.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
