PuzzleFS, el sistema de archivos de Cisco escrito en Rust

 

Cisco

Puzzlefs es un sistema de archivos contenedor diseñado por Cisco

Cisco dio a conocer hace poco mediante las lista de correo del Kernel de Linux, la propuesta de un nuevo sistema de archivos el cual tiene como nombre «PuzzleFS» y que se propone implementar como un módulo para el kernel de Linux.

PuzzleFS, es un sistema de archivos escrito en Rust, diseñado por Cisco para albergar contenedores aislados y continúa el desarrollo de las ideas propuestas en el sistema de archivos AtomfsFS, para abordar las
limitaciones del formato OCI existentes.

¡Hola a todos!

Este es un controlador de prueba de concepto escrito para PuzzleFS sistema de archivos contenedor de última generación [1]. He incluido un breve resumen. sobre puzzlefs más abajo. Este controlador se basa en el rust-next branch, además de lo cual he respaldado las abstracciones del sistema de archivos…

Sobre el desarrollo del proyecto, se menciona que se tiene como objetivo sortear las limitaciones que surgen al utilizar imágenes de contenedores en formato OCI (Open Container Initiative). PuzzleFS aborda problemas como el almacenamiento eficiente de datos duplicados, la capacidad de montaje directo, la creación de imágenes repetibles y la seguridad de la memoria.

Para la deduplicación de datos repetidos en distintos contenedores se utiliza el algoritmo FastCDC (Fast Content-Defined Chunking), que funciona dividiendo los datos en fragmentos de tamaño arbitrario y manteniendo un índice con hash de los fragmentos procesados.

Los fragmentos repetidos se almacenan una vez y se indexan conjuntamente para todas las capas FS, es decir, la deduplicación puede cubrir diferentes puntos de montaje (se puede lanzar una nueva capa FS basada en la existente y usar los fragmentos de datos que contiene durante la deduplicación).

La compilacion repetible de imágenes de contenedor se logra mediante la definición de una representación canónica del formato de imagen del contenedor. El montaje directo permite montar una imagen de contenedor OCI desde el almacenamiento compartido global sin desempaquetarlo primero, utilizando el hash de contenido del manifiesto del contenedor como identificador.

El soporte de montaje directo es una característica clave de puzzlefs y, junto con fs-verity, proporciona integridad de datos. Actualmente, puzzlefs se implementa como un sistema de archivos de espacio de usuario (FUSE), aun que, un controlador de sistema de archivos del kernel de solo lectura está en marcha.

El mecanismo fs-verity se puede utilizar para verificar la integridad de los datos en las condiciones de uso de un almacenamiento compartido que, al acceder a los archivos, verifica si los valores hash especificados en el índice binario corresponden al contenido real.

Sobre el lenguaje de programación, se menciona que se eligió el lenguaje Rust porque combina el alto rendimiento del código resultante con capacidades de memoria segura, lo que reduce el riesgo de vulnerabilidades causadas por problemas como el acceso a la memoria después de liberarla y las saturaciones de búfer. El uso de Rust para el módulo del kernel también hizo posible compartir código en los componentes del kernel y del espacio de usuario para crear una única implementación segura.

Finalmente, se menciona que otros objetivos del proyecto incluyen la construcción y el montaje de imágenes muy rápidos, la capacidad de usar una etapa intermedia opcional para la canonicalización de imágenes, los recorridos de árboles FS de estilo mtree opcionales cuando se usa una estructura en capas, cambios de estilo casync, la duplicación reducida, el soporte de montaje directo y las garantías de seguridad de la memoria, algunas inspiradas en el documento de diseño OCIv2, entre otras cosas más.

Cabe mencionar que hasta el momento la implementación de este sistema de archivos aún se encuentra en la etapa de prototipo, por lo que no se recomienda su uso ni implementación en entornos de producción, pero para los interesados deben saber que es compatible con la construcción con la rama del kernel de Linux rust-next.

Finalmente para los interesados en poder conocer más al respecto, deben saber que el código del proyecto está abierto bajo las licencias Apache 2.0 y MIT y puedes consultar los detalles de la nota en el siguiente enlace.

from Linux Adictos https://ift.tt/OQqUpm0
via IFTTT

Debian 12 Bookworm llega con GNOME 43 y Linux 6.1

Debian 12 Bookworm

Si no todas las semanas, todos los meses sí hay al menos un lanzamiento de una distribución basada en Linux. Pero, de todos ellos, pocos son tan importantes como el que ha tenido lugar hoy. Aunque aún están trabajando para que todo esté en su sitio, Project Debian ha anunciado hoy el lanzamiento de Debian 12, que tiene de nombre en clave «Bookworm». Yo no soy muy fan de Toy Story, de donde Debian elige los nombres en clave, por lo que poco o nada puedo decir de este personaje.

Algo más puedo decir de Debian 12. Para empezar, que como todas las versiones de Debian estará soportada durante 5 años. Para continuar, que han introducido una nueva área de archivo para que sea posible separar el firmware non-free de otros paquetes non-free: el área es non-free-firmware. Esta área hace que sea más fácil gestionar este tipo de software gracias a un nuevo repositorio e integración con el instalador.

Debian 12 estará soportado durante 5 años

Entre el resto de novedades, Debian 12 usa Linux 6.1, y los escritorios disponibles se han actualizado a las versiones GNOME 43, Plasma 5.27, LXDE 11, LXQt 1.2.0, MATE 1.26 y Xfce 4.18. Aunque hay escritorios más jóvenes que otros, en ningún caso se usa nada que no esté perfectamente probado y con ya varias actualizaciones de mantenimiento. Es parte de la filosofía de Debian.

En esta versión se ha vuelto a introducir el Secure Boot para ARM64, y entre sus paquetes tenemos:

  • Apache 2.4.57
  • BIND DNS Server 9.18
  • Cryptsetup 2.6
  • Dovecot MTA 2.3.19
  • Emacs 28.2
  • Exim (default email server) 4.96
  • GIMP 2.10.34
  • GNU Compiler Collection 12.2
  • GnuPG 2.2.40
  • Inkscape 1.2.2
  • The GNU C Library 2.36
  • lighthttpd 1.4.69
  • LibreOffice 7.4
  • Linux kernel 6.1 series
  • LLVM/Clang toolchain 13.0.1, 14.0 (default), and 15.0.6
  • MariaDB 10.11
  • Nginx 1.22
  • OpenJDK 17
  • OpenLDAP 2.5.13
  • OpenSSH 9.2p1
  • Perl 5.36
  • PHP 8.2
  • Postfix MTA 3.7
  • PostgreSQL 15
  • Python 3, 3.11.2
  • Rustc 1.63
  • Samba 4.17
  • systemd 252
  • Vim 9.0

A diferencia de la mayoría de distribuciones, Debian 12 sigue estando disponible para procesadores de 32-bit (i386). La lista completa de arquitecturas soportadas la completan los 64-bit (amd64), 64-bit ARM (arm64), ARM EABI (armel), ARMv7 (EABI hard-float ABI, armhf), little-endian MIPS (mipsel), 64-bit little-endian MIPS (mips64el), 64-bit little-endian PowerPC (ppc64el), IBM System z (s390x). La mencionada versión i386 ya no soporta ningún procesador i586, siendo el mínimo recomendado uno i686.

Para probar el sistema operativo sin instalarlo, se pueden usar las Live Images, pronto disponibles en este enlace. Estas imágenes también permiten instalar el sistema operativo con el escritorio elegido. Si se prefiere usar el «netinstaller», se puede seguir nuestra guía para tal fin.

from Linux Adictos https://ift.tt/an5EdtU
via IFTTT

WINE 8.10 llega con mejoras en el recorte del cursor del ratón y casi 300 cambios

WINE 8.10

Parece que el verano en el hemisferio norte empieza a pasar factura a los desarrolladores que colaboran en WineHQ. En la última hora de ayer viernes 9 de junio, el proyecto lanzó WINE 8.10, una nueva versión de desarrollo en la que se realizaron menos cambios y se corrigieron menos bugs de lo que nos tienen acostumbrados. Es algo que ya hemos vivido en años anteriores, y se espera que el ritmo sea bajo durante las próximas semanas.

En total, WINE 8.10 ha introducido 274 cambios desde la v8.9. Lo que han considerado digno de destacar ha sido que todas las transiciones PE ->Unix van a través de la interfaz syscall, mejoras en el recorte del cursor del ratón, soporte para la reserva de memoria virtual y se han actualizado idiomas y datos de zonas horarias, a lo que se le suma el punto habitual de correcciones varias. En cuanto a bugs, se han corregido un total de 13, cuya lista tenéis a continuación.

Bugs corregidos en WINE 8.10

  • Varias aplicaciones compatibles con el aislamiento no se cargan (MSN Messenger Live 2009, Lync 2010, Adobe Premiere Pro CS3, Quicken 201X) (la búsqueda de manifiesto PE incrustado debería admitir ISOLATIONAWARE_MANIFEST_RESOURCE_ID).
  • uTorrent 2.2.0 se cuelga al iniciarse (el evento FD_WRITE se notifica una y otra vez en WSAEnumNetworkEvents para un socket UDP vinculado).
  • Creo Elements/Direct Modeling Express 4.0/6.0 fallo del cargador debido a la falta de dependencia msvcrt.dll (netapi32.dll nativo importa funciones msvcrt).
  • El mintty.exe de Cygwin se bloquea con un desbordamiento de pila.
  • TwitchTest se bloquea al no implementarse la función IPHLPAPI.DLL.GetPerTcpConnectionEStats.
  • Animated Puzzles se bloquea al iniciarse.
  • Las marcas de verificación de las casillas de verificación de .NET 3.5 deberían ser negras en lugar del color «Foreground».
  • Honeygain se bloquea al no implementarse la función IPHLPAPI.DLL.GetCurrentThreadCompartmentId.
  • PmxEditor 0.2.7.5 no arranca después de WINE 8.4.
  • ntdll: NtDuplicateToken tiene un prototipo incorrecto.
  • user32:msg recibe un WM_NCPAINT extra en ShowWindow(child, SW_SHOW).
  • El IME chino ya no funciona en Naver LINE desde WINE 8.9.
  • wininet:http – test_secure_connection() falla en Windows y WINE.

WINE 8.10 ya se puede descargar desde el siguiente botón. En la página de descargas hay información sobre cómo instalar esta y otras versiones en sistemas operativos como Debian y Ubuntu, pero también se puede instalar en Android y macOS.

from Linux Adictos https://ift.tt/YKipQFy
via IFTTT