
Canonical está reescribiendo gradualmente componentes fundamentales de Ubuntu en Rust, un proceso que la propia empresa denomina «oxidación» (oxidising Ubuntu). El hito más visible llegó con Ubuntu 25.10 «Questing Quokka», la primera gran distribución Linux en adoptar por defecto la implementación en Rust de coreutils (uutils) y el reemplazo de sudo por sudo-rs. El objetivo declarado de Canonical es consolidar estas utilidades de memoria segura en la próxima versión de soporte extendido, Ubuntu 26.04 LTS, «si las condiciones son las adecuadas».
Qué significa «oxidar» Ubuntu
El término «oxidación» es un juego de palabras: Rust significa «óxido» en inglés, y el logo del lenguaje es precisamente un engranaje oxidado. «Oxidar Ubuntu» se refiere al esfuerzo de Canonical, liderado por el ingeniero Jon Seager, de reemplazar componentes del sistema escritos tradicionalmente en C por implementaciones equivalentes en Rust.
La motivación es doble. Por un lado, la seguridad: Rust elimina por diseño clases enteras de vulnerabilidades de memoria (buffer overflows, use-after-free) que han sido históricamente la fuente de muchos fallos de seguridad críticos en software escrito en C. Por otro lado, el rendimiento: aunque con matices, las implementaciones en Rust buscan igualar o superar a sus equivalentes en C.
Puede leer también | Rust: ha actualizado como versión Rust de Coreutils para el kernel de Linux
Lo que ya llegó en Ubuntu 25.10
Ubuntu 25.10 «Questing Quokka», publicado en octubre de 2025, fue un hito en esta estrategia. Según las notas de versión oficiales de Canonical, la distribución introdujo:
- uutils coreutils por defecto: Ubuntu 25.10 fue la primera gran distribución Linux en usar por defecto la reimplementación en Rust de las utilidades básicas del sistema (ls, cp, mv, cat, etc.). Las utilidades GNU originales se mantuvieron disponibles en paralelo para permitir cambiar entre ambas implementaciones.
- sudo-rs: El reemplazo en Rust del comando sudo, una de las utilidades más críticas para la seguridad del sistema por ser la puerta de entrada a privilegios de root.
- oxidizr: Una herramienta que actúa como «puente» o «válvula», permitiendo a los administradores reemplazar coreutils GNU por las versiones Rust manteniendo las originales respaldadas, con posibilidad de revertir si algo falla.
- Otros componentes: Mejoras en el cifrado de disco completo respaldado por TPM y soporte para virtualización anidada en ARM, también con el enfoque de seguridad de Rust.
El camino no estuvo libre de obstáculos
La transición a Rust en Ubuntu 25.10 no fue perfecta, lo que demuestra los desafíos reales de reemplazar componentes tan fundamentales. Durante el desarrollo y tras el lanzamiento se reportaron varios problemas:
- Errores de checksum: Herramientas como Makeself experimentaron errores de integridad debido a incompatibilidades de formato entre la implementación Rust y la GNU original.
- Problemas de rendimiento iniciales: El comando cksum inicialmente era más lento que su equivalente GNU, aunque se corrigió con un parche posterior.
- Bug en el sistema de actualización: Un error en la implementación Rust de coreutils llegó a afectar brevemente al sistema de actualización automática de Ubuntu 25.10, aunque se corrigió rápidamente.
- El comando sort: Se reportó que fallaba al procesar archivos muy grandes de una sola línea, un problema que quedó bajo investigación de los desarrolladores de uutils.
Estos incidentes son la razón precisa por la que Canonical usa las versiones intermedias (las .10, que tienen soporte de 9 meses) como banco de pruebas antes de comprometer cambios tan profundos a las versiones LTS, que millones de empresas usan en producción durante años.
Puede leer también | Cómo instalar Rust y Cargo en Ubuntu y otras distribuciones de Linux
El objetivo: Ubuntu 26.04 LTS
La estrategia de Canonical es clara: usar Ubuntu 25.10 como terreno de pruebas para refinar las utilidades Rust, identificar y corregir bugs, y luego, «si las condiciones son adecuadas», hacerlas el estándar por defecto en Ubuntu 26.04 LTS. Las versiones LTS (Long Term Support) reciben cinco años de soporte y son las que usan la mayoría de servidores empresariales y despliegues a gran escala.
Canonical ha sido explícito en que está dispuesto a «reducir la ambición donde sea apropiado» para no diluir la promesa de estabilidad que caracteriza a las versiones LTS. Es decir, si las utilidades Rust no están suficientemente maduras, podría posponer su adopción por defecto.
| Componente Rust | Ubuntu 25.10 | Objetivo 26.04 LTS |
|---|---|---|
| uutils coreutils | Por defecto | Consolidar si está maduro |
| sudo-rs | Por defecto | Consolidar |
| oxidizr (herramienta) | Experimental | Refinado |
| Cifrado disco TPM | Mejorado | Estándar |
Cómo probar y gestionar las utilidades Rust en Ubuntu
# Verificar qué implementación de coreutils estás usando (Ubuntu 25.10)
dpkg -S $(which ls)
# coreutils-from-gnu: /usr/bin/ls -> GNU
# rust-coreutils: /usr/bin/ls -> Rust (uutils)
# Verificar la versión de rust-coreutils
apt show rust-coreutils
# Gestionar con oxidizr (cambiar entre GNU y Rust)
sudo oxidizr enable coreutils # activar versiones Rust
sudo oxidizr disable coreutils # volver a GNU
sudo oxidizr status # ver estado actual
# Verificar sudo-rs
dpkg -S $(which sudo)
sudo --version
# Volver a la implementación GNU si encuentras incompatibilidades
sudo apt install coreutils-from-gnu
Preguntas frecuentes
¿Las utilidades Rust de Ubuntu son compatibles con mis scripts existentes?
En su mayoría sí, ya que uutils busca compatibilidad «like-for-like» con GNU coreutils. Sin embargo, como mostró Ubuntu 25.10, pueden existir incompatibilidades sutiles de formato (como ocurrió con Makeself y los checksums). Si tienes scripts que dependen de comportamientos muy específicos de las utilidades GNU, prueba a fondo antes de migrar, y recuerda que puedes volver a la implementación GNU con oxidizr o instalando coreutils-from-gnu.
¿Por qué Canonical apuesta tan fuerte por Rust?
Por seguridad de memoria principalmente. Las vulnerabilidades de memoria (buffer overflows, use-after-free) han sido históricamente responsables de un gran porcentaje de los fallos de seguridad críticos en software escrito en C. Rust las elimina en tiempo de compilación sin coste de rendimiento en ejecución. Para utilidades tan fundamentales y privilegiadas como sudo, esta garantía de seguridad tiene un valor enorme. Canonical quiere posicionar Ubuntu como pionera en software de sistema de memoria segura.
¿Debo usar Ubuntu 25.10 o esperar a la LTS 26.04?
Ubuntu 25.10 tiene soporte de solo 9 meses (hasta julio de 2026) y es un banco de pruebas: ideal si quieres explorar las novedades Rust y no te importan posibles inestabilidades. Para producción o estabilidad a largo plazo, lo recomendable es Ubuntu 24.04 LTS (soporte hasta 2029) o esperar a Ubuntu 26.04 LTS. La versión LTS incorporará las utilidades Rust solo cuando estén suficientemente maduras y probadas.
Conclusión: La «oxidación» de Ubuntu es uno de los movimientos más significativos en el software de sistema Linux de la década. Llevar Rust a coreutils y sudo en una distribución usada por millones es ambicioso y no exento de obstáculos, como demostró Ubuntu 25.10. El verdadero examen será Ubuntu 26.04 LTS: si las utilidades de memoria segura llegan por defecto a la versión empresarial, marcará un precedente para todo el ecosistema Linux.


