Представлен релиз дистрибутива Fedora Linux 40. Для загрузки подготовлены продукты Fedora Workstation, Fedora Server, Fedora CoreOS, Fedora Cloud Base, Fedora IoT Edition и Live-сборки, поставляемые в форме спинов c десктоп-окружениями KDE Plasma 5, Xfce, MATE, Cinnamon, LXDE, Phosh, LXQt, Budgie и Sway. Сборки сформированы для архитектур x86_64, Power64 и ARM64 (AArch64). Публикация сборок Fedora Silverblue задерживается.
Наиболее значимые изменения в Fedora Linux 40:
- Рабочий стол GNOME в Fedora Workstation обновлён до версии 46, в которой появилась функция глобального поиска, повышена производительность файлового менеджера и эмуляторов терминала, добавлена экспериментальная поддержка механизма VRR (Variable Refresh Rate), улучшено качество вывода при дробном масштабировании, расширены возможности подключением к внешним сервисам, обновлён конфигуратор и улучшена система уведомлений. В GTK задействован новый движок отрисовки, который базируется на API Vulkan.
- Редакция с рабочим столом 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), суть которого в отправке проверочного ARP-пакета перед прикреплением адреса к сетевому интерфейсу (если получен ответ, значит адрес занят и не будет назначен). Для беспроводных соединений обеспечено назначение отдельного постоянного 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-ускорителей.
Дополнительно можно отметить введение в строй для Fedora 40 “free” и “nonfree” репозиториев проекта RPM Fusion, в которых доступны пакеты с дополнительными мультимедиа приложениями (MPlayer, VLC, Xine), видео/аудио кодеками, поддержкой DVD, проприетарными драйверами AMD и NVIDIA, игровыми программами и эмуляторами.