Branches/p11/TechnicalNotes: различия между версиями
< Branches
(Новая страница: «{{Stub}} Категория:Branches <!-- Не знаю пока, как должно выглядеть оглавление этой страницы, и аналогов в прошлые разы мы не делали. Совсем по-другому строить куст страниц про p11 я тоже не решился. --~~~~ --> == Что нового в p11 == * Каталоги {{path|/bin}}, {{path|/sbin}}, {{path|/lib*}} Usr...») |
|||
(не показаны 24 промежуточные версии 2 участников) | |||
Строка 7: | Строка 7: | ||
== Что нового в p11 == | == Что нового в p11 == | ||
* Каталоги {{path|/bin}}, {{path|/sbin}}, {{path|/lib*}} [[Usrmerge|объединены]] с аналогами в {{path|/usr}}. | === Изменения общего рода === | ||
* | * В репозитории зафиксирована версия {{pkg|glibc}} 2.38. | ||
* Каталоги {{path|/bin}}, {{path|/sbin}}, {{path|/lib*}} [[Usrmerge|объединены]] с аналогами в {{path|/usr}}. Миграция происходит при обновлении пакета {{pkg|filesystem}} на версию из состава p11. При свежей установке p11 {{path|/bin}}, {{path|/sbin}}, {{path|/lib*}} сразу являются симлинками на аналоги в {{path|usr/}}. | |||
** <!-- Это фрагмент для любознательных, "материал со звёздочкой". Вместо small: стоит ли спрятать его под раскрываемый спойлер или серенький admonition? Как это принято делать на mediawiki? --> <small>В неопределённом будущем планируется научить инсталлятор формировать recovery-раздел при установке на носитель достаточного объёма. Его создание можно будет отключить по желанию администратора. С его помощью пользователь персоналки или администратор сможет восстановить основную систему.</small> | |||
* Подсистема [https://docs.kernel.org/admin-guide/cgroup-v1/index.html cgroup версии 1] объявляется устаревшей. Ядро Linux в платформе всё ещё поддерживает cgroup v1, но другие компоненты постепенно прекращают поддержку или вовсе её не имеют. Рекомендуем разработчикам приложений использовать подсистему cgroup версии 2, а администраторам приложений, всё ещё зависящих от cgroup v1 — изучить документацию этих приложений и работать с ними на свой страх и риск. | |||
=== Механизмы защиты. Доставка ПО === | |||
* Для пользователя <tt>nobody</tt> изменён uid с 99 на значение (65536-2), равное значению [https://docs.kernel.org/admin-guide/sysctl/fs.html#overflowgid-overflowuid overflowuid] в наших ядрах. | |||
* В репозитории разрешены пакеты с символом <tt>~</tt> в версии или релизе. Тильда признана лексикографически старше конца строки, по аналогии с <tt>sort -V</tt> и предназначена для обозначения версий типа release candidate, например, <tt>1.2~rc2</tt>. Это не повлияет на обновление с p9 и p10. | |||
* {{TodoLine|Прояснить статус appstream}} | |||
* Библиотека {{pkg|openssl}} в составе платформы обновлена до ветки 3.1, а поддержка ветки 1.1 прекращена, в том числе самим апстримом. В репозитории остался пакет {{pkg|openssl}} 1.1 без комплекта разработки для совместимости с устаревшими пакетами из состава репозитория; | |||
* {{TodoLine|что примечательного в openssl 3? как дела у TLS 1.0/1.1?}} | |||
* {{TodoLine|''ещё user-facing свойства наших репозиториев?''}} | |||
* {{TodoLine|''apt? rpm? update-kernel? packagekit/"центры обновлений"?''}} | |||
=== Системные компоненты === | |||
* Системный интерпретатор сценариев {{cmd|/bin/sh}} теперь также основан на Bash 5.2 вместо Bash 4. Рекомендуем ознакомиться со [https://git.savannah.gnu.org/cgit/bash.git/tree/CHANGES?id=74091dd4e8086db518b30df7f222691524469998 списком изменений] от апстрима GNU Bash, в числе которых могут быть обратно несовместимые изменения. | |||
* Пакет {{pkg|systemd}} обновлён до версии 254. К моменту выхода дистрибутивов на базе p11 планируется обновить systemd до версии 255. [https://github.com/systemd/systemd/blob/v255/NEWS Список изменений от апстрима] | |||
* {{TodoLine|атрибуты загрузки? поведение загрузчиков?}} | |||
=== Интерфейс пользователя. Web-браузеры. Средства связи === | |||
* Окружение рабочего стола и пакет приложений GNOME обновлены до ветки 46. | |||
* Окружение рабочего стола Plasma и пакет приложений KDE обновлены до версии 5.115.0. Plasma 6, выпущенная весной 2024, в платформе p11 '''не планируется'''. | |||
* MATE обновлена до 1.28.0. | |||
* Диалоговый шелл по умолчанию {{cmd|/bin/bash}} обновлён до Bash 5.2. | |||
* Сервер обработки мультимедиа PipeWire обновлён до 1.0.5; {{TodoLine|wireplumber; [[altbug:49760]]}} | |||
* Mesa обновлена до версии 24.0.6. | |||
* {{TodoLine|поподробнее про GPU support status}} | |||
* Firefox обновлён до 125.0.1; доступен консервативный вариант Firefox ESR 115.10. | |||
* Chromium обновлён до 124.0.6367.118. | |||
* Веб-браузеры Firefox и Chromium активно сопровождаются в рамках жизненного цикла репозитория. | |||
* Chromium-gost обновлён до 124.0.6367.78. | |||
* В платформу собран официальный клиент для мессенджера Telegram {{pkg|telegram-desktop}} версии 5.0.0. Скорее всего, его планируется обновлять в рамках жизненного цикла платформы. | |||
=== Сетевые подключения и службы === | |||
* {{pkg|iproute2}} обновлён до версии 6.8. | |||
** Из ядер и {{pkg|iproute2}} убрана поддержка рудиментарного {{term|tc}}-действия {{term|ipt}}. | |||
* {{pkg|mtr}} обновлён до версии 0.95. | |||
** Теперь оба варианта mtr, с gtk-интерфейсом и без него, используют одну отдельную служебную программу для отправки трассирующих пакетов и не используют set-uid бит. На обе программы влияет [[control]]-переключатель {{prg|mtr}}; отдельный control для {{prg|xmtr}} упразднён. | |||
* {{pkg|NetworkManager}} обновлён до версии 1.46.0. | |||
** NetworkManager теперь умеет получать имя хоста из обратных DNS-записей и старается для этого пользоваться API systemd-resolved. Если последнего нет в системе, то NM запускает программу {{prg|nm-daemon-helper}}, которая сделает запрос через NSS-модуль {{term|dns}}. | |||
** Добавлена поддержка настройки IPv4 NAT в режиме раздачи через {{term|nftables}}. NM по умолчанию проверяет, установлены ли {{path|/usr/sbin/nft}} и {{path|/usr/sbin/iptables}}, и использует тот инструмент, который есть в системе, предпочитая {{term|nftables}}. | |||
** Теперь можно включить для конкретного сетевого подключения Wi-Fi алгоритм выбора случайного MAC-адреса, зависящий от SSID Wi-Fi сети, задав параметр <code>wifi.cloned-mac-address=stable-ssid</code>. | |||
** Внесено множество улучшений в клиенты DHCPv4 и DHCPv6, в том числе касающихся DHCPv6 Prefix Delegation. | |||
** Добавлена поддержка Multipath TCP. При помощи параметра <code>connection.mptcp-flags</code> можно разрешить использовать IP-адреса в составных MPTCP-соединениях. NetworkManager не управляет MPTCP, если тот не включен в sysctl ядра {{path|/proc/sys/net/mptcp/enabled}}; эта настройка отдана на откуп администратору. Строгий режим {{term|rp_filter}} мешает работе MPTCP в ряде случаев, поэтому, занявшись управлением MPTCP, NetworkManager переключит настройку {{term|rp_filter}} на значение 2; иначе он не трогает {{term|rp_filter}}. | |||
** Подробнее смотрите [https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/1.46.0/NEWS у апстрима]. | |||
* Фреймворк DPDK обновлён до версии 23.11.0. | |||
* Сервер динамической маршрутизации BIRD обновлён до 2.15 {{TodoLine|[[altbug:50265]]}}. | |||
* Сервер доменной зоны {{pkg|nsd}} обновлён до 4.9.1. | |||
* Многофункциональный DNS-сервер BIND обновлён до 9.18.26. | |||
* Поддержка ISC DHCP прекращена вслед за апстримом в пользу [https://packages.altlinux.org/sisyphus/srpms/kea/ Kea]. Администраторам сервисов DHCP рекомендуется по мере возможности перенести свои системы c сервера ISC DHCP. | |||
* {{pkg|nginx}} с модулями обновлён до версии 1.24.0. | |||
* Apache {{term|httpd}} обновлён до версии 2.4.59. | |||
* postfix обновлён до версии 3.8.3. | |||
=== Средства хранения и резервного копирования === | |||
=== Интегрированные решения для групповой работы === | |||
* Samba обновлена до версии 4.20. {{TodoLine|что нового}} | |||
=== Виртуализация === | |||
* {{pkg|libvirt}} обновлён до версии 10.2.0. | |||
* Инструмент для запуска OCI-контейнеров {{pkg|runc}} обновлён до версии 1.1.12. | |||
* {{TodoLine|OVS}} | |||
* {{TodoLine|OVN}} | |||
* {{TodoLine|PVE}} | |||
* {{TodoLine|Kubernetes: уточнить набор версий}} | |||
=== Мультимедиа === | |||
* PipeWire обновлён до 1.0.6. | |||
** В p11 пакет PipeWire может выступать не только в качестве брокера захвата экрана для {{pkg|xdg-desktop-portal}}, но и в качестве сервера ввода/вывода звука, например, вместо PulseAudio. | |||
* Сервер ввода/вывода звука JACK '''удалён из репозитория''' в пользу {{pkg|pipewire-jack}}, слоя совместимости с JACK для PipeWire. | |||
* Система обработки цифрового звука Ardour обновлена до версии 8.6. | |||
* Редактор звуковых данных Audacity обновлён до версии 3.4.2. | |||
* Пакет кодеков и ремуксеров FFmpeg обновлён до 6.1.1. | |||
=== Инструменты разработки === | |||
* Тулчейн Rust обновлён до версии 1.77. | |||
* Доступны наборы инструментов LLVM двух версий: 18 и 17. По умолчанию используются LLVM и Clang 18-й версии; в том числе при сборке firefox, chromium, telegram-desktop и других пакетов платформы, для которых GCC даёт результат хуже. | |||
** В репозитории обеспечена поддержка параллельной установки нескольких мажорных ветвей проекта [[LLVM]] одновременно. Утилиты, подобно проекту gcc, устанавливаются с суффиксом, содержащим номер версии (например, <tt>clang-17</tt>). Доступна обёртка с именем без суффикса, которая вызывает команду нужной версии. [[LLVM/Packaging|Подробнее]] | |||
* Набор компиляторов GCC, в том числе системный, обновлён до 13.2. | |||
* binutils+gdb обновлены до 2.41. | |||
* Системная версия Python теперь 3.12; на ней работают все собранные в репозиторий модули. | |||
* Интерпретатор Perl обновлён до ветки 5.38. | |||
* {{TodoLine|GHC}} | |||
* Предоставлены ветки JDK 21, 17, 11. | |||
* Набор популярных C++-библиотек {{pkg|boost}} обновлён до 1.85. | |||
* Тулчейн для языка программирования Golang обновлён до 1.22; новые версии будут выходить по мере сопровождения платформы. | |||
* [https://packages.altlinux.org/en/sisyphus/srpms/vulkan/ Vulkan SDK] обновлён до 1.3.277. | |||
* {{pkg|docker-engine}} обновлён до версии 26.1.0. | |||
{{Category navigation|title=Одиннадцатая платформа|category=Одиннадцатая платформа}} | {{Category navigation|title=Одиннадцатая платформа|category=Одиннадцатая платформа}} |
Текущая версия от 11:00, 14 мая 2024
Что нового в p11
Изменения общего рода
- В репозитории зафиксирована версия 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/"центры обновлений"?
Системные компоненты
- Системный интерпретатор сценариев /bin/sh теперь также основан на Bash 5.2 вместо Bash 4. Рекомендуем ознакомиться со списком изменений от апстрима GNU Bash, в числе которых могут быть обратно несовместимые изменения.
- Пакет systemd обновлён до версии 254. К моменту выхода дистрибутивов на базе p11 планируется обновить systemd до версии 255. Список изменений от апстрима
- TODO: атрибуты загрузки? поведение загрузчиков?
Интерфейс пользователя. Web-браузеры. Средства связи
- Окружение рабочего стола и пакет приложений GNOME обновлены до ветки 46.
- Окружение рабочего стола Plasma и пакет приложений KDE обновлены до версии 5.115.0. Plasma 6, выпущенная весной 2024, в платформе p11 не планируется.
- MATE обновлена до 1.28.0.
- Диалоговый шелл по умолчанию /bin/bash обновлён до Bash 5.2.
- Сервер обработки мультимедиа PipeWire обновлён до 1.0.5; TODO: wireplumber; altbug:49760
- Mesa обновлена до версии 24.0.6.
- TODO: поподробнее про GPU support status
- Firefox обновлён до 125.0.1; доступен консервативный вариант Firefox ESR 115.10.
- Chromium обновлён до 124.0.6367.118.
- Веб-браузеры Firefox и Chromium активно сопровождаются в рамках жизненного цикла репозитория.
- Chromium-gost обновлён до 124.0.6367.78.
- В платформу собран официальный клиент для мессенджера Telegram telegram-desktop версии 5.0.0. Скорее всего, его планируется обновлять в рамках жизненного цикла платформы.
Сетевые подключения и службы
- iproute2 обновлён до версии 6.8.
- Из ядер и iproute2 убрана поддержка рудиментарного tc-действия ipt.
- mtr обновлён до версии 0.95.
- Теперь оба варианта mtr, с gtk-интерфейсом и без него, используют одну отдельную служебную программу для отправки трассирующих пакетов и не используют set-uid бит. На обе программы влияет control-переключатель mtr; отдельный control для xmtr упразднён.
- 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.
Средства хранения и резервного копирования
Интегрированные решения для групповой работы
- Samba обновлена до версии 4.20. TODO: что нового
Виртуализация
- libvirt обновлён до версии 10.2.0.
- Инструмент для запуска OCI-контейнеров runc обновлён до версии 1.1.12.
- TODO: OVS
- TODO: OVN
- TODO: PVE
- TODO: Kubernetes: уточнить набор версий
Мультимедиа
- PipeWire обновлён до 1.0.6.
- В p11 пакет PipeWire может выступать не только в качестве брокера захвата экрана для xdg-desktop-portal, но и в качестве сервера ввода/вывода звука, например, вместо PulseAudio.
- Сервер ввода/вывода звука JACK удалён из репозитория в пользу pipewire-jack, слоя совместимости с JACK для PipeWire.
- Система обработки цифрового звука Ardour обновлена до версии 8.6.
- Редактор звуковых данных Audacity обновлён до версии 3.4.2.
- Пакет кодеков и ремуксеров FFmpeg обновлён до 6.1.1.
Инструменты разработки
- Тулчейн 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.
- Системная версия Python теперь 3.12; на ней работают все собранные в репозиторий модули.
- Интерпретатор Perl обновлён до ветки 5.38.
- TODO: GHC
- Предоставлены ветки JDK 21, 17, 11.
- Набор популярных C++-библиотек boost обновлён до 1.85.
- Тулчейн для языка программирования Golang обновлён до 1.22; новые версии будут выходить по мере сопровождения платформы.
- Vulkan SDK обновлён до 1.3.277.
- docker-engine обновлён до версии 26.1.0.