[CentOS] Anaconda allows x86_64 CD/DVD to be used to install i386 system

Aleksandar Milivojevic alex at milivojevic.org
Wed May 3 13:30:25 UTC 2006

Quoting Johnny Hughes <mailing-lists at hughesjr.com>:

> Well ... trying to prevent that would be way to difficult as i386 things
> are valid to install on x86_64.  In fact, fixing it would be breaking
> it :)

Shouldn't it be the same as not allowing 4.2 media to be used to  
install from 4.3 tree?  If it is able to check the version, it should  
be able to check arch too.

> Some people want to install things outside the x86_64 tree ...
> specifically to get things like i386 Firefox, for example.  They include
> items from the i386 tree on purpose ...

No problem with that.  They are basically installing from something  
that is x86_64 tree, and have either some additional i386 stuff in it,  
or adding additional stuff from some other tree.  They are not  
installing from something that is basically (copy of) i386 media.

But there is still slight problem with what I just desribed, when you  
are actually installing i386 system, but you started installation  
using x86_64 media.  This is basically broken, and Anaconda should  
complain.  Or at least it should detect that and conclude you are  
installing i386, not x86_64 (which might be complicated to implement).  
  On the first update, yum will install (not update) anything it  
thinks needs to be updated.  For example, one of the first things  
you'll notice is that "vi" is not working anymore (there's no update  
for vim, but x86_64 has "higher" version of vim-mininal than i386  
does).  So you end up with two vim-minimal packages installed in  
parallel, with later (x86_64) overwriting the former's (i386) files.   
Since kernel is from i686, obviously things ain't gonna fly.

An alternative way of fixing this is if yum would actually check what  
kernel is running, and set $basearch based on that.  That would  
basically prevent installation of 64-bit binaries under 32-bit kernel  
(which can't run them).  Either that, or hacking yum to include  
internal dependency that all 64-bit packages require 64-bit kernel.

> The only reason you have an error is that not all those items are in the
> x86_64 tree on centos. If you had your own modified repos to include all
> i386 stuff and not just what the upstream provider (and so we) include,
> it would work fine.

Actaully, it wouldn't.  If installing from i386 tree, you'd get i586  
or i686 kernel.  When yum runs, it will prefer to install x86_64 (even  
if previous version of package was i386, like in vim-minimal example  
above).  So it won't work.  It will basically break the system.

See Ya' later, alligator!

More information about the CentOS mailing list