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.

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.
