
RustFS acaba de cruzar una frontera importante. Después de pasar por versiones Alpha, Beta y Release Candidate, el proyecto anunció RustFS 1.0.0 GA, su primera versión declarada estable y preparada por sus desarrolladores para cargas de producción. Se trata de una plataforma de almacenamiento distribuido de objetos escrita en Rust, publicada bajo licencia Apache 2.0 y diseñada alrededor de una API compatible con Amazon S3.
El lanzamiento llega en un momento especialmente interesante para el ecosistema de almacenamiento open source. Empresas que utilizan inteligencia artificial, data lakes, Kubernetes, backups, observabilidad y aplicaciones cloud-native dependen cada vez más de interfaces S3. RustFS intenta ofrecer esa misma interfaz sobre infraestructura propia, desde un único servidor Linux hasta clusters distribuidos de múltiples nodos y discos.
La propuesta combina erasure coding, replicación, lifecycle management, IAM, OIDC, cifrado del lado servidor, KMS, Object Lock, observabilidad mediante OpenTelemetry, administración web y compatibilidad con clientes S3. Además, puede ejecutarse mediante binarios Linux, paquetes, Docker, Podman y Kubernetes.
Qué cambia con 1.0: RustFS deja atrás oficialmente su etapa Beta/RC. El equipo considera estable el núcleo de almacenamiento de objetos y declara la versión 1.0.0 apta para producción. Eso no elimina la necesidad de evaluar compatibilidad, rendimiento, recuperación y seguridad antes de migrar datos críticos.
1. ¿Qué es RustFS?
RustFS es un sistema de object storage distribuido. A diferencia de un NAS tradicional, que normalmente presenta carpetas mediante SMB o NFS, un almacenamiento de objetos organiza la información dentro de buckets y objetos y la expone principalmente mediante APIs HTTP.
El proyecto está construido desde cero en Rust, lenguaje conocido por ofrecer garantías de seguridad de memoria sin depender de un recolector de basura. El equipo posiciona RustFS para cargas relacionadas con inteligencia artificial, big data, data lakes y aplicaciones cloud-native.
2. RustFS 1.0.0 fue publicado como versión GA
La versión estable fue anunciada oficialmente el 16 de septiembre de 2026. El repositorio público marca RustFS 1.0.0 como release estable y mantiene en paralelo versiones 1.0.1-preview para desarrollo posterior.
Según el proyecto, el desarrollo comenzó en febrero de 2024, el código se abrió públicamente en julio de 2025, la Beta llegó en abril de 2026, las primeras Release Candidates aparecieron en agosto y finalmente la versión GA se publicó en septiembre.
| Fecha | Hito |
|---|---|
| Febrero 2024 | Inicio del desarrollo. |
| Julio 2025 | Proyecto publicado como open source. |
| Abril 2026 | RustFS Beta. |
| Agosto 2026 | Release Candidate. |
| 16 septiembre 2026 | RustFS 1.0.0 GA. |
3. ¿Puede realmente reemplazar Amazon S3?
Depende de qué signifique “reemplazar”. Amazon S3 es un servicio administrado global de AWS que integra infraestructura, operación, regiones, identidad, facturación y numerosos servicios adicionales. RustFS es un software que puedes ejecutar en infraestructura propia o en una nube.
Su objetivo es que aplicaciones que hablan el protocolo S3 puedan utilizar un endpoint RustFS cambiando principalmente la URL y credenciales. La documentación indica compatibilidad con AWS Signature Version 4 y con clientes como AWS CLI y SDKs de Amazon.
| Característica | Amazon S3 | RustFS |
|---|---|---|
| Modelo | Servicio cloud administrado. | Software open source autoalojable. |
| API S3 | Implementación original de AWS. | Amplia compatibilidad con funcionalidades soportadas. |
| Infraestructura | Gestionada por AWS. | Gestionada por la organización. |
| Ubicación de datos | Regiones AWS seleccionadas. | Centro de datos, cloud o infraestructura elegida por el usuario. |
| Operación | AWS gestiona la plataforma subyacente. | La organización debe gestionar capacidad, redundancia, backups y actualizaciones. |
Por tanto, RustFS resulta especialmente interesante para nube privada, infraestructura on-premise, edge, Kubernetes y organizaciones que desean conservar una API S3 sin almacenar necesariamente sus datos dentro de AWS.
4. La compatibilidad S3 es amplia, pero no es absoluta
Este punto merece especial atención. La documentación oficial evita afirmar compatibilidad total con todos los comportamientos de Amazon S3. Su matriz explica que RustFS implementa un subconjunto probado de la API S3 y que existen funciones pendientes o deliberadamente excluidas.
La instantánea de compatibilidad publicada por el proyecto en agosto de 2026 registraba:
| Grupo | Pruebas |
|---|---|
| Pruebas S3 implementadas | 455 |
| Pruebas específicas de lifecycle | 5 |
| Comportamientos pendientes | 17 |
| Casos excluidos del gate | 270 |
Entre las funciones probadas se encuentran creación y eliminación de buckets, políticas, versionado seleccionado, Object Lock, operaciones PUT/GET/COPY/DELETE, metadatos, tags, URLs presignadas y flujos multipart.
Sin embargo, bucket access logging y bucket ownership controls figuraban todavía como pendientes, mientras la autorización mediante ACL se excluye deliberadamente a favor de IAM y bucket policies.
Antes de migrar: no basta con que una aplicación diga “compatible con S3”. Prueba exactamente las operaciones que utiliza: versionado, Object Lock, multipart uploads, checksums, políticas, cifrado, lifecycle y herramientas de terceros.
5. ¿Por qué escribir un sistema de almacenamiento en Rust?
RustFS utiliza Rust para el núcleo de almacenamiento. Rust busca evitar categorías completas de fallos de memoria durante compilación, como determinados accesos inválidos o condiciones de ownership incorrectas.
Eso no significa que una aplicación escrita en Rust sea automáticamente invulnerable: siguen existiendo errores de lógica, autorización, configuración, dependencias, red y diseño. Sin embargo, para un componente que procesa grandes cantidades de datos y trabaja bajo elevada concurrencia, la seguridad de memoria representa una propiedad interesante.
El proyecto combina esa base con concurrencia, operaciones asíncronas y optimizaciones específicas para almacenamiento. Durante su etapa Beta, el equipo publicó benchmarks propios comparándose con MinIO y reportó ventajas especialmente en operaciones PUT. Esos resultados deben considerarse benchmarks del propio proveedor, no una comparación independiente aplicable automáticamente a cualquier hardware o workload.
6. Erasure Coding para tolerar fallos de disco
RustFS utiliza erasure coding en topologías con múltiples discos. En lugar de mantener necesariamente una copia completa de cada objeto, divide datos y paridad entre unidades, de forma que pueda reconstruir información después de determinados fallos.
La documentación oficial diferencia tres modelos principales de despliegue.
| Modo | Arquitectura | Uso |
|---|---|---|
| SNSD | 1 nodo + 1 disco. | Pruebas, desarrollo y cargas no críticas. |
| SNMD | 1 nodo + varios discos. | Tolerancia a determinados fallos de disco, pero no al fallo completo del servidor. |
| MNMD | 4 o más servidores con uno o varios discos. | Producción, tolerancia a fallos de discos y nodos, crecimiento horizontal. |
RustFS recomienda el modo Multiple Node Multiple Disk para cargas productivas en las que disponibilidad y escalabilidad sean requisitos importantes.
7. No confundas alta disponibilidad con backup
Erasure coding y replicación ayudan a mantener datos disponibles frente a fallos de hardware, pero no sustituyen las copias de seguridad. Si una aplicación elimina intencionadamente un objeto, una política incorrecta expira datos o unas credenciales comprometidas permiten borrar buckets, la redundancia del cluster puede reproducir correctamente esa acción.
8. IAM, OIDC, KMS, cifrado y mTLS
RustFS 1.0 incluye un conjunto importante de funciones relacionadas con seguridad: IAM, integración OIDC, KMS, server-side encryption, STS, auditoría y mTLS, según la lista oficial de características de la versión GA.
Para empresas, esto permite diseñar una plataforma en la que no todos los usuarios y aplicaciones utilicen la misma pareja de claves administrativas. Se pueden definir identidades, políticas y credenciales separadas por servicio.
Configuración crítica: la documentación advierte expresamente que no se deben conservar las credenciales predeterminadas rustfsadmin/rustfsadmin en ningún servidor accesible por otras personas. Hay que definir claves únicas antes de exponer el servicio a una red.
9. Replicación y almacenamiento por niveles
RustFS soporta replicación entre sitios y buckets, además de almacenamiento por niveles. La documentación describe la posibilidad de mover datos fríos desde un cluster local a distintos backends manteniendo el acceso a través del bucket original.
Entre los backends documentados aparecen otro cluster RustFS, Amazon S3, MinIO, Wasabi, Alibaba Cloud OSS, Tencent COS, Huawei OBS, Azure Blob Storage, Google Cloud Storage y Cloudflare R2.
Esto abre arquitecturas híbridas interesantes:
10. S3 Tables y Apache Iceberg: apuesta por los data lakes de IA
RustFS incorpora soporte para S3 Tables mediante un catálogo REST Apache Iceberg integrado en la plataforma. El proyecto anunció esta capacidad pocos días antes del lanzamiento 1.0 y la presenta como parte de su estrategia para combinar datos estructurados y no estructurados.
La documentación del repositorio, sin embargo, marca actualmente S3 Tables como una función en Preview, por lo que debería evaluarse de manera separada antes de adoptarla como pieza crítica de un data lake empresarial.
Por qué importa: herramientas de analítica e IA suelen almacenar grandes volúmenes en formatos como Parquet sobre object storage. Integrar un catálogo Iceberg acerca RustFS a arquitecturas de lakehouse utilizadas por Spark, DuckDB, PyIceberg y otros motores.
11. OpenTelemetry, Prometheus y observabilidad
RustFS 1.0 incluye soporte para OpenTelemetry, estadísticas de capacidad, inspección del estado del cluster, notificaciones de eventos y otras funciones operativas.
El repositorio oficial proporciona incluso un Docker Compose que puede iniciar RustFS junto con Grafana, Prometheus, OpenTelemetry Collector y Jaeger.
Esta integración resulta particularmente útil en infraestructura empresarial porque un sistema distribuido necesita vigilar mucho más que uso de disco:
| Métrica | Qué puede revelar |
|---|---|
| Latencia | Problemas de disco, red o saturación. |
| Throughput | Capacidad real de lectura y escritura. |
| Capacidad | Necesidad de expansión del pool. |
| Healing | Reconstrucción después de fallos. |
| Errores S3 | Problemas de clientes, permisos o disponibilidad. |
12. Instalar RustFS 1.0 en Linux
Para realizar una prueba rápida, la documentación proporciona un instalador para Linux x86_64 y aarch64 con systemd.
curl -O https://rustfs.com/install_rustfs.sh bash install_rustfs.sh
El instalador coloca el binario en:
/usr/local/bin/rustfs
Registra un servicio systemd y, por defecto, utiliza los puertos:
9000 → API S3 9001 → Consola web
Después de instalar, cambia inmediatamente las credenciales en:
/etc/default/rustfs
Por ejemplo:
RUSTFS_ACCESS_KEY=EMPRESA_STORAGE_01 RUSTFS_SECRET_KEY=CAMBIAR_POR_UN_SECRETO_LARGO_Y_ALEATORIO
Y reinicia:
sudo systemctl restart rustfs sudo systemctl status rustfs --no-pager
El quick start oficial utiliza Single Node Single Disk, por lo que no proporciona redundancia y está pensado fundamentalmente para evaluación y desarrollo.
13. Probar RustFS con Docker
La imagen oficial también permite comenzar rápidamente mediante Docker. El contenedor se ejecuta como usuario no root con UID 10001.
docker pull rustfs/rustfs:latest docker volume create rustfs-data
Después:
docker run -d \ --name rustfs \ --restart unless-stopped \ -p 9000:9000 \ -p 9001:9001 \ -v rustfs-data:/data \ -e RUSTFS_ACCESS_KEY="CAMBIA-ESTA-CLAVE" \ -e RUSTFS_SECRET_KEY="CAMBIA-ESTE-SECRETO" \ -e RUSTFS_ADDRESS=":9000" \ -e RUSTFS_CONSOLE_ADDRESS=":9001" \ -e RUSTFS_CONSOLE_ENABLE=true \ rustfs/rustfs:latest \ /data
Para verificar el servicio:
docker ps --filter name=rustfs curl --fail http://localhost:9000/health
Según la documentación, la API S3 queda disponible en el puerto 9000 y la consola web en 9001.
14. No utilices :latest en producción sin control de versiones
Aunque rustfs/rustfs:latest es práctico para una prueba, una plataforma empresarial debería fijar una versión específica, validar la actualización primero en staging y mantener un procedimiento de rollback.
El repositorio de RustFS ya contiene builds preview posteriores a 1.0.0, mientras 1.0.0 continúa identificado como el release estable. Esto refuerza la conveniencia de distinguir entre canales estables y versiones previas.
Producción: fija versiones, conserva manifiestos, verifica hashes, revisa notas de actualización y realiza pruebas de compatibilidad antes de modificar un cluster que almacena datos críticos.
15. Usarlo con AWS CLI y aplicaciones existentes
RustFS expone una API compatible con S3 que puede utilizar AWS Signature Version 4. La documentación recomienda incluso los SDK oficiales de AWS como clientes maduros para interactuar con RustFS.
Conceptualmente, una aplicación que hoy utiliza:
Amazon S3 endpoint AWS access key secret key
puede configurarse para utilizar:
RustFS endpoint propio access key propia secret key propia
Siempre que las operaciones S3 concretas utilizadas por la aplicación estén incluidas dentro de la compatibilidad soportada.
16. RustFS frente a MinIO
MinIO es probablemente la referencia inmediata para muchos administradores cuando escuchan “object storage S3 compatible”. RustFS comparte varios conceptos de despliegue y busca facilitar migraciones y coexistencia con ecosistemas S3 existentes.
Una diferencia visible está en el lenguaje: MinIO está históricamente asociado a Go, mientras RustFS construye su núcleo en Rust. También existe una diferencia de licenciamiento: RustFS utiliza Apache License 2.0.
| Aspecto | RustFS 1.0 | Qué evaluar |
|---|---|---|
| Lenguaje | Rust. | Madurez, herramientas y rendimiento real. |
| Licencia | Apache 2.0. | Políticas de uso y distribución de la organización. |
| S3 | Amplia compatibilidad probada. | Probar las APIs utilizadas por cada aplicación. |
| Distribución | Erasure coding y multi-node. | Tolerancia real a fallos y operación. |
| Madurez | Primera GA en septiembre de 2026. | Experiencia productiva acumulada y ecosistema. |
El proyecto publicó benchmarks propios durante la Beta donde RustFS superaba a MinIO en sus pruebas PUT sobre un entorno Azure de cuatro nodos y cuatro discos por nodo. Estas mediciones son útiles como referencia del objetivo de rendimiento, pero deben reproducirse en el hardware y patrón de objetos de cada organización antes de extraer conclusiones.
17. ¿Y frente a Ceph?
Ceph es una plataforma de almacenamiento distribuido mucho más amplia que puede ofrecer object, block y file storage. RustFS mantiene un objetivo más concentrado alrededor del almacenamiento de objetos y del ecosistema S3.
Esto puede hacer que RustFS resulte más sencillo para organizaciones cuya necesidad principal es un endpoint S3, mientras Ceph continúa siendo una alternativa relevante cuando se necesita una plataforma de almacenamiento distribuido multipropósito.
Pregunta útil: no preguntes únicamente “¿qué almacenamiento es más rápido?”. Pregunta si necesitas object storage S3, block storage, filesystem distribuido, soporte Kubernetes, replicación entre sitios, compatibilidad de aplicaciones y qué complejidad operacional puedes asumir.
18. RustFS quiere aprovechar la explosión de infraestructura para IA
La inteligencia artificial está generando enormes cantidades de checkpoints, datasets, embeddings, archivos Parquet, modelos y resultados de entrenamiento. Gran parte de estas cargas encaja naturalmente en object storage.
RustFS se presenta específicamente para cargas de IA y cloud-native y recientemente ha añadido integraciones relacionadas con S3 Tables y Apache Iceberg.
19. Multi-protocolo: no se limita a S3
La versión GA anuncia también soporte para WebDAV, Swift API y FTP/FTPS, además de su interfaz S3 principal y capacidades MCP.
Esto permite que una misma infraestructura atienda determinados clientes que no hablan directamente S3. Sin embargo, en una arquitectura empresarial conviene habilitar únicamente los protocolos necesarios: cada servicio adicional aumenta configuración, exposición y superficie de ataque.
20. Qué hardware necesita para producción
No existe una única configuración válida. Dependerá de tamaño de los objetos, número de operaciones, disponibilidad necesaria, red y retención.
La propia documentación distingue claramente una prueba de un deployment productivo: el modo SNSD utiliza un único disco sin redundancia, SNMD permite tolerar ciertos fallos de discos dentro de un servidor y MNMD distribuye almacenamiento entre cuatro o más servidores.
| Carga | Prioridad |
|---|---|
| Muchos objetos pequeños | IOPS, CPU, metadata y latencia. |
| Objetos grandes | Throughput de red y discos. |
| IA | Ancho de banda, concurrencia y lectura paralela. |
| Backup | Capacidad, durabilidad y costo por TB. |
| Producción crítica | Múltiples nodos, redes redundantes, monitorización y recuperación. |
21. Seguridad mínima antes de exponer RustFS
La documentación de contenedores recomienda explícitamente cambiar las credenciales, habilitar TLS para producción, planificar una arquitectura multi-node y establecer estrategia de logs y copias de seguridad.
- Cambiar inmediatamente las credenciales predeterminadas.
- Activar TLS para API y consola.
- No publicar la consola administrativa indiscriminadamente en Internet.
- Crear identidades IAM separadas para cada aplicación.
- Aplicar privilegio mínimo.
- Integrar OIDC cuando exista identidad corporativa.
- Usar KMS para claves de cifrado cuando el nivel de riesgo lo requiera.
- Habilitar auditoría.
- Enviar logs a un sistema externo.
- Preparar backups y restauraciones independientes del cluster.
22. Una ventaja importante: Apache License 2.0
RustFS se distribuye bajo Apache License 2.0. El propio proyecto destaca esta elección como parte central de su propuesta open source.
Es una licencia permisiva ampliamente utilizada en proyectos empresariales y permite modificar, redistribuir e incorporar el software bajo las condiciones definidas por Apache 2.0. Las organizaciones que redistribuyan versiones modificadas deben revisar siempre las obligaciones concretas de licencia y avisos correspondientes.
23. El proyecto asegura haber crecido rápidamente
En el anuncio de 1.0, el equipo de RustFS afirma haber alcanzado más de 32.000 estrellas en GitHub, más de 10 millones de pulls de sus imágenes y más de 2,7 millones de instancias desplegadas, además de superar los 160 colaboradores. Estas cifras proceden del propio proyecto y deben entenderse como métricas declaradas por sus responsables, no como una auditoría independiente del número de instalaciones productivas.
En cualquier caso, la actividad del repositorio y la rapidez con la que ha pasado de Alpha a GA muestran que RustFS ha conseguido atraer una comunidad significativa en un periodo relativamente corto.
24. Casos donde RustFS puede tener sentido
- Backups empresariales: aplicaciones que ya escriben en endpoints S3.
- Data lake: almacenar archivos Parquet, datasets y objetos masivos.
- IA y machine learning: datasets, checkpoints y artefactos.
- Kubernetes: aplicaciones cloud-native que necesitan object storage.
- GitLab: artefactos, LFS, paquetes y uploads mediante almacenamiento S3.
- Observabilidad: almacenar grandes volúmenes generados por plataformas de logs y análisis.
- Nube privada: API S3 sin depender exclusivamente de un proveedor público.
- Edge: almacenamiento local con posterior replicación o tiering.
25. Casos donde no deberías migrar todavía sin pruebas
La etiqueta 1.0 no significa que toda empresa deba reemplazar inmediatamente su infraestructura. RustFS es un proyecto joven y la matriz S3 todavía documenta comportamientos no implementados o excluidos.
- Aplicaciones que dependen de comportamientos AWS S3 muy específicos.
- Entornos regulados sin pruebas de recuperación documentadas.
- Clusters petabyte que no hayan realizado pruebas de carga representativas.
- Sistemas cuyo software dependa de APIs administrativas específicas de MinIO.
- Entornos donde el equipo no puede operar un almacenamiento distribuido 24x7.
- Migraciones que asumen portabilidad directa de objetos cifrados entre plataformas.
La matriz oficial advierte, por ejemplo, que los formatos de objetos cifrados no son necesariamente portables entre RustFS y otras implementaciones S3 simplemente copiando los datos en disco.
26. Cómo evaluar RustFS antes de usarlo en producción
27. Preguntas clave y respuestas
¿RustFS 1.0 ya es estable?
Sí. RustFS 1.0.0 alcanzó disponibilidad general el 16 de septiembre de 2026. El proyecto declara estable su núcleo de object storage y mantiene por separado builds preview de futuras actualizaciones.
¿RustFS es open source?
Sí. Se distribuye bajo licencia Apache 2.0.
¿Está escrito realmente en Rust?
Sí. El núcleo del sistema está desarrollado en Rust y el proyecto se presenta como un object store distribuido Rust-native.
¿Es 100% compatible con Amazon S3?
No debe formularse de esa manera. La documentación oficial habla de amplia compatibilidad para las funcionalidades soportadas y mantiene una matriz que identifica comportamientos probados, pendientes y excluidos.
¿Puedo utilizar AWS CLI?
Sí para las operaciones S3 compatibles. RustFS soporta AWS Signature Version 4 y documenta interoperabilidad con AWS CLI y SDKs S3.
¿Puede ejecutarse con Docker?
Sí. Existe una imagen oficial para Docker y Podman. La API utiliza por defecto el puerto 9000 y la consola el 9001.
¿Sirve un único servidor?
Sí, pero el modo de un nodo y un disco no ofrece redundancia. La documentación recomienda múltiples nodos y múltiples discos para cargas productivas que necesiten alta disponibilidad.
¿Puede reemplazar a MinIO?
RustFS está diseñado para coexistir y migrar cargas S3 compatibles, pero una migración debe probar las APIs, formatos, cifrado, políticas, SDKs y operaciones administrativas que utiliza cada instalación.
¿Es una alternativa a Amazon S3?
Puede serlo para organizaciones que buscan object storage autoalojado con API S3. No sustituye automáticamente todas las características, servicios administrados ni garantías operacionales que forman parte de AWS.
¿RustFS incluye observabilidad?
Sí. La versión 1.0 anuncia soporte para OpenTelemetry y herramientas de operación del cluster; el proyecto también proporciona un stack Docker Compose que integra Prometheus, Grafana, OTEL Collector y Jaeger.
Recomendamos
- Por qué los servidores usan Linux: ventajas para empresas y administradores TI
- Cómo crear un sistema de alertas para servidores Linux cuando falla un servicio, disco o CPU
- Guía completa de redes en Linux: comandos, diagnóstico, configuración y solución de problemas
- Cómo saber si tu Linux está bien protegido: 30 comprobaciones de seguridad
- Cómo crear un sistema de gestión de vulnerabilidades con software libre
- Cómo crear un servidor de Inteligencia Artificial para una red local con Linux y modelos open source
En resumen
RustFS 1.0.0 convierte a este joven proyecto en una alternativa que merece ser evaluada dentro del ecosistema de object storage open source. Está escrito en Rust, utiliza Apache 2.0, ofrece despliegues distribuidos, erasure coding, replicación, lifecycle, seguridad empresarial, observabilidad y una API ampliamente compatible con S3.
Su mayor atractivo es precisamente mantener el modelo S3 mientras los datos pueden residir en servidores Linux, Kubernetes, infraestructura privada o nubes elegidas por la organización. Eso puede resultar interesante para IA, data lakes, backups, plataformas DevOps y aplicaciones que ya conocen la interfaz S3.
Pero la llegada de una versión 1.0 no debe confundirse con equivalencia completa con Amazon S3 ni con madurez ilimitada. La propia matriz de compatibilidad de RustFS documenta APIs todavía pendientes y diferencias deliberadas. Para una empresa, el siguiente paso razonable no es migrar inmediatamente varios petabytes: es instalarlo, someterlo a las mismas cargas reales, provocar fallos, restaurar información y verificar que todas las operaciones S3 necesarias funcionan correctamente.
Cierre editorial
La llegada de RustFS 1.0 muestra que el almacenamiento S3 compatible vuelve a convertirse en un terreno de fuerte innovación open source. El proyecto apuesta por Rust, licencia permisiva y una arquitectura pensada para clusters, nube privada e inteligencia artificial. Si consigue mantener compatibilidad, estabilidad y ritmo de desarrollo durante las próximas versiones, podría convertirse en una pieza cada vez más visible dentro de la infraestructura Linux moderna.

