Note: This is at best, a hack.

Currently yumdownloader does not download x86_64 packages on an i686 host. The –archlist argument is not sufficient, and setarch x86_64 does not work. The –archlist argument doesn’t work because yum picks up repository information from the configuration files where $basearch is expanded to i686 on the hosts. setarch is supposed to remedy this, but it sadly doesn’t. There’s a WONTFIX bug on the matter.

I really needed to download some x86_64 rpms to make an up to date Fedora Electronics Lab spin to give out to a requester. This is what I came up with:

In /etc/yum.repos.d/ , make copies of the fedora.repo and fedora-updates.repo. Call them fedora64.repo, fedora-updates64.repo. Then, modify the files to change the repository names to fedora64 and fedora-updates64 respectively. Then, use a search and replace, to change “$basearch” to “x86_64“.

Now, yumdownloader --disablerepo=* --enablerepo=*64* @electronic-lab --resolve will download your x86_64 packages.

Do remember to remove the new repo files you’ve made, or at least disable them. Keeping them around for regular yum transactions may break your system!

About these ads