Branches/p11/TechnicalNotes

Материал из ALT Linux Wiki
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


Что нового в 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.