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