Wednesday, 29 July 2009

How to (too)quickly remove 32-bit packages from your 64-bit system

I have recently migrated my system from multilib to non-multilib. After rebuilding kernel, world and making sure that my /lib folder pointed to /lib64, there were still some files left under /lib32. That was against the principles! ;)

# qfile /lib32
app-emulation/emul-linux-x86-baselibs (/lib32)

Ok, so here' the guilty one...let's see why it got pulled in:

# equery depends app-emulation/emul-linux-x86-baselibs
[ Searching for packages depending on app-emulation/emul-linux-x86-baselibs... ]
app-emulation/emul-linux-x86-gtklibs-20071214 (>=app-emulation/emul-linux-x86-baselibs-20071114)
app-emulation/emul-linux-x86-medialibs-20071114 (>=app-emulation/emul-linux-x86-baselibs-20071114)
app-emulation/emul-linux-x86-sdl-20080316 (>=app-emulation/emul-linux-x86-baselibs-20071114)
app-emulation/emul-linux-x86-soundlibs-20080418 (>=app-emulation/emul-linux-x86-baselibs-20071114)
app-emulation/emul-linux-x86-xlibs-20080810 (>=app-emulation/emul-linux-x86-baselibs-20071114)
net-im/skype-2.0.0.72 (amd64? >=app-emulation/emul-linux-x86-baselibs-2.1.1)
www-plugins/adobe-flash-10.0.22.87 (amd64 & multilib & 32bit? app-emulation/emul-linux-x86-baselibs)
x11-misc/googleearth-5.0.11733.9347 (amd64? app-emulation/emul-linux-x86-baselibs)

Oh well, say bye bye to skype, flash and googleearth...who'd need this anyway? ;)

# equery depends app-emulation/emul-linux-x86-baselibs | awk {'print $1'} | xargs emerge -Cpv

Final step: to ensure that system is not spoiled (ever! ;)) with 32-bit nonsense some masking is needed:

echo "app-emulation/emul-linux-x86-baselibs" >> /etc/portage/package.mask

Job done!

Update: bear in mind that there some dependencies might still exist thus run this:

emerge -uavND world

If you see the 'emul-*' packages being pulled in - check your use flag and run multiple 'equery depends [package]' to identify the offenders and remove them!

No comments:

Post a Comment

Have your say: