[CentOS] Anaconda allows x86_64 CD/DVD to be used to install i386 system
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