96

I added foreign architecture i386 to my Debian amd64 installation. How do I remove it? When I try this command: dpkg --remove-architecture i386, I am told to first remove all i386 packages.

Journeyman Geek
  • 127,463
  • 52
  • 260
  • 430
kevinarpe
  • 3,678
  • 5
  • 26
  • 31

3 Answers3

144

I am answering my own question after gathering important information from other blog posts.

  1. Show what foreign architectures are installed: dpkg --print-foreign-architectures
    • Might show: i386
  2. Review i386 packages on your system: dpkg -l | grep i386
  3. Remove all i386 packages: apt-get purge ".*:i386"
    • Note: The purge keyword (instead of remove) removes all configuration files associated with the packages you're uninstalling. (Thanks PCGuyIV!)
  4. Now you can remove the i386 architecture: dpkg --remove-architecture i386
Daniel
  • 258
  • 3
  • 6
kevinarpe
  • 3,678
  • 5
  • 26
  • 31
  • Rejected edit from https://superuser.com/users/944626/benjamin-buch, but still a good comment: "You might need apt-get purge --allow-remove-essential ".*:i386" to remove libc and other essential packages. Be very careful with --allow-remove-essential because it will kill your system if you accidentally remove the 64 bit version instead of the 32 bit one!" – kevinarpe Dec 23 '22 at 05:08
35

I would use "purge" instead of "remove".

~# apt-get purge ".*:i386"
~# dpkg --remove-architecture i386

The "purge" keyword removes all configuration files associated with the packages you're uninstalling.

nc4pk
  • 9,037
  • 14
  • 59
  • 71
PCGuyIV
  • 451
  • 4
  • 3
12
$ sudo apt remove `dpkg --get-selections |grep :i386 |awk '{print $1}'`
$ sudo dpkg --remove-architecture i386
Serge Stroobandt
  • 2,055
  • 1
  • 28
  • 25
  • 2
    ONLY USE THIS ANSWER OR YOU WILL LOOSE LOTS OF PACKAGES! – WGRM Sep 09 '21 at 23:13
  • 1
    I would suggest that you change the grep to grep ':i386 '. this is because some other packages have i386 in the description text. @WGRM – ElderDelp Jan 28 '23 at 03:31