Você atualizou sua libc (a biblioteca mais básica do sistema) e agora nenhum programa funciona. Para ser preciso, nenhum programa vinculado dinamicamente funciona.
No seu cenário específico, a reinicialização deve funcionar. A libc agora instalada requer um kernel mais recente e, se você reiniciar, deverá obter esse kernel mais recente.
Contanto que você ainda tenha um shell em execução, geralmente há uma maneira de se recuperar, mas pode ser complicado se você não planejou. Se você não possui um shell, normalmente não há outra solução além da reinicialização.
Aqui você pode não conseguir se recuperar sem reiniciar, mas pode pelo menos facilmente descobrir qual kernel está executando. Basta usar uma maneira de ler /proc/version
que não requer um comando externo.
read v </proc/version; echo $v
echo $(</proc/version) # in zsh/bash/ksh
Se você ainda tiver uma cópia da libc antiga, poderá executar programas com ela. Por exemplo, se a libc antiga estiver dentro /old/lib
e você tiver executáveis que funcionam com essa libc antiga /old/bin
, você poderá executar
LD_LIBRARY_PATH=/old/lib /old/lib/ld-linux.so.2 /old/bin/uname
Se você tiver alguns binários vinculados estaticamente, eles ainda funcionarão. Eu recomendo instalar utilitários de sistema vinculados estatisticamente para esse tipo de problema (mas você precisa fazer isso antes que o problema comece). Por exemplo, no Debian / Ubuntu / Mint /…, instale um ou mais do busybox-static (coleção de ferramentas básicas de linha de comando do Linux, incluindo um shell), sash (shell com alguns recursos adicionais) e zsh-static (apenas um shell, mas com algumas ferramentas úteis integradas).
busybox-static uname
sash -c '-cat /proc/version'
zsh-static -c '</proc/version'