dpkg: error: não é possível remover a arquitetura 'i386' atualmente em uso pelo banco de dados

11

Eu usei este comando para adicionar o arco i386:

sudo dpkg --add-architecture i386

E imediatamente depois, sem instalar nenhum pacote, tentei remover o arco i386 da seguinte maneira:

sudo dpkg --remove-architecture i386

E eu recebi o erro:

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

As soluções que eu vi até agora envolvem a remoção de pacotes i386, não instalei nenhum, os que são instalados são vitais para o funcionamento do sistema operacional. O que eu faço?

EDITE, LEIA O SEGUINTE PARA EVITAR DESTRUIR O SEU SO:

Acontece que os sistemas operacionais Linux de 64 bits já incluem o arco i386, portanto o comando sudo dpkg --add-architecture i386não fez nada.

daka
fonte

Respostas:

7

Em uma instalação amd64 (PC de 64 bits), a arquitetura i386 (PC de 32 bits) está ativa por padrão. Da sua lista, parece que você acabou de usar os pacotes de 32 bits para o Wine. O Wine precisa de várias bibliotecas de 32 bits para executar aplicativos do Windows de 32 bits. Você não poderá remover a arquitetura i386, a menos que desinstale o Wine de 32 bits. Mas não faz sentido: não há nada de errado em ter a arquitetura i386 ativada.

Gilles 'SO- parar de ser mau'
fonte
26

Corre

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

E, se estiver satisfeito com a remoção, execute

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

E tente novamente o

dpkg --remove-architecture i386
Steve
fonte
2
Obrigado por isso, muito útil! Você sabe se isso é seguro no Ubuntu 16.04 de 64 bits? Estou perguntando porque eu vejo uma longa lista de pacotes e estou preocupado que algo pode dar errado se eu removê-los todos
sunyata
2
@sunyata Se seu objetivo é remover o i386 do seu sistema, é assim: remova todos os pacotes do i386 e depois remova a arquitetura.
Braiam
Isso me ajudou. Depois de remover o i386, consegui atualizar o Firefox. Obrigado.
makkasi