El proyecto postmarketOS ha presentado Duranium, una edición de actualización atómica para smartphones.

Los desarrolladores del proyecto postmarketOS, que desarrolla una distribución de Linux para dispositivos móviles, han anunciado la creación de una versión actualizable de forma atómica de la distribución. La nueva edición se desarrolla bajo el nombre Duranium y se destaca por proporcionar el sistema como un todo, sin dividirse en paquetes individuales. Se señala que la nueva variante se alinea con la idea de que el dispositivo debe funcionar sin problemas, sin que el usuario necesite conocer la existencia de una terminal ni entender las particularidades del sistema.

El entorno del sistema en la partición /usr se monta en modo solo lectura usando el sistema de archivos EROFS y se verifica en cada arranque mediante una firma digital. La partición /usr tiene un tamaño de 5 GB. Para garantizar la integridad de los datos en la partición /usr se utiliza dm-verity, y si se detecta cualquier modificación en el contenido, el arranque se bloquea. El hash de verificación se incrusta en la imagen unificada UKI (Imagen Unificada del Núcleo), que combina el manejador para cargar el núcleo desde UEFI (UEFI boot stub), la imagen del núcleo de Linux y el entorno del sistema initrd cargado en memoria, utilizado para la inicialización inicial antes de montar el sistema de archivos raíz. La imagen UKI se presenta como un único archivo ejecutable en formato PE y es llamada por el cargador de UEFI.

Los demás directorios, excepto /usr, forman parte de la partición raíz, que es accesible para escritura y se mantiene entre reinicios y actualizaciones. El contenido de la partición raíz debe ser cifrado usando LUKS2, lo que aumenta los requisitos para el hardware. El sistema de archivos raíz cifrado se crea durante el primer arranque o después de realizar un restablecimiento a la configuración de fábrica. De forma predeterminada, se crea una clave vacía que permite el desbloqueo automático de la partición cifrada. En el asistente de configuración inicial y en el configurador, se le ofrece al usuario la opción de establecer una contraseña para la decriptación.

La configuración predeterminada se almacena dentro de la imagen del sistema en el directorio /usr/share/factory/etc. Durante el primer arranque, se crean enlaces simbólicos en el directorio /etc a todos los archivos en /usr/share/factory/etc, exceptuando los archivos passwd, group, shadow, fstab, machine-id y hostname. Si es necesario modificar la configuración durante el funcionamiento, el enlace simbólico se reemplaza por una copia del archivo.

Las actualizaciones se instalan mediante la sustitución de toda la imagen del sistema. Se crean dos particiones raíz idénticas en el almacenamiento: activa y pasiva. La nueva actualización se instala en la partición pasiva, sin afectar al funcionamiento de la activa. Tras verificar la corrección de la actualización instalada y reiniciar con éxito, las particiones cambian de lugar: la partición con la actualización se convierte en activa, y la anterior partición activa se pasa al modo pasivo, esperando la instalación de la siguiente actualización. Si tras la actualización surgen problemas de arranque, se realiza un retroceso automático a la versión anterior del sistema.

Este enfoque simplifica considerablemente la depuración y el diagnóstico de problemas, ya que los desarrolladores pueden reproducir con precisión el estado en el que ocurrió la falla, sin necesidad de replicar la composición del sistema del usuario a nivel de paquetes individuales y tomando en cuenta las combinaciones existentes de versiones de paquetes. La desventaja son los mayores requisitos de hardware, lo que no permitirá utilizar Duranium en todos los dispositivos compatibles con postmarketOS.

La composición de la imagen del sistema Duranium se forma a partir de una base de paquetes unificada con postmarketOS, que se basa en Alpine Linux, la biblioteca estándar C Musl y un conjunto de utilidades BusyBox. Las versiones de postmarketOS y Duranium son prácticamente idénticas en composición, pero difieren en los métodos de entrega del sistema. Para la formación, instalación y actualización de las imágenes del sistema se utilizan componentes como systemd-sysupdate, systemd-repart y systemd-verity-setup.

Las aplicaciones adicionales se instalan en formato Flatpak o utilizando el gestor de paquetes Coldbrew. Coldbrew permite instalar paquetes de los repositorios de Alpine Linux en el directorio personal del usuario. Al ejecutarse, dichos paquetes se aíslan mediante la herramienta bubblewrap.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster