jdieter / zchunk


zchunk is a compressed file format that splits the file into independent chunks. This allows you to only download changed chunks when downloading a new version of the file, and also makes zchunk files efficient over rsync.

zchunk files are protected with strong checksums to verify that the file you downloaded is, in fact, the file you wanted.

Please note that, while the code is pretty reliable and the file format shouldn't see any further changes, the API is still not fixed. Please do not use zchunk for any mission-critical systems yet.

Installation Instructions

To install the zchunk utilites on Fedora, enable the COPR repository and run:

dnf install zchunk

To decompress a zchunk file, simply run:

unzck <filename>

To compress a new zchunk file, run:

zck <filename>

To download a zchunk file, run:

zckdl -s <source> <url of target>

To read a zchunk header, run:

zck_read_header <file>

To create a Fedora repository with zchunk metadata, first install createrepo_c:

dnf install createrepo_c

Make sure you have 0.11.3 or greater. Then run zchunk-enabled createrepo_c:

createrepo_c --zck --zck-primary-dict=<optional primary dictionary> --zck-filelists-dict=<optional filelists dictionary> \ --zck-other-dict=<optional other dictionary> ./

Dictionaries that should work well for Fedora are available at https://www.jdieter.net/downloads/zchunk-dicts.

Active Releases

The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).

Release Architectures Repo Download
Epel for CentOS 7 ppc64le (0)*, x86_64 (0)* Epel for CentOS 7 (28 downloads)
Fedora 27 i386 (0)*, ppc64le (0)*, x86_64 (0)* Fedora 27 (32 downloads)
Fedora 28 i386 (0)*, ppc64le (0)*, x86_64 (0)* Fedora 28 (28 downloads)
Fedora 29 i386 (0)*, ppc64le (0)*, x86_64 (0)* Fedora 29 (5 downloads)
Fedora rawhide i386 (0)*, ppc64le (0)*, x86_64 (0)* Fedora rawhide (25 downloads)

* Total number of packages downloaded in the last seven days.