Eliminé un enlace simbólico crítico - libc.so.6
. Tengo el archivo al que debería apuntar, pero los comandos básicos como ln
o wget
ya no funcionarán debido a que falta el enlace. Sin embargo, echo
u otros componentes de Bash funcionan.
Estoy buscando una manera de recrear este enlace simbólico.
linux
centos6
symbolic-link
Sebas
fuente
fuente
echo
.cat
está desactivado ... en realidad todo estaba.cat
es un programa externo. La página del manual Bash Builtin Commands tiene detalles sobre lo que podría estar disponible.Respuestas:
puedes usar ldconfig, recrea el enlace simbólico:
acabo de probarlo, como ves.
fuente
/lib/libc-2.12.so
en el ejemplo anterior a/lib/foobar
. Bueno, mierda, no másmv
. Peroldconfig -l /lib/foobar
incluso es lo suficientemente inteligente como para/lib/libc.so.6
señalar el archivo con un nombre incorrecto . (Los argumentos son obligatorios, el valor predeterminadoldconfig
ignora los nombres de archivo que no comienzan con "lib" y contienen ".so".) En ese momento puedemv
volver (ocp -p
si es paranoico / inteligente), luegoldconfig
vuelva a ejecutarlo para limpiar .CentOS 6 generalmente viene con
busybox
un conjunto de herramientas Unix vinculadas estáticamente, instalado en/sbin
. Puedes ejecutarlo así:fuente
Establezca LD_PRELOAD para precargar la biblioteca relevante. Lo probé con libpthread y parece funcionar:
fuente
sln
cumple exactamente ese propósito: arreglar enlaces simbólicos cuando no puedes usar ln regular porque rompiste un enlace simbólico esencial. Para citar su página de manual:fuente
Puede configurar la
LD_LIBRARY_PATH
variable para incluir el directorio donde reallibc.so.6
es:Además, ejecútelo
ldconfig
para recrear los enlaces. Esto debería hacer que los comandos funcionen para que luego puedas usarln
comandos para arreglar tu sistema.Otra forma sería arrancar a través de LiveCD y vincular el archivo allí.
fuente
Use scp o sftp para copiar una versión estáticamente vinculada de ln. Asegúrate de que sea ejecutable. Luego úselo para arreglar el archivo.
fuente