Началось тестирование бета-версии дистрибутива Fedora Linux 40. Бета-выпуск ознаменовал переход на финальную стадию тестирования, при которой допускается только исправление критических ошибок. Релиз запланирован на 23 апреля. Выпуск охватывает Fedora Workstation, Fedora Server, Fedora Silverblue, Fedora IoT, Fedora CoreOS, Fedora Cloud Base, Fedora Onyx и Live-сборки, поставляемые в форме спинов c пользовательскими окружениями KDE Plasma 5, Xfce, MATE, Cinnamon, LXDE, Phosh, LXQt, Budgie и Sway . Сборки сформированы для архитектур x86_64, Power64 и ARM64 (AArch64).
Наиболее значимые изменения в Fedora Linux 40:
- Рабочий стол в Fedora Workstation обновлён до выпуска GNOME 46.
- Редакция с рабочим столом KDE обновлена до выпуска KDE 6, использующего протокол Wayland. Поддержка сеанса на основе протокола X11 прекращена, а для запуска X11-приложений в сеансе на основе Wayland задействован DDX-сервер XWayland. В качестве причины прекращения поддержки сеанса с X11 упоминается перевод X.Org-сервера в RHEL 9 в категорию устаревших и решение полностью удалить его в будущем значительном выпуске RHEL 10. Среди факторов, способствовавших оставлению только поддержки Wayland называется выполненная в Fedora 36 замена драйверов fbdev на драйвер simpledrm, корректно работающий с Wayland, а также появление поддержки Wayland в проприетарных драйверах NVIDIA.
- Атомарно обновляемые пользовательские дистрибутивы, развиваемые проектом Fedora, объединены в единое семейство под брендом Atomic Desktops, но давно существующие атомарные сборки сохранили старое название. В итоге, Fedora Silverblue на базе GNOME и Fedora Kinoite на базе KDE, а также Fedora CoreOS и Fedora IoT, сохранили прежние имена, но новые сборки Fedora Sericea и Fedora Onyx теперь распространяются под именами Fedora Sway Atomic и Fedora Budgie Atomic.
- Обновлены версии пакетов, среди которых LLVM 18, GCC 14, binutils 2.41, glibc 2.39, gdb 14.1, PHP 8.3, Ruby 3.3, Go 1.22, Java 21, AMD ROCm 6, Boost 1.83, 389 Directory Server 3.0.0, Podman 5, PostgreSQL 16, TBB (Thread Building Blocks) 2021.8, SQLAlchemy 2, Kubernetes 1.29.
- В конфигураторе NetworkManager по умолчанию включён механизм определения конфликта IPv4-адресов в локальной сети (RFC 5227), суть которого в отправке проверочного ARM-пакета перед прикреплением адреса к сетевому интерфейсу (если получен ответ, значит адрес занят и не будет назначен). Для беспроводных соединений обеспечено назначение отдельного постоянного MAC-адреса (режим stable-ssid в NetworkManager).
- Сборочные инструментарии Mock (mock-core-configs), Koji и Copr переведены на использование пакетного менеджера DNF 5 для установки сборочных зависимостей в chroot-окружение, используемое при сборке пакетов. Перевод самого дистрибутива на DNF 5 ожидается в следующей выпуске.
- В пакетном менеджере DNF по умолчанию отключена загрузка метаданных со списками файлов, входящих во все пакеты. Подобные данные редко используются, но имеют большой размер и существенно замедляют работу.
- Удалён пакет с библиотекой OpenSSL 1.1, в связи с прекращением поддержки данной ветки. Привязанные к OpenSSL 1.1 зависимости переключены на OpenSSL 3.0. Удалён пакет python3.7.
- Библиотека Zlib заменена на форк Zlib-ng, совместимый с zlib на уровне API, но предоставляющий дополнительные оптимизации для повышения производительности.
- Прекращено формирование delta-обновлений RPM-пакетов, позволяющих загружать при обновлении только изменившиеся данные относительно уже установленной версии пакета. Отключена поддержка deltarpm в DNF и DNF5.
- Добавлен Passim, кэширующий сервер для распространения часто запрашиваемых файлов в локальной сети без прямого обращения к основным серверам и без привлечения глобальных CDN.
- Модуль pam_userdb переведён с использования BerkeleyDB на GDBM из-за прекращения сопровождения ветки BerkeleyDB 5.x и перевода ветки BerkeleyDB 6.x на неприемлемую лицензию. Bogofilter переведён на использование SQLite вместо BerkeleyDB (libdb).
- Для сборки Live-образов Fedora Workstation задействован инструментарий Image Builder, поддерживающий повторяемые сборки и предлагающий пользователям более простой процесс кастомизации образов.
- Для сборки минимальных образов для архитектуры ARM задействован инструментарий osbuild.
- Для формирования образов Fedora Cloud Edition вместо ImageFactory задействован инструментарий Kiwi.
- Проведена реструктуризация пакетов для Kubernetes.
- Fedora IoT, редакция для устройств интернета вещей, переведена на использование загрузочных контейнеров, сформированных при помощи инструментария OSTree и технологии bootc.
- Утилита wget заменена на wget2, а утилита iotop на iotop-c.
- В редакциях Fedora Silverblue и Kinoite включена программ bootupd, выполняющая обновление загрузчика.
- Объявлена устаревшей библиотека libuser, которая осталась без сопровождения и уже не используется в других пакетах Fedora. Для поддержки LDAP в дистрибутиве давно применяется SSSD.
Удалён пакет passwd с реализацией утилиты passwd на базе libuser, вместо которой задействована аналогичная утилита из пакета shadow-utils. - Проведена проведена работа по подготовке к включению в GCC по умолчанию более новой версии стандарта языка Си, что ознаменует прекращение по умолчанию поддержки некоторых устаревших возможностей языка, таких как неявное определение функций и неявное присвоение типа int.
- Реализована вторая стадия перехода на модернизированный процесс загрузки, предложенный Леннартом Поттерингом. Отличия от классической загрузки сводятся к использованию вместо образа initrd, формируемого на локальной системе при установке пакета с ядром, унифицированного образа ядра UKI (Unified Kernel Image), генерируемого в инфраструктуре дистрибутива и заверенного цифровой подписью дистрибутива. Образ UKI объединяет в одном файле обработчик для загрузки ядра из UEFI (UEFI boot stub), образ ядра Linux и загружаемое в память системное окружение initrd. При вызове образа UKI из UEFI предоставляется возможность проверки целостности и достоверности по цифровой подписи не только ядра, но и содержимого initrd, проверка достоверности которого важна, так как в данном окружении осуществляется извлечение ключей для расшифровки корневой ФС.
На второй стадии добавлена возможность прямой загрузки UKI из UEFI-модуля shim.efi без привлечения отдельного загрузчика (grub, sd-boot), реализована поддержка использования UKI на системах с архитектурой Aarch64 и подготовлен вариант UKI-образа для облачных окружений и защищённых виртуальных машин. До этого на первой стадии в Fedora 38 была добавлена поддержка UKI в загрузчик, реализован инструментарий для установки и обновления UKI, а также сформирован экспериментальный образ UKI для загрузки виртуальных машин с ограниченным набором компонентов и драйверов.
- В репозиторий добавлен готовый пакет с фреймворком машинного обучения PyTorch, доступный для установки командой “dnf install pytorch”. В настоящее время в пакете включены только компоненты для вычислений при помощи CPU, но в будущим выпусках планируют добавить поддержку привлечения GPU и специализированных NPU-ускорителей.