Problemas com libc no Debian

Ao encontrar erros na compilação do novo Atom, um amigo meu tentou experimentar a compilação com uma biblioteca libc alternativa. A troca de libs acabou deixando-o com o seguinte erro ao rodar qualquer comando:

error while loading shared libraries: libc.so.6: 
    cannot open shared object file: No such file or directory

A biblioteca C é muito importante para um sistema Linux, visto que praticamente todas as aplicações dependem dela. No caso, esta nova versão não era compatível com as aplicações disponíveis e o sistema deixou de funcionar corretamente.

Em um caso como este, o sistema não irá bootar na próxima reinicialização. Procurando pela internet, vi que muitas pessoas “resolvem” o problema reinstalando o sistema, mas esta não é a única forma de sair disso.

A Solução

Para solucionar sem formatação, precisamos de um drive USB de boot com algum sistema que utilize dkpg, pois precisamos da aplicação dpkg-deb.

Se o seu sistema está com a libc quebrada, você provavelmente não conseguirá realizar um chroot para consertá-lo, portanto a idéia é montar as partições de sistema e apenas descompactar o pacote adequado a partir da raiz montada.

Para prosseguir precisamos de uma versão/arquitetura correta da lib. Com sorte você a terá na pasta /var/cache/apt/archives/ do seu sistema, mas você também pode tentar encontrá-la no repositório de pacotes de sua distribuição (por exemplo, https://packages.debian.org/wheezy/libc6).

Para quem está desacostumado com a montagem manual:

mount /dev/sdxY /ponto/de/montagem

Sendo sdxY a partição em que se encontra a raiz de seu sistema.

dpkg-deb -X libc6_da_sua_arquitetura_e_versao.deb /ponto/de/montagem

Isto deve ser o suficiente para que você consiga bootar normalmente. De volta no seu sistema, é recomendado que você execute o comando dpkg -i libc6_da_sua_arquitetura_e_versao.deb assim que possível, para que os scripts de instalação da lib rodem corretamente.

Espero ter ajudado mais alguém por aí. Até a próxima!


298 Words

2014-05-21 21:00 -0300

comments powered by Disqus