vUDS 13.11
Ubuntuの開発の起点となるイベント、Ubuntu Developer Summit(UDS)が11月19日?21日に開催される予定です。UDSは、次のUbuntuが「どうあるべきか」「こんな機能を実装したい」ということを話し合う開発会議で、次世代のリリースの機能の大部分はここで決定された上で開発が行われます。
以前までは実際に開発者が一箇所に集まって議論を行っていましたが、現在はオンラインベースの会議(vUDS)として、各種ツール(主にGoogle HangoutとEtherpad)を用いて行われます。時間帯的にかなり厳しいものがありますが(UTCの14時?20時=日本時間の23時から翌6時)、もちろん日本からの参加も可能です。
少々フライングではありますが[1]、UDSで話し合われる予定の新機能をいくつか見ていきましょう。
- core-1311-dmraid2mdadm:インストーラーでmdadmを使えるようにし、Intel製チップセットのRAID機能をはじめとするFakeRAIDをサポートできるようにしよう。現行のmdadmにはFakeRAIDのメタデータを読み込んで必要なRAID構成を作れるものがあるので、これを使えるようにしよう。
- core-1311-boot-ui:デスクトップ版のUbuntuの「ブート時に表示される情報」をもっと改善しよう。fsckやGUIの起動失敗時にはそれを表示するべきだし、そもそもフォントやレンダリングの都合でブート時にはアルファベットしか表示できないというのはナンセンスだし、パスワード入力のことを考えればCapsLockがかかっていることを通知する機能だってあってもいい。画面デザインを含めて、より快適なブートエクスペリエンスを実現しよう。
- core-1311-early-boot-animation:Ubuntu Touchには現在のところ、ブート中に表示されるスプラッシュスクリーンがない。スマートフォンやタブレットとして利用するには、「起動に時間がかかる上、その間はずっと画面が真っ黒」というのはまったく許されない。initrdに画像を埋め込み、MirやLightDMが起動する前に適切なアニメーションを表示できるようにしよう。Androidのpixelflingerを使うか、あるいはLinux的にplymouthでレンダリングするか、あるいはそれ以外を使うか、実装方法を含めて検討してみよう。
- core-1311-low-battery-boot-mode:スマートフォンは、バッテリーが極端に減った状態では普通は起動できないようになっている。これは、バッテリーの過剰放電によるダメージや異常加熱を防ぐために必要な機能だ。Androidの場合はこの状態では起動するかわりに「減ったバッテリー」のアニメーションを表示させるようになっている。Ubuntu Touchにも同種の機能を搭載しなければならない。カーネル起動直後に表示できるようにするにはinitrdに含める必要があるので、具体的な方法を検討しよう。
- core-1311-ssd-trimming:SSDを健全な状態で利用するには、「TRIM」コマンドを適切に発行し、「この領域はすでに使われていない」ということをドライブ側に通知しなくてはならない。TRIMを適切に発行するのはOSの責任だ。現状ではcronで定期的にTRIMを実行するのが妥当と考えられるが、どんな周期で、そしてどのようにして「TRIMすべきデバイス」を設定できるようにするのが良いかを検討してみよう。
- core-1311-cgroup-manager:cgroupによるリソース指定を適切に行えるようにするため、ユーザーランド側のツールを適切に整備しよう。
- core-1311-complete-developer-mode-integration:Ubuntu TouchもAndroidなどと同じように、「一般ユーザーモード」と「開発者モード」を切り替えて使えるユーザーインターフェースを準備しよう。少なくとも現状のように、「adbで誰でも接続できる」状態はありえない。デフォルトでは「開発者向け」の危険な設定はすべてオフにし、必要に応じてオンにできるようにするべきだ。
- core-1311-qt5-versions-in-ubuntu:UbuntuはUnity 8でQt5に多くを依存するようになる。そして、KubuntuもQt5ベースに切り替えようとしている。2つのフレーバーの間で、どのような点で歩調を合わせることができるか検討してみよう。
- core-1311-python3-roadmap:Python3への完全な移行のため、経過措置として残してあるPython2系のパッケージをデフォルトインストールから除去しよう。
- core-1311-upstart-roadmap:14.04 LTSに向けて、Upstartに実装する予定の新機能を確認しよう。Linux以外の環境への移植性の確保・Upstartの設定レベルでcgroupの設定(stanzaとして「cgroup」を追加)・条件分岐の追加・cronやat的な機能を実現するupstart-time-bridgeの追加など、拡張のアイデアは無数にある。
なお、Trusty(14.04 LTS)の開発期間にはあと一回UDSが予定されています(2014年3月のvUDS 14.03)。しかしながら、TrustyはLTSであるため、3月にはすでに「新機能の搭載はほぼ終了」というステータスに入っており、14.04の新機能は今回のvUDS 13.11でおおむね確定することになります[2]。
“Sputnik”の「プロファイル」募集
Dellの“Sputnik”シリーズに新しい機能が搭載されそうです。“Sputnik”は「開発者向けの環境をあらかじめセットアップしたUbuntuをプリインストールしたDell製PC」に与えられる開発コードネームで、これまでXPS 13初代をベースにしたSputnik 1・XPS 13(二代目)をベースにしたSputnik 2が展開されています。基本的には、XPS 13での動作に必要な調整を行ったUbuntuに、gitやコンパイラ・エディタ等をプリインストールしたものという位置づけですが、LXCベースのOpenStack環境をChef Knifeで構成するCloud Launcherなど、非常に意欲的な機能が搭載されています。
このSputnikの次世代バージョンの開発において、Docker上で利用するプロファイルの募集が行われています。ここで言う「プロファイル」は、典型的な開発に必要な環境(言語処理系とフレームワーク類に加えて、必要な周辺ライブラリや典型的なサーバーまで)を仮想環境として実現するものです。これを使うことで、「システムにRoRとUbuntu SDKとカーネルの処理系が入っていて、どれがどれやらワケがわからない」「RoRと他のRubyベースの環境を同居させたいが、gemのバージョンを相互に揃えないとよくわからないことになる」といった事態を簡単に回避できるようになります。同時に、「プロファイル」を立ち上げるだけでコーディングをスタートすることができ、開発でよく発生する「初日は環境構築だけで終わる」「環境を作るだけで一週間かかる」「そもそもサーバーのセットアップができなくて話にならない」といった不幸な事故を抑制できるようになります。具体的な利用例として、CLIアプリケーション開発のための環境が提示されています。
こうした環境はたいていソフトウェア開発者の方がよくわかっているため、プロファイルのアイデアが募集されています。開発環境の構築で苦労したことがある方はアイデアのpull requestを出してみてはいかがでしょうか。
UWN#342
Ubuntu Weekly Newsletter #342がリリースされています。
その他のニュース
今週のセキュリティアップデート
- usn-2012-1:Light Display Managerのセキュリティアップデート
- https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-November/002300.html
- Ubuntu 13.10用のアップデータがリリースされています。CVE-2013-4459を修正します。
- ゲストアカウント利用時、本来適用されるべきAppArmorプロファイルによる保護が反映されていませんでした。
- 対処方法:アップデータを適用の上、システムを再起動してください。
- 備考:通常のUbuntuのリリースポリシーと異なり、LightDMのupsteamリリースをそのまま持ち込む形のアップデートです。セキュリティ修正以外の微細なバグの修正が含まれています。
- usn-2013-1:MAASのセキュリティアップデート
- https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-November/002301.html
- Ubuntu 13.04・12.10・12.04 LTS用のアップデータがリリースされています。CVE-2013-1057, CVE-2013-1058を修正します。
- maas-import-pxe-filesにより、ローカルからPXEファイルを反映する際、あやまってカレントディレクトリから設定をロードしていました。設定ロード時に任意のコマンドを実行することが可能なため、攻撃者が制御できるディレクトリで作業を行なった場合、本来意図しないコードが実行されてしまう可能性があります。また、maas-import-pxe-filesがダウンロードしたファイルのチェックを適切な形で行なっていないため、改ざんを検知することができていませんでした。
- 対処方法:通常の場合、アップデータを適用することで問題を解決できます。
- usn-2014-1:OpenSSHのセキュリティアップデート
- https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-November/002302.html
- Ubuntu 13.10用のアップデータがリリースされています。CVE-2013-4548を修正します。
- OpenSSHのAES-GCMサポートの実装があやまっていたため、外部から不正なパケットを受け取った場合に任意のコード実行が可能なメモリ破壊が生じる可能性があります。
- 対処方法:通常の場合、アップデータを適用することで問題を解決できます。
- usn-2015-1:Linux kernelのセキュリティアップデート
- https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-November/002303.html
- Ubuntu 10.04 LTS用のアップデータがリリースされています。CVE-2013-2147, CVE-2013-2889, CVE-2013-2893, CVE-2013-2897, CVE-2013-4299を修正します。
- 対処方法:アップデータを適用の上、システムを再起動してください。
- 備考:ABIの変更を伴いますので、カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるので、通常はそのままアップデートの適用を行えば対応できます。
- usn-2016-1:Linux kernel (EC2)のセキュリティアップデート
- https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-November/002304.html
- Ubuntu 10.04 LTS用のアップデータがリリースされています。CVE-2013-2147, CVE-2013-2889, CVE-2013-2893, CVE-2013-2897, CVE-2013-4299を修正します。
- 対処方法:アップデータを適用の上、システムを再起動してください。
- 備考:ABIの変更を伴いますので、カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるので、通常はそのままアップデートの適用を行えば対応できます。
- usn-2017-1:Linux kernelのセキュリティアップデート
- https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-November/002305.html
- Ubuntu 12.04 LTS用のアップデータがリリースされています。CVE-2012-5374, CVE-2012-5375, CVE-2013-2147を修正します。
- 対処方法:アップデータを適用の上、システムを再起動してください。
- 備考:ABIの変更を伴いますので、カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるので、通常はそのままアップデートの適用を行えば対応できます。
- usn-2018-1:Linux kernel (OMAP4)のセキュリティアップデート
- https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-November/002306.html
- Ubuntu 12.04 LTS用のアップデータがリリースされています。CVE-2012-5374, CVE-2012-5375, CVE-2013-2147を修正します。
- 対処方法:アップデータを適用の上、システムを再起動してください。
- 備考:ABIの変更を伴いますので、カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるので、通常はそのままアップデートの適用を行えば対応できます。
- usn-2019-1:Linux kernel (Quantal HWE)のセキュリティアップデート
- https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-November/002307.html
- Ubuntu 12.04 LTS用のアップデータがリリースされています。CVE-2013-0343, CVE-2013-2888, CVE-2013-2889, CVE-2013-2892, CVE-2013-2893, CVE-2013-2895, CVE-2013-2896, CVE-2013-2897, CVE-2013-2899, CVE-2013-4350, CVE-2013-4387を修正します。
- 対処方法:アップデータを適用の上、システムを再起動してください。
- 備考:ABIの変更を伴いますので、カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるので、通常はそのままアップデートの適用を行えば対応できます。
- usn-2021-1:Linux kernelのセキュリティアップデート
- https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-November/002308.html
- Ubuntu 12.10用のアップデータがリリースされています。CVE-2013-0343, CVE-2013-2888, CVE-2013-2889, CVE-2013-2892, CVE-2013-2893, CVE-2013-2895, CVE-2013-2896, CVE-2013-2897, CVE-2013-2899, CVE-2013-4350, CVE-2013-4387を修正します。
- 対処方法:アップデータを適用の上、システムを再起動してください。
- 備考:ABIの変更を伴いますので、カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるので、通常はそのままアップデートの適用を行えば対応できます。
- usn-2022-1:Linux kernel (OMAP4)のセキュリティアップデート
- https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-November/002309.html
- Ubuntu 12.10用のアップデータがリリースされています。CVE-2013-0343, CVE-2013-2888, CVE-2013-2889, CVE-2013-2892, CVE-2013-2893, CVE-2013-2895, CVE-2013-2896, CVE-2013-2897, CVE-2013-2899, CVE-2013-4350, CVE-2013-4387を修正します。
- 対処方法:アップデータを適用の上、システムを再起動してください。
- 備考:ABIの変更を伴いますので、カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるので、通常はそのままアップデートの適用を行えば対応できます。
- usn-2023-1:Linux kernelのセキュリティアップデート
- usn-2024-1:Linux kernel (OMAP4)のセキュリティアップデート
- https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-November/002311.html
- Ubuntu 13.04用のアップデータがリリースされています。CVE-2013-0343, CVE-2013-2888, CVE-2013-2889, CVE-2013-2892, CVE-2013-2893, CVE-2013-2895, CVE-2013-2896, CVE-2013-2897, CVE-2013-2899, CVE-2013-4350, CVE-2013-4387を修正します。
- 対処方法:アップデータを適用の上、システムを再起動してください。
- 備考:ABIの変更を伴いますので、カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるので、通常はそのままアップデートの適用を行えば対応できます。
- usn-2020-1:Linux kernel (Raring HWE)のセキュリティアップデート
- usn-2025-1:Libavのセキュリティアップデート
- https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-November/002313.html
- Ubuntu 13.10・13.04・12.10・12.04 LTS用のアップデータがリリースされています。LP#1249621で管理される問題を修正します。
- libavがメディアファイルを開くときに、任意のコードの実行が可能なメモリ破壊が発生する可能性があります。
- 対処方法:通常の場合、アップデータを適用することで問題を解決できます。
- 備考:通常のUbuntuのリリースポリシーと異なり、upsteamリリースをそのまま持ち込む形のアップデートです。セキュリティ修正以外の微細なバグの修正が含まれています。
- usn-2026-1:libvirtのセキュリティアップデート
- https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-November/002314.html
- Ubuntu 13.10用のアップデータがリリースされています。CVE-2013-4401を修正します。
- virConnectDomainXMLToNative()を利用する際、適切な権限チェックが行われていませんでした。このチェック漏れを悪用することで、通常は行えないwrietアクセスが可能です。
- 対処方法:アップデータを適用の上、システムを再起動してください。
- usn-2027-1:SPICEのセキュリティアップデート
- https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-November/002315.html
- Ubuntu 13.10・13.04用のアップデータがリリースされています。CVE-2013-4282を修正します。
- SPICE ticketにきわめて長いパスワードが含まれていると、SPICEサーバーがクラッシュする問題がありました。
- 対処方法:アップデータを適用の上、SPICEを利用するアプリケーション(例:QEMU)を再起動してください。
- usn-2028-1:Apache XML Security for Javaのセキュリティアップデート
- https://lists.ubuntu.com/archives/ubuntu-security-announce/2013-November/002316.html
- Ubuntu 10.04 LTS用のアップデータがリリースされています。CVE-2013-2172を修正します。
- libxml-security-javaのCanonicalizationMethodメソッドにおいて、適切な署名チェックが行われていませんでした。これにより、改ざんチェックを迂回することが可能です。
- 対処方法:通常の場合、アップデータを適用することで問題を解決できます。