Ubuntu Weekly Topics

2012年3月2日号DNSレゾルバの変更・Unityのキーバインド・Unityに貢献する方法・MWC2012・UWN#254

12.04の開発

Preciseの開発はBeta 1を目の前にして、UI Freeze等の「もうこれ以上触らない」モードへの移行が行われています(ただし、速攻で例外も宣言されています⁠⁠。

とはいえ、Beta1直前に投入される多くの変更がUbuntuの開発の特徴でもあり、今週も大きな変更が加えられています。順に見ていきましょう。

DNSレゾルバに関する大きな変更

Linuxには、DNSに関する2つの常識があります。ひとつは「DNSサーバーの設定は/etc/resolv.confファイルを編集して行う」こと、そしてもうひとつは、⁠名前解決の結果はキャッシュされず、毎回問い合わせる必要がある」というものです。

この常識のうち、少なくとも前者はUbuntu 12.04では成立しなくなりそうです。2012年2月末時点で、12.04のデスクトップ構成では暗黙でdnsmasqパッケージが導入・設定され、レゾルバとして機能します[1]⁠。ただし、現状ではセキュリティ上の理由から、⁠キャッシュ可能なデータサイズ」が0に設定されているため、キャッシュレゾルバとしては機能しません。つまり、⁠2つの常識」のうち後者はまだ残ります。

これにあわせて/etc/resolv.confは「ユーザーが手動で設定すべきでない、システムが自動生成するファイル」⁠厳密には、⁠自動生成するファイルへのシンボリックリンク⁠⁠)に切り替わります[2]⁠。

図1 /etc/resolv.conf がシンボリックリンクになっている
画像

この変更に伴い、いくつかの設定方法に変更が加えられます。多くのデスクトップ環境ではNetworkManagerからネットワーク設定を行っているでしょうし、そもそもDHCPクライアントとして動作しているでしょうから、たいていの場合は意識する必要がありません。が、⁠固定IPアドレスを使っていた」⁠/etc/network/interfacesと/etc/resolv.confを個別に指定していた」環境では、今後は設定を適切に変更する必要があります。アップグレード時には自動的に設定ファイルが移行されるため、新規インストール時のみ対処が必要です。

図2 dnsmasq・resolvconf関連のファイル
画像

具体的な変更点は、以下のようなものです。

  • /etc/resolv.confは、resolvconfパッケージによって自動生成されるファイルになります。ユーザーが変更を行っても、resolvconfが実行されると変更内容は破棄されます。
  • これまで/etc/resolv.confに記載していたネームサーバー関連の情報は、/etc/network/interfacesにdns-nameservers・dns-search・dns-domainとして記載するか、NetworkManager経由での設定に切り替える必要があります。
  • dnsmasqプロセスが暗黙で起動し、DNS関連の名前解決を行います。このプロセスはNetworkManagerによって制御され、VPNなどの「複数の名前解決サーバーを適切に切り替えて使う必要のある環境」において、適切なサーバー選定を可能にします。
  • 名前解決の失敗時、これまでのresolv.confに直接nameserver指定を行う方式に比べ、他のDNSサーバーへの問い合わせまでの待ち時間が短くなります。
  • 「システムが実際に利用しているDNSサーバー」は、/run/nm-dns-dnsmasq.confを見ることで確認できます。

副次的なメリットとしては、⁠IPv6アドレスをまともに解決できない一部の家庭用ブロードバンドルーターを迂回できる」⁠3件以上のDNSサーバーを利用できる」⁠/etc/resolv.confに書くケースでは、歴史的経緯で「上から3行まで」しか使われていません⁠⁠、といったものもあげられます。

12.04では「他のユーザーの名前解決結果を簡単にDNSポイゾニングできてしまう」という問題があるため、キャッシュ機能は有効にされません。12.10フェーズでユーザー毎にキャッシュを分割する機能が搭載できそうであれば、キャッシュ可能な設定に切り替えられる予定です。

Unity/Compizのキーバインド

2012年2月29日現在のUnity環境では、ワークスペースの切り替え・ワークスペース間でのウインドウの移動のキーバインドが変更になっています。これまでの「⁠⁠Ctrl]+[Alt]+[カーソル⁠⁠」によるワークスペースの切り替えは「⁠⁠Shift]+[Super]+[カーソル⁠⁠」に、ウインドウの移動は「⁠⁠Ctrl]+[Alt]+[Shift]+[カーソル⁠⁠」に割り当たっています。

ちなみに、⁠Ctrl]+[Super]+[カーソル]で、Unityの「ウインドウをぶつける」操作(右半分を埋める・左半分を埋める・最大化)操作も可能になっています。現時点ではまだ最終段階ではありませんが(LP#940085⁠、アップグレード後に操作が変わるため、テストの際に注意する必要があります。

LTSに関する議論

LTSのありかたに関する議論が行われています。いわく、⁠今のLTSでは、搭載されたソフトウェアがあまりにも古くなりすぎる。ポイントリリースのタイミングで、更新すべきものは更新していくのはどうだろう⁠⁠。

最終的な結論は出ていませんが、現在のUbuntuのリリースポリシーを把握したい場合、このスレッドを確認してみると良いでしょう。

開発者ではない人向けの、Unityに貢献する方法

Ubuntuの開発においては、⁠開発者でない人でも、比較的簡単に行える作業」というものがあります。たとえばアイコンに含まれる実行ファイルのエントリだったり、メニューの項目の調整であったり、といったものです。

こうした「開発者でない人でもできること」について、UnityのLauncherアイコンをクリックした際に表示されるメニューと、その他のポイントに関する記事がまとめられています。特に、アイコンクリック時に表示されるメニューについては、ごく一般的なコマンドラインの操作がわかれば協力できるものとなっています。少しだけ腕に自信があるなら、なにかできないか確認してみてはいかがでしょうか。

インストーラーにTwitter hash stream

Ubuntuのインストーラーには、⁠カメラがあれば顔写真を撮影してユーザーアイコンとして保存する」⁠待ち時間にプレゼンテーションを見せる」といった、いろいろな機能が搭載されています。12.04ではこれらの機能に加えて、Twitterのストリームを流す、という機能が追加されました。インストールそのものは頻繁に行うものではないものの、待ち時間を少しだけ短く感じることができそうです。

「トロフィー」の獲得

コンピューターに関連する業界では、⁠ゲーミフィケーション」と呼ばれる、⁠作業やアクティビティの評価ににゲーム的な要素を取り込む」タイプの取り組みが進められています。Ubuntuでも、トロフィーによるコミュニティ貢献のカウントアップ機能が準備されています。

そう遠くない将来、CoCにサインするとトロフィー、バグ報告するとトロフィー、といった形で、知らず知らずのうちにいろいろな貢献をしている、という状態になるかもしれません。

ISC DHCP 4.1

12.04では、搭載されるDHCP関連パッケージがISC DHCP 4.1になるため、テスト要請が行われています。

MWC2012でのUbuntu for Android

MWC(Mobile World Congress)は、世界最大規模のモバイルと通信にかかわるデバイスや周辺技術の展示会です。今年はCanonicalも出展しています。

主な出し物はUbuntu for Androidです。先日の発表時点から大きく情報が増えているわけではありませんが、いろいろサイト動画が公開されています。Ubuntu for Androidが実際にどの程度動作するのか、といった点を確認できます。

なお、デモ機はやはりモトローラのAtrix 2のようで、現時点では公表されていないパートナーベンダがモトローラであることがそれなりに疑われる状態です[3]⁠。モトローラ系の端末の中には日本で販売されているモデルもあり(しかもドックもサポート⁠⁠、状況次第ではUbuntu for Androidを簡単に入手できるようになるかもしれません。

UWN#254

Ubuntu Weekly Newsletter #254がリリースされています。

その他のニュース

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

usn-1371-1:cvsのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2012-February/001600.html
  • Ubuntu 11.10・11.04・10.10・10.04 LTS用のアップデータがリリースされています。CVE-2012-0804を修正します。
  • プロクシサーバー経由でのアクセスを行う際、プロクシサーバーが悪意ある応答を返した際に、メモリの二重開放が生じる可能性があります。これにより、任意のコードの実行・DoSが可能です。
  • 対処方法:通常の場合、アップデータを適用することで問題を解決できます。
usn-1372-1:Puppetのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2012-February/001601.html
  • Ubuntu 11.10・11.04・10.10・10.04 LTS用のアップデータがリリースされています。CVE-2012-1053, CVE-2012-1054を修正します。
  • puppet経由でコマンドを実行する場合、適切な形で権限を落とす処理が行われていない問題と、k5loginを用いてファイルを管理する場合に、ファイルを改変できてしまう問題を解決します。
  • 対処方法:通常の場合、アップデータを適用することで問題を解決できます。
usn-1373-1usn-1373-2:OpenJDK 6のセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2012-February/001602.html
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2012-March/001610.html
  • Ubuntu 11.10・11.04・10.10・10.04 LTS用のアップデータがリリースされています。JDK update 24相当のアップデートです。CVE-2011-3563, CVE-2011-5035, CVE-2012-0497, CVE-2012-0501, CVE-2012-0502, CVE-2012-0503, CVE-2012-0505, CVE-2012-0506, CVE-2012-0507 を修正します。
  • 対処方法:アップデータを適用の上、Javaで動作するすべてのプロセスを再起動してください。
usn-1374-1:Sambaのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2012-February/001603.html
  • Ubuntu 8.04 LTS用のアップデータがリリースされています。CVE-2012-0870を修正します。
  • smbdに悪意ある細工を施したパケットを送出することで、任意のコードの実行が可能でした。
  • 対処方法:通常の場合、アップデータを適用することで問題を解決できます。
usn-1375-1:httplib2のセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2012-February/001604.html
  • Ubuntu 11.10・11.04・10.10・10.04 LTS用のアップデータがリリースされています。LP#882030を修正します。
  • httplib2を利用してHTTPS通信を行う際、SSL証明書のチェックが行われていませんでした。
  • 対処方法:通常の場合、アップデータを適用することで問題を解決できます。
usn-1376-1:libxml2のセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2012-February/001605.html
  • Ubuntu 11.10・11.04・10.10・10.04 LTS・8.04 LTS用のアップデータがリリースされています。CVE-2012-0841を修正します。
  • libxml2に「HashDos」脆弱性 がありました。これによりサーバーへのDoSが可能でした。
  • 対処方法:アップデータを適用の上、システムを再起動してください。
usn-1377-1:Rubyのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2012-February/001606.html
  • Ubuntu 11.10・11.04・10.10・10.04 LTS用のアップデータがリリースされています。CVE-2010-0541, CVE-2011-0188, CVE-2011-1004, CVE-2011-1005, CVE-2011-2686, CVE-2011-2705, CVE-2011-4815を修正します。
  • Rubyに含まれるWEBrick HTTPサーバーのXSS脆弱性(CVE-2010-0541)・64bit環境におけるBigDecimalモジュールのメモリ管理エラーによる任意のコード実行(CVE-2011-0188)・FileUtils.remove_entry_secureメソッドが空でないディレクトリを正しく処理せず、誤ったファイルを削除する可能性(CVE-2011-1004)・Exception#to_sメソッドにおける$SAFE構文による保護が機能しない問題 (CVE-2011-1005)・子プロセスを生成するときに擬似乱数を予測可能にしてしまう問題(CVE-2011-2686)・同一のプロセスIDを持つ他のRubyプロセスの擬似乱数が予測可能になる問題(CVE-2011-2705)・⁠HashDos」攻撃への脆弱性(CVE-2011-4815)を修正します。
  • 対処方法:通常の場合、アップデータを適用することで問題を解決できます。
usn-1378-1:PostgreSQLのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2012-February/001607.html
  • Ubuntu 11.10・11.04・10.10・10.04 LTS・8.04 LTS用のアップデータがリリースされています。CVE-2012-0866, CVE-2012-0867, CVE-2012-0868を修正します。
  • トリガの実行時、適切な権限チェックが行われていない問題・SSL 証明書のサブジェクトを32文字で切り詰めてしまう問題・オブジェクト名に改行文字が含まれる場合に、そこでパースを撃ち切ってしまう問題を修正します。
  • 対処方法:通常の場合、アップデータを適用することで問題を解決できます。
usn-1379-1:Linux kernelのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2012-February/001608.html
  • Ubuntu 10.10用のアップデータがリリースされています。CVE-2011-0716, CVE-2011-1927, CVE-2011-3619 を修正します。
  • 対処方法:アップデータを適用の上、システムを再起動してください。
usn-1380-1:Linux kernelのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2012-February/001609.html
  • Ubuntu 11.04用のアップデータがリリースされています。CVE-2011-2498, CVE-2011-2518, CVE-2011-4097, CVE-2012-0207を修正します。
  • 対処方法:アップデータを適用の上、システムを再起動してください。

おすすめ記事

記事・ニュース一覧