On a x86_64 machine, if I run the command -
yumdownloader <pkg_name> , it downloads both i686 and x86_64 arch packages whereas on a i686 machine, it only downloads the i686 package. How to fix this ? Any other solution other than giving the archlist option,please
One possibility: in
/etc/yum.conf, you can change multilib_policy from "all" to "best" if by default you want to match
You can also specify the architecture after pkg_name. For example
But here's what's going on which indicates how to "fix". When you don't use
--archlist or give the architecture, a package like "guile", "guile" will match the two packages "guile.x86_64" and "guile.i686" provided all the dependencies each package needs is provided.
So the lousy feedback loop you have here is the more times you install two versions of a package, such as not by giving
--archlist or by indicating the arch in the download, the more likely in the future installing or downloading will match more than one package because that will more likely that you will have both dependencies satisfied.
So the another more tedious way to handle this is to find the dependencies of a package and in those cases where there are
i686 versions, remove those. That will require you to remove more and more
i686 package and you'll probably want to make sure there are
x86_64 versions of those. In some cases, there might not be, or it might be okay not to have that other package.
If you built this system in in an automated way such from a script fed into anaconda or a configuration management system like puppet or chef, when you list the packages to load, you'll probably want to add the arch
x86_64 after package names (e.g
guile.x86_68 rather than
guile) to reduce the problem of every package getting installed in both a 32-bit or 64-bit way.
Finally, I should note that there are no doubt some packages that only exist in 32-bit forms.
To automatically exclude i686 packages:
yumdownloader -x '*i686'