Работа команды Red Hat над Red Hat Enterprise Linux продолжается — на днях была опубликована новая версия, 9.4. Она характеризуется относительно открытым процессом разработки, а в качестве основы применяется пакетная база CentOS Stream 9. Это «долгоиграющий» дистрибутив, поддержка которого будет продолжаться до 2032 года.
Что нового?
Среди основных изменений дистрибутива можно назвать:
Поддержка технологии создания изолированных анклавов Intel SGX (Software Guard Extensions). В настоящее время поддерживаются SGX 1 и 2. А для них доступны механизмы FLC (Flexible Launch Control) и EDMM (Enclave Dynamic Memory Management), позволяющие изменять права доступа к отдельным страницам памяти анклава, а также динамического изменения страниц памяти и расширения анклава.
В GRUB и прослойке shim появилась возможность использования механизмов защиты памяти DEP (Data Execution Prevention), NX (No Execute) и XD (Execute Disable). Это нужно для запрета выполнения инструкций в отдельных областях памяти на стадии до начала загрузки системы.
В составе дистрибутива теперь новые версии компиляторов и инструментов для разработчиков: GCC Toolset 13, LLVM Toolset 17.0.6, Rust Toolset 1.75.1 и Go Toolset 1.21.7.
Появились отдельные пакеты (Application Streams) c новыми версиями Python 3.12, Ruby 3.3, PHP 8.2, nginx 1.24, MariaDB 10.11, PostgreSQL 16.
Обновлены версии Git 2.43.0, Git LFS 3.4.1, Valgrind 3.22, SystemTap 5.0, elfutils 0.190, cmake 3.26. Добавлены новые пакеты maven-openjdk21 и libzip-tools.
Обновлены пакеты, связанные с безопасностью: GnuTLS 3.8.3, nettle 3.9.1, p11-kit 0.25.3, libkcapi 1.4.0, stunnel 5.71, audit 3.1.2, SSG (SCAP Security Guide) 0.1.72, openCryptoki 3.22.0, ipa 4.11.
Обновлены серверные и системные пакеты: chrony 4.5, linuxptp 4.2, Rsyslog 8.2310, iptables 1.8.10, nftables 1.0.9, firewalld 1.3, stratis-cli 3.6.0, boom 1.6.0, 389-ds-base 2.4.5, samba 4.19.4, Podman 4.9.
SELinux (libsepol, libselinux, libsemanage, policycoreutils, checkpolicy, mcstrans) обновлён до версии 3.6. Здесь стоит отметить то, что в CIL теперь поддерживаются правила "deny" и ключевые слова "notself" и "other". Также добавлен исполняемый файл getpolicyload для отображения числа перезагрузок правил SELinux.
В системе ведения логов Rsyslog доступно изменение настроек шифрования для TLS/SSL и добавлены дополнительные опции для сброса привилегий.
В OpenSSL есть возможность размещения файлов с настройками TLS в отдельном каталоге /etc/pki/tls/openssl.d. Это позволяет переопределить параметры дополнительных криптомодулей без модификации главного файла конфигурации OpenSSL.
Кроме того, появилась экспериментальная команда "podman build farm" для создания образов контейнеров сразу для нескольких архитектур. Теперь в Podman поддерживается бэкенд на базе SQLite и предоставляется возможность использования модулей containers.conf для выборочной загрузки настроек.
В IdM (Identity Management) предоставлена возможность включения обязательной двухфакторной аутентификации LDAP-клиентов, используя одноразовые пароли (OTP). Стабилизирован API IdM, который раньше преподносился как экспериментальный. В 389 Directory Server добавлена поддержка протокола HAProxy, что позволяет корректно определять IP-адреса клиентов, подключающихся через прокси.
Драйвер IDXD (Data Streaming Accelerator) переведён в разряд стабильных. Это нужно для задействования ускорителей передачи данных, которые встроены в CPU Intel. Ранее эта возможность была экспериментальной, теперь она вошла в основной функционал. Но есть и другие экспериментальные возможности, о которых — чуть ниже.
До версии 1.0.0 обновлена реализация протокола synce4l, обеспечивающего поддержку технологии синхронизации частоты SyncE (Synchronous Ethernet), поддерживаемой в некоторых сетевых картах и сетевых коммутаторах и позволяющей повысить эффективность обмена данными в приложениях RAN (Radio Access Network) за счёт более точной синхронизации времени. Добавлена поддержка предоставляемого ядром интерфейса DPLL (Digital Phase Locked Loop).
Важный момент: в nftables добавлена возможность проверки полей внутренних заголовков пакетов, передаваемых через туннели. В утилиту nft добавлена возможность использования команды "nft reset" для сброса состояний правил nftables, таких как счётчики пакетов и значения квот.
В NetworkManager теперь есть возможность модификации числа каналов (очередей пакетов, привязанных к обработчикам прерываний) для сетевых интерфейсов и настройки режима SwitchDev.
Возвращён модуль ядра с реализаций алгоритма контроля перегрузки TCP Illinois. В среднем он позволяет увеличить пропускную способность и добиться более справедливого распределения ресурсов.
Также сильно расширены возможности таких утилит, как rteval, rtla и cyclicdeadline. В rteval добавлена возможность использования префиксов «+» и «-» для прикрепления и открепления ядер CPU из списка отслеживаемых ядер (measurement-cpulist). Утилита rtla обновлена до состояния, соответствующего ядру Linux 6.6. Добавлена опция "rtla -C" для прикрепления к потокам дополнительных cgroup. В утилиту cyclicdeadline добавлена возможность визуализации задержек в виде гистограммы.
Крайне важно, что расширена поддержка «железа». Так, добавлены драйверы для поддержки технологий Intel QuickAssist Technology, Intel TPMI, Intel Uncore Frequency, AMD HSMP, AMD XCP, AMD Platform Management и Mellanox PMC. Добавлен драйвер octeon_ep для контроллеров Marvell Octeon PCIe Endpoint Network Interface Controller.
Также продолжают экспериментально поддерживаться:
○ VPN WireGuard
○ kTLS (TLS на уровне ядра)
○ интерфейс асинхронного ввода/вывода io_uring
○ DAX (Direct Access) для ext4 и XFS
○ AMD SEV и SEV-ES в гипервизоре KVM
○ сервис systemd-resolved
○ механизм Sigstore для верификации контейнеров по цифровым подписям
○ протоколы PRP (Parallel Redundancy Protocol) и HSR (High-availability Seamless Redundancy)
○ аппаратное ускорение IPsec через вынос операций инкапсуляции пакетов на сторону сетевой карты
○ протокол управления сертификатами ACME, применяемыми в Let's Encrypt
○ SRv6 (Segment Routing over IPv6
○ пакет с графическим редактором GIMP 2.99.8
○ настройки MPTCP (Multipath TCP) через NetworkManager
○ DNSSEC в IdM
○ virtio-mem
○ Socket API для TuneD
○ Soft-iWARP (Internet Wide-area RDMA Protocol)
○ GNOME для ARM64 и IBM Z
Установочные образы доступны для зарегистрированных пользователей Red Hat Customer Portal (для оценки функциональности также можно использовать iso-образы CentOS Stream 9 и бесплатные сборки RHEL для разработчиков). Выпуск сформирован для архитектур x86_64, s390x (IBM System z), ppc64le и Aarch64 (ARM64).
Если вы уже опробовали этот дистрибутив, расскажите, как он вам? Ушли ли старые проблемы и не добавились ли новые?