Глава 5. Что нужно знать о bookworm

Содержание

5.1. Конкретные шаги обновления для bookworm
5.1.1. Несвободные прошивки перенесены в отдельный раздел репозитория
5.1.2. Изменения в пакетах, устанавливающих системные часы
5.1.3. Система управления конфигурацией Puppet обновлена до версии 7
5.1.4. youtube-dl заменен на yt-dlp
5.1.5. Версии Fcitx больше не могут устанавливаться совместно
5.1.6. Имена пакетов MariaDB больше не содержат номеров версий
5.1.7. Изменения в системном протоколировании (логи)
5.1.8. Изменения в rsyslog, влияющие на анализаторы журналов, такие как logcheck
5.1.9. rsyslog создает меньше файлов журнала
5.1.10. Обновление slapd может потребовать ручного вмешательства
5.1.11. GRUB больше не запускает os-prober по умолчанию
5.1.12. GNOME сократил поддержку специальных возможностей для программ чтения с экрана (Сволочи!!!)
5.1.13. Изменения в конфигурации polkit
5.1.14. Теперь требуется «объединенный-/usr»
5.1.15. Неподдерживаемые обновления с buster завершаются ошибкой в libcrypt1
5.1.16. То, что следует сделать после обновления и до перезагрузки
5.2. Элементы, не ограничивающиеся процессом обновления
5.2.1. Ограничения поддержки безопасности
5.2.2. Интерпретаторы Python, помеченные как сопровождаемые извне (externally-managed)
5.2.3. Ограниченная поддержка аппаратного ускорения кодирования/декодирования видео в VLC
5.2.4. systemd-resolved был выделен в отдельный пакет
5.2.5. systemd-boot был выделен в отдельный пакет
5.2.6. systemd-journal-remote больше не использует GnuTLS
5.2.7. Значительные изменения в adduser для bookworm
5.2.8. Предсказуемое присвоение имен сетевым интерфейсам Xen
5.2.9. Изменение в обработке dash циркумфлекса
5.2.10. netcat-openbsd поддерживает абстрактные сокеты
5.3. Устаревание и нецелесообразность
5.3.1. Заслуживающие внимания устаревшие пакеты
5.3.2. Устаревшие компоненты bookworm
5.4. Известные серьезные ошибки

Иногда изменения, внесённые в новый выпуск, приводят к побочным эффектам, которых нельзя избежать без появления ошибок где-то ещё. Этот раздел описывает проблемы, которые уже известны нам. Прочитайте также список известных ошибок, соответствующую документацию на пакеты, отчёты об ошибках и другую информацию, указанную в Раздел 6.1, «Что ещё можно прочитать».

5.1. Конкретные шаги обновления для bookworm

В данном разделе описываются шаги обновления с bullseye до bookworm

5.1.1. Несвободные прошивки перенесены в отдельный раздел репозитория

Как описано в Раздел 2.2, «Разделы репозитория», пакеты несвободных прошивок (firmware) теперь находятся в выделенном разделе репозитория non-free-firmware. Для получения необходимых обновлений установленных несвободных пакетов прошивок, надо изменить конфигурацию APT. Если раздел non-free-firmware был добавлен в список источников APT только для установки прошивок, обновленная запись в списке источников APT (sources-list) будет такой:

deb https://deb.debian.org/debian bookworm main non-free-firmware

Если apt указал вам на эту главу, можно запретить ему постоянно уведомлять об этом изменении, создав файл apt.conf(5) с именем /etc/apt/apt.conf.d/no-bookworm-firmware.conf и таким содержимым:

APT::Get::Update::SourceListWarnings::NonFreeFirmware "false";

5.1.2. Изменения в пакетах, устанавливающих системные часы

Пакет ntp, который раньше был способом по умолчанию установки системных часов с сервера протокола сетевого времени (NTP), был заменен на ntpsec.

Большинству пользователей не нужно предпринимать никаких действий для перехода с ntp на ntpsec.

В bookworm также есть несколько других пакетов, предоставляющих подобную функцию. По умолчанию в Debian теперь используется systemd-timesyncd, достаточный для пользователей, которым нужен только клиент ntp для установки своих часов. bookworm также включает в себя chrony и openntpd, которые поддерживают более продвинутые возможности, такие как управление вашим собственным NTP-сервером.

5.1.3. Система управления конфигурацией Puppet обновлена до версии 7

Puppet была обновлена с версии 5 до 7, пропуская Puppet 6 версии. Это вносит серьезные изменения в экосистему Puppet.

Классическое приложение Puppet Master 5.5.x на базе Ruby устарело и больше недоступно в Debian. Оно заменено Puppet Server 7.x, предоставляемым пакетом puppetserver. Пакет автоматически устанавливается как зависимость от переходного пакета puppet-master.

Обычно Puppet Server является заменой Puppet Master, но следует просмотреть файлы конфигурации, доступные в разделе /etc/puppet/puppetserver, чтобы убедиться, что новые значения по умолчанию подходят для вашего развертывания. В частности, старый формат файла auth.conf устарел, подробности смотрите в документации auth.conf.

Рекомендуемый подход заключается в обновлении сначала сервера, а потом клиентов. Сервер Puppet 7 обратно совместим со старыми клиентами; сервер Puppet 5 все еще может обрабатывать обновленные агенты, но не может зарегистрировать новые агенты Puppet 7. Таким образом, если развернете новые агенты Puppet 7 до обновления сервера, то не сможете добавить их в парк.

Пакет puppet был заменен пакетом puppet-agent и теперь является переходным пакетом для обеспечения плавного обновления.

Наконец, пакет puppetdb был удален в bullseye, но вновь введен в bookworm.

5.1.4. youtube-dl заменен на yt-dlp

Популярный инструмент youtube-dl для загрузки видео с большого количества веб-сайтов (в том числе YouTube), больше не включен в Debian. Вместо этого он был заменен пустым переходным пакетом, который вместо этого использует пакет yt-dlp. yt-dlp является ответвлением youtube-dl, в котором сейчас ведётся активная разработка.

Обёрток совместимости не предусмотрено, поэтому нужно будет изменить свои скрипты и команды, вызывая yt-dlp вместо youtube-dl. Функциональность должна быть в основном такой же, хотя некоторые параметры и поведение изменились. Обязательно проверьте справочную страницу yt-dlp для получения подробной информации, в частности раздел Различия в поведении по умолчанию.

5.1.5. Версии Fcitx больше не могут устанавливаться совместно

Пакеты fcitx и fcitx5 предоставляют версии 4 и 5 популярного фреймворка методов ввода Fcitx. Следуя рекомендации авторов (upstream), их больше нельзя устанавливать совместно в одной операционной системе. Пользователи должны определить, какую версию Fcitx следует сохранить, если ранее они совместно устанавливали fcitx и fcitx5.

Перед обновлением пользователям настоятельно рекомендуется удалить все связанные пакеты для нежелательной версии Fcitx (fcitx-* для Fcitx 4 и fcitx5-* для Fcitx 5). Когда обновление будет завершено, возможно стоит повторно выполнить im-config, чтобы выбрать желаемый фреймворк метода ввода, который будет использоваться в системе.

Вы можете прочитать дополнительную справочную информацию в объявлении, размещенном в списке рассылки (текст написан на упрощенном китайском).

5.1.6. Имена пакетов MariaDB больше не содержат номеров версий

В отличие от bullseye, у которого версия MariaDB была указана в именах пакетов (например, mariadb-server-10.5 и mariadb-client-10.5), в bookworm эквивалентные имена пакетов MariaDB 10.11 не имеют версии (например, mariadb-server или mariadb-client). Версия MariaDB по-прежнему видна в метаданных версии пакета.

Существует по крайней мере один известный сценарий обновления (Ошибка #1035949), при котором переход к именам пакетов без версий завершается неудачей: при исполнении

apt-get install default-mysql-server

может произойти сбой, когда mariadb-client-10.5 и файл /usr/bin/mariadb-admin в нем удалены до того, как служба инициализации SysV сервера MariaDB выполнила завершение работы, которая использует mariadb-admin. Обходное решение заключается в запуске

apt upgrade

перед запуском

apt full-upgrade

.

Дополнительные сведения об изменениях имени пакета в MariaDB см. в разделе /usr/share/doc/mariadb-server/NEWS.Debian.gz.

5.1.7. Изменения в системном протоколировании (логи)

Пакет rsyslog больше не нужен в большинстве систем, и его можно удалить.

Многие программы создают сообщения журнала (log messages), информирующие пользователя о том, что происходит. Этими сообщениями можно управлять с помощью «журнала» systemd или «демона системного журнала», такого как ``rsyslog``.

В bullseye по умолчанию был установлен rsyslog, и журнал systemd был настроен для пересылки сообщений журнала в rsyslog, который записывает сообщения в различные текстовые файлы, такие как /var/log/syslog.

В bookworm, rsyslog больше не устанавливается по умолчанию. Если не хотите продолжать использовать rsyslog, то после обновления можно пометить его как автоматически установленный командой

apt-mark auto rsyslog

, а затем выполнить

apt autoremove

что удалит его, если это возможно. Если обновляетесь с более старых версий Debian и не приняли настройки конфигурации по умолчанию, журнал, возможно, не был настроен для сохранения сообщений в постоянное хранилище: инструкции по включению этого находятся в journald.conf(5).

Если решите отказаться от rsyslog, можете использовать команду journalctl для чтения сообщений журнала, которые хранятся в двоичном формате в /var/log/journal. Например,

journalctl -e

отображает самые последние сообщения журнала в journal и

journalctl -ef

показывает новые сообщения по мере их записи (аналогично команде

tail -f /var/log/syslog

).

5.1.8. Изменения в rsyslog, влияющие на анализаторы журналов, такие как logcheck

В rsyslog теперь по умолчанию используются «временные метки высокой точности», что может повлиять на другие программы, анализирующие системные журналы. Дополнительная информация о том, как настроить этот параметр, содержится в rsyslog.conf(5).

Изменение временных меток (timestamp) может потребовать обновления локально созданных правил logcheck. logcheck проверяет сообщения в системном журнале (создаваемом systemd-journald или rsyslog) на соответствие настраиваемой базе данных регулярных выражений, известных как правила. Правила, соответствующие времени создания сообщения, необходимо будет обновить, чтобы они соответствовали новому формату rsyslog. Правила по умолчанию, которые предоставляются пакетом logcheck-database, были обновлены, но для распознавания нового формата может потребоваться обновление других правил, в том числе созданных локально. Смотрите /usr/share/doc/logcheck-database/NEWS.Debian.gz для скрипта, помогающего обновлять локальные правила logcheck.

5.1.9. rsyslog создает меньше файлов журнала

Изменились файлы журналов, которые создает rsyslog, и некоторые файлы в /var/log могут быть удалены.

Если продолжите использовать rsyslog (см. Раздел 5.1.7, «Изменения в системном протоколировании (логи)»), некоторые файлы журнала в /var/log больше не будут создаваться по умолчанию. Сообщения, которые были записаны в эти файлы, также находятся в /var/log/syslog, но больше не создаются по умолчанию. Все, что раньше записывалось в эти файлы, по-прежнему будет доступно в /var/log/syslog.

Файлы, которые больше не создаются:

  • /var/log/mail.{info,warn,err}

    Эти файлы содержали сообщения от агента локального почтового транспорта (MTA), разделенные по приоритету.

    Поскольку /var/log/mail.log содержит все сообщения, связанные с почтой, эти файлы (и их развёрнутые копии) можно безопасно удалить. Если эти файлы использовались для отслеживания аномалий, подходящей альтернативой может быть что-то вроде logcheck.

  • /var/log/lpr.log

    Этот файл содержал сообщения журнала, относящиеся к печати. Системой печати по умолчанию в debian является cups, который не использует этот файл, поэтому, если вы не установили другую систему печати, этот файл (и его развёрнутые аналоги) могут быть удалены.

  • /var/log/{messages,debug,daemon.log}

    Эти файлы (и их развёрнутые аналоги) могут быть удалены. Все, что раньше записывалось в эти файлы, по-прежнему будет находиться в /var/log/syslog.

5.1.10. Обновление slapd может потребовать ручного вмешательства

OpenLDAP 2.5 является крупным новым выпуском и включает в себя несколько несовместимых изменений, как описано в анонсе upstream выпуска. В зависимости от конфигурации служба slapd может оставаться остановленной после обновления до тех пор, пока не будут завершены необходимые обновления конфигурации.

Ниже приведены некоторые из известных несовместимых изменений:

  • Серверные части базы данных slapd-bdb(5) и slapd-hdb(5) были удалены. Если вы используете один из этих серверных компонентов под bullseye, настоятельно рекомендуется перейти на серверную часть slapd-mdb(5) перед обновлением до bookworm.

  • Серверная часть базы данных slapd-shell(5) была удалена.

  • Оверлей slapo-ppolicy(5) теперь включает свою схему, скомпилированную в модуль. Старая внешняя схема, если она присутствует, конфликтует с новой встроенной схемой.

  • Модуль contrib паролей pw-argon2 был переименован в argon2.

Инструкции по завершению обновления и возобновлению работы службы slapd можно найти в файле /usr/share/doc/slapd/README.Debian.gz. Также следует ознакомиться с примечаниями к последующему обновлению.

5.1.11. GRUB больше не запускает os-prober по умолчанию

В течение длительного времени grub использовал пакет os-prober для обнаружения других операционных систем, установленных на компьютере, чтобы добавить их в меню загрузки. К сожалению, в некоторых случаях это может быть проблематично (например, при запуске гостевых виртуальных машин), поэтому теперь это отключено по умолчанию в последней авторской (upstream) версии.

Если используете GRUB для загрузки своей системы и хотите, чтобы в меню загрузки по-прежнему отображались другие операционные системы, можно изменить это. Либо отредактируйте файл /etc/default/grub, установив настройка GRUB_DISABLE_OS_PROBER=false и повторно запустите update-grub. Либо запустите

dpkg-reconfigure <GRUB_PACKAGE>

чтобы изменить эту и другие настройки GRUB более удобным для пользователя способом.

5.1.12. GNOME сократил поддержку специальных возможностей для программ чтения с экрана (Сволочи!!!)

Многие приложения GNOME перешли с графической библиотеки GTK3 на GTK4. К сожалению, это сделало многие приложения для чтения с экрана (например, orca) гораздо менее удобными.

Если программы чтения с экрана очень нужны, стоит подумать о переходе на другой рабочий стол, например, Mate, который имеет лучшую поддержку специальных возможностей. Это можно сделать, установив пакет mate-desktop-environment. Информация о том, как использовать Orca в Mate, доступна здесь. (прим. пер.: рекомендую так и сделать, так как на данный момент Mate практически во всём лучше GNOME)

5.1.13. Изменения в конфигурации polkit

Для согласованности с авторами (upstream) и другими дистрибутивами служба polkit (ранее PolicyKit), которая позволяет непривилегированным программам получать доступ к привилегированным системным службам, изменила синтаксис и расположение правил локальной политики. Теперь вам следует написать локальные правила для настройки политики безопасности на JavaScript и поместить их в /etc/polkit-1/rules.d/*.rules. Примеры правил, использующих новый формат, можно найти в /usr/share/doc/polkitd/examples/, а polkit(8) содержит дополнительную информацию.

Ранее правила могли быть написаны в формате pkla и размещены в подкаталогах /etc/polkit-1/localauthority или /var/lib/polkit-1/localauthority. Однако файлы .pkla теперь должны считаться устаревшими и будут продолжать работать только в том случае, если установлен пакет polkitd-pkla. Обычно этот пакет устанавливается автоматически при обновлении до bookworm, но, скорее всего, он не будет включен в будущие выпуски Debian, поэтому любые переопределения локальной политики необходимо будет перенести в формат JavaScript.

5.1.14. Теперь требуется «объединенный-/usr»

Debian принял компоновку (layout) файловой системы, называемый «объединенный-/usr», который больше не включает устаревшие каталоги /bin, /sbin, /lib или необязательные варианты, такие как /lib64. В новой компоновке устаревшие каталоги заменены символическими ссылками на соответствующие каталоги /usr/bin, /usr/sbin, /usr/lib и /usr/lib64. Это означает, что, например, как /bin/bash, так и /usr/bin/bash запустят bash.

Для систем, установленных из buster или bullseye, изменений не будет, поскольку новая компоновка файловой системы уже была по умолчанию в этих версиях. Однако старая компоновка больше не поддерживается, и системы, использующие его, будут преобразованы в новую компоновку при обновлении до bookworm.

Преобразование в новое устройство не должно повлиять на большинство пользователей. Все файлы автоматически перемещаются в свои новые местоположения, даже если они были установлены локально или получены из пакетов, не предоставленных Debian, и жестко заданные пути, такие как /bin/sh, продолжают работать. Однако существуют некоторые потенциальные проблемы:

  • dpkg --search

    выдаст неправильные ответы для файлов, перемещенных в новые места:

    dpkg --search /usr/bin/bash

    не определит, что bash пришел из пакета. (Но

    dpkg --search /bin/bash

    по-прежнему работает, как ожидается.)

  • Местное программное обеспечение, не предоставляемое Debian, может не поддерживать новую компоновку и может, например, полагаться на то, что /usr/bin/name и /bin/name являются двумя разными файлами. Это не поддерживается в объединенных системах (включая новые установки после buster), поэтому любое такое программное обеспечение должно быть исправлено или удалено перед обновлением.

  • Системы, полагающиеся на «обычную компоновку», недоступную для прямой записи (например, образы WSL1 или контейнерные системы, использующие многослойные файловые системы overlayfs), не могут быть безопасно преобразованы и должны быть либо заменены (например, путем установки нового образа WSL1 из хранилища), либо обновлен каждый отдельный слой (например, путем независимого обновления базового слоя Debian в overlayfs), а не путем dist-upgrade.

Для получения дополнительной информации смотрите Аргументы в пользу слияния и решение Технического комитета Debian. (прим. пер.: для русскоязычного пользователя лучше обсуждение на ЛОРе)

5.1.15. Неподдерживаемые обновления с buster завершаются ошибкой в libcrypt1

Debian официально поддерживает обновления только с одной стабильной версии на следующую, например, с bullseye до bookworm. Обновления с buster до bookworm не поддерживаются и завершатся ошибкой из-за Ошибки #993755 со следующей ошибкой:

Setting up libc6: (2.36-9) ...
/usr/bin/perl: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
dpkg: error processing package libc6: (--configure):
installed libc6: package post-installation script subprocess returned error exit status 127
        

Однако из этой конкретной ситуации можно выйти вручную, принудительно установив новый libcrypt1:

# cd $(mktemp -d)
# apt download libcrypt1
# dpkg-deb -x libcrypt1_*.deb .
# cp -ra lib/* /lib/
# apt --fix-broken install
        

5.1.16. То, что следует сделать после обновления и до перезагрузки

Когда будет завершено выполение команды apt full-upgrade, «формальная» процедура обновления будет завершена. Для обновления до bookworm не требуется выполнять каких-либо специальных действий до выполнения перезагрузки.

5.2. Элементы, не ограничивающиеся процессом обновления

5.2.1. Ограничения поддержки безопасности

Для некоторых пакетов Debian не может гарантировать какой-либо минимальной поддержки исправлений безопасности. О таких пакетах написано в следующих разделах.

[Примечание]Примечание

Пакет debian-security-support помогает отслеживать статус поддержки безопасности установленных пакетов.

5.2.1.1. Состояние безопасности веб-браузеров и их движков отрисовки (rendering engines)

В Debian 12 включено несколько браузерных движков (browser engines), в которых постоянно находят большое количество уязвимостей безопасности. Высокий уровень угроз и частичное отсутствие авторской поддержки в виде долгосрочных веток очень затрудняют поддержку этих браузеров и движков с помощью переноса исправлений безопасности в старые версии. Также из-за взаимозависимости библиотек невозможно произвести обновление до новых версий. Поэтому приложения, использующие пакет исходного кода webkit2gtk (например epiphany ) имеют поддержку безопасности, но приложения, использующие qtwebkit (пакет исходного кода qtwebkit-opensource-src ), — нет.

Для типичного использования веб-браузера рекомендуем Firefox или Chromium. Они будут поддерживаться в актуальном состоянии путем сборки текущих выпусков ESR для стабильного (stable) выпуска. (прим. пер.: настоятельно рекомендую Firefox, он обновляется значительно лучше Chromium) Та же стратегия будет применена и к Thunderbird.

Как только выпуск становится oldstable, официально поддерживаемые браузеры могут перестать получать обновления в течение стандартного периода действия. Например, Chromium получит поддержку безопасности только на 6 месяцев в oldstable вместо обычных 12 месяцев.

5.2.1.2. Пакеты на основе Go и Rust

Инфраструктура Debian в настоящее время имеет проблемы со сборкой пакетов типов, которые систематически используют статическое связывание. С ростом экосистем Go и Rust это означает, что на эти пакеты будет распространяться ограниченная поддержка безопасности до тех пор, пока инфраструктура не будет улучшена для обеспечения их обслуживания.

В большинстве случаев, если требуются обновления для библиотек разработки Go или Rust, они будут выпущены только в регулярных точечных выпусках.

5.2.2. Интерпретаторы Python, помеченные как сопровождаемые извне (externally-managed)

Предоставленные Debian пакеты интерпретатора python3 (python3.11 и pypy3) теперь помечены как сопровождаемые извне (externally-managed), следуя PEP-668. Версия python3-pip, представленная в Debian, следует этому и отказывается вручную устанавливать пакеты в Debian'овских интерпретаторах python, если не указана опция --break-system-packages.

Если вам нужно установить приложение (или версию) на Python, которое не упаковано в Debian, рекомендуем установить его с помощью pipx (из пакета pipx Debian). pipx настроит среду, изолированную от других приложений и системных модулей Python, и установит в неё приложение и его зависимости.

Если вам нужно установить модуль библиотеки Python (или версию), который не упакован в Debian, рекомендуем установить его в виртуальное окружение (virtualenv), где это возможно. Можно создавать virtualenv с помощью модуля venv стандартной библиотеки Python (из пакета python3-venv Debian) или сторонний инструмент Python virtualenv (из пакета virtualenv Debian). Например, вместо запуска pip install --user foo выполните: mkdir -p ~/.venvs && python3 -m venv ~/.venvs/foo && ~/.venvs/foo/bin/python -m pip install foo , чтобы установить его в выделенное virtualenv.

Смотрите /usr/share/doc/python3.11/README.venv для получения более подробной информации.

5.2.3. Ограниченная поддержка аппаратного ускорения кодирования/декодирования видео в VLC

Видеоплеер VLC поддерживает аппаратное ускорение декодирования и кодирования видео через VA-API и VDPAU. Однако поддержка VA-API в VLC тесно связана с версией FFmpeg. Поскольку FFmpeg был обновлен до версии 5.x, поддержка VA-API в VLC была отключена. Пользователи графических процессоров с встроенной поддержкой VA-API (например, графические процессоры Intel и AMD) могут испытывать высокую загрузку процессора во время воспроизведения и кодирования видео.

Эта проблема не затрагивает пользователей графических процессоров, предлагающих встроенную поддержку VDPAU (например, NVIDIA с несвободными драйверами).

Поддержку VA-API и VDPAU можно проверить с помощью vainfo и vdpauinfo (каждый предоставляется в одноименном пакете Debian).

5.2.4. systemd-resolved был выделен в отдельный пакет

Новый пакет systemd-resolved не будет устанавливаться автоматически при обновлениях. Если использовали системную службу systemd-resolved, пожалуйста, установите новый пакет вручную после обновления и обратите внимание, что до тех пор, пока он не будет установлен, разрешение DNS может больше не работать, поскольку служба не будет присутствовать в системе. Установка этого пакета автоматически предоставит systemd-resolved управление /etc/resolv.conf. Для получения дополнительной информации о systemd-resolved обратитесь к официальной документации. Обратите внимание, что systemd-resolved не был и не является средством разрешения DNS по умолчанию в Debian. Если вы не настроили свой компьютер на использование systemd-resolved в качестве средства разрешения DNS, никаких действий не требуется.

5.2.5. systemd-boot был выделен в отдельный пакет

Новый пакет systemd-boot не будет устанавливаться автоматически при обновлениях. Если использовали systemd-boot, установите этот новый пакет вручную и обратите внимание, что до тех пор, пока это не сделано, в качестве загрузчика будет использоваться более старая версия systemd-boot. Установка этого пакета автоматически настроит systemd-boot в качестве загрузчика компьютера. Загрузчиком по умолчанию в Debian по-прежнему является GRUB. Если вы не настроили компьютер на использование systemd-boot в качестве загрузчика, никаких действий не требуется.

5.2.6. systemd-journal-remote больше не использует GnuTLS

Необязательные службы systemd-journal-gatewayd и systemd-journal-remote теперь создаются без поддержки GnuTLS, что означает, что опция --trust больше не предоставляется ни одной из программ, и будет выдана ошибка, если она указана.

5.2.7. Значительные изменения в adduser для bookworm

В adduser было внесено несколько изменений. Наиболее заметным изменением является то, что --disabled-password и --disabled-login теперь функционально идентичны. Для получения дополнительной информации, пожалуйста, ознакомьтесь с /usr/share/doc/adduser/NEWS.Debian.gz.

5.2.8. Предсказуемое присвоение имен сетевым интерфейсам Xen

Предсказуемая логика присвоения имен в systemd для сетевых интерфейсов была расширена для создания стабильных имен из информации об устройстве Xen netfront. Это означает, что вместо прежней системы имен, назначаемых ядром, интерфейсы теперь имеют стабильные имена вида enX#. Подготовьте вашу систему перед перезагрузкой после обновления. Дополнительную информацию можно найти на вики-странице NetworkInterfaceNames.

5.2.9. Изменение в обработке dash циркумфлекса

dash, который по умолчанию предоставляет системную оболочку /bin/sh в Debian, переключился на обработку циркумфлекса (^) как буквального символа, что всегда было предполагаемым поведением, совместимым с POSIX. Это означает, что в bookworm [^0-9] больше не означает «не от 0 до 9», а «от 0 до 9 и ^». (прим. пер.: тут у авторов ошибка. Символ ^ — это карет (caret), а не циркумфлекс (circumflex). Отличие в том, что циркумфлекс — это диакритический знак, а карет — самостоятельный символ)

5.2.10. netcat-openbsd поддерживает абстрактные сокеты

Утилита netcat для чтения и записи данных через сетевые подключения поддерживает абстрактные сокеты и использует их по умолчанию в некоторых случаях.

По умолчанию netcat предоставляется netcat-traditional. Однако, если netcat предоставляется пакетом netcat-openbsd и вы используете сокет AF_UNIX, тогда применяется это новое значение по умолчанию. В этом случае параметр -U для nc теперь будет интерпретировать аргумент, начинающийся с @, как запрос абстрактного сокета, а не как имя файла, начинающееся с @ в текущем каталоге. Это может иметь последствия для безопасности, поскольку разрешения файловой системы больше нельзя использовать для управления доступом к абстрактному сокету. Можно продолжать использовать имя файла, начинающееся с @, добавив к имени префикс ./ или указав абсолютный путь.

5.3. Устаревание и нецелесообразность

5.3.1. Заслуживающие внимания устаревшие пакеты

Ниже приводится список заслуживающих внимания устаревших пакетов (описание см. в Раздел 4.8, «Устаревшие пакеты»).

В список устаревших пакетов входят следующие пакеты:

  • Пакет libnss-ldap был удален из bookworm. Его функциональность теперь обеспечивают libnss-ldapd и libnss-sss.

  • Пакет libpam-ldap был удален из bookworm. Его заменой является libpam-ldapd.

  • Пакет fdflush был удален из bookworm. Вместо этого, пожалуйста, используйте blockdev --flushbufs из util-linux.

  • Пакет libgdal-perl был удален из bookworm, поскольку привязка Perl для GDAL больше не поддерживается авторами (upstream). Если вам нужна поддержка Perl для GDAL, вы можете перейти на интерфейс FFI, предоставляемый пакетом **Geo::GDAL::FFI**, доступным на CPAN. Нужно будет создать свои собственные двоичные файлы, как описано на вики-странице BookwormGdalPerl.

5.3.2. Устаревшие компоненты bookworm

В следующем выпуске Debian 13 (кодовое имя trixie) некоторые возможности устарели. Пользователям требуется перейти на использование других альтернатив, чтобы избежать проблем с обновлением до Debian 13.

Изменения коснулись следующих возможностей:

  • Разработка службы NSS gw_name была остановлена в 2015 году. Связанный с ней пакет libnss-gw-name может быть удален в будущих выпусках Debian. Автор (upstream) предлагает вместо этого использовать libnss-myhostname.

  • dmraid не видел авторской (upstream) активности с конца 2010 года и находится на жизнеобеспечении в Debian. bookworm будет последней версией, которая предоставит его. Учитывайте это, если используете dmraid.

  • request-tracker4 был заменен на request-tracker5 в этом выпуске и будет удален в будущих выпусках. Мы рекомендуем вам запланировать переход с request-tracker4 на request-tracker5 в течение срока действия этого выпуска.

  • Пакет isc-dhcp был признан устаревшим ISC. В Debian Wiki есть список альтернативных реализаций, смотрите на страницах DHCP-клиент и DHCP-сервер. Если используется NetworkManager или systemd-networkd, можно безопасно удалить пакет isc-dhcp-client, поскольку они оба поставляют свою собственную реализацию. Если используется пакет ifupdown, можно поэкспериментировать с udhcpc в качестве замены. ISC рекомендует пакет Kea в качестве замены DHCP-серверов.

    Команда безопасности будет поддерживать пакет isc-dhcp в течение срока службы bookworm, но пакет, скорее всего, не будет поддерживаться в следующем стабильном выпуске. Подробности см. в ошибка #1035972 (isc-dhcp EOL'ed).

5.4. Известные серьезные ошибки

Хотя Debian выпускается, когда он готов, это, к сожалению, не означает, что известных ошибок нет. В рамках процесса выпуска все ошибки степени серьезности serious или выше активно отслеживаются командой разработчиков, поэтому обзор этих ошибок, которые были помечены как игнорируемые в последней части выпуска bookworm, можно найти в Системе отслеживания ошибок Debian. Следующие ошибки влияли на bookworm на момент выпуска и заслуживают упоминания в этом документе:

Номер ошибкиПакет (исходного кода или двоичный)Описание
1032240akonadi-backend-mysqlсервер akonadi не запускается, так как он не может подключиться к базе данных mysql
918984src:fuse3укажите путь обновления fuse -> fuse3 для bookworm
1016903g++-12tree-vectorize: неверный код на уровне O2 (-fno-tree-vectorize работает)
1020284git-daemon-runне удается выполнить очистку: deluser -f: Неизвестный параметр: f
919296git-daemon-runсбой с сообщением "предупреждение: git-daemon: не удается открыть supervise/ok: файл не существует"
1034752src:gluegen2встраивает несвободные заголовки
1036256src:golang-github-pin-tftpFTBFS при тестировании: dh_auto_test: ошибка: cd _build && go test -vet=off -v -p 8 github.com/pin/tftp github.com/pin/tftp/netascii вернул код 1
1036575groonga-binотсутствующие зависимости: libjs-jquery-flot, libjs-jquery-ui
1036041src:grub2отчеты об обновлении: Dell XPS 9550 не загружается после обновления bullseye до bookworm - ошибка взаимодействия grub/bios?
558422grub-pcобновление зависает
913916grub-efi-amd64параметр загрузки UEFI удален после обновления до grub2 2.02~beta3-5+deb9u1
924151grub2-commonневерный файл grub.cfg для загрузки через efi и полностью зашифрованного диска
925134grub-efi-amd64grub-efi-amd64-signed: не подключает cryptodisk
945001grub-efi-amd64GRUB-EFI портит загрузочные переменные
965026grub-emugrub-emu зависает в консоли Linux при запуске как root
984760grub-efi-amd64обновление выполнено, на загрузке падает (ошибка: символ `grub_is_lockdown` не найден)
1036263src:guestfs-toolsFTBFS при тестировании: make[6]: *** [Makefile:1716: test-suite.log] Ошибка 1
916596iptablesошибка iptables.postinst при создании ссылки
919058itstoolits-tools: сбой при освобождении xmlDocs
1028416kexec-toolssystemctl kexec неправильно завершает работу системы и повреждает смонтированные файловые системы
935182libreoffice-coreОдновременное открытие файла на одном и том же хосте приводит к удалению файла
1036755src:linux6.1.26 <= x < 6.1.30 прерывает работу приложений, использующих mmap(MAP_32BIT) [влияет на ganeti]
1036580src:llvm-defaultsпожалуйста, добавьте несколько Breaks для более плавного обновления с bullseye
1036359elpa-markdown-tocсбой с (аргумент-неправильного-типа равен нулю)
1032647nvidia-driverПериодически появляющийся черный экран после обновления до версии 525.89.02-1
1029342openjdk-17-jre-headlessjexec: не удается найти java: такого файла или каталога нет
1035798libphp8.2-embedне поставляется SONAME ссылка на /usr/lib/libphp.so -> libphp8.2.so
1034993software-properties-qtотсутствуют Breaks+Replaces для software-properties-kde при обновлении с bullseye
1036388sylpheedсброс учетной записи при проверке почты
1036424sylpheedответ на отправленное электронное письмо не приводит к соответствующей настройке учетной записи
994274src:syslinuxFTBFS в gnu-efi 3.0.13
1031152system-config-printerкнопка разблокировки в system-config-printer не предоставляет диалогового окна для повышения привелегий
975490u-boot-sunxiA64-Olinuxino-eMMC загрузка виснет на "Starting kernel ...
1034995python-is-python3отсутствуют Breaks+Replaces для python-dev-is-python2 при обновлении с bullseye
1036881whiteduneошибка сегментирования
1036601xenstore-utilsотсутствуют зависимости: xen-utils-common
1036578python3-yadeне поставляется модуль python