5. trixie で注意すべき点

新しいリリースで導入された変更点には副作用が避けられず、どこか他の場所でバグを出してしまうことがあります。この章では、現時点で私たちが知っている問題点を記載しています。正誤表・関連パッケージの付属文書・バグ報告や、もっと読みたい で触れられているその他の情報も読んでください。

5.1. trixie へのアップグレード特有の事項

この項では bookworm から trixie へのアップグレードに関連した項目を取り扱います。

5.1.1. 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.2. 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.2. アップグレード後、再起動前にすること

apt full-upgrade が完了した時点で、"正規"のアップグレードは完了しています。trixie へのアップグレードについては、再起動の実行前に必要となる特別な作業はありません。

5.2.1. アップグレード後も影響がある項目

5.2.2. セキュリティサポートにおける制限事項

Debian がセキュリティ問題に対する最小限のバックポートを約束できないパッケージがいくつか存在しています。これらについては以下の章で触れられています。

注釈

debian-security-support パッケージが、インストールされたパッケージのセキュリティサポート状況を確認するのに役立ちます。

5.2.2.1. ウェブブラウザとそのレンダリングエンジンにおけるセキュリティ更新の状態

Debian 13 は複数のブラウザエンジンを含んでおり、これらは一定の割合でセキュリティ脆弱性の影響を受けます。高い脆弱性率と長期ブランチ形式での upstream でのサポートが限定的なことによって、セキュリティ修正をバックポートしてこれらのブラウザならびにブラウザエンジンをサポートする事が難しくなっています。さらに、ライブラリとの相互依存性のため、開発元での新しいリリースへの更新を極めて難しくしています。webkit2gtk ソースパッケージを使ったアプリケーション (例: epiphany) はセキュリティサポートの対象ですが、qtwebkit (qtwebkit-opensource-src ソースパッケージ) を使っているアプリケーションはセキュリティサポートの対象外です。

一般的なウェブブラウザ利用として我々は Firefox または Chromium を推奨しています。安定版向けに現行の ESR リリースをリビルドすることで最新を維持します。同じ手法が Thunderbird にも適用されます。

一旦リリースが oldstable となると、公式サポート対象のブラウザは標準的な保証期間の更新を受け続けられないかもしれません。例えば、Chromium は oldstable では通常の 12 ヶ月 ではなく 6 ヶ月のセキュリティサポートのみを受けます。

5.2.2.2. Go および Rust 言語ベースのパッケージ

現在、Debian のインフラは静的リンクを行うパッケージをリビルドすることに問題を抱えています。Go および Rust のエコシステムの成長に伴い、インフラが強化されメンテナンスが行き届くようになるまでは、限定的なセキュリティサポートとなります。

多くの場合ですが Go あるいは Rust の開発用ライブラリへの更新は、定期的なポイントリリースでのみ提供されます。

5.2.3. python インタプリタは externally-managed としてマークされます

Debian が提供する python3 インタプリタパッケージ (python3.11 および pypy3) は、PEP-668 に従って externally-managed とマークされるようになりました。Debian で提供されるバージョンの python3-pip はこれに伴って、--break-system-packages オプションが指定されない限り、Debian の python インタプリタ環境へ手作業でのパッケージインストールを拒否します。

Debian ではパッケージ化されていない Python アプリケーション (あるいはバージョン) をインストールする必要がある場合、(pipx Debian パッケージにある) pipx を使ってのインストールを推奨します。pipx は他のアプリケーションやシステムの Python モジュールから隔離された環境をセットアップし、アプリケーションとその依存関係をその環境へインストールします。

Debian ではパッケージ化されていない Python ライブラリモジュール (あるいはバージョン) をインストールする必要がある場合、可能であれば virtualenv へインストールするのを推奨しています。virtualenv は Python 標準ライブラリモジュールの venv (python3-venv Debian パッケージ内)、あるいは Python サードパーティツールの virtualenv (virtualenv Debian パッケージにあります) で作成できます。例えば、pip install --user foo を実行するのではなく、任意の virtualenv にインストールするのに `` mkdir -p ~/.venvs && python3 -m venv ~/.venvs/foo && ~/.venvs/foo/bin/python -m pip install foo`` を実行します。

詳細については /usr/share/doc/python3.11/README.venv を参照してください。

5.2.4. VLC でのハードウェアアクセラレーションを利用したビデオエンコードとデコードのサポートは制限されています

VLC ビデオプレイヤーは、VA-API と VDPAU を使ってハードウェアアクセラレーションを有効にしたビデオエンコーディング・デコーディングをサポートしています。しかし、VLC の VA-API サポートは FFmpeg のバージョンと強く結びついてしまっています。FFmpeg が 5.x ブランチにアップグレードされたので、VLC の VA-API サポートは無効にされています。ネイティブな VA-API サポートを持つ GPU (Intel や AMD の GPU) のユーザーは、ビデオの再生やエンコーディング時に高い CPU 負荷に遭遇するかもしれません。

ネイティブな VDPAU サポートを提供している GPU (non-free なドライバを利用している NVIDIA) はこの問題の影響を受けません。

Support for VA-API and VDPAU can be checked with vainfo and vdpauinfo (each provided in a Debian package of the same name).

5.2.5. systemd-resolved は分割されて独立したパッケージになりました

The new systemd-resolved package will not be installed automatically on upgrades. If you were using the systemd-resolved system service, please install the new package manually after the upgrade, and note that until it has been installed, DNS resolution might no longer work since the service will not be present on the system. Installing this package will automatically give systemd-resolved control of /etc/resolv.conf. For more information about systemd-resolved, consult the official documentation. Note that systemd-resolved was not, and still is not, the default DNS resolver in Debian. If you have not configured your machine to use systemd-resolved as the DNS resolver, no action is required.

5.2.6. systemd-boot は分割されて独立したパッケージになりました

新規パッケージ systemd-boot はアップグレード時に自動的にはインストールされません。systemd-boot を利用していた場合は、この新規パッケージを手動でインストールしてください。インストールするまではブートローダーとして systemd-boot の以前のバージョンが利用される点に注意ください。このパッケージをインストールすると、自動的に systemd-boot をこのマシンのブートローダーとして設定します。Debian でのデフォルトのブートローダーは依然として GRUB です。以前にこのマシンがブートローダーとして systemd-boot を使うように設定していない場合、特に作業は要りません。

5.2.7. systemd-journal-remote は GnuTLS を使わなくなりました

任意のサービス systemd-journal-gatewayd および systemd-journal-remote は GnuTLS サポート無しでビルドされるようになりました。これはどちらのプログラムでも --trust オプションが無くなり、もし指定した場合はエラーが返されるようになったということです。

5.2.8. bookworm に向けた adduser の大幅な変更点

様々な変更が adduser にあります。最も目立つ変更点は --disabled-password および --disabled-login が文字通り動作するようになったことです。より詳細については /usr/share/doc/adduser/NEWS.Debian.gz を参照してください。

5.2.9. 予測可能な Xen のネットワークインターフェイス名

systemd でのネットワークインターフェースに関する予測可能な命名規則ですが、Xen の netfront デバイス情報での固定名の生成にまで拡張されています。これはインターフェイスが以前のカーネルにアサインされたシステム名ではなく、enX# という形式の固定名を持つということを意味しています。アップグレード後、再起動の前にシステムを調整してください。他の情報については NetworkInterfaceNames wiki page を参照してください。

5.2.10. dash でのサーカムフレックス (^) の扱いの変更

Debian でシステムシェル /bin/sh をデフォルトで提供する dash ですが、これまでのように POSIX 互換の挙動を意図しているところから、サーカムフレックス (^) をリテラル文字として扱うように変更しました。これは bookworm では [^0-9] は"0 から 9 ではない"という意味ではなく、"0 から 9 と ^"という意味になるということです。

5.2.11. netcat-openbsd が抽象ソケットをサポートしました

The netcat utility for reading and writing data across network connections supports abstract sockets (see unix.7.html#Abstract_sockets, and uses them by default in some circumstances.

デフォルトの状態では netcatnetcat-traditional によって提供されています。しかし、netcatnetcat-openbsd パッケージによって提供されていて AF_UNIX ソケットを使っている場合、この新しいデフォルト設定が適用されます。この場合、 nc コマンドの -U オプションは @ で始まる引数をカレントディレクトリにある @ で始まるファイル名ではなく、抽象ソケットの要求であると解釈するようになっています。ファイルシステムのパーミッション設定が抽象ソケットへのアクセス制御に使えなくなくなるため、これはセキュリティに影響を与える可能性があります。./ をファイル名のプレフィックスに使う、あるいは絶対パスを指定すれば、@ から始まるファイル名を使い続けることができます。

5.3. 廃止および非推奨となった事柄について

5.3.1. 特記すべき廃止されたパッケージたち

以下は、よく知られていて特に廃止されたパッケージの一覧です (説明については 利用されなくなったパッケージ 参照)。

廃止パッケージの一覧には以下が含まれます:

  • libnss-ldap パッケージは trixie から削除されました。この機能は libnss-ldapd ならびに libnss-sss によってカバーされています。

  • libpam-ldap パッケージは trixie から削除されました。代替は libpam-ldapd となります。

  • fdflush パッケージは trixie から削除されました。代わりとして、 util-linuxblockdev --flushbufs を利用してください。

  • GDAL の Perl バインディングは upstream でサポートされなくなったため、libgdal-perl パッケージは trixie から削除されています。GDAL の Perl サポートを必要とする場合は、CPAN で入手可能な Geo::GDAL::FFI パッケージが提供する FFI インターフェイスに移行できます。BookwormGdalPerl Wiki ページ に記述されているように、自前でバイナリをビルドする必要があります。

5.3.2. trixie で非推奨となったコンポーネント

次のリリースである Debian 14 (コードネーム forky) では、いくつかの機能が非推奨となります。14 へ更新する際にトラブルを防ぐためには、ユーザーは他の選択肢へ移行する必要があります。

これには以下の機能が含まれます:

  • NSS サービス gw_name の開発は2015年に停止しました。関連パッケージ libnss-gw-name は将来の Debian リリースにて削除される可能性があります。upstream の開発者は代わりに libnss-myhostname の利用を推奨しています。

  • dmraid は upstream での活動が2010年終わりから見られず、Debian でのサポートを受けている状態でした。bookworm がこれを含む最後のリリースとなるので、dmraid を利用している場合は対応の計画を適宜してください。

  • request-tracker4 はこのリリースで request-tracker5 に置き換えられました。そして request-tracker4 は将来のリリースで削除されます。今回のリリースのサポート期間内で request-tracker4 から request-tracker5 への以降を計画しておくことをお勧めします。

  • The isc-dhcp suite has been deprecated by the ISC. The Debian Wiki has a list of alternative implementations, see the DHCP Client and DHCP Server pages for the latest. If you are using NetworkManager or systemd-networkd, you can safely remove the isc-dhcp-client package as they both ship their own implementation. If you are using the ifupdown package, you can experiment with udhcpc as a replacement. The ISC recommends the Kea package as a replacement for DHCP servers.

    The security team will support the isc-dhcp package during the bookworm lifetime, but the package will likely be unsupported in the next stable release, see bug #1035972 (isc-dhcp EOL'ed) for more details.

5.4. 既知の重大なバグ

Although Debian releases when it's ready, that unfortunately doesn't mean there are no known bugs. As part of the release process all the bugs of severity serious or higher are actively tracked by the Release Team, so an overview of those bugs that were tagged to be ignored in the last part of releasing trixie can be found in the Debian Bug Tracking System. The following bugs were affecting trixie at the time of the release and worth mentioning in this document:

バグ番号

パッケージ名 (ソースあるいはバイナリ)

説明

1032240

akonadi-backend-mysql

akonadi server fails to start since it cannot connect to mysql database

1032177

faketime

faketime が (i386 では) 動作しない

918984

src:fuse3

provide upgrade path fuse -> fuse3 for bookworm

1016903

g++-12

tree-vectorize: O2 レベルで間違ったコードが生成される (-fno-tree-vectorize は動作している)

1020284

git-daemon-run

purge に失敗する: deluser -f: Unknown option: f

919296

git-daemon-run

以下のメッセージで失敗する 'warning: git-daemon: unable to open supervise/ok: file does not exist'

1034752

src:gluegen2

non-free なヘッダを含む