Technology · GUÍA PRÁCTICA
¿Linux dice “File name too long”? Pruebe primero la ruta, el componente y los datos
Fije el caller y el argumento, mida bytes codificados, consulte el destino real y separe payload mal pasado, NAME_MAX y PATH_MAX antes de truncar.

“File name too long” no es un único diagnóstico. Puede fallar un componente, la ruta completa o un resultado intermedio de symlink; también ocurre si JSON, una URL o un certificado se pasa a una API que espera un nombre de archivo.
No aplique un límite universal de caracteres. Decida si el objeto es dato o ruta, mida por separado componentes y ruta completa, consulte el destino real y repare solo la rama probada.
Fije el caller y argumento originales
Registre API, errno, hora, proceso, cwd, mount de destino y una representación segura; para secretos conserve longitud y hash.
Compruebe si la API espera path, bytes, stream u objeto analizado; si parece JSON, HTML, PEM o base64 use la interfaz de datos.
Mida bytes y separe la ruta
Haga absoluta la ruta en el contexto fallido, separe componentes y mida len(os.fsencode(component)).
Registre aparte el componente más largo y la ruta total, incluidos prefijos, sufijos, extensión, encoding y normalización Unicode.
Consulte el límite del destino real
Use getconf NAME_MAX/PATH_MAX o os.pathconf con PC_NAME_MAX/PC_PATH_MAX sobre el directorio padre real.
Network mounts, cifrado y APIs pueden imponer límites menores; conserve evidencia de symlinks y ruta resuelta.
Repare solo la rama probada
Si es dato, cambie a parser, bytes, stream o file object; si un componente es largo, acorte solo ese componente o use un ID determinista sin colisiones.
Si la ruta total es larga, acorte root o nesting controlado; no capture todo OSError ni trunque silenciosamente.
Repita el caller original
Con la misma clase de entrada, proceso, cwd y destino, verifique create, write, fsync si aplica, lectura y limpieza.
Registre contrato, bytes, límites, rama, mapeo y aceptación; si el error cambia de componente, reabra el diagnóstico.
