Ok ok, juro que esta vai ser uma dica rápida, mas bastante útil! Logo quando surgiu os computadores de arquitetura 64-bits, o Linux foi um dos primeiros sistemas operacionais a suportar a arquitetura completamente. Desde então, o uso dessa arquitetura aumentou bastante.
Só pelo título, vai vir gente aqui falando: se eu remover todos os pacotes 32-bits, algumas coisas que dependem disso (como Flash, plugin de Java e uma série de “probleminhas“) não irão mais funcionar! É por isso que até hoje a gente vê que as distribuições em versão 64-bits mantém pacotes 32-bits para compatibilidade.
Na verdade, minha opinião pessoal, ou seja, Hugo aqui falando, é que instalar uma versão 64-bits em um desktop gera mais problemas do que solução. Eu particularmente prefiro instalar 32-bits e ter tudo funcionando sem dor de cabeça, perdendo um pouco de desempenho (tá, em um desktop geralmente não se tem muitos GB de RAM, e também não se fica compilando coisas toda hora, então a perda de desempenho não é tããão grande assim).
Só que em servidores é bem diferente. Eu não vou usar essas frescuras que dão problema, então eu quero um sistema verdadeiramente 64-bits! Para isso eu preciso remover todos os pacotes que não são 64-bits, e o sistema tem que continuar funcionando direitinho.
Neste caso, essa série de comandos depois da instalação serve para o propósito, lembrando que isto foi testado na distribuição CentOS 5.3, o que significa que também foi testado no RHEL e dá certo.
cd /root rpm -qa --queryformat "%{name}.%{arch}\n" | grep i386 > pacotes-i386.txt for i in `cat pacotes-i386.txt`; do yum -y remove $i; done rpm -qa --queryformat "%{name}.%{arch}\n" | grep i686 > pacotes-i686.txt for i in `cat pacotes-i686.txt`; do yum -y remove $i; done rm -f pacotes-i386.txt pacotes-i686.txt
Explicando os comandos acima:
- O rpm -qa junto com o parâmetro –queryformat pega todos os pacotes que tem como arquitetura o i386. O resultado vai pro arquivo pacotes-i386.txt.
- Para cada linha deste arquivo, eu removo-o com o yum, removendo também todas as suas dependências.
- Faço a mesma coisa dos passos 1 e 2, só que agora para pacotes i686.
- Removo as listagens dos pacotes.
Simples e eficiente. Dá para incrementar o script, mas a idéia não seria essa. Espero que seja útil!