Компания Microsoft опубликовала обновление дистрибутива Azure Linux 3.0.20241203. Дистрибутив развивается в качестве универсальной базовой платформы для Linux-окружений, используемых в облачной инфраструктуре, edge-системах и различных сервисах Microsoft. Собственные наработки проекта распространяются под лицензией MIT. Сборки пакетов формируются для архитектур aarch64 и x86_64. Размер установочного образа 750 МБ.
Entre los cambios de la nueva versión:
- Пакетный фильтр iptables переведён на обработку команд через трансляцию правил в байткод nftables (по умолчанию вместо iptables-legacy задействован пакет iptables-nft).
- Para los sistemas Aarch64, se propone un paquete adicional con el kernel kernel-64k, que utiliza páginas de memoria grandes de 64 KB (el kernel se compila con la opción CONFIG_ARM64_64K_PAGES).
- В пакетный менеджер tdnf (аналог dnf на базе C libs), добавлена поддержка настройки «installonlypkgs», которая задействована для организации установки ядра kernel-64k.
- При использовании systemd-networkd включена обработка livenet rootfs из Dracut.
- Se agregó un controlador para los adaptadores de red Intel Ethernet Connection E800.
- Se ha agregado compatibilidad con el idioma Lua al procesador de registros de bits fluidos.
- Se habilitó la verificación de la firma digital de los núcleos cargados a través del mecanismo kexec.
- Para detectar compilaciones de contenedores, en lugar de verificar el archivo “/.dockerenv”, se utiliza la utilidad systemd-detect-virt.
- Обновлены версии пакетов, среди которых ядро Linux 6.6.57, shim 15.8, SymCrypt 103.6.0, Valkey (форк Redis) 8.0.1, Go 1.23.3, MariaDB 10.11.10, PostgreSQL 16.5.
La distribución de Azure Linux proporciona un conjunto pequeño y estándar de paquetes básicos que sirven como base universal para crear entornos de host, servicios y relleno de contenedores que se ejecutan en infraestructuras de nube y en dispositivos de borde. Se pueden crear soluciones más complejas y especializadas agregando paquetes adicionales a Azure Linux, pero la base de todos estos sistemas sigue siendo la misma, lo que facilita el mantenimiento y la preparación para las actualizaciones.
Azure Linux se utiliza como base para la minidistribución WSLg, que proporciona componentes de pila de gráficos para ejecutar aplicaciones GUI de Linux en entornos basados en el subsistema WSL2 (Subsistema de Windows para Linux). La funcionalidad ampliada en WSLg se implementa mediante la inclusión de paquetes adicionales con Weston Composite Server, XWayland, PulseAudio y FreeRDP.
El administrador del sistema systemd se utiliza para administrar los servicios y la carga. Se proporcionan administradores de paquetes RPM y DNF para la gestión de paquetes. El servidor SSH no está habilitado de forma predeterminada. Para instalar la distribución, se proporciona un instalador que puede funcionar tanto en modo texto como gráfico. El instalador ofrece la opción de instalar con un conjunto completo o básico de paquetes, y ofrece una interfaz para seleccionar una partición de disco, elegir un nombre de host y crear usuarios.
El sistema de compilación de Azure Linux le permite generar paquetes RPM individuales basados en archivos SPEC y textos fuente, e imágenes de sistema monolíticas formadas mediante el kit de herramientas rpm-ostree y actualizadas de forma atómica sin dividirlas en paquetes individuales. En consecuencia, se admiten dos modelos de entrega de actualizaciones: mediante la actualización de paquetes individuales y mediante la reconstrucción y actualización de toda la imagen del sistema. Hay disponible un repositorio de aproximadamente 3000 paquetes RPM prediseñados que pueden usarse para crear sus propias imágenes basadas en el archivo de configuración.
La plataforma base incluye solo los componentes esenciales y está optimizada para un consumo mínimo de memoria y espacio en disco, así como altas velocidades de carga. El proyecto utiliza un enfoque de “máxima seguridad por defecto”, que implica la inclusión de varios mecanismos adicionales para aumentar la seguridad:
- Filtrado de llamadas al sistema mediante el mecanismo seccomp.
- Cifrado de particiones de disco.
- Verificación de paquetes mediante firma digital.
- Aleatorización del espacio de direcciones.
- Protección contra ataques relacionados con enlaces simbólicos, mmap, /dev/mem y /dev/kmem.
- Modo de solo lectura y prohibición de ejecución de código en áreas de memoria que contienen segmentos con datos del kernel y del módulo.
- Opción para deshabilitar la carga de módulos del kernel después de la inicialización del sistema.
- Usando iptables para filtrar paquetes de red.
- Habilite los modos de protección contra desbordamiento de pila, desbordamiento de búfer y formato de cadena durante el ensamblaje (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).
Fuente: opennet.ru