Presto: Speed up your updates and save bandwidth

114
A little background information

Delta RPMs (DRPMs) are very similar to binary (regular) RPMs. The main difference is that DRPMs contain only the changes between two versions of an RPM package. This allows you to do full updates in a lot less time – Instead of downloading a full 10MB for an update where only 50kb of content changed, for example, you can now download only that 50kb of change and apply it to your system.

Presto is a project which brings deltarpm and yum together; In other words, letting you use yum to apply DRPMs.

Not only will you save on bandwidth since you’re only downloading in the changes in a package, but you’ll also cut down on the time it takes to download and apply the packages.

Installing yum-presto

The first step toward setting up Presto is installing the yum plugin:

Code:
yum -y install yum-presto

Configure the Updates repository

Next, we need to configure your updates repository to download deltarpm packages instead of the full ones.

Fedora 8 and newer
In the /etc/yum.repos.d/fedora-updates.repo file you’ll find two lines that looks like this in the [updates] section:

Code:
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/$releasever/$basearch/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch

Change it to:

Code:
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/$releasever/$basearch/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
mirrorlist=http://presto-mirrors.anmar.eu.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch

The added mirror list will give yum a list of the Presto-enabled mirrors. Of course,if all the DRPM mirrors fail it will always drop back to the original mirror list.

Fedora 8 and 9 users only
2008/09/14: Because of the recent security issue with the Fedora repositories, it is required to change a second repositority configuration file. In the
/etc/yum.repos.d/fedora-updates-newkey.repo file, comment out the old mirrorlist just like above and add this line:

Code:
mirrorlist=http://presto-mirrors.anmar.eu.org/mirrorlist?repo=updates-released-f$releasever.newkey&arch=$basearch

If you’ve previously followed this howto (pre-June 2008)
There’s been an update by the presto team, so if you’ve followed this howto before June 2008, undo the changes then follow the section above.
In the /etc/yum.repos.d/fedora-updates.repo file you’ll find two lines that looks like this in the [updates] section:

Code:
#baseurl=http://dl.anmar.eu.org/repos/f$releasever/updates-$basearch
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f8&arch=$basearch

Remove the pound character to the start of the mirrorlist line so that it looks like this:

Code:
#baseurl=http://dl.anmar.eu.org/repos/f$releasever/updates-$basearch
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f8&arch=$basearch
  • for i386 (32 bit users), remove the line:
    Code:
    baseurl=http://lesloueizeh.com/f8/i386/updates
  • for x86_64 (64 bit users), remove the line:
    Code:
    baseurl=http://dl.anmar.eu.org/repos/f8/updates-x86_64

Fedora 7
In Fedora 7, the deprecated deltaurl= key is used. This sound bad, however it actually makes the configuration much easier! Simply add the following line to the /etc/yum.repos.d/fedora-updates.repo file just “mirrorlist=” line in the [updates] section:

  • for i386 (32 bit users), add:
    Code:
    deltaurl=http://lesloueizeh.com/f7/i386/updates
  • for x86_64 (64 bit users), add:
    Code:
    deltaurl=http://lesloueizeh.com/f7/x86_64/updates

That’s it! Now run you can use yum or yumex as normal and benefit from the advantages of deltarpms.