Ha actualizado su libc (la biblioteca del sistema más básica) y ahora ningún programa funciona. Para ser precisos, ningún programa vinculado dinámicamente funciona.
En su escenario particular, reiniciar debería funcionar. La libc ahora instalada requiere un kernel más nuevo, y si reinicia, debería obtener ese kernel más nuevo.
Mientras todavía tenga un shell en ejecución, a menudo hay una manera de recuperarse, pero puede ser complicado si no lo planeó. Si no tiene un shell, generalmente no hay otra solución que reiniciar.
Aquí es posible que no pueda recuperarse sin reiniciar, pero al menos puede averiguar fácilmente qué núcleo se está ejecutando. Simplemente use una forma de leer /proc/version
que no requiera un comando externo.
read v </proc/version; echo $v
echo $(</proc/version) # in zsh/bash/ksh
Si todavía tiene una copia de la vieja libc, puede ejecutar programas con ella. Por ejemplo, si la antigua biblioteca está en /old/lib
y tiene ejecutables que funcionan con esta antigua biblioteca /old/bin
, puede ejecutar
LD_LIBRARY_PATH=/old/lib /old/lib/ld-linux.so.2 /old/bin/uname
Si tiene algunos archivos binarios enlazados estáticamente, seguirán funcionando. Recomiendo instalar utilidades de sistema vinculadas estadísticamente para este tipo de problema (pero debe hacerlo antes de que comience el problema). Por ejemplo, en Debian / Ubuntu / Mint / ..., instale uno o más de busybox-static (colección de herramientas básicas de línea de comandos de Linux, incluido un shell), sash (shell con algunos componentes adicionales), zsh-static (solo un shell pero con bastantes herramientas prácticas integradas).
busybox-static uname
sash -c '-cat /proc/version'
zsh-static -c '</proc/version'