Marten Lehmann
2009-Mar-04 12:47 UTC
[CentOS] Why are multiple architecture rpms installed?
Hello, I noticed, that whenever I install a package on CentOS 5.x, rpms for multiple architectures are installed: yum install sqlite-devel Loading "fastestmirror" plugin Loading mirror speeds from cached hostfile * base: centos.intergenia.de * updates: centos.intergenia.de * addons: centos.intergenia.de * extras: centos.intergenia.de base 100% |=========================| 1.1 kB 00:00 updates 100% |=========================| 951 B 00:00 addons 100% |=========================| 951 B 00:00 extras 100% |=========================| 1.1 kB 00:00 Setting up Install Process Parsing package install arguments Resolving Dependencies --> Running transaction check ---> Package sqlite-devel.x86_64 0:3.3.6-2 set to be updated ---> Package sqlite-devel.i386 0:3.3.6-2 set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================================ Package Arch Version Repository Size ============================================================================Installing: sqlite-devel x86_64 3.3.6-2 base 260 k sqlite-devel i386 3.3.6-2 base 260 k Transaction Summary ============================================================================Install 2 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 520 k Is this ok [y/N]: y Downloading Packages: (1/2): sqlite-devel-3.3.6 100% |=========================| 260 kB 00:01 (2/2): sqlite-devel-3.3.6 100% |=========================| 260 kB 00:01 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: sqlite-devel ######################### [1/2] Installing: sqlite-devel ######################### [2/2] Installed: sqlite-devel.x86_64 0:3.3.6-2 sqlite-devel.i386 0:3.3.6-2 Complete! Thats pretty annoying, because an "rpm -qa | grep sqlite" only shows the package name, not the arch: sqlite-3.3.6-2 sqlite-devel-3.3.6-2 sqlite-3.3.6-2 sqlite-devel-3.3.6-2 When I later want to remove rpms, I always have to mention both archs explicitly: rpm -e sqlite-3.3.6-2.i386 rpm -e sqlite-3.3.6-2.x64_86 And sometimes packages have arch i686 as well. Or I get an error: rpm -e sqlite error: "sqlite" specifies multiple packages First I thought, that this might be an issue due to 32bit compatibility. But then I remembered, that I used CentOS 4 on 64bit, too, and there was no such problem. How can I get rid of it? Kind regard Marten
On Wed, Mar 4, 2009 at 4:47 AM, Marten Lehmann <lehmann at cnm.de> wrote:> Hello, > > I noticed, that whenever I install a package on CentOS 5.x, rpms for > multiple architectures are installed:See, for example, for a solution: http://www.centos.org/modules/newbb/viewtopic.php?topic_id=17812> Thats pretty annoying, because an "rpm -qa | grep sqlite" only shows the > package name, not the arch: > > sqlite-3.3.6-2 > sqlite-devel-3.3.6-2 > sqlite-3.3.6-2 > sqlite-devel-3.3.6-2Try adding the following line to ~/.rpmmacros %_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch} This way you can see the arch as well. Akemi
Robert Heller
2009-Mar-04 13:47 UTC
[CentOS] Why are multiple architecture rpms installed?
At Wed, 04 Mar 2009 13:47:51 +0100 CentOS mailing list <centos at centos.org> wrote:> > Hello, > > I noticed, that whenever I install a package on CentOS 5.x, rpms for > multiple architectures are installed:This is normal for a 64-bit Intel/AMD flavored system. You have both the 64-bit libraries and the 32-bit libraries. You *probably* should not have the devel packages for both 32-bit and 64-bit, but I am not sure if that is a problem or not.> > yum install sqlite-devel > Loading "fastestmirror" plugin > Loading mirror speeds from cached hostfile > * base: centos.intergenia.de > * updates: centos.intergenia.de > * addons: centos.intergenia.de > * extras: centos.intergenia.de > base 100% |=========================| 1.1 kB 00:00 > updates 100% |=========================| 951 B 00:00 > addons 100% |=========================| 951 B 00:00 > extras 100% |=========================| 1.1 kB 00:00 > Setting up Install Process > Parsing package install arguments > Resolving Dependencies > --> Running transaction check > ---> Package sqlite-devel.x86_64 0:3.3.6-2 set to be updated > ---> Package sqlite-devel.i386 0:3.3.6-2 set to be updated > --> Finished Dependency Resolution > > Dependencies Resolved > > ============================================================================> Package Arch Version Repository Size > ============================================================================> Installing: > sqlite-devel x86_64 3.3.6-2 base > 260 k > sqlite-devel i386 3.3.6-2 base > 260 k > > Transaction Summary > ============================================================================> Install 2 Package(s) > Update 0 Package(s) > Remove 0 Package(s) > > Total download size: 520 k > Is this ok [y/N]: y > Downloading Packages: > (1/2): sqlite-devel-3.3.6 100% |=========================| 260 kB 00:01 > (2/2): sqlite-devel-3.3.6 100% |=========================| 260 kB 00:01 > Running rpm_check_debug > Running Transaction Test > Finished Transaction Test > Transaction Test Succeeded > Running Transaction > Installing: sqlite-devel ######################### [1/2] > Installing: sqlite-devel ######################### [2/2] > > Installed: sqlite-devel.x86_64 0:3.3.6-2 sqlite-devel.i386 0:3.3.6-2 > Complete! > > > Thats pretty annoying, because an "rpm -qa | grep sqlite" only shows the > package name, not the arch: > > sqlite-3.3.6-2 > sqlite-devel-3.3.6-2 > sqlite-3.3.6-2 > sqlite-devel-3.3.6-2 > > When I later want to remove rpms, I always have to mention both archs > explicitly: > > rpm -e sqlite-3.3.6-2.i386 > rpm -e sqlite-3.3.6-2.x64_86 > > And sometimes packages have arch i686 as well.You should not have both i686 and i386 packages for the same thing, but it is OK to have both i686 and x64_86 packages.> > Or I get an error: > > rpm -e sqlite > error: "sqlite" specifies multiple packages > > First I thought, that this might be an issue due to 32bit compatibility. > But then I remembered, that I used CentOS 4 on 64bit, too, and there was > no such problem. > > How can I get rid of it? > > Kind regard > Marten > _______________________________________________ > CentOS mailing list > CentOS at centos.org > http://lists.centos.org/mailman/listinfo/centos > >-- Robert Heller -- 978-544-6933 Deepwoods Software -- Download the Model Railroad System http://www.deepsoft.com/ -- Binaries for Linux and MS-Windows heller at deepsoft.com -- http://www.deepsoft.com/ModelRailroadSystem/
On Wed, 04 Mar 2009 13:47:51 +0100 Marten Lehmann wrote:> How can I get rid of it?If all you need exists in x86_64, there is no need to use i386 packages. You may try to uninstall all all non x86_64 and noarch packages (doing test run first): rpm -qa --qf "%{NAME}.%{ARCH}\n" | grep -v 'x86_64\|noarch\|gpg-pubkey' > list rpm --test -e $(cat list) You can remove all i386 packages with this command: yum remove \*.i?86 -- MELVILLE THEATRE ~ Melville Sask ~ http://www.melvilletheatre.com