Представен е бета версията на дистрибуцията AlmaLinux 9, изградена с пакети от клона Red Hat Enterprise Linux 9 и съдържаща всички изменения, предложени в това издание. Сборките са подготвени за архитектури x86_64, ARM64, s390x и ppc64le под формата на загрузочен (780 МБ), минимален (1.7 ГБ) и пълен образ (8 ГБ). Очаква се издаването на RHEL 9 и AlmaLinux 9 в началото на май.
Дистрибуцията е идентична с RHEL по функционалност, с изключение на промените, свързани с ребрандирането и премахването на специфични за RHEL пакети, като redhat-*, insights-client и subscription-manager-migration*. AlmaLinux е безплатен за всички категории потребители, развива се с участието на общността и използва модел на управление, подобен на организацията на проекта Fedora. Създателите на AlmaLinux се опитаха да постигнат оптимален баланс между корпоративна поддръжка и интересите на общността — от една страна, за разработката са привлечени ресурси и разработчици от компания CloudLinux, която има значителен опит в поддръжката на RHEL разклонения, а от друга страна, проектът е прозрачен и под контрола на общността.
Дистрибуцията AlmaLinux е основана от компания CloudLinux, която, въпреки ангажирането на своите ресурси и разработчици, предаде проекта на отделна неправителствена организация AlmaLinux OS Foundation за разработка на неутрална платформа с участието на общността. За развитието на проекта е предвиден бюджет от един милион долара годишно. Всички надстройки на AlmaLinux се публикуват под свободни лицензи.
Основните промени в AlmaLinux 9 и RHEL 9 в сравнение с клона RHEL 8:
- Обновено е системното обкръжение и инструментариумът за изграждане. За изграждане на пакети е използван GCC 11. Стандартната C библиотека е обновена до 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 — преводи, допълнителни шрифтове и речници за проверка на правописа.
- Обновените компоненти за осигуряване на сигурност. В дистрибуцията е активирана нова версия на криптографската библиотека 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.48, 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).
- В SSSD (System Security Services Daemon) е увеличена детайлността на логовете, например, към събитията сега се прикрепя времето на завършване на задачата и се отразява потокът на удостоверяване. Добавени са функции за търсене за анализ на проблеми с конфигурации и производителност.
- Разширена е поддръжката на IMA (Integrity Measurement Architecture) за проверка на целостта на компонентите на операционната система по цифрови подписи и хешове.
- По подразбиране е задействана единна унифицирана йерархия cgroup (cgroup v2). Cgroups 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.
- Осигурена е експериментална поддръжка за KTLS (реализация на TLS на нивото на ядрото), Intel SGX (Software Guard Extensions), DAX (Direct Access) за ext4 и XFS, поддръжка на AMD SEV и SEV-ES в хипервизора KVM.
Източник: opennet.ru
