El proyecto CentOS ha anunciado oficialmente la disponibilidad de la distribución CentOS Stream 9, que se utiliza como base para la formación de la distribución Red Hat Enterprise Linux 9 dentro de un nuevo proceso de desarrollo más abierto. CentOS Stream se clasifica como una distribución actualizada continuamente y permite acceder antes a los paquetes que se desarrollan para la próxima versión de RHEL. Las compilaciones están preparadas para arquitecturas x86_64, Aarch64 y ppc64le (IBM Power 9+). Además, se ha declarado soporte para la arquitectura IBM Z (s390x Z14+), aunque las compilaciones para ella aún no están disponibles.
CentOS Stream se posiciona como un proyecto upstream para RHEL, brindando a los participantes externos la posibilidad de supervisar la preparación de paquetes para RHEL, proponer sus cambios e influir en las decisiones tomadas. Anteriormente, se utilizaba una instantánea de una de las versiones de Fedora como base para una nueva rama de RHEL, que se ajustaba y estabilizaba a puerta cerrada, sin posibilidad de controlar el curso del desarrollo y las decisiones adoptadas. En el proceso de desarrollo de RHEL 9 basado en la instantánea de Fedora 34, con la participación de la comunidad se formó la rama CentOS Stream 9, en la que se lleva a cabo el trabajo preparatorio y se establece la base para una nueva rama significativa de RHEL.

Se observa que para CentOS Stream se publican las mismas actualizaciones que se preparan para la futura versión intermedia de RHEL que aún no se ha lanzado, y el objetivo principal de los desarrolladores es alcanzar un nivel de estabilidad en CentOS Stream idéntico al de RHEL. Antes de que un paquete sea ofrecido en CentOS Stream, pasa a través de varios sistemas de prueba automática y manual, y se publica solo si su nivel de estabilidad se considera conforme a los estándares de calidad de los paquetes listos para publicación en RHEL. Simultáneamente con CentOS Stream, las actualizaciones preparadas se agrupan en compilaciones nocturnas de RHEL.
Los principales cambios en CentOS Stream 9 en comparación con la última rama significativa son:
- 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.
- Por defecto, el menú de arranque GRUB está oculto si RHEL es el único sistema operativo instalado y la última carga se realizó sin errores. Para mostrar el menú durante el arranque, basta con mantener presionada la tecla Shift o presionar varias veces la tecla Esc o F8. Entre los cambios en el cargador de arranque, también se señala la colocación de los archivos de configuración de GRUB para todas las arquitecturas en un solo directorio /boot/grub2/ (el archivo /boot/efi/EFI/redhat/grub.cfg ahora es un enlace simbólico a /boot/grub2/grub.cfg), es decir, se puede arrancar el mismo sistema instalado utilizando tanto 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.
- 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.48, nginx 1.20, Varnish Cache 6.5 y 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).
- 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 ha proporcionado soporte experimental para KTLS (implementación de TLS a nivel de kernel), Intel SGX (Software Guard Extensions), DAX (Acceso Directo) para ext4 y XFS, y soporte para AMD SEV y SEV-ES en el hipervisor KVM.
Paralelamente, se sigue desarrollando la rama CentOS Stream 8, que se utiliza para preparar nuevas versiones de RHEL 8.x y se recomienda para la migración de sistemas que usan la distribución clásica CentOS 8.x, cuyo mantenimiento se interrumpirá a finales de este mes. Para migrar a CentOS Stream, solo es necesario instalar el paquete centos-release-stream («dnf install centos-release-stream») y ejecutar el comando «dnf update». El mantenimiento de la rama CentOS Stream 8 se llevará a cabo hasta el 31 de mayo de 2024, mientras que el soporte para el clásico CentOS 7.x finalizará el 30 de junio de 2024.
Como alternativa, los usuarios también pueden migrar a distribuciones que han continuado el desarrollo de la rama CentOS 8: AlmaLinux (script de migración), Rocky Linux (script de migración), VzLinux (script de migración) u Oracle Linux (script de migración). Además, Red Hat ha proporcionado la posibilidad (script de migración) de uso gratuito de RHEL en organizaciones que desarrollan software de código abierto y en entornos de desarrolladores individuales que cuentan con hasta 16 sistemas virtuales o físicos.
Fuente: opennet.ru
