2023年6月10日に、Ubuntuの母であるDebianの新しい安定版Debian 12
UbuntuとDebianの関係
さて、
Debian Projectは
Debian Projectは開発初期から今まで、開発プロセスを含めて一貫してフリーであることを重視しています。Debianとしてリリースされている諸々のパッケージはライセンスが明瞭であり、パッケージの豊富さ、扱い易さ、そしてカスタマイズ性から、多くの派生ディストリビューションの母体ともなっています。
2004年に誕生したDebianベースの派生ディストリビューションが、本連載のタイトルにもなっているUbuntuです。Ubuntuは、Debianの開発者であったMark Shuttleworth氏が
UbuntuとDebianの関係についてはUbuntuのサイトのProject GovernanceのDebianの項に簡潔にまとめられています。ここで言及されているとおり、
Ubuntuは半年毎のリリースの度にDebianの最新開発版のパッケージをベースに変更を行ない、バイナリパッケージ群を再構築しています。また、Debian Projectは多くの派生ディストリビューションと成果を交換できる開発フローを用意しており、Ubuntuによる変更の少なくない部分もDebianに反映されています。
以上のことから、Debian安定版の状況・
Debian 12 "Bookworm"がサポートしているアーキテクチャと収録ソフトウェア
冒頭で触れたとおり、Debian 12 "Bookworm"は、2023年6月10日にリリースされました。以前の安定版であるDebian 11 "Bullseye"のリリースが2021年8月14日であったことから、約1年10ヶ月ぶりの安定版リリースとなります。Debian Projectはリリース作業のうち
「リリース期間が短かい」
Debianのコードネームは映画
Debian 12にてサポートされるアーキテクチャは以下の9種類です。
- 32bit PC:
i386
- 64bit PC:
amd64
- 64bit ARM:
arm64
- ARM EABI:
armel
- ARMv7(EABI hard-float ABI):
armhf
- MIPS little-endian:
mipsel
, - MIPS 64bit little-endian:
mpis64el
- PowerPC 64bit little-endian:
ppc64el
- IBM System z:
s390x
このうち、32-bit PCについてはi586
のサポートが打ち切られました。32bit PCで動作させる場合はi686
以降、つまりはPentium Pro以降のCPUが必要となります。
主な収録ソフトウェア等のバージョンは以下のとおりです。
主なパッケージソフトウェア |
12 |
11 |
---|---|---|
Apache | 2. |
2. |
Bash | 5. |
5. |
BIND DNS サーバ | 9. |
9. |
Cinnamon | 5. |
4. |
Cryptsetup | 2. |
2. |
Emacs | 28. |
27. |
Exim |
4. |
4. |
GIMP | 2. |
2. |
GNOME | 43 | 3. |
GNU C ライブラリ | 2. |
2. |
GNU Compiler Collection |
12. |
10. |
GNUcache | 4. |
4. |
GnuPG | 2. |
2. |
Inkscape | 1. |
1. |
KDE Plasma | 5. |
5. |
LibreOffice | 7. |
7. |
Linux カーネルイメージ | 6. |
5. |
LLVM/ |
13. |
9. |
LXDE | 11 | 11 |
LXQt | 1. |
0. |
MariaDB | 10. |
10. |
MATE | 1. |
1. |
Nginx | 1. |
1. |
OpenJDK | 17 | 11 |
OpenLDAP | 2. |
2. |
OpenSSH | 9. |
8. |
OpenSSL | 3. |
1. |
Perl | 5. |
5. |
PHP | 8. |
7. |
Postfix MTA | 3. |
3. |
PostgreSQL | 15 | 13 |
Python 3 | 3. |
3. |
Rustc | 1. |
1. |
Ruby | 3. |
2. |
Samba | 4. |
4. |
Systemd | 252 | 247 |
Vim | 9. |
8. |
Xfce | 4. |
4. |
収録パッケージはbullseyeの頃から、新規に11,089個増えて64,419個となっています
また、いくつかのソフトウェアは現在upstreamが提供している最新版にくらべて1世代古い版となっています。この理由はDebianのFreezeのタイミングとupstreamのリリースのタイミングがズレてしまったからです。これらソフトウェアや悲しいことにリリース作業に間に合わなかったいくつかのパッケージは、今後backportsにて提供される予定です。
Debian 12での主な変更点
収録ソフトウェア以外にDebian 12 "Bookworm"がどう変わったのか、主な変更点を見ていきましょう。
なお、以下の内容はリリースノートからユーザに関連しそうな大きな変更点を抜粋した版です。より細かい変更点や詳細な内容については、一次情報であるリリースノートをご確認ください[4]。
non-freeなfirmwareは新たに「non-free-firmware」として分離されました
今回のリリースでの一番の変更点かもしれません。
Deianの提供するパッケージは、Debian社会契約およびポリシーで言及されているとおり、アーカイブエリアが分けられています。多くの場合、/etc/
などで以下のように設定されています。
deb http://ftp.jp.debian.org/debian/ bullseye main contrib non-free
このmain
,contrib
,non-free
は次のことを意味し、パッケージを収録するアーカイブ領域を分離しています。
main
: Debianディストリビューションそのもの。Debian Free Software Guidelines(DFSG) に準拠したソフトウェア contrib
: それ自体はDFSGに準拠しているが、ビルド時もしくは動作時にDebianディストリビューション外のソフトウェアが必要となるソフトウェアnon-free
: DFSGに準拠しない、あるいは配布を難しくする他の問題があるものの、Debianディストリビューションと互換性のあるソフトウェア
つまり、狭義のmain
だけを指します。
これについて、non-freeなファームウェアに関する2022年の一般決議において投票が行なわれ、この結果を受けてDebian社会契約の第5条に以下の文言が追加されました。
The Debian official media may include firmware that is otherwise not part of the Debian system to enable use of Debian with hardware that requires such firmware.
(Debianの公式メディアには、Debianシステムの一部ではないファームウェアが含まれていることがあります。これはそのようなファームウェアを必要とするハードウェアでDebianを利用可能とするのに他の方法がないためです。)
現時点では社会契約およびポリシーに明示的に反映されていませんが、non-free
アーカイブ領域から、firmwareのみを分離したnon-free-firmware
領域が作成され、殆どのnon-freeなfirmwareがここに移動されました。よって、aptのsources.
# bullseye まで
deb http://ftp.jp.debian.org/debian/ bullseye main contrib non-free
↓
# bookworm から
deb http://ftp.jp.debian.org/debian/ bookworm main contrib non-free non-free-firmware
Debianを仮想環境で利用している場合は特に気にならないかもしれませんが、実機で利用している場合には、Wi-Fiなどを動作させるためには多くの場合firmwareが必要となります。aptでfirmwareを導入している場合には、アップグレード時に忘れずにsources.
また、この分離によりmain
とnon-free-firmware
を同梱したインストールメディアが公式に配布されることになりました。
これまでのリリースでは、Debianの公式インストーラを用いて実機にインストールを進める途中でWi-Fiが使えずに困ってしまう、という悲鳴が良く聞こえていた
rsyslogが必須パッケージではなくなりました
ログの集約にはjournaldを使いましょうということで、これまで必須パッケージとしてインストールされていたrsyslogが必須パッケージではなくなりました。
- 新規インストールの際には明示的にインストールしないとインストールされません。
- アップグレードの際には、不要ならば削除可能です。
また、rsyslogを新規に導入した際のログファイルもかなりスッキリと整理されています。rsyslogで保存されていたログを元に処理を行なうプログラムを実行していた場合には、多少調整が必要かもしれません。何かのパッケージと衝突するわけではないので、必要ならばこれまでどおりrsyslogを使うことが可能です。
grubはos-proberを実行しなくなりました
ブートローダとしてgrubを利用してdual boot環境を作成している場合、update-grub
が呼ばれる度にos-prober
が動作して、検出されたDebian以外のOSがgrubのエントリに自動的に追加されていました。
しかしながら、この挙動は特定の条件の元で問題が生ずるということで、grub開発者側はデフォルトでこれを無効としました。
これまでの挙動に戻す/etc/
を確認して、以下のように変更してください
# デフォルト挙動
GRUB_DISABLE_OS_PROBER=true
↓
# デフォルト挙動
GRUB_DISABLE_OS_PROBER=false
Python 2はついにドロップされました。また、Python 3はPEP 668に従います
Python 2.
例えば、これまで
pip install --user foo
としていた作業は、
mkdir -p ~/.venvs python3 -m venv ~/.venvs/foo ~/.venvs/foo/bin/python -m install foo
のように、システムのpythonと分離して導入してください。
セキュリティサポートが限定的なパッケージ(Webブラウザ、GoおよびRust)についての扱い
セキュリティサポートが限定的なパッケージについて取り上げます。ここでの
Debianでは一般的なユーザ向けのWebブラウザとして、FirefoxとChromiumのパッケージを提供しています。これらパッケージについてはESRリリースが更新される度にリビルドして更新パッケージが提供されます。Thunderbirdも同様です。
GoおよびRustについては、現状ではDebianのパッケージビルドインフラが静的リンクを利用するタイプのパッケージの再構築を上手く扱えていないため、バージョンを更新せずにセキュリティサポートを提供することが困難となっています。つまり、セキュリティ更新は行なわれますが、この場合にはバージョンが更新されるため、昔のバージョンに依存していたソフトウェアが動作しなくなることがあるかもしれません。
これら言語に関連するパッケージについてサポートを提供する場合は、定期的なポイントリリースにおいて提供される予定です。
systemd-resolvedがsystemdから分割され、ntpパッケージはntpsecに置き換わりました
systemd-resolvedがsystemdから分割され、独立したパッケージとして提供されるようになりました。
それは良いのですが、アップグレード時には自動的にはインストールされません。よってネットワークの名前解決にsystemd-resolvedを利用していた場合、途中で名前解決ができなくなります。必要ならば、明示的にインストールしましょう。
クライアントとしての時刻合わせ用途にこれまで使われてきたntpパッケージはntpsecパッケージに置き換えられます。なお、Debianでのデフォルトはsystemd-timesyncdパッケージとなっていますので、こちらで時刻合わせをしている場合には特に気にする必要はありません。
Debian 12を使ってみよう!
Debian 12を試すにはLiveイメージが便利でしょう。
利用したいDesktop環境毎に、Live install imagesが提供されています。ここから、
このLiveイメージにはインストーラとして
また、Debian Cloud teamはリリースとほぼ同じタイミングで、メジャーなクラウド環境向けのVMイメージの提供を開始しています。
- Amazon EC2 (amd64 and arm64)
- Microsoft Azure (amd64)
- OpenStack (generic) (amd64, arm64, ppc64el)
- GenericCloud (arm64, amd64)
- NoCloud (amd64, arm64, ppc64el)
これら環境で動かしてみるのも良いかもしれません。
最後に
本稿ではDebian 12 "Bookworm"について、ユーザにとって気になりそうな主な変更点を紹介しました。より使いやすくなったDebianをぜひ試してみてください。