萎草の茂るブログ

暇人も多忙の方も。

Ubuntu 26.04 LTS (Resolute Raccoon) インストール記

Ubuntu 26.04 LTS (Resolute Raccoon) がリリースされたので、Ubuntu 24.04 LTS (Noble Numbat) からアップグレードしました。
前回: Ubuntu 22.04 LTS (Jammy Jellyfish) から Ubuntu 24.04 LTS (Noble Numbat) へのアップグレードのときの記事

アップグレード自体の話

今回はアップグレード自体はすんなり行きました。

$ sudo do-release-upgrade -d -c
新しい Ubuntu のリリースをチェックしています
新しいリリース '26.04 LTS' が利用可能になっています。
'do-release-upgrade' を実行してアップグレードしてください
$ sudo do-release-upgrade -d
新しい Ubuntu のリリースをチェックしています

= Welcome to Ubuntu 26.04 LTS 'Resolute Raccoon' =

The Ubuntu team is proud to announce Ubuntu 26.04 LTS 'Resolute Raccoon'.

To see what's new in this release, visit:
  https://discourse.ubuntu.com/t/resolute-raccoon-release-notes

Ubuntu is a Linux distribution for your desktop or server. It is fast
and easy to install, it has regular releases, a tight selection of
excellent applications installed by default, and almost any other
software you can imagine available through the network.

We hope you enjoy Ubuntu.

例によってアップグレード中に /etc/netplan/01-network-manager-all.yaml が消える事象が発生。
何なんでしょうね?

アップグレード後の諸々

systemd が Apache httpd に課す制限の修正

今回のアップグレードで最大の嵌まりポイントがここでした。

筆者は Web UI (CGI) から様々な操作をできるようにしているのですが、アップグレード後、CGI からの以下の操作ができなくなってしまいました。

  • 一部のファイルへの書き込み
  • 他プロセスへのシグナルの送信 (kill)
  • 外部デバイス(スピーカーや赤外線リモコン)へのアクセス

どうも CGI のプロセスから各種ファイル/プロセス/デバイスが見えなくなってしまっているようでした。

犯人は Apache HTTP Server (httpd) を立ち上げている systemd の設定。
ユニットファイル /usr/lib/systemd/system/apache2.service に以下のような設定が追加されていました。

ProtectHome=read-only
ProtectSystem=full
ProtectProc=invisible
ProcSubset=pid
DevicePolicy=closed
PrivateDevices=yes

ProtectHomeProtectSystem がファイルシステム、ProtectProcProcSubset がプロセス、DevicePolicyPrivateDevices がデバイスへのアクセスをそれぞれ制限しているのですね。
これらを然るべき形に緩めてやれば解決。〔注: 緩めるのは必要最小限にすること〕

リモートデスクトップ

Ubuntu 26.04 LTS ではディスプレイサーバ X11 が廃止されて Wayland になっています。
筆者は今まで xrdp を用いて Windows から Ubuntu へのリモートデスクトップを実現していたのですが、これはできなくなったということです。

その代わり、リモートログインが標準機能 gnome-remote-desktop として具備されるようになりました。
使い方は以下の記事によく纏まっています。

qiita.com

注意すべきは、従来の xrdp は Ubuntu を CLI (multi-user.target) で起動した状態からでもリモートデスクトップでアクセスすれば GUI を表示してくれたのですが、gnome-remote-desktop は予め GUI が立ち上がった状態でないと機能しない(デーモンが起動していても待受ポート 3389 のリッスンすらしない)という点です。
ちょっと不便ですね。


取り敢えずここまで。