Jonathan Berry wrote:
On 7/3/05, Philip A. Prindeville <philipp@xxxxxxxxxx> wrote:
I did an initial install of both .x86_64 and .i386 binaries for FC3 to
an Athalon 64-based system. Now that I think about it, it would have
been easier just to have done a .x86_64 install, or limited myself to
whatever binaries weren't published in .x86_64 format.
I'm not sure what you mean by this. I hope you mean that you
installed the arch compatability libraries (or whatever they called
it) which installed the 32-bit packages for some libraries. Did you
do this install recently? Any reason you went with FC3 instead of
FC4?
It was the arch compatibility libraries, but some others also seemed to
have been sucked in. Not sure why.
I was surprised that there's no .x86_64 Gnome and OpenOffice versions,
for instance.
BTW: I might write some perl scripts that figure out the dependency
graphs for various packages, so you can see what becomes unused
if a certain program or library gets removed, etc.
I'm a bit of a neophyte to RPM, though. For instance, I couldn't
figure out how to get the list of installed RPM's with version and
architecture listed (yum list installed "*" will do this, but rpm --query
--all won't). Likewise, the only way to get the list of dependencies
for a file that I know of is "rpm --erase --test xxx".
-Philip
So I find myself with various duplicated packages, like:
aspell.x86_64
aspell.i386
...
zlib.x86_64
zlib.i386
These are not duplicate packages, they are two different
architectures. If you want to run any 32-bit programs (like
OpenOffice) then you will need some of the 32-bit libraries. Some
distros have chosen to do it differently, but Fedora can install both
32-bit and 64-bit programs side-by-side. These library packages are
needed for operating with both architectures.
etc. and was wondering if there's an easy way to back the unnecessary
stuff out. I looked, for example, at removing aspell (since it should be
fairly stand-alone) but that wasn't as easy as I thought:
[root@media ~]# rpm --erase --test aspell.i386
error: Failed dependencies:
libaspell.so.15 is needed by (installed) gtkspell-2.0.7-2.i386
libaspell.so.15 is needed by (installed) gnome-spell-1.0.5-6.i386
libaspell.so.15 is needed by (installed) kdelibs-3.3.1-2.12.FC3.i386
[root@media ~]#
This would do the dep solving for you:
# yum remove aspell.i386
Unless something is really messed up, doing a "yum remove
<package>.i386" should only remove 32-bit packages. At least, that
statement seems like it should be valid, but is not tested.
Is there an easy way to figure out (even if it's non-deterministically or
misses some corner cases) what .i386 packages can be dropped from a
fat .x86_64 install?
That depends upon what 32-bit programs you want to run. If you really
don't want anthing 32-bit around, you might try:
# yum remove "*.i386"
Be very careful that you look over what all is being removed before
you say "yes." Then if there are 32-bit programs you want to run
(like I said, OpenOffice is only 32-bit) use yum to install them and
it will bring in any 32-bit libs that the program needs. <disclaimer>I
have not tested this process, so procede at your own risk</disclaimer>
Another suggestion is to install the new FC4 and be more judicious
about what you choose to install off the disk. I'm really liking FC4
so far.
Thanks,
-Philip
Jonathan