lego (12) Linux (39) pi (20) Thinkpads (4)

Tuesday, 22 January 2013

Moving to Multiarch on Debian 64bit systems

With updating to Update Pack 6 for LMDE (Linux Mint Debian Edition), which is based on Debian 7 (Wheezy), ia32 is set to be replaced by multiarch (would apply to Ubuntu as well).  Although ia32 isn't removed as part of the upgrade (it is held back), not migrating to multiarch post upgrading to Update Pack 6 will just lead to issues further down the road including in future update packs.

So as part of the post-upgrade activities, on all 64bit systems, I proceeded to migrate to a multiarch install.

As root, perform the following steps:

  1. add i386 architecture
    dpkg --add-architecture i386

  2. update sources.listdd
    sed -i 's/deb\ /deb\ [arch=amd64,i386]\ /g' /etc/apt/sources.list

  3. update

    apt-get update

  4. validate foreign-architecture [should show i386]

  5. dpkg --print-foreign-architectures

  6. remove ia32 and ia32-libs-gtk

    apt-get remove ia32
    apt-get remove ia32-libs-gtk

As part of the move, some of your 32bit software may become uninstalled (such as wine, etc) and will need to be reinstalled after moving to multiarch.  The list of 32bit software that will removed during the process will be identified by apt-get in step 5.

To explicitly install a 32bit library or application (i386 app), append a ":i386" to the library name a such as:

apt-get install library.deb:i386

32bit library dependencies will automatically be installed (if available).  You no longer need to force install or force-architecture (such as dpkg --force-architecture)

No comments:

Post a comment