このページの本文へ

行っとけ! Ubuntu道場! 第10回

~師範! Ubuntuってどんな風に開発されてるんですか?~

2009年12月24日 16時00分更新

文● hito(Ubuntu Japanese Team) イラスト●瀬尾浩史

  • この記事をはてなブックマークに追加
  • 本文印刷

UbuntuはDebianから作られる……んだけど

hito:ではそこの名古屋人、「Ubuntuの作られ方」を説明してみてください。

瀬尾浩史:いきなり名指しだペン!

ミズノ:メンバーとしての資質が試されている!

hito:業界用語では不意打ちとかいいますです。夜討ち朝駆けは原稿取りの基本。

村田:ええっと……。Ubuntuは基本的にはDebianをベースに、コアになる部分を作り直したものです。コアになる部分というのは、カーネルとかudevとかドライバ周りとか、initデーモンとかそういう、「絶対に起動される部分」ですね。

瀬尾浩史:Ubuntuで使うinitデーモンとして開発されたのが「Upstart」ですよね。最近はFedoraとかDebianとかでも使われているみたいですが。

小林:はい。6.06の時点から使われていて、9.10で「native job」という機能が有効なバージョンになりました。

Ubuntuのinitデーモン、「Upstart」プロジェクト(http://upstart.ubuntu.com/)。Upstartは将来的にはLinux標準になるかもしれない先進的なinitデーモンなのだ。GoogleのChromeにも使われているぞ

編集S:待て待て。貴様ら私が分かるように解説すれ。

ミズノ:PCの起動時にサービスとかアプリケーションを起動するのがinitデーモン。Upstartは今までのinitデーモンを置き換えてます。その新機能、native jobはWindowsのサービスみたいに、「このサービスの起動は前提になるこれとこれとこれが立ち上がった後」とか指定できるようにしてくれます。さらに実行の並列性が高められているので、高速な起動が期待できたりするわけです。

編集S:説明ごくろう。

hito:OpenSolarisのSMFとかMac OS XのLaunchdと同じタイプの新実装ですからねー。新実装といいつつすでに3年以上実績もあるんでそんなに問題ないかと。……マニュアル読まない人たちが「これまでと挙動が違う! バグだ!」とか叫んでますが。

やまね:GDM止められませんとかそれ系?

hito:それ系。/etc/init/gdm.confを削除するとか意味不明なことが広まりつつあるのが脅威ですが。それGDMアップデートされるたびに自動的に起動するようになるから、「アップデートで設定が壊れた!」とか叫ぶんだろうなぁと。一時的に止めるならいいんですけど、恒常的にそういう設定をしたいなら、ちゃんと考えろと。

瀬尾浩史:正しい操作は起動オプションにtextを追加するか、gdm.confの中をいじればOKですかね。

やまね:それ以前に、「GDMが入っているというのは、起動時に自動起動させることと同義」というのがパッケージ管理の考え方かなぁ。パッケージ入れてるのに絶対に使わない、というのが割と邪道。

村田:GDMを使わず、テキストログインしたい理由が分からないんですが……。

瀬尾浩史:黒画面に白い文字だと萌えるのですペン! どこかの会長みたいに。

ミズノ:そもそも、テキストログインするとconsolekitとかうまく動かせなくなるんで、今時のLinuxではあまりメリットがないんですけどねー。

hito:20世紀の使い方ではテキストログインして後からX起動、ってのが良くあった気がしますが、今だとそれやると複数ユーザーが使えなくなったり、システムサービスの挙動を阻害したりするので良くないのです。

瀬尾浩史:うう、新時代についていけなくてごめんなさい。

小林:話題がちょっとそれてしまいましたが、Ubuntuが独自に手を入れている部分がリポジトリの「Main」と「Restricted」とも言えますね。

あわしろいくや:必ずしもそうとは言い切れないですが、まぁ概要として理解する分にはあってますな。ここに含まれるパッケージは、Debianパッケージをベースに独自のパッチを加えたり、場合によっては原型を残さないレベルで手が入ってたりします。

やまね:で、それ以外の部分にあたるUniverseはDebianのsid(不安定版)からコピーして、「問題のない状態」にしてある、と。

あわしろいくや:Debian sidからコピーしているだけ、みたいなことを言う人もいますが、Ubuntu独自で対処したりもしてますよ! と声を大にしておきたいですな。

hito:Universeでバグが見つかったらDebianのBTS(バグ管理システム)に遠征して直してもらったり、って感じですしね。

やまね:リリースの3~4ヵ月前にsidからコピーしてパッケージ持ってきて、問題の洗い出しをしてからリリース?

小林:そうですね。アルファからベータ版の間にテストを行なって、そのままだと問題がある場合はsidにあるより新しいバージョンのパッケージを持ってきたり、場合によってはDebian側で直したり、ということをします。

hito:まぁ、Debianのリリースプロセスに比べると手薄ですけどねー。Debianだとリリースされない(Release Critical)ものが入ってても、Universeだから、ってリリース後に直すことにしてリリース日を守る、ってこともしてますし。

村田:リリース日優先か、品質優先か、っていうのはポリシーの違いでしかないですよね。世の中の一部の人たちは「だから○○はダメ」みたいな方向に話題を持って行きがちなのにびっくりするんですけど。

小林:優劣というわけではないので、自分に合うものをうまく選んで欲しいですね。


(次ページへ続く)

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン