Компания Red Hat опубликовала релиз дистрибутива Red Hat Enterprise Linux 9.2. Готовые установочные образы доступны для зарегистрированных пользователей Red Hat Customer Portal (для оценки функциональности также можно использовать iso-образы CentOS Stream 9 и бесплатные сборки RHEL для разработчиков). Выпуск сформирован для архитектур x86_64, s390x (IBM System z), ppc64le и Aarch64 (ARM64). Исходные тексты rpm-пакетов Red Hat Enterprise Linux 9 размещены в Git-репозитории CentOS. Одновременно представлено обновление прошлой ветки RHEL 8.8, релиз которого планируется выпустить в ближайшие дни (в настоящее время доступна только бета-версия).
Ветка RHEL 9 развивается с более открытым процессом разработки и использует в качестве основы пакетную базу CentOS Stream 9. CentOS Stream позиционируется как upstream-проект для RHEL, дающий возможность сторонним участникам контролировать подготовку пакетов для RHEL, предлагать свои изменения и влиять на принимаемые решения. В соответствии с 10-летним циклом поддержки дистрибутива RHEL 9 будет сопровождаться до 2032 года.
Ключевые изменения в RHEL 9.2:
- Обновлены серверные и системные пакеты: glibc 2.34, binutils 2.35.2, nginx 1.22, OpenSSL 3.0.7, PCP 6.0.1, Grafana 9.0.9, SELinux 3.5, OpenSCAP 1.3.7, chrony 4.3, frr 8.3.1, vsftpd 3.0.5, powertop 2.15, tuned 2.20.0, Libreswan 4.9, libssh 0.10.4, opencryptoki 3.19.0, NetworkManager 1.42.2, firewalld 1.2, conntrack-tools 1.4.7, xdp-tools 1.3.1, iproute 6.1.0, nvme-cli 2.2.1, libnvme 1.2, samba 4.17.5.
- В состав включены новые версии компиляторов и инструментов для разработчиков: GCC 11.3.1 (отдельно доступен набор GCC Toolset 12), Python 3.11, LLVM Toolset 15.0.7, Rust Toolset 1.66, Go Toolset 1.19.6 , PostgreSQL 15, Git 2.39.1, GDB 10.2, Valgrind 3.19, SystemTap 4.8, Dyninst 12.1.0, Node.js 18.14, mod_security 2.9.6, Apache Tomcat 9.
- В пакетном менеджере dnf реализована команда offline-upgrade для применения обновлений к системе в offline-режиме. Суть offline-обновления в том, что вначале новые пакеты загружаются командной “dnf offline-upgrade download”, после чего выполняется команда “dnf offline-upgrade reboot” для перезагрузки системы в минимальное окружение и установки в нём имеющихся обновлений, не мешая рабочим процессам. После завершения установки обновлений система перезагружается в обычное рабочее окружение. При загрузке пакетов для offline-обновления можно применять фильтры, например, “–advisory”, “–security”, “–bugfix”.
- Добавлен новый пакет synce4l для использования технологии синхронизации частоты SyncE (Synchronous Ethernet), поддерживаемой в некоторых сетевых картах и сетевых коммутаторах, и позволяющей повысить эффективность обмена данными в приложениях RAN (Radio Access Network) за счёт более точной синхронизации времени.
- В инструментарии Clevis, применяемом для автоматического шифрования и расшифровки данных в дисковых разделах, предложена опция “-e”, позволяющая использовать внешний токен вместо ввода пароля для cryptsetup.
- Добавлены политики SELinux для защиты сервисов mptcpd и udftools. Добавлена политика SELinux для сброса привилегий Rsyslog при запуске (для работы Rsyslog теперь используются только минимально необходимые привилегии).
- В криптографической библиотеке NSS прекращена поддержка ключей RSA, размером менее 1023 бит (как для цифровых подписей, так и для шифрования).
- Задействована новая версия NetworkManager (1.42), в которой появилась поддержка балансировки нагрузки через объединённые Ethernet-интерфейсы, управления loopback-интерфейсом, IEEE 802.1X для аутентифицированного доступа к портам коммутаторов, ECMP (equal-cost multi-path), 802.1ad (VLAN stacking, вложенные заголовки и подстановку нескольких тегов VLAN в один кадр Ethernet). Из специфичных для RHEL изменений в NetworkManager отмечено: упрощение управления настройками DNS при соединении к нескольким сетям с разными DNS-серверами, новая опция vlan.protocol (позволяет выбрать 802.1Q или 802.1ad), возможность настройки VLAN для сетевых интерфейсов со статусом unmanaged, поддержка настройки MPTCP (Multipath TCP).
- В пакете nmstate, предоставляющем библиотеку и утилиту nmstatectl для управления сетевыми настройками через декларативный API (состояние сети описывается в форме предопределённой схемы), появилась возможность указания в качестве DNS-серверов локальных адресов IPv6 (например, “fe80::deef:1%enp1s0”), а также добавлена поддержка флагов MPTCP.
- Для всех сетевых интерфейсов реализованы параметры min-mtu и max-mtu для определения доступного диапазона значений MTU.
- В firewalld добавлена поддержка режима запуска failsafe, позволяющего в случае проблем с заданными правилами, откатиться на конфигурацию по умолчанию, не оставляя хост без защиты. Добавлены сервисы с поддержкой протоколов Kodi JSON-RPC, EventServer, netdata, IPFS.
- В ядре при сбросе в лог информации о выявленном SYN flood-е обеспечено указание сведений о принявшем соединение IP-адресе, чтобы упростить определения цели флуда на системах с обработчиками, привязанными к разным IP-адресам.
- В подсистему eBPF (Berkeley Packet Filter) перенесены улучшения, реализованные в ядрах Linux 5.17, 5.18, 5.19 и 6.0. Например, для BPF-программ теперь доступны все возможности, использующие механизм BTF (BPF Type Format), предоставляющий информацию для проверки типов в псевдокоде BPF. Среди прочего добавлена поддержка инструментария CO-RE (Compile Once – Run Everywhere), позволяющего собирать код eBPF-программ только один раз и использовать специальный универсальный загрузчик, адаптирующий загружаемую программу к текущему ядру и типам BTF, что решает проблему с переносимостью скомпилированных eBPF-программ, которые ранее могли использоваться только в той версии ядра, для которой были собраны.
- Расширены возможности утилит tuna, rteval и slat. Например, в tuna добавлен новый интерфейс командной строки для изменения атрибутов приложений и потоков ядра, работы с прерываниями и задачами. В rteval обеспечен показ сводной информации о загрузках программы, потоках и CPU, задействованных для выполнения этих потоков. В oslat добавлены дополнительные опции для измерения задержек.
- NFSv4.1 предоставлена возможность установки NFS-клиентом нескольких соединений к одному серверу для ускорения передачи данных.
Для NFS в состав включена утилита nfsrahead, позволяющая менять одноимённый параметр для точек монтирования, влияющий на производительность операций чтения. - В SSSD (System Security Services Daemon) добавлена поддержка приведения имён домашних каталогов к нижнему регистру символов (через использование подстановки “%h” в атрибуте override_homedir, указываемом в /etc/sssd/sssd.conf). Кроме того, пользователям разрешена смена пароля, хранимого в LDAP (включается через выставление значения shadow для атрибута ldap_pwd_policy в /etc/sssd/sssd.conf).
Добавлена поддержка автоматичного удаления просроченных сертификатов (например, для ACME сертификатов Let’s Encrypt можно указать “ipa-acme-manage pruning –enable –cron “0 0 1 * *”) - Во фреймворк fapolicyd (File Access Policy Daemon), позволяющий определить какие программы можно запускать определённому пользователю, а какие нет, добавлен новый файл конфигурации /etc/fapolicyd/rpm-filter.conf для настройки списка файлов с БД для пакетного менеджера RPM, которые обрабатывает fapolicyd. Например, новый файл конфигурации может использоваться для исключения из политик доступа отдельных приложений, установленных через пакетный менеджер RPM.
- Расширены возможности инструментария для подготовки системных образов, в котором появилась поддержка настройки содержимого (Blueprint) раздела /etc во время генерации образа.
Предложены настройки “[[customizations.files]]” и “[[customizations.directories]]”, позволяющие создавать в /etc свои файлы (или изменять существующие) и каталоги. Добавлена поддержка формирования образов в формате vhd, применяемом в Microsoft Azure, для архитектуры ARM64. - В редакции “RHEL for Edge” в упрощённых установочных образах (Simplified Installer) предоставлена возможность использования инструментария Ignition (альтернатива Cloud-Init). Кроме того, разрешено формирование упрощённых образов без настроек FDO (FIDO Device Onboard).
- В web console задействован новый унифицированный инструментарий для создания blueprint-модификаций и системных образов. Добавлена поддержка автоматической разблокировки шифрованных (LUKS) корневых разделов, используя NBDE (Network-Bound Disk Encryption).
Предоставлена возможность применения криптографических политик DEFAULT:SHA1, LEGACY:AD-SUPPORT и FIPS:OSPP. - Добавлена поддержка автоматического проброса в гостевые системы криптографических устройств, подключаемых во время работы (отсутствующих в момент запуска гостевой системы).
- Добавлен новый пакет passt с реализацией сетевых бэкендов для виртуальных машин (passt) и контейнеров (pasta), работающих в пространстве пользователя.
- Добавлена системная роль для инструментария podman, позволяющая управлять настройками Podman, контейнерами и сервисами systemd, запускающими контейнеры Podman. Расширены возможности системных ролей для Microsoft SQL Server и Microsoft Active Directory.
- В Podman добавлена поддержка генерации событий аудита и реализована возможность использования формата Sigstore для хранения цифровых подписей вместе с образами контейнеров.
- Обновлён инструментарий для управления изолированными контейнерами container-tools, включающий такие пакеты, как Podman, Buildah, Skopeo, crun и runc.
- Добавлена утилита toolbox, позволяющий запустить дополнительное изолированное окружение, которое может быть обустроено произвольным образом при помощи обычного пакетного менеджера DNF. Разработчику достаточно выполнить команду “toolbox create”, после чего в любой момент можно войти в сформированное окружение командой “toolbox enter” и установить любые пакеты при помощи утилиты dnf.
- В GNOME предоставлена возможность отключения смены виртуальных рабочих столов через движение вверх или вниз тремя пальцами на тачпаде.
- Для систем с GPU Aspeed включена поддержка Wayland и решены проблемы с производительностью драйвера для GPU Aspeed.
- Предоставлена возможность настройки контекстного меню, показываемого при нажатии правой кнопки мыши на рабочем столе. Пользователь теперь может добавить в меню элементы для запуска произвольных команд.
- Объявлен устаревшим тулкит GTK 2 и связанные с ним пакеты adwaita-gtk2-theme, gnome-common, gtk2, gtk2-immodules и hexchat. В прошлой версии также был объявлен устаревшим X.org Server (по умолчанию в RHEL 9 предлагается сеанс GNOME на базе Wayland), который планируют удалить в следующей значительной ветке RHEL 10, но сохранить возможность запуска X11-приложений из сеанса Wayland при помощи DDX-сервера XWayland.
- Добавлена большая порция новый драйверов для сетевых устройств, систем хранения и графических чипов. Например, добавлены драйверы для ACPI Video, VirtIO GPIO, GPIO Simulator, NVIDIA Tegra HTE (Hardware Timestamping Engine), Virtio i2c, AMD PMC, NVIDIA sn2201, VXLAN, Marvell OcteonTX2, Marvell RVU, NVIDIA Tegra MGBE, DisplayPort AUX, NVIDIA Tegra (tegra-drm), Intel GVT-g для KVM (kvmgt), HP iLO/iLO2 (hpilo).
- Для архитектуры ARM64 в ядре Linux предоставлена возможность использования страниц памяти, размером 64КБ.
- Добавлена экспериментальная поддержка дискретных видеокарт Intel Arc (DG2/Alchemist). Для включения аппаратного ускорения на подобных видеокартах следует при загрузке указать PCI-идентификтор карты через параметр ядра “i915.force_probe=pci-id”.
- Продолжено предоставление экспериментальной (Technology Preview) поддержки KTLS (реализация TLS на уровне ядра), VPN WireGuard, Intel SGX (Software Guard Extensions), Intel IDXD (Data Streaming Accelerator), DAX (Direct Access) для ext4 и XFS, AMD SEV и SEV-ES в гипервизоре KVM, сервиса systemd-resolved, менеджера хранилищ Stratis, Sigstore для верификации контейнеров по цифровым подписям, пакета с графическим редактором GIMP 2.99.8, настройки MPTCP (Multipath TCP) через NetworkManager, DNSSEC в IdM, сервера ACME (Automated Certificate Management Environment), virtio-mem, гипервизора KVM для ARM64, установки на NVMe поверх Fibre Channel, Socket API для TuneD, Soft-iWARP (Internet Wide-area RDMA Protocol), GNOME для ARM64 и IBM Z.