Fedoraの変更点シリーズ
過去リリース分の記事は、以下のリンクを参照してください。
お伝えしたいこと
Fedora34のリリースノートを読んで、個人的に気になった項目をまとめます。
公式情報の見方
Fedora 34の変更点は、以下のリンクに載っています。
概要はリリースノートに、詳細情報はChange Setsのページに書いてあります。
Change Setの各サブタイトルのリンクから詳細情報に飛べるようになっています (下図赤枠部)。
詳細を知りたい時に便利なので、こちらも活用ください。
Fedora34の既知の問題は、以下にまとめられています。
他バージョンのFedoraについて知りたい場合は、以下のリンクを参照してください。
- Fedora Docs - Home → 該当バージョンを選択してRelease Notesのリンクに移動
- Fedora Wiki - Changes
Release Notes & Changes
System Administrators
zramに全メモリ容量を割り当てるように
- Fedora 34 Release Notes - #Scale ZRAM to Full Memory Size
- Fedora Wiki - Changes/Scale ZRAM to full memory size
Fedora33からzramをswap領域に割り当てるようになりました。
/usr/lib/systemd/zram-generator.conf
にzram設定のデフォルト値が記述されていましたが、Fedora34でこのデフォルト値が微調整されました。
調整の内容は以下のとおりです。
Fedora33 | Fedora34 |
---|---|
[zram0] zram-fraction = 0.5 max-zram-size = 4096 |
[zram0] zram-fraction = 1.0 max-zram-size = 8192 |
Fedora33では、zramのサイズが全メモリ容量の半分 (最大4GiBまで) でした。
Fedora34では、zramのサイズが全メモリ容量の100% (最大8GiBまで) となりました。
これにより、Fedora34においてメモリ容量が8GiBの場合、メモリの空き容量が足りなくなってくると最大8GiB分のデータがswappingされます。
実際にはデータ圧縮されるので、最大の8GiB分のデータがswappingされたとしてもzramによるメモリ消費量は4GiB前後になると思います。
残りの4GiBはswapされていないメモリ消費のままです。
中々衝撃的な内容ではありますが、実は性能上ほぼ問題ありません。
それどころか、zramをフル活用することでメモリ使用率が約半分になり、実質倍以上のデータをメモリ上に保存できるようになります。
もちろん、圧縮率はメモリ上に保存されるデータ次第ではあります。
圧縮処理のためにCPU使用率は上がります。
しかし、メモリ容量が少ない環境においては夢のような実装ではないでしょうか。
RHEL9にも同様に実装されるのか、気になるところです。
zramによるswappingについては、別記事にて詳しく説明しています。
興味のある方は、こちらの記事もご覧ください。
/etc/selinux/configからのSELinux無効化ができなくなった
- Fedora 34 Release Notes - #Support for disabling SELinux through /etc/selinux/config has been removed
- Fedora Wiki - Changes/Remove Support For SELinux Runtime Disable
元々、SELinuxを無効化する方法は2つありました。
- Bootloader (GRUB2) のkernel command lineに、
selinux=0
を追記してから起動する /etc/selinux/config
にSELINUX=disabled
を追記してから起動する
これらのうち、2の方法でSELinuxを無効化できなくなります。
今後SELinuxを恒久的に無効化する際は、以下のようなコマンドでBootloaderの設定を書き換えた上でOS再起動することになります1。
sudo grubby --update-kernel ALL --args selinux=0
ちなみに変更の背景ですが、Linux Kernelのセキュリティ向上のためのようです。
詳細は2つ目のChangesのリンクをご覧ください。
Desktop Users
Pipewireがデフォルトの音声サーバに
- Fedora 34 Release Notes - #PipeWire is now the default audio service
- Fedora Wiki - Changes/DefaultPipeWire
音声周りの理解は浅いですが、ざっくりご説明します。
細かい文言に違和感を感じる部分もあるかもしれませんが、ご容赦ください。
実装の変化を図解します。
Fedora33ではALSA、PulseAudio、JACKの3つが製品が独立して動作していました。
基本的には、デスクトップの音量調整アプリなどのクライアントソフトはPulseAudioにアクセスし、PulseAudioが裏でALSAと連携しながら音声サービスを提供しているという構成でした。
Fedora34では、上記の3製品がPipewireという単一のソフトウェアに集約されます。
ただし、プロセスとしては別々に動作します。
PipewireはALSA、PulseAudio、JACKのAPIに対応するので、クライアントは今までどおりPulseAudioとの互換性を保ったまま動作できます。
何が嬉しいかというと、Fedora Wikiには以下のように書かれていました。
ほとんどの方には関係ないと思いますが、開発が活発な製品を使っておいて損はないという印象です。
- JACKと他製品の連携をしやすくなる
- PulseAudioと比較して、設定の柔軟性が向上する
- 性能・セキュリティ・メンテナンス性向上
Fedora33とFedora34のパッケージ構成を比較したところ、下表のように変わっていました。
pipewire-alsa, pipewire-pulseaudio, pipewire-jack-audio-connection-kit は、pipewireがALSA、PulseAudio、JACKの3製品を置き換えるための互換プログラムを含むパッケージです。
減ったもの | 増えたもの |
---|---|
alsa-plugins-pulseaudio | pipewire-alsa |
pulseaudio pulseaudio-module-bluetooth pulseaudio-module-x11 |
pipewire-pulseaudio pipewire-utils pipewire-gstreamer |
jack-audio-connection-kit.x86_64 | pipewire-jack-audio-connection-kit |
Pipewireの詳しい仕様については調べていませんが、私の環境ではバージョンアップ後も問題なく音は出たのでヨシとします。
最後に補足ですが、Fedora35にてSession ManagerがPipeWireからWirePlumberに変更されます (参考)。
ibus-anthyがデフォルトの日本語IMEに
Fedora19〜Fedora33は、ibus-kkcがデフォルトの日本語IMEでした。
Fedora34以降は、ibus-anthyがデフォルトの日本語IMEになります。
変更の理由は、kkcが暫くの間メンテされていないためとのことです。
Bugs
Bugsの中から気になる情報を拾います。
新規インストール時、btrfsのサブボリュームが圧縮されない
- Fedora Wiki - Common F34 bugs - #Compression not enabled for btrfs subvolumes renamed during install
この事象はFedora34だけでなく、Fedora35にも該当します (Bugzilla #1952764より)。
該当する条件は、以下のとおりです。
- Fedora34の新規インストール画面において、"custom partitioning"を選択する
- btrfsのsubvolume名を変更し、インストールを続行する
影響は以下のとおりです。
/
にマウントされたsubvolume名を変更した場合は、全データが影響を受ける/
以外にマウントされたsubvolume名を変更した場合は、/etc/fstab
の表記でcompress=zstd:1
が漏れてしまう
回避方法として、上記リンクにWorkaround A, Workaround Bが紹介されています。
Workaround B (インストール後にsubvolume名を変更する) が明らかに楽だと思います。
詳細はリンク先をご確認ください。
まとめ
Fedora34の更新点をまとめました。
zramのチューニングは、ほぼ全員にとって関心のある内容だと思います。
デスクトップをお使いの方は、Pipewireの採用も影響があるかもしれません。
スピーカーとマイクがちゃんと動作するかご確認ください。
次の記事
Fedora35の更新内容から気になる部分のみ抽出しました。