I've got a 64-bit 12.10 install on my Laptop. When running apt-get update, it downloads package lists for 32-bit packages (as well as source and 64-bit package lists). Why does it look for 32-bit package lists on a 64-bit system? I've included one of the items it tries to find below.
http://us.archive.ubuntu.com/ubuntu/dists/quantal-backports/multiverse/binary-i386/Packages
Best Answer
Confusing, isn't it? Let me explain a bit.
Why?
I'm from early 2011. What happened?
In 64-bit versions of Ubuntu before 11.10, some set of common 32-bit libraries were packaged in a single
ia32-libs
package represented to APT/Dpkg as being 64-bit and in such a location in the repository. If you happen to need a single library for an application, it would depend on the 150+ MB of 32-bit libraries1. Clearly, this is not a nice design.Multiple architectures?
The new idea was to introduce so-called "Multiarch" capabilities to APT/Dpkg and the tools around it. This was presented in several blueprints on Launchpad, here is one of them. Oneiric (11.10) became the first release that supported Multiarch.
How does it work?
You can tell Dpkg what architectures your system is capable running. On my 12.04 64-bit installation, this is here:
It opens the whole world of
i386
packages, withamd64
still being the default:The above example shows that Multiarch enables package maintainers to simply make their packages depend on
libqt4-core:i386
for example, and makes it possible to install any 32-bit library/package (and thus to install any package that depends on any 32-bit library/package), rather than a preselected set.ia32-libs
compatibilityIn case you were used to install the
. This is a simple metapackage depending on the same (or at least very similar) set of libraries, but it will be installed with the power of Multiarch.
ia32-libs
package as a convenience package to install a common set of basic 32-bit libraries, you can now useia32-libs-multiarch
Further related readings
1 For Lucid (10.04) the
ia32-libs
package install size is 155,812.0 kB.