Eu apaguei os arquivos indesejados da biblioteca com:
find -mtime -1 -maxdepth 1 -exec rm -rf {} \;
que localiza os arquivos e diretórios modificados em um dia no diretório atual e remove todos eles.
Eu tinha acabado de compilar e instalar libc
localmente no meu diretório pessoal. Infelizmente, depois disso, praticamente todos os utilitários básicos, como ls
e xz
, não funcionaram.
A mensagem de erro solicitada ao executar ls
:
ls: error while loading shared libraries: __vdso_time: invalid mode for dlopen(): Invalid argument
Depois de fazer algumas pesquisas no Google, pareceu-me que tenho que recompilar e vincular novamente essas ferramentas básicas para resolver o problema, o que parece um pouco complicado. Portanto, decidi simplesmente remover a biblioteca libc
que acabei de instalar.
Como removo a versão de instalação local libc
de ~/lib
e ~/include
? Já instalei várias bibliotecas em ~/lib
antes de instalar libc
, que adicionou outra toneladas de arquivos. Como resultado, tudo está misturado agora.
Editar:
Eu acho que provavelmente poderia resolver isso removendo condicionalmente os arquivos com base no horário da última modificação. Existe alguma solução mais limpa?
O que você precisa fazer depende de onde os arquivos recém-instalados foram instalados e possíveis na sua distribuição. Se você tiver configurado para instalá-los em /usr/local/lib
, poderá removê-los e ls
encontrará os originais em /usr/lib
novamente.
Se você tiver sobrescrito o local onde as coisas estão normalmente instaladas, seu instalador pode não funcionar mais, você teria que tentar reinstalar o libc6, por exemplo, no Ubuntu:
sudo apt-get install --reinstall libc6