Пачалося бэта-тэставанне 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 і FFD) . Пакет OpenSSH абноўлены да версіі 1024p8.6. Cyrus SASL пераведзены на бэкэнд GDBM замест Berkeley DB. У бібліятэках NSS (Network Security Services) спынена падтрымка фармату DBM (Berkeley DB). GnuTLS абноўлены да версіі 1.
  • Значна падвышана прадукцыйнасць 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. 3.0, Subversion 2.31, binutils 1.14, CMake 2.35, Maven 3.20.2, Ant 3.6.
  • Абноўлены серверныя пакеты 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) для крыптаграфічнай абароны ўзаемадзеяння кліента і сервера па пратаколе 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.

Крыніца: opennet.ru

Дадаць каментар