目次
新しいリリースで導入された変更点には副作用が避けられず、どこか他の場所でバグを出してしまうことがあります。この章では、現時点で私たちが知っている問題点を記載しています。正誤表・関連パッケージの付属文書・バグ報告や、「もっと読みたい」で触れられているその他の情報も読んでください。
この項では buster から bullseye へのアップグレードに関連した項目を取り扱います。
Broadwell 以降の Intel 社製の GPU では、ハードウェアによる動画処理のため専用の API (VA-API) intel-media-va-driver
がデフォルトになります。従来の
va-driver-all
がインストールされたシステムでは、新しいドライバーに自動的に更新されます。
レガシードライバーパッケージの i965-va-driver
はまだ利用可能であり、Cannon Lake
マイクロアーキテクチャまでサポートされます。新しいドライバーではなくレガシードライバーを使用したい場合は、/etc/environment
ファイルを変更するなどして、環境変数 LIBVA_DRIVER_NAME
を
i965
に設定してください。詳細は、wiki のhardware video
acceleration のページを参照してください。
XFS ファイルシステムでマウントオプション barrier
と
nobarrier
がなくなりました。アップデート前に
/etc/fstab
でそれぞれのキーワードを確認し、削除するのを推奨します。これらのオプションを使用しているパーティションは、マウントできなくなります。
bullseye ではセキュリティスイートの名前が buster/updates
から
bullseye-security
に変更されます。OS のアップグレード時に、ユーザが自分で APT
のファイルのソースリストを更新してください。
例えば APT のセキュリティのソースラインは、以下のようになります。
deb https://deb.debian.org/debian-security bullseye-security main contrib
ローカルアカウントに対して、デフォルトのパスワード暗号化が SHA-512 からyescrypt(詳細は crypt(5)) に変更されました。これにより、辞書ベースのパスワード推測攻撃に対して時間と空間計算量の観点からセキュリティの向上が期待されます。
この改善されたセキュリティ機能の利点を享受するには、ローカルパスワードを変更する必要があります。passwd コマンドを使うなどしてください。
以前のパスワードの生成にどのようなパスワードハッシュ方法で使っていたとしても、そのパスワードは使い続けられます。
yescrypt は Debian 10 (buster) ではサポートされていません。そのため、bullseye システムのshadow
パスワードファイル (/etc/shadow
) を buster
システムにはコピーできません。これらのファイルがコピーされた場合、bullseye システム上で変更されたパスワードは buster
システムでは動作しません。同様に、bullseye システムで暗号化されたパスワードは buster システムへカット&ペーストできません。
bullseye と buster
間でパスワードハッシュに互換性が必要な場合、/etc/pam.d/common-password
を以下の様に変更してください:
password [success=1 default=ignore] pam_unix.so obscure yescrypt
そして、yescrypt
を sha512
に変更してください。
NSS NIS と NIS+ のサポートは、libnss-nis
と libnss-nisplus
という別のパッケージに分けられました。残念ながら、現時点では
glibc
はそれらのパッケージに依存しておらず、推奨のみしています。
そのため NIS もしくは NIS+ を使用しているシステムでは、OS のアップグレード後にそれらのパッケージがインストールされているか確認することをお勧めします。
DNS リゾルバ unbound
は設定のファイルを分割したときの動作を変更しました。分割された複数のファイルを include:
ディレクティブを使用して設定を定義している場合、NEWS
ファイル を読むのをお勧めします。
rsync
のパラメータ
--copy-devices
と --noatime
が
--write-devices
と --open-noatime
に変更されました。古い書式のパラメータはサポートされません。これらのパラメータを使用している場合、NEWS
ファイルに目を通すのをお勧めします。 異なる Debian のリリースが稼動しているシステム間で通信する場合は、buster 側の
rsync
を backports
のバージョンにアップグレードする必要があるかもしれません。
長らく vim
のアドオンは vim-scripts
として提供されていました。しかし vim-addon-manager
ではなくVim
のネイティブな「パッケージ」機能をそのまま使用するようになります。Vim のユーザーは NEWS
ファイル に従いアップグレードの準備をしてください。
(bullseye でリリースとなる) OpenStack Victoria は、QoS ブロックデバイスに cgroup v1
を必要とします。bullseye では cgroup v2 がデフォルトになったため (詳細は 「コントロールグループ v2」)、sysfs ツリー内の /sys/fs/cgroup
には/sys/fs/cgroup/blkio
などの cgroup v1
の機能が含まれていません。そしてその結果、cgcreate -g blkio:foo
が動作しません。nova-compute
や cinder-volume
が動作している OpenStack
ノードでは、デフォルト設定を上書きして従来の cgroup
ヒエラルキーに戻すために、systemd.unified_cgroup_hierarchy=false
とsystemd.legacy_systemd_cgroup_controller=false
をカーネルコマンドラインに加えることを強く推奨します。
開発元からの推奨事項では、bullseye でリリースされた OpenStack Victoria が新しい YAML
フォーマットを使用するため、OpenStack API が更新され互換性がなくなります。その結果、そのままでは Nova, Glance,
Keystone を含む policy.json
ファイルに全て API ポリシーが明記されているほとんどの
OpenStack サービスは動作しません。そのため デフォルトで全てのポリシーが記述された
00_default_policy.yaml
を含む
/etc/PROJECT/policy.d
が配布されるようになります。このファイルは、デフォルトで全てコメントアウトされています。
従来のファイル policy.json
が参照されるのを防ぐためにDebian OpenStack
はファイル名を disabled.policy.json.old
に変更します。policy.json
を単純に削除してしまった方が良い場合もあるかもしれません。そのため、アップデート前に policy.json
をバックアップしておく事を強く推奨します。
詳細は開発元のドキュメントを参照してください。
通常のアップグレードとは異なり、buster から bullseye への更新中は sendmail
が停止し、通常よりも長いダウンタイムを発生します。一般的な対処法ですが、ダウンタイムを縮小するためにはこちらをご覧ください「サービスのダウン期間の準備」。
gvfs-fuse
, kio-fuse
, sshfs
はFUSE 3に移行しました。アップグレード中に fuse3
がインストールされ、fuse
パッケージは削除されます。
特別な環境、例えば 4章Debian 10 (buster) からのアップグレード
に記述されている推奨されるアップデート手順ではなく、apt-get dist-upgradeのみ実行してアップグレードした場合、fuse3
に依存するパッケージは、アップデート中に更新されない可能性があります。bullseye の apt
を使って 「システムのアップグレード」
で説明されている手順を実行する、もしくは手動でアップデートすることで状態が解消されます。
バージョン 2.2.27-1 以降では、GnuPG
のユーザー毎の設定が
~/.gnupg/gpg.conf
に移動され、そして
~/.gnupg/options
は
使用されなくなりました。必要であれば、ファイル名を変更するか、内容を新たな位置に移動してください。
Linux
5.10
より、全てのユーザーはデフォルトでユーザー名前空間を作れるようになりました。これにより、ウェブブラウザやコンテナマネージャーが、ルート権限での実行あるいは
setuid-root されたヘルパーを使わずに、信頼できない・信頼性が低いコードに対してより制限されたサンドボックスを作成できるようになりました。
以前の Debian ではこの機能はルート権限で実行されるプロセスのみに制限されていました。なぜなら、この機能はカーネル内のセキュリティの問題をより晒すことになるからです。 しかし、この機能の実装が成熟したことによって、セキュリティよりもこの機能を有効にすることによる恩恵の方が上まわったと確信しています。
この機能を制限したい場合、sysctl を以下のように設定してください:
user.max_user_namespaces = 0
ウェブブラウザ、WebKitGTK
, Flatpak
,
GNOME
のサムネイル機能などを含む、様々なデスクトップアプリやコンテナの機能はこの制限下では動作しないであろうことに注意してください。
Debian 固有の sysctl 設定 kernel.unprivileged_userns_clone=0
も同様の効果がありますが、非推奨となっています。
redmine
パッケージは bullseye
では提供されません。開発元のサポートが停止した (重大なセキュリティ修正バグのみへの対応を行う) 古いバージョンから bullseye
でのバージョンへの rails
の移行を行うには遅すぎたからです。Ruby Extras
のメンテナらは、開発元の状態を追いかけ、リリース後に動作するパッケージが出来次第、backports
経由でパッケージをリリースする予定です。アップグレード作業までこの動きが待てない場合、特定アプリケーションの隔離用の buster
が動作する仮想マシンあるいはコンテナが利用できるでしょう。
bullseye の Exim バージョンはメジャーアップデートである、とご理解ください。信頼しないソース
(例えば送信者や受信者が信頼できない場合) からの汚染されたデータの読み取りというコンセプトが導入されました。汚染されたデータ (例:
$local_part
や $domain
)
は、ファイル、ディレクトリ名やコマンド名など他の項目に使用できません。
この変更は、適切にアップデートしていない設定ファイルを破壊します。古い Debian の Exim の設定ファイルは変更なしでは使用できません。ローカルでの修正を加えてから新しい設定をインストールする必要があります。
動作しない例は、以下のような設定を含みます:
格納先のディレクトリを /var/mail/$local_part
にしたり
$local_part_data
を check_local_user
と共に使用する場合などです。
悪い例: 仮想ドメインのエイリアスを直接使用している場合
data = ${lookup{$local_part}lsearch{/some/path/$domain/aliases}}
良い例: 上記の替わりに
data = ${lookup{$local_part}lsearch{/some/path/$domain_data/aliases}}
以上、バーチャルドメインのエイリアスファイルの設定例です。
この変更に対する基本的な方針は、(リモートから与えられる) そのままの値ではなく、先の処理での参照結果を使用することです。
アップグレードを簡単にするために、一時的に汚染に関するエラーを警告へダウングレードするオプションがメインの設定項目にあります。このオプションにより、古い設定ファイルが新しい
Exim でも使用できます。この機能を使用するには、アップグレード前に Exim の設定ファイル (例えば
/etc/exim4/exim4.conf.localmacros
) に以下を加えてください:
.ifdef _OPT_MAIN_ALLOW_INSECURE_TAINTED_DATA allow_insecure_tainted_data = yes .endif
to the Exim configuration (e.g. to
/etc/exim4/exim4.conf.localmacros
)
before upgrading and check the logfile for taint
warnings. This is a temporary workaround which is already marked for removal
on introduction.
Linux カーネルの変更により、SCSI
デバイスの検出は決定的ではなくなりました。ディスクの検出順に依存するインストールでは問題になる可能性があります。回避方法が2つあり、/dev/disk/by-path
をリンクするか、udev
のルールを Linux カーネルのメーリングリストで提案されているようにしてください。
rdiff-backup
ネットワークプロトコルバージョンの 1 と 2
には互換性がありません。これが意味するところは、ローカルとリモートで (1 であれ 2 であれ) 同じバージョンの rdiff-backup
プロトコルで動作させる必要があるということです。buster
ではバージョン 1.2.8 を、bullseye では バージョン 2.0.5 を提供するため、ローカルもしくはリモートのシステムのみを buster
から bullseye へアップグレードすると、2 つのシステム間で実行する rdiff-backup
は停止するでしょう。
rdiff-backup
のバージョン 2.0.5 は
buster-backports アーカイブから利用できます。backports を参照してください。これによりまず
buster のシステムの rdiff-backup
パッケージのみをアップグレードでき、そのあと状況に応じてシステムを個別に bullseye へアップグレードできます。
The intel-microcode
package
currently in bullseye and buster-security (see DSA-4934-1) is
known to contain two significant bugs. For some CoffeeLake CPUs this update
may
break network interfaces that use firmware-iwlwifi
, and for some Skylake R0/D0
CPUs on systems using a very outdated firmware/BIOS, the
system may hang on boot.
If you held back the update from DSA-4934-1 due to either of these issues,
or do not have the security archive enabled, be aware that upgrading to the
intel-microcode
package in bullseye
may cause your system to hang on boot or break iwlwifi. In that case, you
can recover by disabling microcode loading on boot; see the instructions in
the DSA, which are also in the intel-microcode
README.Debian
.
Debian がセキュリティ問題に対する最小限のバックポートを約束できないパッケージがいくつか存在しています。これらについては以下の章で触れられています。
Debian 11 は複数のブラウザエンジンを含んでおり、これらは一定の割合でセキュリティ脆弱性の影響を受けます。高い脆弱性率と一部開発元での長期間サポートブランチの欠落によって、セキュリティ修正をバックポートしてこれらのブラウザならびにブラウザエンジンをサポートする事が難しくなっています。さらに、ライブラリへの内部依存性のため、開発元での新しいリリースへの更新を極めて難しくしています。例えば bullseye に含まれているものの例として webkit や khtml エンジン[6]を使ったブラウザがありますが、これらはセキュリティサポートはされません。一般的にこれらのブラウザを信用できないウェブサイトを閲覧するのに使うべきではありません。webkit2gtk および wpewebkit エンジンはセキュリティサポートの対象です。
一般的なウェブブラウザ利用として我々は Firefox または Chromium を推奨しています。安定版向けに現行の ESR リリースをリビルドすることで最新を維持します。同じ手法が Thunderbird にも適用されます。
Debian bullseye には、煩わしいブートストラップ問題を回避するために OpenJDK 17
が採用されます。 (このバージョンは次期 OpenJDK 11
後のOpenJDK
LTS
の候補です) OpenJDK 17
の更新計画では、2021 年 10
月に開発元からのアップデートが完了する予定です。その間、ベストエフォートでセキュリティの更新をする予定ですが、四半期ごとの開発元によるセキュリティに関するアップデートを確実に提供できるとは考えないでください。
ポインティングデバイスなしで、gnome-control-center
で提供される GNOME の「設定」アプリで直接を直接変更する方法はありません。回避方法として、右カーソルを 2
回押下するとサイドバーからメインコンテントに移ることができます。サイドバーに戻るには、Ctrl+F
で検索を開始して、何か打ちこんでください。そして、Esc
で検索をキャンセルします。そうしたら、上カーソルと下カーソルでサイドバーを操作してください。検索結果をキーボードだけで、選択する方法はありません。
buster より使用されている sulogin
により、rescue
オプションでブートする場合、常にパスワードが必要になります。もし、未設定ならば、レスキューモードでのブートが使用できなくなります。しかし、カーネルパラメータの
init=/sbin/sulogin --force
により、このモードを使用することができます。
systemd をレスキューモード (シングルユーザーモードとも呼ばれています: systemd(1) 参照) と同じ環境にするには、sudo systemctl edit rescue.service を実行してファイルを生成し、下記の様にしてください:
[Service] Environment=SYSTEMD_SULOGIN_FORCE=1
emergency.service
ユニットも便利かもしれません。このユニットは、特定のエラー時 (systemd.special(7)
参照) か、emergency
がカーネルコマンドラインに追加されている場合
(レスキューモードが使えない時など)、自動的にシングルユーザーモードを起動します 。
背景とセキュリティに関する考察については、 #802211 を参照してください。
以下は、よく知られていて特に時代遅れとなってしまったパッケージの一覧です (説明については 「利用されなくなったパッケージ」 参照)。
時代遅れとなったパッケージの一覧には以下が含まれます:
Mailman メーリングリストマネージャはバージョン3のみが使えます。Mailman は複数のコンポーネントへと分割されました。コアとなるのが
mailman3
パッケージで、すべてをインストールするには
mailman3-full
メタパッケージによりインストールできます。
Mailman バージョン 2.1 はインストールできません。(以前は mailman
として使われていたパッケージです)
Debianではインストールできなくなっている Python 2に依存しているためです。
アップグレード手順については、プロジェクトの移行ドキュメント を参照してください。
Linuxカーネルは isdn4linux
(i4l)
のサポートを提供しません。結果として、関連するユーザーランドのパッケージである isdnutils
や isdnactivecards
、drdsl
、ibod
パッケージはアーカイブから削除されました。
libappindicatorライブラリは提供されません。結果として libappindicator1
や libappindicator3-1
、libappindicator-dev
も提供されません。システムトレイやインジケータサポートのためにサードパーティーのソフトウェアが依然としてlibappindicatorへ依存しているなど、依存関係のエラーが発生することが予期されます。
Debian は libayatana-appindicator
をlibappindicatorの後継として採用しています。技術的な背景については、アナウンスを参照してください。
Debian では chef
を提供しません。もしChefを構成管理に使っているなら、最も良い移行先は Chef
Inc の提供するパッケージに切り替えることです。
削除の背景については、該当する削除リクエストを参照してください。
Python 2 はEOL をすでに過ぎており、セキュリティアップデートも受けられません。Python 2
はサポートされていないので、実行しているアプリケーションや、それが依存しているパッケージは Python 3
に移行するか削除すべきです。しかしながら、Debian bullseye では Python 2.7 を依然として含んでいます。これは
python-setuptools
のようにPython 2
に依存しているビルドツールがあるためです。これらは Python 3
への移行がすすんでいない、ごくわずかなアプリケーションをビルドするために必要とされています。
aufs-dkms
は bullseye
にありません。aufs-dkms
ユーザーのほとんどは、overlayfs
に移行できるはずです。overlayfs
は kernel
のサポートと共に同じような機能を提供します。xfs
で d_type
設定なしの様にoverlayfs
に合致しないファイルシステムとしてインストールすることもできます。aufs-dkms
のユーザーは bullseye へのアップグレード前に
aufs-dkms
から移行しておくことをお勧めします。
次のリリースである Debian 12 (コードネーム bookworm) では、いくつかの機能が非推奨となります。12 へ更新する際にトラブルを防ぐためには、ユーザーは他の選択肢へ移行する必要があります。
これには以下の機能が含まれます:
歴史的な経緯から、/usr
配下とは別に
/bin
や/sbin
、/lib
があるのはもはや妥当ではありません。Freedesktop.org
要約を参照してください。Debian bullseye
がディレクトリ構成が統合されていない最後のリリースとなります。再インストールすることなく既存のディレクトリ構成を変換するためにusrmerge
パッケージがあります。
bullseye はapt-key コマンドを提供する最後のリリースとなります。鍵は
/etc/apt/trusted.gpg.d
にファイルとして管理されるべきです。バイナリ形式なら
gpg --export コマンドで .gpg
拡張子のファイルにし、テキスト形式なら ASCII armored と呼ばれる.asc
拡張子の形式にします。
手動でキーリングを調べるのに apt-key list を使っていましたが、代替手段は計画されているもののまだ開発が行われていません。
slapd
データベースのバックエンドである slapd-bdb(5),
slapd-hdb(5)
および slapd-shell(5)
は退役しており、Debian 12 には含まれない予定です。bdb
もしくは
hdb
バックエンドを使っている LDAP データベースは slapd-mdb(5)
バックエンドへ移行すべきです。
加えて、slapd-perl(5) および slapd-sql(5) バックエンドは非推奨になり、将来のリリースで削除されるかもしれません。
OpenLDAP プロジェクトは退役・非推奨となったバックエンドをサポートしません。Debian 11 におけるこれらのバックエンドのサポートは基本的にベストエフォートになります。
buster では数々の armel ベースの機器がサポートされていましたが、ハードウェアの制限のために必要な
Linux
カーネルをビルドすることができなくなったため、Debian
では利用できなくなっています。サポートされないデバイスは以下です:
QNAP TS-109/TS-209, TS-119/TS-219 および TS-409
HP Media Vault mv2120
これらのプラットフォームを使用しているが bullseye にアップデートしたいユーザーは buster の APT ソースを有効にしておいてください。また、アップグレード前に APT の優先度ファイルに以下を追加しておくべきです:
Package: linux-image-marvell Pin: release n=buster Pin-Priority: 900
これらの設定へのセキュリティサポートは、buster のサポート期間内しか提供されません
[6] これらのエンジンは、異なるソースからパッケージが提供されているので、懸念が付きまといます。これらの懸念について、webkit2gtk および新しい wpewebkit 以外のレンダリングエンジンについては特筆しません。