how to remove a foreign architecture?

On Ubuntu 12.04 LTS x64, we'd like to remove the i386 foreign architecture it comes with, but I don't see a dpkg command to do this cleanly.

In Stuck with foreign-architecture=i386 when using apt-get, the user is advised to just remove the line from /etc/dpkg/dpkg.cfg.d/multiarch, I can do that (or even remove that file altogether), but I was wondering whether there is a more "appropriate" way to do that.

The reason we want to do that is that we maintain a large number of continuous integration agents using Puppet and want to stick to "pure 64". We install our own Debian packages from our own maintained repository and this fails unless we provide an i386 version of the package. I'm aware that it's possible to override the architecture in the specific repository configuration but it'll be cleaner to just disable the non-64 architecture altogether.


The standard way to remove an architecture would be through dpkg:

sudo dpkg --remove-architecture i386

Tested on Ubuntu 16.0.4 LTS.

It is also faster & simpler than to add architecture after every deb ... in sources.list.


It appears that tumbleweed's comment solved your issue.

You can add an option to the Apt sources definition that restricts the architectures of that source:

deb [arch=amd64] ...

For more information see the Community Wiki page on multi-architecture package management.