Watch at EaseHistorias. Respuestas. Perspectiva.

Tecnología · GUÍA PRÁCTICA

¿Error 23 de curl? Demuestra si rechazó la salida el archivo, la tubería o el contenedor

“Failure writing output to destination” es un fallo de escritura local, no prueba de un fallo del servidor o la red. Conserva el comando y los estados, separa archivo y tubería, y corrige solo el destino que rechazó los bytes.

Original technical diagram separating curl exit 23 evidence into file, pipeline and wrapper checks.
Ilustración original: aísla el destino antes de cambiar permisos o reinstalar curl. Watch at Ease

El código 23 de curl indica que no pudo escribir los datos recibidos en un archivo local o que una función de escritura devolvió error. No identifica la causa: un consumidor pudo cerrar pronto, la ruta puede no existir, el sistema de archivos puede estar lleno o un contenedor puede usar otro directorio temporal.

No empieces con sudo, reinstalando curl ni ocultando stderr. Guarda el comando completo y los estados de cada tramo; después escribe la misma URL una vez en un archivo controlado para separar el destino del consumidor.

Conserva el comando y clasifica el destino

Guarda el comando exacto, curl --version, type -a curl, opciones de salida, redirecciones, cada programa de la tubería y el directorio de trabajo del script.

En Bash registra ${PIPESTATUS[@]} inmediatamente; evita que el cero del último programa oculte el 23 y define si necesitas archivo completo o solo una coincidencia temprana.

Prueba una vez con un archivo controlado

Repite la misma URL con --output hacia un archivo nuevo en una carpeta propia, conservando autenticación y redirecciones pero quitando head, grep e instaladores.

Si funciona, investiga el consumidor o contenedor original; si falla, conserva el aviso anterior al 23 y revisa la ruta.

Audita el destino de archivo

Comprueba la carpeta padre, bloques e inodos del sistema exacto y crea un archivo temporal pequeño como el mismo usuario.

Crea solo los padres necesarios y revisa enlaces, montajes de solo lectura, bind mounts y límites del sandbox antes de ampliar permisos.

Audita la tubería y el cierre temprano

head y grep -q pueden terminar al obtener suficiente entrada; el escritor recibe una tubería rota y curl no sabe si fue intencional.

Si necesitas todo el contenido, descarga a un temporal, verifícalo y después pásalo al consumidor; no ocultes el 23.

Comprueba el contenedor y verifica

Si solo falla una versión empaquetada, compara el ejecutable real, sus límites y temporales con /usr/bin/curl; no desinstales por un caso ajeno de Snap.

Tras una corrección estrecha, repite una vez y verifica estados, tamaño y suma o firma; elimina parciales que parezcan completos.

Original decision diagram for early-closing pipes, file destinations, wrappers and verification after curl error 23.
Ilustración original: una lectura corta intencional y una descarga incompleta exigen verificaciones distintas. Watch at Ease