5. Что нужно знать о trixie

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

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

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

5.1.1. Reduced support for i386

From trixie, i386 is no longer supported as a regular architecture: there is no official kernel and no Debian installer for i386 systems. Fewer packages are available for i386 because many projects no longer support it. The architecture's sole remaining purpose is to support running legacy code, for example, by way of multiarch or a chroot.

Users running i386 systems should not upgrade to trixie. Instead, Debian recommends either reinstalling them as amd64, where possible, or retiring the hardware. Cross-grading without a reinstall is a technically possible, but risky, alternative.

5.1.2. openssh-server no longer reads ~/.pam_environment

The Secure Shell (SSH) daemon provided in the openssh-server package, which allows logins from remote systems, no longer reads the user's ~/.pam_environment file by default; this feature has a history of security problems and has been deprecated in current versions of the Pluggable Authentication Modules (PAM) library. If you used this feature, you should switch from setting variables in ~/.pam_environment to setting them in your shell initialization files (e.g. ~/.bash_profile or ~/.bashrc) or some other similar mechanism instead.

Existing SSH connections will not be affected, but new connections may behave differently after the upgrade. If you are upgrading remotely, it is normally a good idea to ensure that you have some other way to log into the system before starting the upgrade; see Подготовка к восстановлению.

5.1.3. OpenSSH no longer supports DSA keys

Digital Signature Algorithm (DSA) keys, as specified in the Secure Shell (SSH) protocol, are inherently weak: they are limited to 160-bit private keys and the SHA-1 digest. The SSH implementation provided by the openssh-client and openssh-server packages has disabled support for DSA keys by default since OpenSSH 7.0p1 in 2015, released with Debian 9 ("stretch"), although it could still be enabled using the HostKeyAlgorithms and PubkeyAcceptedAlgorithms configuration options for host and user keys respectively.

The only remaining uses of DSA at this point should be connecting to some very old devices. For all other purposes, the other key types supported by OpenSSH (RSA, ECDSA, and Ed25519) are superior.

As of OpenSSH 9.8p1 in trixie, DSA keys are no longer supported even with the above configuration options. If you have a device that you can only connect to using DSA, then you can use the ssh1 command provided by the openssh-client-ssh1 package to do so.

In the unlikely event that you are still using DSA keys to connect to a Debian server (if you are unsure, you can check by adding the -v option to the ssh command line you use to connect to that server and looking for the "Server accepts key:" line), then you must generate replacement keys before upgrading. For example, to generate a new Ed25519 key and enable logins to a server using it, run this on the client, replacing username@server with the appropriate user and host names:

$ ssh-keygen -t ed25519
$ ssh-copy-id username@server

5.1.4. The last, lastb and lastlog commands have been replaced

The util-linux package no longer provides the last or lastb commands, and the login package no longer provides lastlog. These commands provided information about previous login attempts using /var/log/wtmp, /var/log/btmp, /var/run/utmp and /var/log/lastlog, but these files will not be usable after 2038 because they do not allocate enough space to store the login time (the Year 2038 Problem), and the upstream developers do not want to change the file formats. Most users will not need to replace these commands with anything, but the util-linux package provides a lslogins command which can tell you when accounts were last used.

There are two direct replacements available: last can be replaced by wtmpdb from the wtmpdb package (the libpam-wtmpdb package also needs to be installed) and lastlog can be replaced by lastlog2 from the lastlog2 package (libpam-lastlog2 also needs to be installed). If you want to use these, you will need to install the new packages after the upgrade, see the util-linux NEWS.Debian for further information. The command lslogins --failed provides similar information to lastb.

If you do not install wtmpdb then we recommend you remove old log files /var/log/wtmp*. If you do install wtmpdb it will upgrade /var/log/wtmp and you can read older wtmp files with wtmpdb import -f <dest>. There is no tool to read /var/log/lastlog* or /var/log/btmp* files: they can be deleted after the upgrade.

5.1.5. RabbitMQ no longer supports HA queues

High-availability (HA) queues are no longer supported by rabbitmq-server starting in trixie. To continue with an HA setup, these queues need to be switched to "quorum queues".

If you have an OpenStack deployment, please switch the queues to quorum before upgrading. Please also note that beginning with OpenStack's "Caracal" release in trixie, OpenStack supports only quorum queues.

5.1.6. RabbitMQ cannot be directly upgraded from bookworm

There is no direct, easy upgrade path for RabbitMQ from bookworm to trixie. Details about this issue can be found in bug 1100165.

The recommended upgrade path is to completely wipe the rabbitmq database and restart the service (after the trixie upgrade). This may be done by deleting /var/lib/rabbitmq/mnesia and all of its contents.

5.1.7. MariaDB major version upgrades only work reliably after a clean shutdown

MariaDB does not support error recovery across major versions. For example if a MariaDB 10.11 server experienced an abrupt shutdown due to power loss or software defect, the database needs to be restarted with the same MariaDB 10.11 binaries so it can do successful error recovery and reconcile the data files and log files to roll-forward or revert transactions that got interrupted.

If you attempt to do crash recovery with MariaDB 11.8 using the data directory from a crashed MariaDB 10.11 instance, the newer MariaDB server will refuse to start.

To ensure a MariaDB Server is shut down cleanly before going into major version upgrade, stop the service with

# service mariadb stop

followed by checking server logs for Shutdown complete to confirm that flushing all data and buffers to disk completed successfully.

If it didn't shut down cleanly, restart it to trigger crash recovery, wait, stop again and verify that second stop was clean.

For additional information about how to make backups and other relevant information for system administrators, please see /usr/share/doc/mariadb-server/README.Debian.gz.

5.1.8. Ping no longer runs with elevated privileges

The default version of ping (provided by iputils-ping) is no longer installed with access to the CAP_NET_RAW linux capability, but instead uses ICMP_PROTO datagram sockets for network communication. Access to these sockets is controlled based on the user's Unix group membership using the net.ipv4.ping_group_range sysctl. In normal installations, the linux-sysctl-defaults package will set this value to a broadly permissive value, allowing unprivileged users to use ping as expected, but some upgrade scenarios may not automatically install this package. See /usr/lib/sysctl.d/50-default.conf and the kernel documentation for more information on the semantics of this variable.

5.1.9. Significant changes to libvirt packaging

The libvirt-daemon package, which provides an API and toolkit for managing virtualization platforms, has been overhauled in trixie. Each driver and storage backend now comes in a separate binary package, which enables much greater flexibility.

Care is taken during upgrades from bookworm to retain the existing set of components, but in some cases functionality might end up being temporarily lost. We recommend that you carefully review the list of installed binary packages after upgrading to ensure that all the expected ones are present; this is also a great time to consider uninstalling unwanted components.

In addition, some conffiles might end up marked as "obsolete" after the upgrade. The /usr/share/doc/libvirt-common/NEWS.Debian.gz file contains additional information on how to verify whether your system is affected by this issue and how to address it.

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

  • The libnss-gw-name package has been removed from trixie. The upstream developer suggests using libnss-myhostname instead.

  • The pcregrep package has been removed from trixie. It can be replaced with grep -P (--perl-regexp) or pcre2grep (from pcre2-utils).

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

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

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

  • The sudo-ldap package will be removed in forky. The Debian sudo team has decided to discontinue it due to maintenance difficulties and limited use. New and existing systems should use libsss-sudo instead.

    Upgrading Debian trixie to forky without completing this migration may result in the loss of intended privilege escalation.

    For further details, please refer to bug 1033728 and to the NEWS file in the sudo package.

  • The sudo_logsrvd feature, used for sudo input/output logging, may be removed in Debian forky unless a maintainer steps forward. This component is of limited use within the Debian context, and maintaining it adds unnecessary complexity to the basic sudo package.

    For ongoing discussions, see bug 1101451 and the NEWS file in the sudo package.

  • The libnss-docker package is no longer developed upstream and requires version 1.21 of the Docker API. That deprecated API version is still supported by Docker Engine v26 (shipped by Debian trixie) but will be removed in Docker Engine v27+ (shipped by Debian forky). Unless upstream development resumes, the package will be removed in Debian forky.

  • The openssh-client and openssh-server packages currently support GSS-API authentication and key exchange, which is usually used to authenticate to Kerberos services. This has caused some problems, especially on the server side where it adds new pre-authentication attack surface, and Debian's main OpenSSH packages will therefore stop supporting it starting with forky.

    If you are using GSS-API authentication or key exchange (look for options starting with GSSAPI in your OpenSSH configuration files) then you should install the openssh-client-gssapi (on clients) or openssh-server-gssapi (on servers) package now. On trixie, these are empty packages depending on openssh-client and openssh-server respectively; on forky, they will be built separately.

  • sbuild-debian-developer-setup has been deprecated in favor of sbuild+unshare

    sbuild, the tool to build Debian packages in a minimal environment, has had a major upgrade and should work out of the box now. As a result the package sbuild-debian-developer-setup is no longer needed and has been deprecated. You can try the new version with:

    $ sbuild --chroot-mode=unshare --dist=unstable hello
    
  • The fcitx packages have been deprecated in favor of fcitx5

    The fcitx input method framework, also known as fcitx4 or fcitx 4.x, is no longer maintained upstream. As a result, all related input method packages are now deprecated. The package fcitx and packages with names beginning with fcitx- will be removed in Debian forky.

    Existing fcitx users are encouraged to switch to fcitx5 following the fcitx upstream migration guide and Debian Wiki page.

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

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

Номер ошибки

Пакет (исходного кода или двоичный)

Описание

1032240

akonadi-backend-mysql

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

1032177

faketime

faketime не подделывает время (на i386)

918984

src:fuse3

укажите путь обновления fuse -> fuse3 для bookworm

1016903

g++-12

tree-vectorize: неверный код на уровне O2 (-fno-tree-vectorize работает)

1034752

src:gluegen2

встраивает несвободные заголовки