newbie's question: Why .i386.rpm and .x86_64.rpm can have the exact same files?

Paul Howarth paul at city-fan.org
Wed Mar 1 07:59:40 UTC 2006


On Tue, 2006-02-28 at 23:48 -0800, Robinson Tiemuqinke wrote:
> Hi,
> 
>  I'm installing several AMD 64bit machines, and I've
> also installed 32bit compatibility for legacy
> programs.
> 
>  But unfortunately, I've found a "strange" phenomenon:
> a pair of same name packages, one is i386 version and
> another is x86_64 version, can be installed at the
> same time without confliction, although they contains
> the same set of files, either exectible binaries and
> libraries or simple documents.
> 
>  Let's give an example (mysql) listed below, bith
> mysql.i386 and mysql.x86_64 includes /usr/bin/mysql/
> but are installed without confliction.
> 
>  Then I got confused here (not FC4 OS). :) If I just
> run 'mysql' from command line, which version (i386,
> x86_64) of mysql will be run? If I remove one version,
> say mysql.x86_64, then the file /usr/bin/mysql will
> get deleted? or it just downgrade to 32bit version
> only? If the latter is the case, then where does FC4
> Linux save the 32bit version binary?
> 
>  My questions seems pretty riduclous because I'm a
> newbie to 64bit world. Plaese help. 
> 
>  I will be very appreciated if someone can give me
> some reference sites about this 32bit|64bit rpm
> introduction.
> 
> [user02 at testserver01 ~]# rpm -q --queryformat
> '%{name}-%{version}-%{release}.%{arch}\n' mysql
> mysql-4.1.16-1.FC4.1.x86_64
> mysql-4.1.16-1.FC4.1.i386
> [user02 at testserver01 ~]# rpm -ql mysql.x86_64 |head -5
> /etc/ld.so.conf.d/mysql-x86_64.conf
> /etc/my.cnf
> /usr/bin/msql2mysql
> /usr/bin/mysql
> /usr/bin/mysql_config
> [user02 at testserver01 ~]# rpm -ql mysql.i386 |head -5
> /etc/ld.so.conf.d/mysql-i386.conf
> /etc/my.cnf
> /usr/bin/msql2mysql
> /usr/bin/mysql
> /usr/bin/mysql_config

This is all normal, and is how Fedora supports multilib, allowing both
32- and 64-bit applications to run. When multiple different architecture
(but otherwise identical) packages are installed, rpm will "prefer" the
64-bit ones for the duplicate files. So you'll be running the 64-bit
version of mysql but will have 32-bit mysql libraries available for use
by 32-bit applications.

I don't know of any good up to date references for this unfortunately.

Paul.




More information about the fedora-list mailing list