Tecnología · GUÍA PRÁCTICA
¿Linux dice “Too many levels of symbolic links”? Traza la ruta antes de borrar
Fija caller y pathname, recorre cada componente sin ocultar enlaces y repara solo el primer ciclo o exceso de profundidad demostrado.

“Too many levels of symbolic links” es un veredicto de resolución, no permiso para borrar la ruta mostrada. Puede ser un autoenlace, un ciclo más largo o una cadena válida que supera el límite de seguimiento.
La respuesta segura es auditar la cadena desde el caller que falla: conserva los targets, localiza la primera transición repetida, aplica una reparación estrecha y exige que la operación original vuelva a pasar.
Fija el caller y pathname originales
Guarda error completo, comando, usuario, directorio de trabajo, PATH y pathname exacto. Registra si el caller es shell del host, servicio, chroot, contenedor u otro namespace de montajes; que funcione en otro lugar no es evidencia equivalente.
No empieces con rm, rm -r ni ln -sf. Conserva primero las entradas de directorio y el target almacenado de cada enlace. Una barra final o una búsqueda por PATH puede cambiar el componente que resuelve el kernel.
Recorre cada componente sin ocultar el enlace
Ejecuta namei -l sobre la ruta exacta y registra tipo, propietario y target de cada componente. En puntos sospechosos usa lstat/stat sin dereference y readlink; interpreta un target relativo desde el directorio que contiene el enlace.
Marca la primera transición que regresa a un componente o inode anterior. Así separas A→A de A→B→C→A y conservas directorio padre y namespace en el registro.
Clasifica la rama ELOOP
Linux también devuelve ELOOP tras seguir más de 40 enlaces para un pathname, por lo que una cadena larga sin ciclo puede fallar. Demuestra si se repite o solo supera el límite; acortar profundidad y romper un ciclo son reparaciones distintas.
Si fallan muchos comandos, inspecciona cada directorio de PATH como pathname propio. Si solo falla un servicio o contenedor, compara su root, montajes y directorio de trabajo con el host.
Repara solo la transición demostrada
Para un enlace malo confirmado, registra su target anterior y reemplaza solo esa entrada con la forma relativa o absoluta correcta. Nunca uses rm -r sobre una ruta ambigua; demuestra antes si la entrada es enlace, directorio o frontera de montaje.
Una cadena válida pero profunda se acorta conservando el objeto final. Corrige solo el componente PATH que se repite; ante diferencia de namespace repara la vista de montaje o despliegue, no un enlace válido del host.
Repite la aceptación con el caller original
Ejecuta de nuevo namei -l y confirma que termina en el objeto previsto sin transición repetida ni exceso de profundidad. Después repite el comando original con el mismo usuario, directorio y namespace.
La aceptación exige evidencia estructural y del caller: cadena correcta, operación original exitosa y ningún bypass, borrado recursivo ni target no deseado. Conserva el registro anterior y posterior.
