Компания Red Hat обяви публикуването на дистрибутива Red Hat Enterprise Linux 9.4. Готовите инсталационни образи са достъпни за регистрирани потребители на Red Hat Customer Portal (за оценка на функционалността могат да се използват и iso-образи на CentOS Stream 9 и безплатни версии на RHEL за разработчици). Издаването е създадено за архитектури x86_64, s390x (IBM System z), ppc64le и Aarch64 (ARM64).
Клонът RHEL 9 се развива с по-отворен процес на разработка и използва като основа пакетната база CentOS Stream 9. CentOS Stream е позициониран като upstream-проект за RHEL, предоставяйки възможност на външни участници да контролират подготовката на пакети за RHEL, да предлагат свои промени и да влияят на взетите решения. В съответствие с 10-годишния цикъл на поддръжка, дистрибутивът RHEL 9 ще бъде поддържан до 2032 година.
Изходните текстове на rpm-пакетите RHEL 9.4 не са публикувани в публичен репозиторий git.centos.org и се предоставят на клиентите на компанията само през затворена част на сайта, на която действа потребителското споразумение (EULA), което забранява преразпределението на тези данни, което не позволява използването на тези пакети за създаване на производни дистрибуции. Изходните текстове остават достъпни в репозитория на CentOS Stream, но той не е напълно синхронизиран с RHEL и в него не винаги най-новите версии на пакетите съвпадат с пакетите от RHEL. Rocky Linux, Oracle и SUSE възпроизвеждат изходните текстове на rpm-пакетите от изданията RHEL в рамките на проекта OpenELA.
Ключови промени в RHEL 9.4:
- Постигната е пълна поддръжка на технологията за създаване на изолирани анклави Intel SGX (Software Guard Extensions). Поддържат се версии SGX 1 и 2, позволяващи използването на механизми FLC (Flexible Launch Control) и EDMM (Enclave Dynamic Memory Management) за промяна на правата на достъп до отделни страници на паметта на анклава, динамично добавяне/премахване на страници памет до анклава и разширяване на анклава.
- Преведеният драйвер IDXD (Data Streaming Accelerator) е обявен за стабилен, предназначен за активиране на ускорители за предаване на данни, вградени в CPU на Intel. По-рано SGX и IDXD бяха отнесени към експерименталните възможности (Technology Preview).
- Реализацията на подсистемата eBPF е синхронизирана с ядрото Linux 6.6 (в предходното издание беше използвана реализация на eBPF от ядрото Linux 6.3).
- В 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) с нови версии на 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 (Common Intermediate Language) е добавена поддръжка на правила „deny“ и ключови думи „notself“ и „other“. Добавен е изпълняем файл getpolicyload за показване на броя на рестартиранията на правилата SELinux. Под защита на SELinux са преминали услугите nvme-stas, rust-afterburn, rust-coreos-installer и bootc, които по-рано изпълняваха режим unconfined_service_t. Добавени са правила SELinux за SAP HANA. Добавен е новия сервис chronyd-restricted, защитен с помощта на SELinux. Добавен е пакет grafana-selinux за стартиране на grafana с защита SELinux.
- Регистраторът и верификаторът Keylime, използвани за удостоверяване и непрекъснато наблюдение на целостта на външните системи, вече могат да се стартират в контейнери, изолирани от основната система.
- В системата за водене на логове Rsyslog е предоставена възможност за промяна на настройки за криптиране за TLS/SSL и са добавени допълнителни опции за сброс на привилегии.
- В OpenSSL е предоставена възможност за разполагане на файлове с настройки TLS в отделна директория /etc/pki/tls/openssl.d, което позволява да се преопределят параметрите на допълнителните криптографски модули без да се променя основния файл на конфигурацията OpenSSL.
- В SSSD (System Security Services Daemon) е предоставена възможност за включване и конфигуриране на безпаролна автентикация, използвайки датчици за биометрични данни, които поддържат спецификацията FIDO2, например, устройства YubiKey.
- Добавена е експериментална команда «podman build farm» за създаване на образи на контейнери наведнъж за няколко архитектури. В Podman е добавена пълна поддръжка на бекенд, базиран на SQLite, и е предоставена възможност за използване на модули containers.conf за селективно зареждане на настройки. В Containerfile са разрешени многострочни инструкции HereDoc. Обявен е за остарял мрежовият стек CNI (Container Network Interface). Чрез командата «podman machine» е реализирана възможността за пренасочване на USB устройства към виртуални машини QEMU.
- В IdM (Identity Management) е предоставена възможност за включване на задължителна двуфакторна автентикация за LDAP клиенти, използвайки еднократни пароли (OTP). Стабилизиран е API IdM, който преди това се представяше като експериментален. В 389 Directory Server е добавена поддръжка на протокола HAProxy, което позволява точно определяне на IP адресите на клиентите, които се свързват през прокси.
- В сборщика на образи RHEL е предоставена възможност за указване на произволни точки на монтиране и създаване на различни режими на разделяне (auto-lvm, lvm, raw).
- До версия 1.0.0 е обновена реализацията на протокола synce4l, която осигурява поддръжка на технологията за синхронизация на честотата SyncE (Synchronous Ethernet), поддържана от някои мрежови карти и комутатори, и позволяваща повишаване на ефективността на обмена на данни в приложения RAN (Radio Access Network) чрез по-точна синхронизация на времето. Добавена е поддръжка на интерфейса DPLL (Digital Phase Locked Loop), предоставен от ядрото.
- В подсистемата nftables е преместена възможността за проверка на полета на вътрешни заглавия на пакети, предавани през тунели. В утилитата nft е добавена възможността за използване на командата «nft reset» за нулиране на състоянията на правила nftables, като бройчици на пакети и стойности на квоти. В firewalld е спряно премахването на правила, добавени чрез iptables, ако в firewalld се използва бекенд nftables и няма правила, създадени с опция «—direct».
- В утилитата ss, която е част от пакета iproute2, е добавена опция «—bound-inactive» за показване на неактивни мрежови сокети TCP, които са прикрепени към IP адрес и мрежовия порт (викан е обаждане bind), но не са свързани (обаждане connect) или не са преведени в режим на изчакване на свързване (обаждане listen).
- В NetworkManager е добавена възможността за промяна на броя на каналите (опашки на пакети, свързани с обработчици на прекъсвания) за мрежовите интерфейси и настройката на режима SwitchDev, позволяваща делегиране на операции за пренасочване на кадри и обработка на мрежови пакети на специализирани хардуерни чипове. Добавена е поддръжка за мрежови интерфейси MACsec. За безжични връзки е предоставена възможността за назначаване на отделен постоянен MAC адрес (режим stable-ssid).
- В Nmstate е осигурено създаването на YAML файл за връщане към предишно състояние на настройките. За управление на приоритетите в агрегирани мрежови интерфейси (bond) е добавено свойството priority. Добавени са допълнителни атрибути за VLAN: registration-protocol, mvrp, reorder-headers и loose-binding. Предоставена е възможността за настройка на VLAN тагове на мрежови устройства с поддръжка за SR-IOV (Single Root I/O Virtualization).
- Върнат е модулът на ядрото с реализация на алгоритъма за контрол на претоварването TCP Illinois, който средно позволява постигане на по-висока пропускателна способност и по-справедливо разпределение на ресурсите.
- Разширени са възможностите на утилитите rteval, rtla и cyclicdeadline. В rteval е добавена възможността за използване на префиксите «+» и «-» за прикрепяне и открепяне на ядра CPU от списъка на наблюдаваните ядра (measurement-cpulist). Утилитата rtla е актуализирана до състояние, съответстващо на ядрото Linux 6.6. Добавена е опцията «rtla -C» за прикрепяне към потоци на допълнителни cgroup. В утилитата cyclicdeadline е добавена възможността за визуализация на закъсненията под формата на хистограма.
- Добавена е възможността за задаване на максимален размер на ФС при динамично увеличение на размера на ФС от сервиза stratisd, което позволява да се избегне спад в производителността след неконтролирано увеличаване на размера на XFS.
- В утилитата lvconvert е добавена поддръжка за преобразуване на стандартни логически томове (LV) в вариант, допускащ динамическо разпределение на пространство в хранилището (thin provisioning).
- В multipathd е добавена поддръжка за обработка на събития FPIN-Li (Fabric Performance Impact Notification) за оптимизация на достъпа до NVMe устройства. В секцията за настройки по подразбиране в multipath.conf са добавени параметрите max_retries и auto_resize. За Device-mapper-multipath са добавени настройки за използване на масив HPE Alletra 9000 NVMeFC и поддръжка на режима ANA (Asymmetric Namespace Access) в NVMeoFC.
- В стабилната версия е преведена възможността за зареждане от адаптери NVMe/FC (Non-volatile Memory Express (NVMe) over Fibre Channel).
- В уеб конзолата е опростено управлението на хранилищата и промяната на размера на разделите. Добавена е поддръжка за генериране на shell скриптове и Ansible сценарии за конфигуриране на kdump. В секцията Virtual Machines е реализирана възможността за добавяне на отворени SSH ключове и свързване на вече форматирани блокови устройства. За свързване към виртуални машини вместо SPICE протокола е използван VNC.
- Добавени са нови системни роли за стартиране, управление и конфигуриране на fapolicyd и Microsoft SQL Server 2022. Добавена е роля snapshot за създаване и управление на LVM snapshot-ове. В роля sshd е добавена възможност за удостоверяване с помощта на сертификати.
- Стабилизирана е поддръжката на виртуализация на системи ARM64 с използване на хипервизор KVM.
- Добавена е поддръжка за миграция на виртуални машини в режим Multi-FD (multiple file descriptors), при който при пренасянето на виртуалната машина се установяват няколко паралелни връзки, което позволява да се ускори предаването на данни при наличие на високоскоростно мрежово свързване (20 Gbps и повече).
- Повишена е производителността на live миграцията в режим Postcopy, при който виртуалната среда се стартира почти веднага, а всички липсващи данни се зареждат при достъп до некопирани страници на паметта.
- Добавена е утилита toolbx, която позволява стартиране на допълнително изолирано околна, което може да бъде проектирано по произволен начин с помощта на обикновен пакетен мениджър DNF и да се използва за инсталиране на експериментални пакети без влияние върху основната система.
- Добавена е поддръжка за параметри на командния ред на ядрото на Linux: accept_memory, ia32_emulation, arm64.nomops, cgroup_favordynmods, early_page_ext, fw_devlink.sync_state, kunit.enable, mtrr=debug, rcupdate.rcu_cpu_stall_cputime, rcupdate.rcu_exp_stall_task_details, spec_rstack_overflow и workqueue.unbound_cpus.
- Добавени са нови параметри sysctl: io_uring_group и numa_balancing_promote_rate_limit_MBps.
- Използването на механизма io_uring по подразбиране е забранено за всички процеси (sysctl io_uring_disabled=2).
- Разширена поддръжка на оборудването. Добавени са драйвери за поддръжка на технологии 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.
- Продължава предоставянето на експериментална (Technology Preview) поддръжка:
- 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.
Източник: opennet.ru
