Началось бета-тестирование Red Hat Enterprise Linux 9
Компания Red Hat представила первую бета-версию дистрибутива Red Hat Enterprise Linux 9. Готовые установочные образы подготовлены для зарегистрированных пользователей Red Hat Customer Portal (для оценки функциональности также можно использовать iso-образы CentOS Stream 9). Репозитории с пакетами доступны без ограничений для архитектур x86_64, s390x (IBM System z), ppc64le и Aarch64 (ARM64). Исходные тексты rpm-пакетов Red Hat Enterprise Linux 9 размещены в Git-репозиторий CentOS. Релиз ожидается в первой половине следующего года. В соответствии с 10-летним циклом поддержки дистрибутива RHEL 9 будет сопровождаться до 2032 года. Обновления для RHEL 7 продолжат выпускаться до 30 июня 2024 года, RHEL 8 — до 31 мая 2029 года.
Дистрибутив Red Hat Enterprise Linux 9 примечателен переходом на более открытый процесс разработки. В отличие от прошлых веток, в качестве основы для построения дистрибутива использована пакетная база CentOS Stream 9. CentOS Stream позиционируется как upstream-проект для RHEL, дающий возможность сторонним участникам контролировать подготовку пакетов для RHEL, предлагать свои изменения и влиять на принимаемые решения. Раньше в качестве основы для новой ветки RHEL использовался снапшот одного из выпусков Fedora, который дорабатывался и стабилизировался за закрытыми дверями, без возможности контролировать ход разработки и принимаемые решения. Теперь на основе снапшота Fedora при участии сообщества формируется ветка CentOS Stream, в которой проводится подготовительная работа и формируется базис для новой значительной ветки RHEL.
Ключевые изменения:
- Обновлено системное окружение и сборочный инструментарий. Для сборки пакетов задействован GCC 11. Стандартная Си-библиотека обновлена до glibc 2.34. Пакет с ядром Linux построен на базе выпуска 5.14. Пакетный менеджер RPM обновлён до версии 4.16 с поддержкой контроля целостности через fapolicyd.
- Завершена миграция дистрибутива на Python 3. По умолчанию предложена ветка Python 3.9. Поставка Python 2 прекращена.
- Рабочий стол основан на GNOME 40 (в RHEL 8 поставлялся GNOME 3.28) и библиотеке GTK 4. В GNOME 40 виртуальные рабочие столы в обзорном режиме (Activities Overview) переведены на горизонтальную ориентацию и отображаются в виде непрерывно прокручиваемой слева направо цепочки. На каждом рабочем столе, показываемом в обзорном режиме, наглядно представлены имеющиеся окна, для которых применяется динамическое панорамирование и масштабирование при взаимодействии пользователя. Обеспечен бесшовный переход между списком программ и виртуальными рабочими столами.
В GNOME задействован обработчик power-profiles-daemon, предоставляющий возможность переключения на лету между режимом экономии энергии, режимом сбалансированного энергопотребления и режимом максимальной производительности.
Все звуковые потоки переведены на мультимедийный сервер PipeWire, который теперь используется по умолчанию вместо PulseAudio и JACK. Использование PipeWire позволяет в обычной настольной редакции предоставить возможности профессиональной обработки звука, избавиться от фрагментации и унифицировать звуковую инфраструктуру для разных применений.
По умолчанию скрыто загрузочное меню GRUB, если RHEL является единственным установленным в системе дистрибутивом и если прошлая загрузка прошла без сбоев. Для показа меню во время загрузки достаточно удерживать клавишу Shift или несколько раз нажать клавишу Esc или F8. Из изменений в загрузчике также отмечается размещение файлов конфигурации GRUB для всех архитектур в одном каталоге /boot/grub2/ (файл /boot/efi/EFI/redhat/grub.cfg теперь является символической ссылкой на /boot/grub2/grub.cfg), т.е. одну и ту же установленную систему можно загружать как с использованием EFI, таки и BIOS.
Компоненты для поддержки различных языков вынесены в пакеты langpacks, позволяющие варьировать уровень устанавливаемой языковой поддержки. Например, в пакете langpacks-core-font предлагаются только шрифты, в langpacks-core — локаль для glibc, базовый шрифт и метод ввода, а в langpacks — переводы, дополнительные шрифты и словари для проверки правописания.
Для одновременной установки разных версий программ и более частого формирования обновления применяются компоненты Application Streams, которые теперь могут формироваться с использованием всех поддерживаемых в RHEL вариантов распространения пакетов, включая RPM-пакеты, модули (сгруппированные в модули наборы rpm-пакетов), SCL (Software Collection) и Flatpak.
Обновлены компоненты для обеспечения безопасности. В дистрибутиве задействована новая ветка криптографической библиотеки OpenSSL 3.0. По молчанию включены более современные и надёжные криптографические алгоритмы (например, запрещено применение SHA-1 в TLS, DTLS, SSH, IKEv2 и Kerberos, отключены TLS 1.0, TLS 1.1, DTLS 1.0, RC4, Camellia, DSA, 3DES и FFDHE-1024). Пакет OpenSSH обновлён до версии 8.6p1. Cyrus SASL переведён на бэкенд GDBM вместо Berkeley DB. В библиотеках NSS (Network Security Services) прекращена поддержка формата DBM (Berkeley DB). GnuTLS обновлён до версии 3.7.2.
Значительно повышена производительность SELinux и снижено потребление памяти. В /etc/selinux/config убрана поддержка настройки «SELINUX=disabled» для отключения SELinux (указанная настройка теперь только отключает загрузку политик, а для фактического отключения функциональности SELinux теперь требуется передача ядру параметра «selinux=0»).
- Добавлена экспериментальная поддержка VPN WireGuard.
По умолчанию запрещён вход по SSH под пользователем root.
Объявлены устаревшими инструменты управления пакетным фильтром iptables-nft (утилиты iptables, ip6tables, ebtables и arptables) и ipset. Для управления межсетевым экраном теперь рекомендуется использовать nftables.
В состав включён новый демон mptcpd для настройки MPTCP (MultiPath TCP), расширения протокола TCP для организации работы TCP-соединения с доставкой пакетов одновременно по нескольким маршрутам через разные сетевые интерфейсы, привязанные к разным IP-адресам. Использование mptcpd даёт возможность настроить MPTCP без использования утилиты iproute2.
Удалён пакет network-scripts, для настройки сетевых соединений следует использовать NetworkManager. Поддержка формата настроек ifcfg сохранена, но NetworkManager по умолчанию использует формат на основе файла keyfile.
- В состав включены новые версии компиляторов и инструментов для разработчиков: 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.
- Обновлены серверные пакеты Apache HTTP Server 2.4, nginx 1.20, Varnish Cache 6.5, Squid 5.1.
Обновлены СУБД MariaDB 10.5, MySQL 8.0, PostgreSQL 13, Redis 6.2.
Для сборки эмулятора QEMU по умолчанию задействован Clang, что позволило применить в гипервизоре KVM некоторые дополнительные механизмы защиты, такие как SafeStack для защиты от методов эксплуатации на основе возвратно-ориентированного программирования (ROP — Return-Oriented Programming).
Расширены возможности web-консоли: добавлены дополнительные метрики производительности для выявления узких мест (CPU, память, диск, сетевые ресурсы), упрощён экспорт метрик для визуализация при помощи Grafana, добавлена возможность управления live-патчами к ядру, предоставлена поддержка аутентификации через смарт-карты (в том числе для sudo и SSH).
В SSSD (System Security Services Daemon) повышена детализация логов, например, к событиям теперь прикрепляется время завершения задачи и отражается поток аутентификации. Добавлены функции поиска для анализа проблем с настройками и производительностью.
Расширена поддержка IMA (Integrity Measurement Architecture) для проверки целостности компонентов операционной системы по цифровым подписям и хэшам.
По умолчанию задействована единая унифицированная иерархия cgroup (cgroup v2). Сgroups v2 можно использовать, например, для ограничения потребления памяти, ресурсов CPU и ввода/вывода. Ключевым отличием cgroups v2 от v1 является применение общей иерархии cgroups для всех видов ресурсов, вместо раздельных иерархий для распределения ресурсов CPU, для регулирования потребления памяти и для ввода/вывода. Раздельные иерархии приводили к трудностям организации взаимодействия между обработчиками и к дополнительным затратам ресурсов ядра при применении правил для процесса, упоминаемого в разных иерархиях.
Добавлена поддержка синхронизации точного времени на базе протокола NTS (Network Time Security), который использует элементы инфраструктуры открытых ключей (PKI) и позволяет использовать TLS и аутентифицированное шифрование AEAD (Authenticated Encryption with Associated Data) для криптографической защиты взаимодействия клиента и сервера по протоколу NTP (Network Time Protocol). NTP-сервер chrony обновлён до версии 4.1.
Добавлены новые системные роли Ansible для автоматизации установки, настройки и запуска Postfix, Microsoft SQL Server, VPN-туннелей и сервиса timesync. Добавлена новая роль Ansible для поддержки разделов LVM (Logical Volume Manager) VDO (Virtual Data Optimizer).
Обеспечена экспериментальная (Technology Preview) поддержка KTLS (реализация TLS на уровне ядра), Intel SGX (Software Guard Extensions), DAX (Direct Access) для ext4 и XFS, поддержка AMD SEV и SEV-ES в гипервизоре KVM.
Включены изменения, связанные с работой по переводу разрабатываемого в Red Hat кода, документации и web-ресурсов на использование более инклюзивной терминологии, подразумевающий отказ от употреблеения слов master, slave, blacklist и whitelist.
Источник: http://www.opennet.ru/opennews/art.shtml? num=56095
© OpenNet