Background:

I just love Arch Linux and delta support intrigued me.

TLDR; Currently generating deltas for last 5 versions 3 months of packages directly to the latest version (traditionally A->B->C->D->E->F, now A->F, B->F, C->F, D->F, E->F), up to a 0.99 ratio. (+IPv6!)

Usage:

1) Edit /etc/pacman.d/mirrorlist and add the following as the top repository... (http and https supported, replace 'uk' with 'za' if you're closer to South Africa)

# Delta repository Server = http://archlinux.uk.mirror.allworldit.com/archlinux-deltarepo/$repo/os/$arch

2) Edit /etc/pacman.conf and uncomment "UseDelta=0.7" in the [options] section

Deltas are generated up to 0.99 ratio (for when every MiB matters), so if you're on a mobile connection, you may want to increase the default 0.7 if you see fit.

3) Install xdelta3...

pacman -S xdelta3

4) Do whatever you normally do

5) PROFIT

Additional Information

I decided to setup two Arch Linux mirrors. I then spun some changes to repo-add to allow the creation of deltas from version A->B->C->D in the fashion of A->D, B->D, C->D and added a cleanup for when there is more than 5 the version is older than 3 months. This means that updates from the last 5 versions 3 months to the latest version will have a delta available. There is an upper limit of 15 deltas max per package, after this number of deltas, they will be force removed even if within the 3 month period.

I'm currently generating deltas for core, community and extra. I'm open to others if there is anyone interested.

The delta path is /archlinux-deltarepo/ instead of /archlinux/.

The ratio is set to 0.99, the reasoning behind this is when you're on mobile and the package is huge, you may see value in saving the extra few MiB.

Mirroring occurs every few mins, after which the deltas are generated. The delta repo is behind the official /archlinux/ by only a few mins depending on how long delta generation takes.

The delta repo can also be mirrored using rsync.

This is a longer term project of mine and not likely to *disappear*.

Feedback/Suggestions

Always welcome!

Updates

2019-01-13 - Deltas are now generated for the last 3 months of package versions, with an upper limit of 15 deltas

Last edited by nkukard (2019-01-28 10:18:00)