Fazendo o rpm voltar a funcionar depois de remover o sqlite
Há algumas semanas eu tentei colocar o Firefox 3 do Fedora 9 para funcionar no meu Fedora 8 compilando os fontes dos pacotes RPM. Eu tive que atualizar alguns pacotes, entre eles o sqlite e, terminada a compilação e após instalar os RPM's, o Firefox 3 rodou só que com um monte de problemas, então eu decidi voltar para o Firefox 2, removendo os novos pacotes recém-instalados e reinstalando os antigos.
Para acelerar o processo eu resolvi usar rpm --nodeps para remover os pacotes sem se preocupar com as dependências. Péssima idéia. Como eu pude esquecer que o sqlite é necessário para o rpm? Eu estava impossibilitado de instalar o sqlite novamente bem como qualquer outro pacote RPM. Então, o que fazer?
Felizmente, um amigo meu que usa Linux estava online. Eu pedi a ele para baixar o RPM do sqlite a partir de um espelho do Fedora 8, extrair o conteúdo, reempacotar em uma tarball e disponibilizar em algum servidor para que eu pudesse baixá-la pelo wget. Ele fez isso, então eu baixei o arquivo e extraí-o na raiz do meu sistema de arquivos:
# tar zxpf sqlite.tar.gz -C /
Isto é equivalente a instalar o RPM sem executar nenhum script de instalação, apenas copiando os arquivos para os seus locais corretos. Isso funcionou bem o suficiente para me devolver o acesso ao rpm e ao yum, que eu usei para reinstalar o Firefox 2 com suas dependências:
# yum install firefox
Lição: jamais use rpm --nodeps para remover um pacote sem verificar antes se ele é necessário para o rpm ou yum.
[1] Comentário enviado por marvincarc em 07/05/2008 - 22:09h
Sem o rpm para instalar e gerenciar pacotes, eu usaria qual utilitário para instalar pacotes no Reh Hat Enterprise Linux 4? Levando-se em consideração, nesse caso, que eu não posso usar o yum, pois ele não funciona. Eu obtive o seguinte erro: "rpm: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory ". Aconteceu depois que eu fiz um downgrade do pacote libgcc com o comando: rpm -Uvh --oldpackage --nodeps libgcc-3****. Você poderia me ajudar? Obrigado.