OneiricのAlpha1
Oneiricの開発が始まって約一ヶ月が経ち、最初のマイルストーンであるAlpha 1リリースのためのフリーズ が行われ、Alpha 1の提供が行われる予定です。UbuntuのリリースにおいてAlphaバージョンは開発者向けリリースであり、一般的な用途には利用するべきではありません(また、Alpha1はたいてい「ひとつ前のリリース」から大きな変化はなく、一般的な用途でアップグレードする意義はほとんどありません) 。
Ubuntu 11.10 “ Oneiric Ocelot” は、これから合計3回のアルファリリースと2回のベータを経て、2011年10月13日 にリリースされる予定です。
UDS-O (4)
Ubuntu Developer Summit Oneiricで話し合われた、Ubuntu 11.10(Oneiric)の新機能(予定)を今回も見ていきましょう。
Wubi Migration
Ubuntuには、「 Windowsアプリケーションのひとつとして」Ubuntuをインストールすることができる[1] 、「 Wubi」と呼ばれる機能があります。Wubiを利用することで、NTFS内にディスクイメージファイルを準備し、「 NTFS内のディスクイメージを用いて」Ubuntuを起動するもので、既存のWindows環境をそのままにした状態で、テスト的にUbuntuを利用できます。
しかしながら、現状のWubiには、「 Ubuntuが気に入ったので、Wubiではなく“ 素の” Ubuntuを利用したい」という要望に答える機能がありませんでした。WubiはNTFS内領域内にディスクイメージを配置する関係上、直にHDDを扱うのに比べてディスク性能が低く、継続的に利用し続けるには向きません[2] 。これは、「 せっかくUbuntuを本格的に使ってくれそうな人を、そのまま逃がしてしまう」ということを意味します。
これは良くないことなので、以前から 「Wubi上のイメージファイルを、そのままHDD上にマイグレーションする機能が計画されていました。この機能が2年越しで実現されそうです。Ubuntu Forumに投稿されたプロトタイプ をもとに、Oneiricの新機能としてブラッシュアップが行われ、新機能としてお目見えする見込み となっています。
Upstart jobの自動起動指定
Ubuntuでは今のところ、次世代initデーモンとしてUpstartが採用されており[3] 、システム内のかなりの部分のdaemonが、かつてのSysV initスクリプトから、「 Upstart方式の起動指定ファイル」に置き換えられています。この起動指定ファイルによって制御されるサービスは、“ Native job” と呼ばれます[4] 。
Native jobは非常に便利なものの、若干の弱点があります。それは、「 起動する・しない」を制御するラッパースクリプトが存在しないことです。古典的なSysV initによる起動の場合は/etc/rcN.d/以下にinitスクリプトへのシンボリックリンクを配置することでランレベルを定義していますが、直接シンボリックリンクの配置を調整するのではなく、sysv-rc-confやchkconfigといったラッパーコマンドを用いるのが通常です。……ですが、そうしたものは現時点ではNative jobには存在しませんので、起動の有無を設定する場合は、直接ジョブ定義ファイルを修正する、というモデルになっています。
このままでは設定作業がしにくいため、設定UIやコマンド を準備することで、手軽にサービスの「起動する・しない」を設定できるようにし、同時にサービスの依存関係を整理する、というタスクが設定されています。
GPUバグの自動収集
現在のLinux上のX環境では多くの場合、GPUはカーネルモードドライバ(DRMドライバ)を経由して制御されています。これそのものはそれほど致命的ではないのですが[5] 、なんらかのソフトウェアバグによるクラッシュ時に、カーネルを巻き込んで止まる(完全にシステムが停止してしまう)ことが起きてしまいます。運良くOSは生き延びていても、クラッシュに至った原因がわからない、ということもしばしばです。また、GPU由来のクラッシュは意味不明な症状を呈することも多く、致命的な割にデバッグ手段に乏しい、というのがこれまでの状況でした。さらに言えば、これらの情報を「ふつう」のユーザーが自力で集めることはほとんど不可能です。
これらの問題に対処するため、Ubuntuではこの数リリースにおいて、「 Xまわりのバグ情報の自動収集」というテーマでさまざまなフックの追加・クラッシュダンプの自動取得システムを追加しています。GPU由来のクラッシュが発生した場合、apportやubuntu-bugコマンドでのバグレポート時にダンプの送信を許可すると、自動取得されたダンプ情報が登録されるようになっています。Oneiricにおいてもこうしたフックの追加・ダンプ取得機能の追加や、GPU由来のバグへの対処手段・X周りの設定追加のためのコマンド類が多数追加される予定 です。
[5] Linuxのカーネルモードドライバは、インターフェース(kABI)が変化するたびにコンパイルしなおす必要があります。この制限から、「 ドライバをオープンソースで公開することで、kABIが変更されるたびにユーザーや開発者がドライバをコンパイルできる環境を整えておく」( =GPUの内部構造を類推する材料を公開する)か、「 バイナリで提供する」( =GPUの内部構造は知られにくいが、Kernel側のkABIの変更ごとにGPUベンダ側でドライバをリリースしなおす必要がある)か、どちらかをGPUベンダが選択せざるを得ない、というジレンマがあります。オープンソース的な発想であればソースコードを公開すれば良い、ということになりますが、GPUベンダのビジネスとうまく噛み合わず、バイナリのみでの提供となることもしばしばです。……そして、ベンダ側の体制上の問題や、Linuxドライバ提供にかけられる工数によってはバイナリドライバの公開が遅れてしまい、「 最新カーネルでは○○のGPUは動作しない」といった問題が発生することになります。
その他のニュース
今週のセキュリティアップデート
PAMのセキュリティアップデート(usn-1140-1 )に含まれたバグにより、システムの自動アップデート機能が停止している可能性があります。自動的にソフトウェアアップデートを適用する設定を行っていた場合、現在も自動アップデートが機能しているか確認してください。
また、bindの運用上致命的な脆弱性が報告されています。再帰検索を有効にしたDNSサーバーを運用している場合、速やかにアップデートを検討してください。検索が可能なクライアントを制限している環境においても、クライアント側からのクエリ内容を完全に制御できない場合は脆弱性の影響を受ける可能性があります(例:クライアントがSSHやHTTP等でサービスを行っていて、アクセス元の逆引きを行うような場合は、クライアントから「致命的」なオーソリティへの問い合わせをトリガするクエリが投げられるため、この脆弱性の影響を受けるおそれがあります) 。
usn-1137-1 :Eucalyptusのセキュリティアップデート
https://lists.ubuntu.com/archives/ubuntu-security-announce/2011-May/001335.html
Ubuntu 11.04・10.10・10.04 LTS用のアップデータがリリースされています。CVE-2011-0730 を修正します。
CVE-2011-0730 は、Eucalyptus環境において、特定のSOAPリクエストの検証が行われておらず、SOAP経由で実行可能なコマンドの実行を許す問題です。
対処方法:通常の場合、アップデータを適用することで問題を解決できます。
usn-1138-1 、usn-1138-2 :DBus-GLib・NetworkManagerのセキュリティアップデート
https://lists.ubuntu.com/archives/ubuntu-security-announce/2011-May/001337.html
https://lists.ubuntu.com/archives/ubuntu-security-announce/2011-May/001338.html
Ubuntu 10.04 LTS・8.04 LTS用のアップデータがリリースされています。CVE-2010-1172 を修正します。
CVE-2010-1172 は、DBus環境において、本来読み取り専用であるべきプロパティが外部から変更可能な問題です。
対処方法:通常の場合、アップデータを適用することで問題を解決できます。
備考:DBus-GLibの更新に伴い、NetworkManagerの更新が必要になります。同時にアップデータを適用してください。
usn-1140-1 、usn-1140-2 :PAMのセキュリティアップデート&再アップデート
https://lists.ubuntu.com/archives/ubuntu-security-announce/2011-May/001339.html
https://lists.ubuntu.com/archives/ubuntu-security-announce/2011-May/001341.html
Ubuntu 11.04・10.10・10.04 LTS・8.04 LTS用のアップデータと、アップデータに含まれたバグを修正した再アップデートがリリースされています。CVE-2009-0887 , CVE-2010-3316 , CVE-2010-3430 , CVE-2010-3431 , CVE-2010-3435 , CVE-2010-3853 , CVE-2010-4706 , CVE-2010-4707 を修正します。
pamに含まれる複数の脆弱性を修正します。
対処方法:通常の場合、アップデータを適用することで問題を解決できます。
備考:自動アップデートを適用しているシステムにおいては、影響を受けているか確認するため、「 egrep 'CRON.*Module is unknown' /var/log/syslog」を実行してください。CRON.*Module is unknownのような行が出力された場合、usn-1140-1 に含まれたバグ の問題でcronが正常に機能しなくなっている可能性があります。「 sudo service cron restart」を実行してcronを再起動することでこの問題を解決できます。
usn-1139-1 :Bindのセキュリティアップデート
https://lists.ubuntu.com/archives/ubuntu-security-announce/2011-May/001340.html
Ubuntu 11.04・10.10・10.04 LTS・8.04 LTS用のアップデータがリリースされています。CVE-2010-3762 , CVE-2011-1910 を修正します。
CVE-2010-3762 は、ひとつのゾーンに複数のトラストアンカーが定義されている場合に、不正な署名が行われた状態で応答を受け取った場合、正しく検証できずにプロセスがクラッシュする問題です。
CVE-2011-1910 は、ネガティブ応答に極端に長いRRSIGが含まれていた場合に、bindプロセスがDoS状態に陥る問題です。
対処方法:通常の場合、アップデータを適用することで問題を解決できます。
usn-1141-1 :Linux kernelのセキュリティアップデート
https://lists.ubuntu.com/archives/ubuntu-security-announce/2011-June/001342.html
Ubuntu 10.04 LTS用のアップデータがリリースされています。CVE-2010-4243 , CVE-2010-4263 , CVE-2010-4342 , CVE-2010-4529 , CVE-2010-4565 , CVE-2010-4656 , CVE-2011-0463 , CVE-2011-0521 , CVE-2011-0695 , CVE-2011-0712 , CVE-2011-0726 , CVE-2011-1010 , CVE-2011-1012 , CVE-2011-1013 , CVE-2011-1016 , CVE-2011-1019 , CVE-2011-1082 , CVE-2011-1083 , CVE-2011-1182 を修正します。
対処方法:通常の場合、アップデータを適用することで問題を解決できます。