Respostas:
Se eles não estiverem no seu caminho, eu os deixaria onde estão.
Se você insistir em excluir, use dpkg -l | grep i386
para criar uma lista de pacotes i386. Você pode excluí-los após uma verificação cuidadosa com algo parecido sudo apt-get purge <package-name>
.
apt-get purge <package-name>
ainda deve funcionar, no entanto.
dpkg -l | grep amd64
recebi um pacote i386 na minha lista, ou seja amd64-microcode 3.20160316.3 i386
, acho que o ':' no padrão grep é importante ! ( dpkg -l | grep ":amd64"
)
As soluções automatizadas superiores são perigosas e nem sempre estão funcionando (1), então aqui outra maneira
sudo aptitude purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`
ou
sudo apt-get purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`
(Tente usar sempre e apenas uma das ferramentas. Como o aptitude é melhor quando há problemas de dependência, eu prefiro isso.)
Boa ideia também
dpkg --remove-architecture i386
e talvez
dpkg --print-foreign-architectures
(1) Os comandos anteriores também listam pacotes com apenas i386 em seu nome (embora sejam para arquitetura de 64 bits), a expressão regular não funcionou e o dpkg mostra pacotes que já foram removidos, mas ainda têm arquivos de configuração ( dpkg -l mostra "rc" em vez de "ii" como status).
awk
qualquer maneira, você também pode se livrar da grep
invocação. Além disso, $()
é preferível em vez de backticks. Acabei de me livrar dos meus pacotes i386 usando este comando com base no comando que você deu:sudo apt purge $(dpkg --get-selections | awk '$1 ~ /:i386$/ { print $1 }')
Eu blitzed todos os meus pacotes de 32 bits como este:
sudo apt-get remove `dpkg --get-selections | grep i386 | awk '{print $1}'`
dpkg -l | grep i386
para verificar se os pacotes ainda existem alguma idéia, também +1 para o comentário anterior e meu palpite está relacionado às técnicas de script de shell
sudo dpkg --remove-architecture i386
Caso alguém esteja se perguntando, há uma maneira muito mais sã e graciosa de fazer isso. A última resposta anterior espera fazer o mesmo, mas essa pesquisa falha porque as arquiteturas não fazem parte dos nomes dos pacotes, exceto em casos especiais.
como root (ou com sudo) execute:
aptitude remove ~i~ri386
Se você ainda não usa o aptitude sobre o apt-get, faça. É realmente excelente. Você pode encontrar uma lista dos termos de pesquisa do aptitude aqui .
Aqui está outra maneira que apresenta um risco ainda menor:
apt-get remove "^.*:i386$"
Isso corresponderá especificamente apenas aos pacotes que terminam com ":i386"
, que é a convenção de nomenclatura padrão para todos os i386
pacotes Debian de arquitetura.
sudo apt-get purge .*:i386
O guia multiarch do debian menciona este comando :,apt-get purge ".*:<arch>"
que seria assim para i386
:
apt-get purge ".*:i386"
Você pode remover a arquitetura do dpkg:
dpkg --remove-architecture i386