Ubuntu Weekly Topics

2020年11月6日号 hirsuteの開発/UsrMergeの今後,Rasberry Pi 400

この記事を読むのに必要な時間:およそ 4 分

hirsuteの開発

hirsute(21.04)の開発がスタートし,いろいろな観点から開発のアイデアが投入されたり,その現実性を確認されたりといった動きが開始されています。一部は20.10リリース間際に検討が開始されていたものも含みますが,たとえば次のようなものが挙げられています。

注1
oem-configは,⁠あらかじめセットアップされたUbuntu Desktop環境」を準備した上でユーザー情報を削除し,⁠初回ログイン時の初期設定」が可能な状態にするためのインストールモードです。これにより,OEMベンダーがUbuntuをカスタマイズし,エンドユーザーが利用するための環境としてセットアップできます。OEMベンダーがPCの初期出荷時に使う以外に,学校や企業などで利用するゴールデンイメージの作成のためにも用いられます。

こうした比較的ほのぼのとした新機能の計画が存在する一方,ユーザーとしてはやや注意を払う必要があるプランも準備されています。usrmergeパッケージのデフォルト化と将来的なマイグレーションの計画がそれです。

UsrMerge⁠もしくはUsrMove⁠)はLinux的なユーザーランドにおける,この10年ほどずっと議論されている(あるいは各種ディストリビューションが移行を続けている)課題のひとつです。

まず前提として,伝統的なUnix環境では「システムが正常にブートするのに必要なものは/binや/libの下に,ブート後必要なものは/usr/binや/usr/libの下に」といった使い分けが行われていました注2⁠。しかし現代的なシステムではそもそも,⁠システムが正常にブートする」という条件を満たすにはさまざまなサービスが起動している必要があり,この条件を満たすためには/usr/bin以下にあるバイナリに強く依存することは珍しくありません注3⁠。

注2
この使い分けもさらに遡るとあまり正しくはなく,そろそろ神話の世界になりつつある歴史的経緯が存在するのですが,あまり本質的ではないのでここでは省略します。
注3
たとえば「デスクトップ環境を前提としたシステムにおいて,/bin以下にあるバイナリだけでコンソールログイン画面まで辿り着いたとして,果たしてそのシステムは『正常にブートした』と言えるのか」⁠systemdがあるから/binと/usr/binが事実上等価と言えるだけで,systemdではないinit daemonを採用したシステムではどうするべきなのか」といった宗教戦争の火種になることと,これもあまり本質的ではないのでここでは省略します。

また,環境によって「正常にブートする」ための前提条件は異なるため,⁠あるディストリビューションでは/bin以下にあるコマンドが,こちらのディストリビューションでは/usr/binにある」といった展開を引き起こすこともあります。

この結果/binと/usr/binの分離は,なぜかコマンドが/binと/usr/binに分離されている」なぜかディストリビューションごとに実行コマンドのパスが異なる現象を引き起こす」という形で,理由もなく初心者や疲れたシステム管理者に試練を与える存在になっています。この分離に意味がある環境も存在しないわけではないものの,しかし,デメリットのほうが大きくなってきたという背景から,⁠/bin, /sbin, /lib, /lib64にあるバイナリはすべて/usr以下の同名ディレクトリに配置し,/bin等には/usr/bin等からのsymbolinkを配置しておく」というのがUsrMerge/UsrMoveの正体です(おそらくもっとも視覚的に分かりやすく,また,過去の背景についても一定の説明があるのがfreedesktop.orgのこの解説です⁠⁠。

Ubuntuではdiscoの時代に「新規インストールした環境に限って」この変更が適用されていますが,buildd(パッケージをビルドするためのサーバー群+その付随環境)や,アップグレードされたシステムでは従来のモデルのまま提供されてきています。これらの「残っている」環境について,hirsute(あるいはその後のリリース)で解決していこうというのがこの提案です。第一歩としてusrmergeパッケージをデフォルトで導入するという,比較的副作用の少ない(と予想される)提案が行われています。usrmergeパッケージは非UsrMergeな環境からの切り替えや,切り替えに伴う作業をアシストするためのツール群を提供します。

hirsuteで行われるとは限らないものの,これを言い換えると,今後のUbuntuではUsrMerged/UsrMoveが前提となるということが言えます注4⁠。⁠/usrを起動時にマウントしていないシステム」といった環境を作っている場合は気にしておく必要があるかもしれません。

注4
真の「必須」状態になるまでにはまだ時間があり,少なくとも22.04 LTSまでは既存の,かつ,特殊な環境であってもそのまま動作する状態となる予定です(ただし,⁠21.xxにアップグレードしたらUsrMergedに更新された」ということは起きるかもしれません⁠⁠。現時点ではNFSを前提にした環境では問題になる可能性があるかもしれない,といった程度しか問題が知られていないため,hirsuteで行われる変更によって問題ケースを洗い出し,22.10から前提条件に切り替える計画が検討されている段階です。

その他のニュース

今週のセキュリティアップデート

usn-4604-1:MySQLのセキュリティアップデート
usn-4605-1:Bluemanのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-October/005723.html
  • Ubuntu 20.10・20.04 LTS・18.04 LTS・16.04 LTS用のアップデータがリリースされています。CVE-2020-15238を修正します。
  • 悪意ある入力を行うことで,権限昇格・任意のコードの実行・DoSが可能でした。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-4583-2:PHPのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-October/005724.html
  • Ubuntu 20.10用のアップデータがリリースされています。CVE-2020-7069, CVE-2020-7070を修正します。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-4602-2:Perlのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-October/005725.html
  • Ubuntu 14.04 ESM・12.04 ESM用のアップデータがリリースされています。CVE-2020-10543, CVE-2020-10878, CVE-2020-12723を修正します。
  • usn-4602-1の14.04 ESM・12.04 ESM用パッケージです。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-3081-2:Tomcatのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-October/005726.html
  • Ubuntu 16.04 LTS用のアップデータがリリースされています。CVE-2016-1240を修正します。
  • 悪意ある加工を施したTomcatパッケージをインストールさせることで,特権昇格が可能でした。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-4603-1:MariaDBのセキュリティアップデート
usn-4600-2:Nettyのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-October/005728.html
  • Ubuntu 18.04 LTS用のアップデータがリリースされています。CVE-2019-20444, CVE-2019-20445を修正します。
  • 悪意ある入力を行うことで,DoSが可能でした。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-4607-1:OpenJDKのセキュリティアップデート
usn-4608-1:ca-certificates update
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-October/005730.html
  • Ubuntu 20.10・20.04 LTS・18.04 LTS・16.04 LTS用のアップデータがリリースされています。
  • Mozilla certificate authority bundleの2.44相当のパッケージです。
  • 対処方法:通常の場合,アップデータを適用することで新しい証明書を導入できます。
usn-4552-3:Pam-pythonの再アップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-October/005731.html
  • Ubuntu 18.04 LTS・16.04 LTS用のアップデータがリリースされています。usn-4552-2で生じていた,site-specificディレクトリからのimportが行えない問題を解決します。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-4609-1:GOsaのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-October/005732.html
  • Ubuntu 16.04 LTS用のアップデータがリリースされています。CVE-2018-1000528, CVE-2019-11187, CVE-2019-14466を修正します。
  • 悪意ある操作を行うことで,任意のコードの実行・認証の迂回・XSSが可能でした。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-4610-1:fastdのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2020-October/005733.html
  • Ubuntu 20.04 LTS用のアップデータがリリースされています。CVE-2020-27638を修正します。
  • 悪意ある操作を行うことで,メモリリーク・DoSが可能でした。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。

著者プロフィール

吉田史(よしだふみひと)

システム管理を中心にWindows/PC Unixを併用している。Ubuntu Japanese Teamではパッケージサーバの管理や翻訳などの作業を担当。