Hazard's stuff

07 Jan, 2012

Forcing Fedora's preupgrade to use servers in Europe instead of Asia

— Posted by hazard @ 2012-01-07 19:23
I've decided to upgrade my FC14 to FC16. Along the way, I decided to do it using a method that I've never used before - preupgrade. Supposedly it's one of the easiest and less time consuming methods. Not in Cyprus ...

How the heck is Cyprus related to preupgrade, you ask yourself? Well, it turns out that Fedora's mirror system assigns Cyprus to Asia. That might be correct in the strictest geographical sense (politically Cyprus is in European Union), but it is completely incorrect in terms of server proximity. Entire mirror list consists of servers in China and Japan (so fastestmirror doesn't help), while Cyprus' upstream Internet connectivity goes to West Europe. All of this results in very unreliable downloads at 8 kilobytes per second, which would require 10 days of waiting at best ...

So, I embarked on a quest to figure out how to force preupgrade to use European servers. After a few hours, extensive strace and several damaged rpm databases, I figured out that you need to do the following:
  • cd /usr/share/preupgrade
  • cp releases.list releases.txt
  • Edit releases.txt, add &country=de to all URLs (de stands for Germany, replace according to your preference)
  • Delete all mirrorlist.txt files under /var/cache/yum subdirectories
  • Run "preupgrade" from the same directory where releases.txt is located. E.g. /usr/share/preupgrade in context of my example.
preupgrade failed anyway because it needs 120 free space on the boot partition. But it's another story. :-)

In the meantime, I submitted bug #3086 to Fedora Infrastructure team. Let's hope they take a look at it.

Comments

  1. An easier alternative would be to install a "fastest mirror" plugin for yum. Then, it will actually measure and compare speeds across several mirrors and will pick some in Greece. :)

    Posted by Leonid Mamchenkov — 07 Jan 2012, 20:32

  2. fastestmirror is of no use when all the servers it retrieves are Asian. Check yourself: http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-16&arch=i386

    Posted by Vladimir Ivashchenko — 07 Jan 2012, 21:21