La empresa Red Hat ha presentado la primera versión beta de la distribución Red Hat Enterprise Linux 9. Las imágenes de instalación listas están preparadas para los usuarios registrados en el Red Hat Customer Portal (también se pueden usar imágenes ISO de CentOS Stream 9 para evaluar la funcionalidad). Los repositorios con paquetes están disponibles sin restricciones para las arquitecturas x86_64, s390x (IBM System z), ppc64le y Aarch64 (ARM64). El código fuente de los paquetes rpm de Red Hat Enterprise Linux 9 se encuentra en el repositorio Git de CentOS. Se espera el lanzamiento para la primera mitad del próximo año. De acuerdo con el ciclo de soporte de 10 años de la distribución, RHEL 9 recibirá soporte hasta 2032. Las actualizaciones para RHEL 7 continuarán hasta el 30 de junio de 2024, y RHEL 8 hasta el 31 de mayo de 2029.
La distribución Red Hat Enterprise Linux 9 destaca por su transición a un proceso de desarrollo más abierto. A diferencia de versiones anteriores, se ha utilizado la base de paquetes de CentOS Stream 9 como base para construir la distribución. CentOS Stream se posiciona como un proyecto upstream para RHEL, permitiendo a los participantes externos controlar la preparación de paquetes para RHEL, proponer sus cambios e influir en las decisiones tomadas. Anteriormente, se utilizaba un snapshot de una de las versiones de Fedora como base para una nueva rama de RHEL, que era desarrollada y estabilizada a puertas cerradas, sin posibilidad de controlar el proceso de desarrollo y las decisiones tomadas. Ahora, sobre la base del snapshot de Fedora, con la participación de la comunidad, se forma la rama CentOS Stream, donde se lleva a cabo el trabajo preparatorio y se establece la base para una nueva rama significativa de RHEL.
Cambios clave:
- Se ha actualizado el entorno del sistema y las herramientas de compilación. Se ha utilizado GCC 11 para la compilación de paquetes. La biblioteca estándar C se ha actualizado a glibc 2.34. El paquete del núcleo Linux se ha construido sobre la base de la versión 5.14. El gestor de paquetes RPM se ha actualizado a la versión 4.16 con soporte de control de integridad a través de fapolicyd.
- Se ha completado la migración de la distribución a Python 3. Por defecto, se ha propuesto la rama Python 3.9. El suministro de Python 2 se ha detenido.
- El escritorio está basado en GNOME 40 (en RHEL 8 se entregaba GNOME 3.28) y en la biblioteca GTK 4. En GNOME 40, los escritorios virtuales en la vista general (Activities Overview) se han trasladado a una orientación horizontal y se presentan como una cadena continua que se desplaza de izquierda a derecha. En cada escritorio mostrado en la vista general, se presentan visualmente las ventanas disponibles, para las cuales se aplica panorámica dinámica y escalado durante la interacción del usuario. Se asegura una transición fluida entre la lista de programas y los escritorios virtuales.
- En GNOME se utiliza el gestor power-profiles-daemon, que proporciona la posibilidad de cambiar sobre la marcha entre el modo de ahorro de energía, el modo de consumo energético equilibrado y el modo de máximo rendimiento.
- Todos los flujos de audio se han trasladado al servidor multimedia PipeWire, que ahora se utiliza por defecto en lugar de PulseAudio y JACK. El uso de PipeWire permite ofrecer capacidades profesionales de procesamiento de audio en una edición de escritorio normal, eliminar la fragmentación y unificar la infraestructura de audio para diversas aplicaciones.
- De forma predeterminada, el menú de arranque GRUB está oculto si RHEL es la única distribución instalada en el sistema y si el último arranque fue exitoso. Para mostrar el menú durante el arranque, basta con mantener la tecla Shift o pulsar varias veces la tecla Esc o F8. Entre los cambios en el gestor de arranque destaca la colocación de los archivos de configuración de GRUB para todas las arquitecturas en un mismo directorio /boot/grub2/ (el archivo /boot/efi/EFI/redhat/grub.cfg ahora es un enlace simbólico a /boot/grub2/grub.cfg), es decir, el mismo sistema instalado se puede iniciar tanto usando EFI como BIOS.
- Los componentes para el soporte de varios idiomas se han trasladado a paquetes langpacks, que permiten variar el nivel de soporte lingüístico instalado. Por ejemplo, en el paquete langpacks-core-font se ofrecen solo fuentes, en langpacks-core: la configuración regional para glibc, la fuente básica y el método de entrada, mientras que en langpacks se incluyen traducciones, fuentes adicionales y diccionarios para la verificación ortográfica.
- Para la instalación simultánea de diferentes versiones de programas y una generación más frecuente de actualizaciones, se utilizan componentes de Application Streams, que ahora pueden formarse con todos los métodos de distribución de paquetes admitidos en RHEL, incluidos los paquetes RPM, módulos (agrupados en conjuntos de módulos de paquetes rpm), SCL (Software Collection) y Flatpak.
- Se han actualizado los componentes para garantizar la seguridad. En la distribución se ha activado una nueva rama de la biblioteca criptográfica OpenSSL 3.0. Por defecto, se han incluido algoritmos criptográficos más modernos y seguros (por ejemplo, se ha prohibido el uso de SHA-1 en TLS, DTLS, SSH, IKEv2 y Kerberos, se han deshabilitado TLS 1.0, TLS 1.1, DTLS 1.0, RC4, Camellia, DSA, 3DES y FFDHE-1024). El paquete OpenSSH se ha actualizado a la versión 8.6p1. Cyrus SASL ha sido trasladado al backend GDBM en lugar de Berkeley DB. En las bibliotecas NSS (Network Security Services) se ha descontinuado el soporte para el formato DBM (Berkeley DB). GnuTLS se ha actualizado a la versión 3.7.2.
- Se ha mejorado significativamente el rendimiento de SELinux y se ha reducido el consumo de memoria. En /etc/selinux/config se ha eliminado el soporte para la configuración "SELINUX=disabled" para desactivar SELinux (la configuración indicada ahora solo desactiva la carga de políticas, y para desactivar realmente la funcionalidad de SELinux ahora se requiere pasar al núcleo el parámetro "selinux=0").
- Se ha añadido soporte experimental para VPN WireGuard.
- Por defecto, se ha prohibido el acceso SSH como usuario root.
- Se han declarado obsoletas las herramientas de gestión de filtros de paquetes iptables-nft (utilidades iptables, ip6tables, ebtables y arptables) y ipset. Para la gestión del cortafuegos, ahora se recomienda utilizar nftables.
- Se ha incluido un nuevo demonio mptcpd para la configuración de MPTCP (MultiPath TCP), una extensión del protocolo TCP para establecer conexiones TCP que entreguen paquetes simultáneamente por múltiples rutas a través de diferentes interfaces de red, enlazadas a diferentes direcciones IP. El uso de mptcpd permite configurar MPTCP sin necesidad de la utilidad iproute2.
- Se ha eliminado el paquete network-scripts, y ahora se debe utilizar NetworkManager para configurar las conexiones de red. Se ha mantenido el soporte para el formato de configuraciones ifcfg, pero NetworkManager por defecto utiliza un formato basado en el archivo keyfile.
- Se han incluido nuevas versiones de compiladores y herramientas para desarrolladores: GCC 11.2, LLVM/Clang 12.0.1, Rust 1.54, Go 1.16.6, Node.js 16, OpenJDK 17, Perl 5.32, PHP 8.0, Python 3.9, Ruby 3.0, Git 2.31, Subversion 1.14, binutils 2.35, CMake 3.20.2, Maven 3.6, Ant 1.10.
- Se han actualizado los paquetes del servidor Apache HTTP Server 2.4, nginx 1.20, Varnish Cache 6.5, Squid 5.1.
- Se han actualizado las bases de datos MariaDB 10.5, MySQL 8.0, PostgreSQL 13 y Redis 6.2.
- Para la construcción del emulador QEMU, por defecto se utiliza Clang, lo que permite aplicar en el hipervisor KVM algunos mecanismos de protección adicionales, como SafeStack para protegerse contra técnicas de explotación basadas en la programación orientada a retorno (ROP — Return-Oriented Programming).
- Se han ampliado las capacidades de la consola web: se han añadido métricas de rendimiento adicionales para identificar cuellos de botella (CPU, memoria, disco, recursos de red), se ha simplificado la exportación de métricas para su visualización mediante Grafana, se ha añadido la posibilidad de gestionar live-patches en el núcleo y se ha proporcionado soporte para autenticación mediante tarjetas inteligentes (incluyendo para sudo y SSH).
- En SSSD (Daemon de Servicios de Seguridad del Sistema) se ha aumentado la detallación de los registros, por ejemplo, ahora se adjunta el tiempo de finalización de la tarea a los eventos y se refleja el flujo de autenticación. Se han añadido funciones de búsqueda para analizar problemas con la configuración y el rendimiento.
- Se ha ampliado el soporte para IMA (Arquitectura de Medición de Integridad) para verificar la integridad de los componentes del sistema operativo mediante firmas digitales y hashes.
- Por defecto se utiliza una jerarquía de cgroup unificada (cgroup v2). Los cgroups v2 se pueden utilizar, por ejemplo, para limitar el consumo de memoria, recursos de CPU y entrada/salida. La principal diferencia de los cgroups v2 respecto a v1 es la aplicación de una jerarquía común de cgroups para todos los tipos de recursos, en lugar de jerarquías separadas para la asignación de recursos de CPU, regulación del consumo de memoria y para la entrada/salida. Las jerarquías separadas llevaron a dificultades en la organización de la interacción entre manejadores y a un costo adicional de recursos del núcleo al aplicar reglas para procesos mencionados en diferentes jerarquías.
- Se ha añadido soporte para la sincronización de tiempo exacto basada en el protocolo NTS (Network Time Security), que utiliza elementos de la infraestructura de claves públicas (PKI) y permite el uso de TLS y cifrado autenticado AEAD (Cifrado Autenticado con Datos Asociados) para proteger criptográficamente la interacción entre el cliente y servidores el protocolo NTP (Network Time Protocol). El servidor NTP chrony se ha actualizado a la versión 4.1.
- Se han añadido nuevos roles de sistema Ansible para automatizar la instalación, configuración y ejecución de Postfix, Microsoft SQL Server, túneles VPN y el servicio timesync. Se ha añadido un nuevo rol de Ansible para soportar las particiones LVM (Gestor de Volúmenes Lógicos) VDO (Optimizador de Datos Virtuales).
- Se ha habilitado soporte experimental (Technology Preview) para KTLS (implementación de TLS a nivel de núcleo), Intel SGX (Software Guard Extensions), DAX (Acceso Directo) para ext4 y XFS, y soporte de AMD SEV y SEV-ES en el hipervisor KVM.
- Se han incluido cambios relacionados con la traducción del código, la documentación y los recursos web desarrollados por Red Hat para utilizar una terminología más inclusiva, lo que implica la eliminación de palabras como master, slave, blacklist y whitelist.
Fuente: opennet.ru
