Впервые в истории клонирования Red Hat Enterprise Linux практически одновременно выпущены релизы Red Hat Enterprise Linux 9.1 и Alma Linux 9.1. Euro, Rocky, Oracle и VzLinux еще не изготовили версии на базе RHEL 9.1.
Список ключевых изменений по данным opennet:
- Обновлены серверные и системные пакеты: firewalld 1.1.1, chrony 4.2, unbound 1.16.2, frr 8.2.2, Apache httpd 2.4.53, opencryptoki 3.18.0, powerpc-utils 1.3.10, libvpd 2.2.9, lsvpd 1.7.14, ppc64-diag 2.7, PCP 5.3.7, Grafana 7.5.13, samba 4.16.1.
- В состав включены новые версии компиляторов и инструментов для разработчиков: GCC 11.2.1, GCC Toolset 12, LLVM Toolset 14.0.6, binutils 2.35.2, PHP 8.1, Ruby 3.1, Node.js 18, Rust Toolset 1.62, Go Toolset 1.18.2, Maven 3.8, java-17-openjdk (также продолжают поставляться java-11-openjdk и java-1.8.0-openjdk), .NET 7.0, GDB 10.2, Valgrind 3.19, SystemTap 4.7, Dyninst 12.1.0, elfutils 0.187.
- В подсистему eBPF (Berkeley Packet Filter) перенесены улучшения, реализованные в ядрах Linux 5.15 и 5.16. Например, для BPF-программ реализована возможность запроса и обработки событий таймера, возможность получать и устанавливать опции сокетов для setsockopt, поддержка вызова функций модулей ядра, предложена вероятностная структура хранения данных (BPF map) bloom filter, добавлена возможность привязки тегов к параметрам функций.
- Набор патчей для систем реального времени, применяемый в ядре kernel-rt, обновлён до состояния, соответствующего ядру 5.15-rt.
- Обновлена реализация протокола MPTCP (MultiPath TCP), применяемого для организации работы TCP-соединения с доставкой пакетов одновременно по нескольким маршрутам через разные сетевые интерфейсы. Изменения перенесены из ядра Linux 5.19 (например, добавлена поддержка отката соединений MPTCP на обычный TCP и предложен API для управления потоками MPTCP из пространства пользователя).
- На системах с 64-разрядными процессорами ARM, AMD и Intel предоставлена возможность изменения работы режима Real-Time в ядре во время работы через запись названия режима в файл «/sys/kernel/debug/sched/preempt» или во время загрузки через параметр ядра «preempt=» (поддерживаются режимы none, voluntary и full).
- Настройки загрузчика GRUB изменены для скрытия загрузочного меню по умолчанию, при этом меню показывается, если прошлая загрузка завершилась ошибкой. Для отображения меню во время загрузки можно удерживать клавишу Shift или периодически нажимать клавиши Esс или F8. Для отключения скрытия можно воспользоваться командой «grub2-editenv - unset menu_auto_hide».
- В драйвер PTP (Precision Time Protocol) добавлена поддержка создания виртуальных аппаратных часов (PHC, PTP Hardware Clocks).
- Добавлена команда modulesync, которая загружает RPM-пакеты из модулей и создаёт в рабочем каталоге репозиторий с метаданными, необходимыми для установки модульных пакетов
- В tuned, сервисе для отслеживания состояния системы и оптимизации профилей достижения максимальной производительности учётом текущей нагрузки, предоставлена возможность использования пакета tuned-profiles-realtime для изоляции ядер CPU и предоставления потокам приложения всех доступных ресурсов.
- В NetworkManager реализован перевод профилей соединений из формата настроек ifcfg (/etc/sysconfig/network-scripts/ifcfg-*) в формат на основе файла keyfile. Для миграции профилей можно использовать команду «nmcli connection migrate».
- Инструментарий SELinux обновлён до выпуска 3.4, в котором повышена производительность повторной установки меток (relabel) за счёт распараллеливания операций, в утилиту semodule добавлена опция "-m" ("--checksum") для получения SHA256-хэшей модулей, mcstrans переведён на библиотеку PCRE2. Добавлены новые утилиты работы с политиками доступа: sepol_check_access, sepol_compute_av, sepol_compute_member, sepol_compute_relabel, sepol_validate_transition. Добавлены политики SELinux для защиты сервисов ksm, nm-priv-helper, rhcd, stalld, systemd-network-generator, targetclid и wg-quick.
- Предоставлена возможность использования клиента Clevis (clevis-luks-systemd) для автоматической разблокировки дисковых разделов, зашифрованных при помощи LUKS и монтируемых на позднем этапе загрузки, без необходимости использования команды «systemctl enable clevis-luks-askpass.path».
- Расширены возможности инструментария для подготовки системных образов, в котором появилась поддержка загрузки образов в GCP (Google Cloud Platform), помещения образа напрямую в реестр контейнеров, настройки размера раздела /boot и корректировки параметров (Blueprint) во время генерации образа (например, добавление пакетов и создание пользователей).
- Добавлена утилита keylime для аттестации (подтверждения подлинности и непрерывного отслеживания целостности) внешней системы, используя технологию TPM (Trusted Platform Module), например, чтобы удостовериться в подлинности Edge- и IoT-устройств, находящихся в неподконтрольном месте, в котором возможен несанкционированный доступ.
- В редакции «RHEL for Edge» предоставлена возможность использования утилиты fdo-admin для настройки сервисов FDO (FIDO Device Onboard) и создания для них сертификатов и ключей.
- В SSSD (System Security Services Daemon) добавлена поддержка кэширования SID-запросов (например, проверки GID/UID) в оперативной памяти, что позволило ускорить операции копирования большого числа файлов через сервер Samba. Обеспечена поддержка интеграции с Windows Server 2022.
- В OpenSSH минимальный размер RSA-ключей по умолчанию ограничен 2048 битами, а в библиотеках NSS прекращена поддержка ключей RSA, размером менее 1023 бит. Для настройки собственных ограничений в OpenSSH добавлен параметр RequiredRSASize. Добавлена поддержка метода обмена ключами sntrup761x25519-sha512@openssh.com, стойкого ко взломам на квантовых компьютерах.
- В инструментарий ReaR (Relax-and-Recover) добавлена возможность выполнения произвольных команд до и после восстановления.
- В драйвере для Ethernet-адаптеров Intel E800 реализована поддержка протоколов iWARP и RoCE.
- Добавлен новый пакет httpd-core, в который перемещён базовый набор компонентов Apache httpd, достаточный для запуска HTTP-сервера и связанный с минимальным числом зависимостей. В пакет httpd добавлены дополнительные модули, такие как mod_systemd и mod_brotli, а также включена документация.
- Добавлен новый пакет xmlstarlet, включающий утилиты для разбора, преобразования, проверки, извлечения данных и редактирования XML-файлов, похожие на grep, sed, awk, diff, patch и join, но не для текстовых файлов, а для XML.
- Расширены возможности системных ролей, например, в роль network добавлена поддержка настройки правил маршрутизации и использования API nmstate, в роль logging добавлена поддержка фильтрации по регулярным выражениям (startmsg.regex, endmsg.regex), в роль storage добавлена поддержка разделов, для которых динамически выделяется место в хранилище («thin provisioning»), в роль sshd добавлена возможность управления через /etc/ssh/sshd_config, в роль metrics добавлен экспорт статистики о производительности Postfix, в роли firewall реализована возможность перезаписи прошлой конфигурации и предоставлена поддержка добавления, обновления и удаления сервисов в зависимости от состояния.
- Обновлён инструментарий для управления изолированными контейнерами, включающий такие пакеты, как Podman, Buildah, Skopeo, crun и runc. Добавлена поддержка GitLab Runner в контейнерах с runtime Podman. Для настройки сетевой подсистемы контейнеров предоставлена утилита netavark и DNS-сервер Aardvark.
- В mdevctl добавлена поддержка команды ap-check для настройки проброса в виртуальные машины доступа к криптоакселераторам.
- Добавлена предварительная (Technology Preview) возможность аутентификации пользователей с использованием внешних провайдеров (IdP, identity provider), поддерживающих расширение протокола OAuth 2.0 «Device Authorization Grant» для предоставления OAuth-токенов доступа устройствам без использования браузера.
- Для сеанса GNOME на базе Wayland предоставлены сборки Firefox, использующие Wayland. Сборки на базе X11, выполняемые в Wayland-окружении при помощи компонента XWayland, вынесены в отдельный пакет firefox-x11. Сеанс на базе Wayland по умолчанию активирован для систем с GPU Matrox (ранее Wayland не использовался с GPU Matrox из-за ограничений и проблем с производительностью, которые теперь решены).
- Реализована поддержка GPU, интегрированных в процессоры Intel Core 12-поколения, включая Intel Core i3 12100T - i9 12900KS, Intel Pentium Gold G7400 и G7400T, Intel Celeron G6900 и G6900T Intel Core i5-12450HX - i9-12950HX и Intel Core i3-1220P - i7-1280P. Добавлена поддержка GPU AMD Radeon RX 6[345]00 и AMD Ryzen 5/7/9 6[689]00.
- Для управления включением защиты от уязвимостей в механизме MMIO (Memory Mapped Input Output) реализован загрузочный параметр ядра «mmio_stale_data», который может принимать значения «full» (включение чистки буферов при переходе в пространство пользователя и в VM), «full,nosmt» (как «full» + дополнительно отключается SMT/Hyper-Threads) и «off» (защита отключена).
- Для управления включением защиты от уязвимости Retbleed реализован загрузочный параметр ядра «retbleed», через который можно отключить защиту («off») или выбрать алгоритм блокирования уязвимости (auto, nosmt, ibpb, unret).
- В загрузочном параметре ядра acpi_sleep реализована поддержка новых опций для управления переходом в спящий режим: s3_bios, s3_mode, s3_beep, s4_hwsig, s4_nohwsig, old_ordering, nonvs, sci_force_enable и nobl.
- Добавлена большая порция новых драйверов для сетевых устройств, систем хранения и графических чипов.
- Продолжено предоставление экспериментальной (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, сервера ACME (Automated Certificate Management Environment), virtio-mem, гипервизора KVM для ARM64.
- Объявлен устаревшим тулкит GTK 2 и связанные с ним пакеты adwaita-gtk2-theme, gnome-common, gtk2, gtk2-immodules и hexchat. Объявлен устаревшим X.org Server (по умолчанию в RHEL 9 предлагается сеанс GNOME на базе Wayland), который планируют удалить в следующей значительной ветке RHEL, но сохранить возможность запуска X11-приложений из сеанса Wayland при помощи DDX-сервера XWayland.