26

I used this command to add i386 arch:

sudo dpkg --add-architecture i386

And then immediately after without installing any packages I tried to remove the i386 arch like so:

sudo dpkg --remove-architecture i386

And i got the error:

dpkg: error: cannot remove architecture 'i386' currently in use by the database

Solutions I have seen so far involve removing i386 packages, I haven't installed any, the ones that are installed are vital to the functioning of the OS. What do I do?

EDIT, PLEASE READ THE FOLLOWING TO AVOID DESTROYING YOUR OS:

Turns out that 64-bit Linux OSes already include the i386 arch, so the command sudo dpkg --add-architecture i386 didn't really do anything.

2 Answers 2

59

Run

dpkg --get-selections | awk '/i386/{print $1}'

And then if happy with them being removed, run

apt-get remove --purge `dpkg --get-selections | awk '/i386/{print $1}'`

And then retry the

dpkg --remove-architecture i386
5
  • 4
    Thank you for this, very useful! Do you know if this is safe to do on Ubuntu 16.04 64-bit? I'm asking because I see a long list of packages and am worried that something might go wrong if I remove them all
    – sunyata
    Sep 6, 2017 at 19:58
  • 3
    @sunyata if your objective is to remove the i386 from your system, then that's the way: remove all i386 packages and then remove the architecture.
    – Braiam
    Apr 15, 2018 at 0:10
  • 1
    That helped me. After I removed the i386 I managed to update firefox. Thank you.
    – makkasi
    Dec 4, 2019 at 12:37
  • 1
    Thanks, that worked wonders -- I had wine32 installed and the whole 32bit arch added because of that. This helped to clean the system. Apr 18, 2020 at 20:52
  • 2
    This should be the accepted answer! Works like a charm May 13, 2020 at 9:32
12

From your list, it looks like you just had the 32-bit packages used for Wine. Wine needs a bunch of 32-bit libraries to run 32-bit Windows applications. You won't be able to remove the i386 architecture unless you uninstall the 32-bit Wine. But there's no point in doing this: there's nothing wrong with having the i386 architecture enabled.

3
  • NOT TRUE: "...the i386 architecture (32-bit PC) is active by default..." See answer below by @steve -- using that one can indeed remove all i386 libraries and after that the entire architecture i386. Apr 18, 2020 at 20:51
  • @woohoo I don't understand what is “NOT TRUE”. The fact that you can remove it doesn't contradict the fact that it's active by default. Mind you, I haven't checked recently, it may be the case that i386 is no longer active by default now, but you aren't giving me any reason to think that this is the case. Apr 19, 2020 at 8:54
  • Yes, i386 is not installed by default on 64bit Apr 19, 2020 at 12:04

Not the answer you're looking for? Browse other questions tagged or ask your own question.