ubuntu-2610-coreutils-rust-linux
ubuntu-2610-coreutils-rust-linux

Ubuntu lleva Rust al corazón de Linux con sus coreutils

Ubuntu terminó lo que anunció hace diecisiete meses. La versión 26.10, en desarrollo este septiembre de 2026, completa la migración de las utilidades GNU a su reimplementación en Rust, así que cada ls o cat que escribas ejecuta ya un binario de Rust en lugar de C, según adelantó OMG Ubuntu el 13 de septiembre.

La noticia es el cierre de un ciclo que empezó en abril de 2025, cuando el equipo de Foundations propuso en Ubuntu Discourse migrar a rust-coreutils dentro del ciclo 25.10, con vuelta atrás posible si algo salía mal. Un año después, en abril de 2026, el equipo contó que promocionar el paquete a Ubuntu Main exigía una revisión de seguridad a fondo, y que varios comandos delicados quedaban retenidos hasta pasarla.

Entre los retenidos estaban cp y mv para copiar y mover, además de rm para borrar. Tocan tus archivos de verdad y cualquier regresión ahí duele. La versión 26.04 LTS llegó en abril de 2026 con uutils 0.8.0 como userland por defecto en unas ochenta utilidades. Las tres conflictivas siguieron en C a la espera del visto bueno. Con 26.10, ese visto bueno ya llegó y la transición queda completa.

El calendario, visto con perspectiva de septiembre de 2026, muestra una migración de libro. Propuesta en la primavera de 2025, despliegue parcial en la LTS de 2026 y cierre total en otoño. Diecisiete meses de trabajo para cambiar unas herramientas que casi nadie mira pero todo el mundo usa.

¿Qué son las uutils coreutils?

Las GNU coreutils son el juego de herramientas básico de cualquier Linux. Listar, copiar, mover, ordenar, contar y concatenar pasan por ellas, y llevan décadas escritas en C dentro del proyecto GNU. Las uutils coreutils son su reimplementación en Rust, multiplataforma y de código abierto, que persigue la compatibilidad con las originales sin heredar sus riesgos de memoria.

Rust aporta lo que el C no puede prometer. Su sistema de propiedad y préstamos impide en tiempo de compilación familias enteras de errores, como accesos fuera de límites o carreras de datos, que en C solo aparecen al ejecutar el programa, a veces años después y en manos de un atacante. No es que el código Rust sea perfecto. Es que convierte en errores de compilación lo que en C serían vulnerabilidades.

La versión 0.9.0 de uutils, de mayo de 2026, llegó marcada por una auditoría de seguridad externa que endureció los accesos TOCTOU. Esa sigla designa una carrera clásica entre comprobar un archivo y usarlo, porque un atacante puede cambiarlo en el intervalo entre ambas operaciones. Que el proyecto priorice justo ese flanco dice mucho de su madurez. Ya no discute compatibilidad de opciones, discute seguridad de carrera.

Tres señales independientes confirman que uutils dejó de ser un experimento para convertirse en infraestructura que una distro seria puede distribuir por defecto a millones de máquinas sin pedir perdón después en forma de parches urgentes.

  • Auditoría externa de seguridad con endurecimiento TOCTOU en la versión 0.9.0.
  • Revisión de entrada en Ubuntu Main con sus exigencias de empaquetado y mantenimiento.
  • Tres releases encadenando la migración sin que el plan se revierta en ninguna.

¿Por qué Canonical se mete en semejante obra?

La respuesta corta es que la memoria insegura sale cara. Microsoft calcula que alrededor del 70 por ciento de sus CVE anuales nacen de fallos de memoria en C y C++, y Google y Chromium publican cifras gemelas en sus propios informes. Para una distribución que aspira a estar en servidores, nubes y escritorios de todo el mundo, reducir esa superficie con un lenguaje con seguridad de memoria es una inversión defensiva. El debate de AskUbuntu de marzo de 2026 lo resume sin rodeos. La razón es la seguridad, lo demás son efectos secundarios.

Hay además una razón estratégica menos visible. Quien controla la base del sistema controla su ritmo de evolución, y depender eternamente de GNU limita los movimientos de Canonical en rendimiento y portabilidad. Rust atrae además a una generación nueva de contribuidores que ya no aprende C como primer lenguaje. Adoptar uutils es también una apuesta por quién mantendrá Ubuntu dentro de diez años.

Como contó LWN en marzo de 2025, el plan nunca fue un salto de fe. Cada paquete que Ubuntu distribuye por defecto debe pasar a Main y superar una revisión de seguridad exhaustiva, y la migración mantuvo la puerta abierta a revertir. Esa red de seguridad explícita es una rareza en migraciones de esta envergadura. Cuando tocas los comandos que borran, más vale llegar tarde que romper pronto.

¿Qué cambia para ti en la práctica?

En el día a día, casi nada visible, y esa es la mejor noticia. Las opciones y los formatos de salida se mantienen compatibles, tus scripts siguen funcionando y el rendimiento resulta equivalente o mejor en la mayoría de utilidades. Si administras servidores o auditas redes con herramientas de ciberseguridad en Linux, tus tuberías de sort, uniq, cut y wc se comportan igual.

Donde sí puedes notar algo es en los mensajes de error y en casos límite oscuros. Algún script antiguo que dependía de un comportamiento indefinido de la versión GNU podría quejarse, y ciertos flags exóticos tardaron en llegar a uutils. La recomendación práctica cabe en tres comprobaciones.

  • Ejecuta tus scripts críticos en 26.04 antes de saltar a 26.10 y compara salidas.
  • Revisa los mensajes de error si parseas la salida de cp o mv en automatismos.
  • Guarda a mano el paquete GNU por si necesitas revertir una máquina concreta.

Si algo falla, la vuelta atrás existe y está documentada desde la propuesta original. Puedes reinstalar las coreutils de GNU y fijarlas para que no se actualicen, a costa de quedarte fuera del camino principal de Ubuntu. Para un servidor en producción con auditorías estrictas, esa prudencia temporal tiene sentido. Para el resto, seguir la corriente es lo razonable.

El movimiento encaja además con una tendencia que va más allá de Ubuntu. El kernel de Linux, que cumplió 35 años en 2026, acepta cada vez más Rust en sus subsistemas, el CERN migró miles de equipos a Debian buscando bases sólidas y hasta la compilación del kernel se acelera ya con ayuda de IA. La base del sistema operativo se está reescribiendo en lenguajes seguros, pieza a pieza.

¿Cómo compruebo qué coreutils corro yo?

No hace falta fiarse del calendario de releases. Cada utilidad cuenta su origen en la primera línea de su versión, así que dos órdenes bastan para saber si tu máquina ya habla Rust o sigue en C de toda la vida.

ls --version | head -1
cp --version | head -1

Si la respuesta menciona uutils, corres Rust. Si menciona GNU coreutils, sigues en C. En Ubuntu 26.04 verás lo primero en casi todo menos en cp, mv y rm, que esperan a la 26.10 con el resto de la migración ya cerrada. En la LTS anterior verás GNU por todas partes, porque el cambio empezó con este ciclo.

Para saber de qué paquete viene cada binario, pregunta al gestor con dpkg -S $(which ls), que responde rust-coreutils o coreutils según el caso. En contenedores, WSL y VPS con imágenes mínimas, la respuesta puede variar respecto al escritorio, porque cada imagen congela su propia base. Comprueba cada entorno por separado antes de dar nada por supuesto y guarda la salida en tus notas de administración, porque dentro de un año nadie recordará qué corría cada máquina.

¿Y si uso otra distro o programo en C?

Si usas otra distro distinta de Ubuntu, de momento nada cambia, aunque el precedente pesa. Cuando la distro más popular demuestra que la migración es viable, las demás la estudian con otros ojos. Los mantenedores de uutils trabajan precisamente para que cualquier distribución pueda dar el paso, y la auditoría de 2026 les dio argumentos.

Para quien programa en C, el mensaje no es abandona tu lenguaje. Es que la infraestructura crítica migra donde puede a garantías de compilación, y que el C nuevo convive con revisión y sanitizadores cada vez más estrictos. Aprender a leer Rust, aunque no lo escribas, empieza a ser tan útil como leer un strace. Los cuadernos Jupyter con Python en Ubuntu y Fedora seguirán funcionando igual, porque por encima de las coreutils nada se mueve.

El sistema operativo se reescribe sin que lo notes

La mejor migración es la que no se nota, y Ubuntu la ha ejecutado con paciencia de cirujano. Diecisiete meses, dos releases y una auditoría después, el corazón de tu terminal late en Rust. Cuando dentro de unos años alguien pregunte cuándo Linux se volvió memory-safe, la respuesta empezará aquí, en un otoño de 2026 en el que ls dejó de ser C sin que nadie tuviera que cambiar un solo script.

Queda por ver si Debian y Fedora siguen el camino, pero la pregunta ya no es si Rust puede con la base del sistema. Es quién será el siguiente en admitirlo en sus notas de release.

Comparte esto: