Branches/p11/TechnicalNotes
< Branches | p11
Версия от 09:59, 6 мая 2024; ArsenyMaslennikov (обсуждение | вклад) (→Сетевые подключения и службы)
Что нового в p11
TODO:
Стоит ли указывать здесь альт-домены? Как?
Изменения общего рода
- В репозитории зафиксирована версия glibc 2.38.
- Каталоги /bin, /sbin, /lib* объединены с аналогами в /usr. Миграция происходит при обновлении пакета filesystem на версию из состава p11. При свежей установке p11 /bin, /sbin, /lib* сразу являются симлинками на аналоги в usr/.
- В неопределённом будущем планируется научить инсталлятор формировать recovery-раздел при установке на носитель достаточного объёма. Его создание можно будет отключить по желанию администратора. С его помощью пользователь персоналки или администратор сможет восстановить основную систему.
- Подсистема cgroup версии 1 объявляется устаревшей. Ядро Linux в платформе всё ещё поддерживает cgroup v1, но другие компоненты постепенно прекращают поддержку или вовсе её не имеют. Рекомендуем разработчикам приложений использовать подсистему cgroup версии 2, а администраторам приложений, всё ещё зависящих от cgroup v1 — изучить документацию этих приложений и работать с ними на свой страх и риск.
Механизмы защиты. Доставка ПО
- Для пользователя nobody изменён uid с 99 на значение (65536-2), равное значению overflowuid в наших ядрах.
- В репозитории разрешены пакеты с символом ~ в версии или релизе. Тильда признана лексикографически старше конца строки, по аналогии с sort -V и предназначена для обозначения версий типа release candidate, например, 1.2~rc2. Это не повлияет на обновление с p9 и p10.
- TODO: Прояснить статус appstream
- Библиотека openssl в составе платформы обновлена до ветки 3.1, а поддержка ветки 1.1 прекращена, в том числе самим апстримом. В репозитории остался пакет openssl 1.1 без комплекта разработки для совместимости с устаревшими пакетами из состава репозитория;
- TODO: что примечательного в openssl 3? как дела у TLS 1.0/1.1?
- TODO: ещё user-facing свойства наших репозиториев?
- TODO: apt? rpm? update-kernel? packagekit/"центры обновлений"?
- TODO: поддержка flatpak?
Системные компоненты
- Системный интерпретатор сценариев /bin/sh теперь также основан на Bash 5.2 вместо Bash 4. Рекомендуем ознакомиться со списком изменений от апстрима GNU Bash, в числе которых могут быть обратно несовместимые изменения.
- Пакет systemd обновлён до версии 254. К моменту выхода дистрибутивов на базе p11 планируется обновить systemd до версии 255. Список изменений от апстрима
- TODO: атрибуты загрузки? поведение загрузчиков?
Интерфейс пользователя. Web-браузеры. Средства связи
- TODO: GNOME
- TODO: KDE
- TODO: MATE
- TODO: Xfce
- Диалоговый шелл по умолчанию /bin/bash обновлён до Bash 5.2.
- TODO: pipewire, wireplumber; altbug:49760
- TODO: Mesa, Vulkan, GPU support status
- TODO: Firefox
- TODO: Chromium
- TODO: telegram-desktop
Сетевые подключения и службы
- iproute2 обновлён до версии 6.8.
- Из ядер и iproute2 убрана поддержка рудиментарного tc-действия ipt.
- NetworkManager обновлён до версии 1.46.0.
- NetworkManager теперь умеет получать имя хоста из обратных DNS-записей и старается для этого пользоваться API systemd-resolved. Если последнего нет в системе, то NM запускает программу nm-daemon-helper, которая сделает запрос через NSS-модуль dns.
- Добавлена поддержка настройки IPv4 NAT в режиме раздачи через nftables. NM по умолчанию проверяет, установлены ли /usr/sbin/nft и /usr/sbin/iptables, и использует тот инструмент, который есть в системе, предпочитая nftables.
- Теперь можно включить для конкретного сетевого подключения Wi-Fi алгоритм выбора случайного MAC-адреса, зависящий от SSID Wi-Fi сети, задав параметр
wifi.cloned-mac-address=stable-ssid
. - Внесено множество улучшений в клиенты DHCPv4 и DHCPv6, в том числе касающихся DHCPv6 Prefix Delegation.
- Добавлена поддержка Multipath TCP. При помощи параметра
connection.mptcp-flags
можно разрешить использовать IP-адреса в составных MPTCP-соединениях. NetworkManager не управляет MPTCP, если тот не включен в sysctl ядра /proc/sys/net/mptcp/enabled; эта настройка отдана на откуп администратору. Строгий режим rp_filter мешает работе MPTCP в ряде случаев, поэтому, занявшись управлением MPTCP, NetworkManager переключит настройку rp_filter на значение 2; иначе он не трогает rp_filter. - Подробнее смотрите у апстрима.
- Фреймворк DPDK обновлён до версии 23.11.0.
- Сервер динамической маршрутизации BIRD обновлён до 2.15 TODO: altbug:50265.
- Сервер доменной зоны nsd обновлён до 4.9.1.
- Многофункциональный DNS-сервер BIND обновлён до 9.18.26.
- Поддержка ISC DHCP прекращена вслед за апстримом в пользу Kea. Администраторам сервисов DHCP рекомендуется по мере возможности перенести свои системы c сервера ISC DHCP.
- nginx с модулями обновлён до версии 1.24.0.
- Apache httpd обновлён до версии 2.4.59.
- postfix обновлён до версии 3.8.3. TODO: спросить у мейнтейнера upgrade notes
Средства хранения и резервного копирования
Виртуализация
- TODO: OVS
- TODO: OVN
- TODO: PVE
- TODO: Kubernetes: уточнить набор версий
Мультимедиа
- TODO: OBS-Studio
- TODO: FFmpeg
- TODO: Ardour
- TODO: JACK; упомянуть PipeWire?
Инструменты разработки
- Тулчейн Rust обновлён до версии 1.77.
- Доступны наборы инструментов LLVM двух версий: 18 и 17. По умолчанию используются LLVM и Clang 18-й версии; в том числе при сборке firefox, chromium, telegram-desktop и других пакетов платформы, для которых GCC даёт результат хуже.
- В репозитории обеспечена поддержка параллельной установки нескольких мажорных ветвей проекта LLVM одновременно. Утилиты, подобно проекту gcc, устанавливаются с суффиксом, содержащим номер версии (например, clang-17). Доступна обёртка с именем без суффикса, которая вызывает команду нужной версии. Подробнее
- Набор компиляторов GCC, в том числе системный, обновлён до 13.2.
- binutils+gdb обновлены до 2.41.
- TODO: GHC
- TODO: JDK
- Набор популярных C++-библиотек boost обновлён до 1.85.
- Тулчейн для языка программирования Golang обновлён до 1.22; новые версии будут выходить по мере сопровождения платформы.
- docker-engine обновлён до версии 26.1.0.