Ubuntu Weekly Topics

2012年9月7日号 QuantalのBeta1・Upstartのstateful-reexec・OSC Tokyo/Fall ・Ubuntu Magazine Japan vol.09・FCM#64・UWN#28

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

Ubuntu 12.10 ”Quantal Quetzal” Beta 1

本日,12.10のBeta 1がリリースされました。とはいえ,あくまで「まだベータ」であることに注意してください。

Upstartのstateful-reexec

Ubuntuのコアを構成するソフトウェアのひとつ,Upstartに新しい機能が加わりました。⁠stateful-reexec」と呼ばれるものです。

これは端的には,⁠各種サービスのステート情報を保持したまま,Upstartを再起動する」という機能です。これだけでは「何が嬉しいのか」が見えてこないので,少し細かいところを見ていきましょう。

まず,initはLinuxカーネルの「次」に起動する『最初のユーザーランドプロセス』注1であり,ps -feを実行した際にpid=1として見えるプロセスです。 Linuxシステムにおける各種ネットワークサービスやログイン画面は,マルチユーザーモードであればすべてinitから(あるいは,すでにinitから起動された他のプロセスから)起動されます。

Upstartはinitとしてふるまう新しい実装のひとつで,古典的なSysV init向けサービス起動スクリプトとの互換性を持つことと,⁠イベント」ベースで動作する,という特徴を持った,⁠使いやすい」initプログラムです。Ubuntuでは6.10から搭載されています。

Upstartのみならず,initは通常のシステムでは一度起動したらシャットダウン時点までずっと起動したまま,各種サービスや「親プロセスが存在しなくなったプロセス」の代理の親として全体を統括し続けるものです。

常に動いていることが前提であるため,設計上,各種ステート情報を内部に持つ構造になっています。単に再起動すると,どのサービスを起動・監視していたのか,あるいはどのプロセスと通信していたのか,といった情報が失われてしまいます。このため,⁠もしinitに何か問題があると,システムを再起動しない限りinitプロセスを立ち上げなおすことができない」という問題が存在します。

init自体は(Upstartであっても)それほど大きなプログラムではないため,init自身に問題があって再起動を強いられることはあまり多くないのですが,libcまわりの問題などで,間接的に再起動が必要になる可能性があります。また,たとえばシステムのアップグレード時(特にLTS Upgradeで大きくバージョンが変化する時)には,⁠ユーザーランドやUpstartの設定ファイルは12.04のものに更新されるものの,動いているUpstartは10.04」というミスマッチが生じ,正常に機能しなくなってしまいます(see LP#985755。このあたりの問題は,⁠再起動できるinit」があれば解決します。

つまり,⁠再起動できるinit」には,地味ながら大きな価値があります。直接的に影響するのは,次の2点です。

  • Upstartやlibcのアップデートに伴ってシステム全体を再起動する必要がなくなる。reexecするだけで,各サービスのステートを維持したままUpstartプロセスをリスタートできる。
  • initramfsでもUpstartをフル機能で利用できる。initramfs内のUpstartから,rootfs上のUpstartに切り替えることができる。

Upstartが「再起動できるinit」になることは,一般的なユーザーにとってはそれほど強い意味を持つものではありません(ただしサーバー管理者にとっては再起動を強いられるケースが減るというメリットがあります)が,この機能は将来的に,非常に強力な機能につながる可能性があります。

それは,この機能を実現したUpstartへの乗り換えが完了し,さらに各種サービスの起動スクリプトがSysV init向けスクリプトからUpstart Native Jobに切り替わった後に,⁠あるパッケージをアップデートした後,initを含む各種サービスを適切に再起動する」といった処置を簡単に行えるようになることです。このゴールに到達すると,⁠Ubuntuにおいては,アップデート後にシステム再起動が必要になるのはカーネル更新のときのみ」という状態が見えてきます。

注1
これは厳密には正しくない表現で,initの前にidleプロセス(より厳密には「各種リソースを初期化した後,initを起動する」という仕事を担当するstart_kernel())が存在します。

オープンソースカンファレンス 2012 Tokyo/Fall

9月7日(金)⁠9月8日(土)に,オープンソースカンファレンス2012 Tokyo/Fallが開催されます。Ubuntu Japanese Teamもブース出展(両日)とセミナーの開催(9月8日)を行う予定です。

オープンソースカンファレンス 2012 Tokyo/Fall 概要

日時9月7日(金) 10:00-18:00 / 9月8日(土) 10:00-17:30
入場無料
会場明星大学 日野キャンパス 28号館
主催オープンソースカンファレンス実行委員会
協賛明星大学・明星大学 情報学部
内容オープンソース関連の最新情報提供 (展示・セミナー)
twitterハッシュタグ#osc12tk

図1 今回のブースの様子。発売したばかりの『Ubuntu Magazine Japan vol.09』の姿も

図1 今回のブースの様子。発売したばかりの『Ubuntu Magazine Japan vol.09』の姿も

Ubuntu Magazine Japan vol.09

日本唯一のUbuntuの専門誌,Ubuntu Magazine Japan vol.09が9月6日(木)に発売されました。この記事が公開されているタイミングであれば,お近くの大きめの書店に並んでいるはずです。

図2 ⁠Ubuntu Magazine Japan vol.09』

図2 『Ubuntu Magazine Japan vol.09』

Ubuntu Magazineは「最新号発売後,前号の記事をCC-by-SAで公開する」というフリーミアム的なモデルを取っています。しかしながら,売上の1%はUbuntu Japanese Teamの活動のための寄付金となること注2)⁠そして「あくまで商業出版物なので,誰も買わないと続きが出ない」ことから,書店で立ち読みの後,購入に値すると考えていただけるなら,そのままレジにお持ちいただければ幸いです。

なお,本Topicsの姉妹連載であるUbuntu Weekly Recipeの最新号は,Ubuntu Magazine Vol.09の編集者による裏話となっています。

注2
OSCの会場でJapanese RemixのCDを配布していますが,CDのプレス代金は,この寄付金に依存しています。裏話をしておくと,Ubuntu.comで配布されているISOイメージはCanonical/Ubuntu TeamからOfficial LoCoとしての権限でプレスCDの配布を受けることができます。しかしながらRemixのプレス費用等はどこかから調達する必要があるため,こうした寄付金を費用にあてる必要があります。なお,こうした収支は定期的に公開しています。

Full Circle Magazine #64

Ubuntuを中心にしたオンラインマガジン,Full Circle Magazineの64号がリリースされています。

UWN#281

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

その他のニュース

注3
12.10世代ではUnity 2Dは一時的に存在しないため,多くの仮想化環境ではうまくテストすることができません。VMwareやVirtualBoxには実験的な3Dサポートは存在しますが,パフォーマンスや安定性の面で,フルスペックのUbuntuを体験するのは厳しい状態です。

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

usn-1548-1:Firefoxのセキュリティアップデート
usn-1505-2:IcedTea-Webregression
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2012-August/001804.html
  • Ubuntu 11.10・11.04用のアップデータがリリースされています。usn-1505-1で発生した問題を解決します。
  • usn-1505-1の修正を適用すると,ChromiumのJavaプラグインが動作しない状態に陥っていました。
  • 対処方法:アップデータを適用の上,Chromiumを再起動してください。
usn-1551-1:Thunderbirdのセキュリティアップデート
usn-1552-1:OpenStackKeystone のセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2012-September/001806.html
  • Ubuntu 12.04 LTS用のアップデータがリリースされています。CVE-2012-3426, CVE-2012-3542を修正します。
  • OpenStack Keystoneによるアクセス制御に,管理者APIの利用が正しく制限されていない問題と,トークンのエクスパイア処理が適切に行われていない問題がありました。
  • 対処方法:通常の場合,アップデータを適用することで問題を解決できます。
usn-1553-1:OpenJDK 6のセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2012-September/001807.html
  • Ubuntu 12.04 LTS・11.10・11.04・10.04 LTS用のアップデータがリリースされています。CVE-2012-0547, CVE-2012-1682を修正します。
  • 対処方法:アップデータを適用の上,Javaに依存するプロセスを再起動してください。
usn-1554-1:Linux kernelのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2012-September/001808.html
  • Ubuntu 11.10用のアップデータがリリースされています。CVE-2012-2372を修正します。
  • 対処方法:アップデータを適用の上,システムを再起動してください。
  • 備考:ABIの変更を伴いますので,カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるので,通常はそのままアップデートの適用を行えば対応できます。
usn-1555-1:Linux kernelのセキュリティアップデート
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2012-September/001809.html
  • Ubuntu 10.04 LTS用のアップデータがリリースされています。CVE-2012-0044, CVE-2012-2372を修正します。
  • 対処方法:アップデータを適用の上,システムを再起動してください。

著者プロフィール

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

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

コメント

コメントの記入