Основные изменения:
- Рабочий стол обновлён до выпуска GNOME 46, в котором появилась функция глобального поиска, повышена производительность файлового менеджера и эмуляторов терминала, добавлена экспериментальная поддержка механизма VRR (Variable Refresh Rate), улучшено качество вывода при дробном масштабировании, расширены возможности подключением к внешним сервисам, обновлён конфигуратор и улучшена система уведомлений. В GTK задействован новый движок отрисовки, который базируется на API Vulkan. Приложение для работы с камерой Cheese заменено на GNOME Snapshot.
- Ядро Linux обновлено до версии 6.8.
- Обновлены версии GCC 14-pre, LLVM 18, Python 3.12, OpenJDK 21 (опционально доступны OpenJDK 8, 11 и 17), Rust 1.75, Go 1.22, .NET 8, PHP 8.3.3, Ruby 3.2.3, binutils 2.42, glibc 2.39.
- Обновлены пользовательские приложения: Firefox 124 (собран с поддержкой Wayland), LibreOffice 24.2, Thunderbird 115, Ardour 8.4.0, OBS Studio 30.0.2, Audacity 3.4.2, Transmission 4.0, digiKam 8.2.0, Kdenlive 23.08.5, Krita 5.2.2, VLC 3.0.20.
- Обновлены подсистемы: Mesa 24.0.3, systemd 255.4, BlueZ 5.72, Cairo 1.18, NetworkManager 1.46, Pipewire 1.0.4, Poppler 24.02, xdg-desktop-portal 1.18.
- Обновлены серверные пакеты: Nginx 1.24, Apache httpd 2.4.58, Samba 4.19, Exim 4.97, Clamav 1.0.0, Chrony 4.5, containerd 1.7.12, LXD 5.21.0, Django 4.2.11, Docker 24.0.7, Dovecot 2.3.21, GlusterFS 11.1, HAProxy 2.8.5, Kea DHCP 2.4.1, libvirt 10.0.0, NetSNMP 5.9.4, OpenLDAP 2.6.7, open-vm-tools 12.3.5, PostgreSQL 16.2, Runc 1.1.12, QEMU 8.2.1, SpamAssassin 4.0.0, Squid 6.6, SSSD 2.9.4, Pacemaker 2.1.6, OpenStack 2024.1, Ceph 19.2.0, Openvswitch 3.3.0, Open Virtual Network 24.03.
- Почтовый клиент Thunderbird теперь поставляется только в формате snap. DEB-пакет с Thunderbird содержит заглушку для установки snap-пакета.
- Модернизирован инсталлятор ubuntu-desktop-installer, который теперь развивается в составе более крупного проекта ubuntu-desktop-provision и переименован в ubuntu-desktop-bootstrap. Суть нового проекта в разделении инсталлятора на стадии, выполняемые перед установкой (разбивка диска и копирование пакетов) и во время первой загрузки системы (первичная настройка системы). Инсталлятор написан на языке Dart, использует для построения пользовательского интерфейса фреймворк Flutter и реализован в форме надстройки над низкоуровневым инсталлятором curtin, который уже применяется в инсталляторе Subiquity, используемом в Ubuntu Server.
Из изменений в новом инсталляторе отмечается улучшенное оформление интерфейса, добавление страницы для указания URL для загрузки сценария автоматизированной установки autoinstall.yaml и возможность изменения поведения по умолчанию и стиля оформления через файл конфигурации. Добавлена поддержка обновления самого инсталлятора - при наличии новой версии на ранней стадии установки теперь выдаётся запрос на обновление инсталлятора.
В инсталляторе Ubuntu Desktop по умолчанию задействован минимальный режим установки. Для установки дополнительных программ, таких как LibreOffice и Thunderbird, необходимо выбрать расширенный режим установки. В инсталляторе также отмечены возможности, добавленные в прошлом выпуске Ubuntu 23.10, такие как поддержка файловой системы ZFS и возможность шифрования дисков, не требующая ввода пароля разблокировки диска при загрузке, благодаря хранению информации для расшифровки ключей в TPM (Trusted Platform Module).
- Улучшен новый менеджер приложений Ubuntu App Center, написанный на языке Dart с использованием фреймворка Flutter и адаптивных методов компоновки интерфейса для корректной работы на экранах любого размера. Ubuntu Store реализует комбинированный интерфейс для работы с пакетами в формате DEB и Snap (при наличии одной программы в пакетах deb и snap по умолчанию выбирается snap), позволяет выполнять поиск и навигацию по каталогу пакетов snapcraft.io и подключённым DEB-репозиториям, даёт возможность управлять установкой, удалением и обновлением приложений, устанавливать отдельные deb-пакеты из локальных файлов. В приложении задействована система рейтинга, в которой пятибалльная шкала оценки заменена на голосование в формате нравится/не нравится (+1/-1), на основе которого выводится виртуальный пятизвёздочный рейтинг.
Ubuntu App Center заменил собой старый интерфейс Snap Store. По сравнению с Ubuntu 23.10 добавлена новая категория приложений - Игры (при этом из поставки удалены игры GNOME). Предложен отдельный интерфейс для обновления прошивок - Firmware Updater, доступный для систем на базе архитектур amd64 и arm64, и позволяющий обновлять прошивки без запуска в фоне полноценного менеджера приложений.
- По аналогии с изменениями в Arch Linux и Fedora Linux, параметр sysctl vm.max_map_count, определяющий максимально доступное процессу число областей маппинга памяти, по умолчанию увеличен с 65530 до 1048576. Изменение улучшило совместимость c Windows-играми, запускаемыми через Wine (например, при старом значении не запускались игры DayZ, Hogwarts Legacy, Counter Strike 2, Star Citizen и THE FINALS), и решило некоторые проблемы с производительностью приложений, интенсивно потребляющих память.
- Ограничен доступ непривилегированных пользователей к пространствам имён идентификаторов пользователя (user namespace), что позволит повысить защищённость систем, использующих контейнерную изоляцию, от уязвимостей, для эксплуатации которых необходимы манипуляции с user namespace. В Ubuntu применена гибридная схема блокировки, выборочно оставляющая некоторым программам возможность создавать user namespace при наличии профиля AppArmor с правилом "allow userns create" или прав CAP_SYS_ADMIN. Например, профили созданы для Chrome и Discord, в которых user namespace применяется для sandbox-изоляции процессов.
- При сборке пакетов по умолчанию включены опции компилятора для усложнения эксплуатации уязвимостей. В gcc и dpkg по умолчанию включён режим "-D_FORTIFY_SOURCE=3", выявляющий возможные переполнения буфера при выполнении строковых функций, определённых в заголовочном файле string.h. Отличие от ранее применявшегося режима "_FORTIFY_SOURCE=2" сводится к дополнительным проверкам. Теоретически дополнительные проверки могут приводить к снижению производительности, но на практике тесты SPEC2000 и SPEC2017 не показали различий и в процессе тестирования от пользователей не поступало жалоб на снижение производительности.
- В Apparmor по умолчанию включено предоставление доступа любым приложениям к файлам конфигурации библиотек GnuTLS и OpenSSL. Ранее применявшееся выборочное предоставление доступа приводило к появлению проблем, трудно диагностируемых из-за отсутствия вывода ошибок при невозможности доступа к файлам конфигурации.
- Удалены пакеты pptpd и bcrelay из-за потенциальных проблем с безопасностью и прекращения сопровождения основных кодовых баз. Также удалён PAM-модуль pam_lastlog.so, в котором не решена проблема 2038 года.
- В dpkg добавлен флаг "-mbranch-protection=standard" для включения на системах ARM64 защиты выполнения наборов инструкций, на которые не должны выполняться переходы при ветвлении (ARMv8.5-BTI - Branch Target Indicator). Блокирование переходов на произвольные участки кода реализовано для противодействия созданию гаджетов в эксплоитах, использующих приёмы возвратно-ориентированного программирования (ROP - Return-Oriented Programming).
- Для приложений, использующих gnutls, принудительно отключена поддержка протоколов TLS 1.0, TLS 1.1 и DTLS 1.0, которые три года назад официально переведены комитетом IETF (Internet Engineering Task Force) в разряд устаревших технологий. Для openssl аналогичное изменение было реализовано в Ubuntu 20.04.
- Объявлены устаревшими и отключены 1024-разрядные RSA-ключи, применявшиеся в APT для верификации репозиториев по цифровой подписи. В Ubuntu 24.04 репозитории должны быть подписаны ключами RSA, размером не менее 2048 бит, или ключами Ed25519 и Ed448. Так как 1024-разрядные RSA-ключи продолжают использоваться в некоторых PPA-репозиториях, подобные ключи пока не блокируются, но для них выводится предупреждение. Через некоторое время предупреждение планируется заменить на вывод ошибки.
- В пакетном менеджере APT изменён приоритет для репозитория "proposed pocket", в котором осуществляется предварительное тестирование новых версий пакетов, перед их размещением в основных репозиториях для широкой публики. Изменение нацелено на снижение вероятности автоматизированной установки нестабильных обновлений, в случае включения репозитория "proposed pocket", которые могут привести к нарушению работоспособности системы. После включения "proposed pocket" из него теперь не будут переноситься все обновления, но пользователь сможет выборочно установить обновления необходимых пакетов, используя команду "apt install /-proposed".
- Прекращена поставка по умолчанию сервиса irqbalance, распределяющего обработку аппаратных прерываний по разным ядрам CPU. В настоящее время в большинстве ситуаций достаточно штатных механизмов распределения обработчиков, предоставляемых ядром Linux. Использование irqbalance может быть оправдано в отдельных ситуациях, но при должной настройке администратором. Кроме того, в определённых конфигурациях irqbalance приводит к проблемам, например, при использовании в системах виртуализации, а также может мешать при ручной настройке параметров, влияющих на энергопотребление и задержки.
- Для настройки сети задействован выпуск инструментария Netplan 1.0, который обеспечивает хранение настроек в формате YAML и предоставляет бэкенды, абстрагирующие доступ к конфигурации для NetworkManager и systemd-networkd. В новой версии появилась возможность одновременного использования WPA2 и WPA3, добавлена поддержка сетевых устройств Mellanox VF-LAG с SR-IOV (Single-Root I/O Virtualization) и реализована команда "netplan status --diff" для наглядной оценки различий между фактическим состоянием настроек и файлами конфигурации. В Ubuntu Desktop в качестве бэкенда настройки по умолчанию включён NetworkManager.
- Включён механизм Active Directory Certificate Auto Enrollment (ADSys), позволяющий автоматически получать сертификаты из сервисов Active Directory при включении групповых политик. Автоматическое получение сертификатов через Active Directory также применяется при подключении к корпоративным беспроводным сетям и VPN.
- В пакете Apport, применяемым в Ubuntu для автоматизации обработки крахов приложений, обеспечена интеграция с systemd-coredump для обработки аварийных завершений. Для анализа core-дампов теперь можно использовать утилиту coredumpctl.
- В базовую поставку включены приложения для анализа производительности, трассировки процессов и мониторинга состояния системы. В частности, добавлены пакеты procps, sysstat, iproute2, numactl, bpfcc-tools, bpftrace, perf-tools-unstable, trace-cmd, nicstat, ethtool, tiptop и sysprof, которые объединены в мета-пакет performance-tools.
- Настройки активных репозиториев переведены на использование формата deb822 и перенесены из /etc/apt/sources.list в файл /etc/apt/sources.list.d/ubuntu.sources.
- Обеспечен перезапуск сервисов после установки обновлений связанных с ними библиотек, даже если обновления установлены автоматически в режиме unattended-upgrade. Для запрета автоматического перезапуска сервиса после обновления следует добавить его в секцию override_rc в файле /etc/needrestart/needrestart.conf.
- Улучшена работа менеджера профилей энергопотребления (Power Profiles Manager), в котором появилась поддержка новых аппаратных механизмов управления питанием, доступных в процессорах AMD, а также добавлена возможность использования разных драйверов оптимизации. При работе в автономном режиме обеспечено автоматическое увеличение уровня оптимизации.
- Обновлены пакет fprintd и библиотека libfprint, в которых появилась поддержка дополнительных устройств сканирования отпечатков пальцев.
- Задействован более тонкий вариант шрифта Ubuntu. Для возвращения старого системного шрифта можно установить пакет fonts-ubuntu-classic.
- Добавлена поддержка встроенного в процессоры Intel ускорителя QAT (QuickAssist Technology), предлагающего средства для ускорения вычислений, используемых при сжатии и шифровании. Для использования Intel QAT в состав включены пакеты qatlib 24.02.0, qatengine 1.5.0, qatzip 1.2.0, ipp-crypto 2021.10.0 и intel-ipsec-mb 1.5-1.
- Пакеты для 32-разрядной архитектуры Armhf переведены на использование 64-разрядного типа time_t. Изменение затронуло более тысячи пакетов. Ранее использовавшийся 32-разрядный тип time_t не может применяться для обработки времени позднее 19 января 2038 года из-за переполнения счётчика секунд, прошедших после 1 января 1970 года.
- Обновлены сборки для плат Raspberry Pi 5 (серверные и пользовательские) и StarFive VisionFive 2 (RISC-V).
- В сборку Ubuntu для подсистемы WSL (Windows Subsystem for Linux) добавлена поддержка передачи настроек при помощи cloud-init.