Distri — distribución para probar tecnologías de gestión rápida de paquetes

Michael Stapelberg, autor del gestor de ventanas mosaico i3wm y anteriormente un desarrollador activo de Debian (mantuvo alrededor de 170 paquetes), un servicio VPN de pago, los ingenieros de Mozilla también tuvieron acceso a otras tecnologías de ProtonVPN para la auditoría. Se destaca que el siguiente paso será convertir en abiertos a las demás aplicaciones de ProtonVPN. distribución experimental distri y el gestor de paquetes homónimo. El proyecto se posiciona como una investigación sobre posibles formas de aumentar el rendimiento de los sistemas de gestión de paquetes y encarna algunas nuevas ideas para la construcción de distribuciones. El código del gestor de paquetes está escrito en Go y se distribuye bajo licencia BSD.

Una característica clave del formato de paquetes propuesto en la distribución es la entrega de paquetes en forma de imágenes SquashFS, en lugar de archivos comprimidos tar. La utilización de SquashFS, análoga a los formatos AppImage y Snap, permite "montar" el paquete sin necesidad de descomprimirlo, lo que ahorra espacio en disco, permite cambios atómicos y hace que el contenido del paquete esté inmediatamente disponible. Los paquetes de distri, al igual que en el formato clásico "deb", contienen solo componentes individuales, relacionados entre sí con dependencias a otros paquetes (las bibliotecas no se duplican en los paquetes, sino que se instalan como dependencias). En otras palabras, distri intenta combinar la estructura de paquetes granular de distribuciones clásicas como Debian con métodos de entrega de aplicaciones en forma de contenedores montables.

Cada paquete en distri se monta en su propio directorio en modo solo lectura (por ejemplo, el paquete con zsh está disponible como "/ro/zsh-amd64-5.6.2-3"), lo que influye positivamente en la seguridad y protege contra modificaciones accidentales o malintencionadas. Para formar la jerarquía de directorios del sistema, como /usr/bin, /usr/share y /usr/lib, se aplica un módulo especial de FUSE que combina el contenido de todas las imágenes SquashFS instaladas en una sola unidad (por ejemplo, el directorio /ro/share proporciona acceso a los subdirectorios share de todos los paquetes).

Paquetes en distri, fundamentalmente se eliminan los manejadores invocados durante la instalación (no hay ganchos ni activadores), y diferentes versiones del paquete pueden coexistir entre sí, lo que permite la instalación paralela de paquetes. La estructura propuesta limita el rendimiento del gestor de paquetes únicamente a la capacidad de la red a través de la cual se descargan los paquetes. La instalación o actualización directa de un paquete se lleva a cabo de forma atómica y no requiere duplicar el contenido.

Los conflictos al instalar paquetes se evitan ya que cada paquete se vincula con su propio directorio y el sistema permite la coexistencia de diferentes versiones de un mismo paquete (el contenido del directorio con la revisión más reciente se conecta a los directorios de resumen). La construcción de paquetes también se realiza muy rápidamente y no requiere la instalación de paquetes en un entorno de construcción separado (en el entorno de construcción se generan vistas de las dependencias necesarias del directorio /ro).

Soportadas Los comandos estándar para la gestión de paquetes, como «distri install» y «distri update», se pueden sustituir por la utilidad estándar «ls» (por ejemplo, para ver los paquetes instalados, basta con listar los directorios en la jerarquía «/ro», y para saber a qué paquete pertenece un archivo, se puede verificar a dónde apunta el enlace de ese archivo).

El prototipo del distribuidor propuesto para experimentos incluye aproximadamente 1700 paquetes y modelos imágenes de instalación con instalador, adecuados tanto para instalación como sistema operativo principal, como para ejecución en QEMU, Docker, Google Cloud y VirtualBox. Se admite el arranque desde una partición de disco cifrada y se incluye un conjunto estándar de aplicaciones para crear un escritorio basado en el gestor de ventanas i3 (se sugiere Google Chrome como navegador). Se proporciona un conjunto completo de herramientas para construir el distribuidor, preparar y formar paquetes, distribuir paquetes a través de espejos, etc.

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