見事な復活を遂げたGentoo 2008.0

 先月、待望のGentoo 2008.0がリリースされた時点では、最大級の規模を誇りながらその恩恵に預かれなかったユーザのグループが2つあった。ライブCDによるインストール中にカーネルがコピーされないという状況に見舞われたx86ユーザと、そもそもイメージファイルが標準のCD-ROMに収録されなかったAMD64ユーザだ。このリリースで盛り返しを図ろうとしていたディストリビューションとしては、幸先のよくないスタートだった。だが、2日後に公開されたアップデート版のISOイメージは問題なく動作し、短時間でインストールできてすぐさまカスタマイズが可能な優れものだった。

 かつて、GentooはLinuxディストリビューションの世界で高い人気を誇っていた。その大きな理由は、パッケージ管理システムPortageにあった。Portageは、任意の既存パッケージからソースコードを取得し、ユーザによる設定ファイルへの指定内容に従ってコンパイルを行ってくれる。私がGentooを使い始めた2003年は、すべてがこのやり方でうまくいった。結果はまず間違いのないもので、いつでも自分の好みに合ったものが得られた。安定しているだけでなく、わずかではあるがパフォーマンスにもはっきりとわかる改善が見られた。しかし、Gentooユーザが最も心くすぐられたのは、その所有者意識だった。自分のシステムと厳密に同じものはこの世には存在せず、そのシステムはまさしく私の求めていたものだった。バイナリ形式のディストリビューションでは、こうした感覚はなかなか得られない。

 しかし、時は流れ、プロジェクトの創設者は去り、Gentooの質は低下し始めた。パッケージはすんなりとコンパイルできなくなり、それに対する対処方法の一部によって安定性が失われた。Gentooを見限ろうとも思ったのだが、私はその決断を新規リリースが出るまで先延ばしにすることにしていた。以下では、私の手がけたGentooのインストール事例を2つ紹介する。

インストール事例その1

 まずは、ライブCDインストーラの初期リリース版について述べる。私はこのリリースを2年間待ち続けてきた。Gentooの2006.0には満足できず、スクラッチから構築し直す時間もなかったからだ。Gentoo 2008.0のアップデート版ISOでは、インストーラが改善されており、だれでも簡単にGentooシステムの初期環境を構築できる。

gentoo1_thumb.jpg
Gentoo 2008のデスクトップ画面

 ライブCDをブートすると、Xfce 4のデスクトップ環境が現れる。ここでは、グラフィカル版とターミナル版の2つのインストーラが選択できる。動作はどちらも同じようなものだが、私はグラフィカル版を選んだ。カーネルのSATAサポートの制限でハードディスク上の一部のパーティションが表示されなかった点にはがっかりしたが、nosataブートオプションを指定すれば旧来のATAドライバが使えるはずだった。ところが、このオプションはうまく機能しなかった。やむを得ず、より古く低速なセカンダリディスクにインストールすることにした。

 最初のステップがパーティションの設定(必要な場合のみ)で、次のステップが使用するパーティションの指定である。このインストーラでは、すでにファイルが存在するパーティションへのインストールが行えないため、私のマシンの中枢になっている/bootパーティションはインストール先として利用できない。そこで、/(ルート)パーティションをインストール先に指定して「Next」をクリックした。ファイルシステムの設定が完了すると、コンパイラ、bash、起動スクリプトといった基本的なシステムの構成要素がインストールされ、続いてPortageのdistfilesのコピーに入った。だが、インストール作業はそこで止まってしまった。

 chroot環境で、インストールの中断によって残された作業を調べたところ、ユーザの追加、rootパスワードの設定、/etc/make.confファイルの編集が必要なことがわかった。まずはCFLAGの設定を私のマシンに合わせて「CFLAGS="-march=athlon64 -O2 -fomit-frame-pointer -pipe"」と変更した。続いて、ACCEPT_KEYWORDSのリストを作る。これにより、Portageのブランチがx86、AMD64、SPARCといった各種アーキテクチャのstable(安定版)またはunstable(不安定版)ツリーに設定される。さらに「LINGUAS="en en_US"」、「MAKEOPTS="-j2"」、「VIDEO_CARDS="nvidia vesa nv fbdev vga"」、「INPUT_DEVICES="keyboard mouse evdev joystick"」の各設定を行った。

 次に設定したのがUSEフラグで、これによってソフトウェアに組み込む機能やオプションとハードウェアを制御する。たとえば、Portageによって一般的なビデオフォーマットに対応したMPlayerをビルドしたければ、USEフラグに「win32codecs」を追加する。また、「dvd」や「dvdread」も追加するといいだろう。こうした方法に戸惑う必要はない。オンラインガイドまたはGentooの「/usr/portage/profiles/use.desc」にある記述を参照するだけで設定できる。

 手動のインストールで設定が必要なその他の項目は、次のとおり。

  • タイムゾーン ― 「/etc/conf.d/clock」を編集
  • デフォルトのXセッション ― 「/etc/rc.conf」を編集
  • ホスト名 ― 「/etc/conf.d/hostname」を編集
  • ドメイン名 ― 「/etc/conf.d/domainname」を編集

 続いて、カーネルソースのemerge(「/usr/src」内に展開してGentooパッチを追加)、カーネルの構築、LILOの実行、「/etc/fstab」における「/dev/ROOT」の実パーティションへの変更を行った。Gentooシステムのブート後、新たな設定ファイルの下で「emerge -e world」コマンドを使ってシステムを再構築する。さらに、KDEデスクトップ環境の完全なインストールを行うPortageパッケージ、KDE-metaのemergeを行った。GNOME派なら、代わりに「emerge gnome」とすればよい。幸い、730のパッケージのインストールまたはリビルドの実行で、修正を要したコンパイル時エラーは1つしか出なかった。

 そのエラーはcurlのコンパイル中に発生した。エラーメッセージは「die 'ldap and kerberos (gssapi) not playing nicely try version >=7.18.1'(ldapおよびkerberos(gssapi)が適切に動作していないのでバージョン7.18.1以降を試すこと)」となっており、「USE=-kerberos emerge curl」と修正してもよいとのことだった。curlのバージョン7.18.1は不安定版なので、私は後者の方法をとって「/etc/portage/package.use」に「net-misc/curl -kerberos」を追記した。詳細については、USEフラグのドキュメントPortageのガイドを参照してほしい。

 新システムへの移行が終わると、XawTV、Njam、GIMPなど、私が愛用している多数のアプリケーションのインストールへと進んだ。Portageや安定性に関する問題は一切起こらなかった。この新しいインストール環境は、Gentooの輝かしい日々を思い起こさせた。あの頃のGentooが復活したのだろうか。その答えを出すには、初めてGentooに触れるユーザにとっても今回のインストーラが使いものになるかどうかを確認する必要があった。

インストール事例その2(2008.0-r1)

 インストールを試した2台目のマシンは、Gigabyte製GA-M51GM-S2GマザーボードとSATAドライブを搭載していた。やはり「/boot」パーティションがインストール先として使えないので、「/」(ルート)パーティションを選択してインストールを続けた。最初の数ステップは前回と同様だったが、今回は中断が起こることこともなく、設定作業まで進むことができた。インストーラによってrootパスワード、ユーザアカウント、タイムゾーン、ネットワーク、一部のシステム設定が行えたのだ。次のパッケージ選択のステップでは、選択できる幅に制限があった。とはいえ、このインストーラは基本的なXfce 4デスクトップまでは用意してくれる。また、その後のブートローダのインストールでは、マシンにインストール済みのほかのLinuxシステムがブートローダのリストに追加されなかった。それよりも、私が唯一心から不満に感じたのは、インストーラ実行後のリブート時にメディアがイジェクトされなかった点だった。

gentoo2_thumb.png
Gentoo 2008の設定

 今回は新規ユーザとしてこのインストーラをテストしたかったので、設定ファイルには手を触れずに重要なコンポーネントのemergeを開始した。基本的な「/etc/make.conf」ファイルは用意されているが、CFLAGS(コンパイラの環境設定)の内容はかなり制限されており、USEフラグも使われていない。GNOMEやGIMPをはじめとする300近いパッケージのemergeを行ったところ、出たエラーは先ほどと同じcurlのものだけだった。Gentooの経験者やどうしてもGentooを必要とする人にはどうということのないエラーだが、新規ユーザにとっては気になる点かもしれない。

 こうして得られたインストール環境は何の問題もなく動作したが、USEフラグを使えばアプリケーションはもっと便利なものになるだろう。また、ここではかなり高速なマシンを利用したにもかかわらず、今回のライブCDで設定されている汎用的なCFLAGSを使ったアプリケーションのコンパイルには、アーキテクチャに合わせて最適化されている私の常用マシンよりも長い時間がかかっていたようだ。

 この記事の執筆時点で、Gentooの安定版ブランチには、Linux 2.6.25-gentoo-r7、Xorg-x11 7.2、KDE 3.5.9、GNOME 2.20.3、OpenOffice.org 2.4.1、Firefox 2.0.0.16、GIMP 2.4.2といったソフトウェアが収録されている。アプリケーションをソースからコンパイルする以外に、ビルドしても時間がかかるだけであまり意味のないことで有名なMozilla FirefoxやOpenOffice.orgについてはバイナリ(bin)版も用意されている。こうした場合は、単に「emerge mozilla-firefox-bin」を実行するだけでよい。

まとめ

 新しい環境を使い始めて2週間になるが、やはりGentooは快適だ。安定版ブランチを利用し、CFLAGSをきちんと設定していれば、Portageはすばらしい働きによって、応答性がよくて安定したアプリケーションを生成してくれる。2008.0-r1のインストーラもなかなかの出来だが、若干の制約はある。それもまたGentooらしさだといえなくもない。ライブCDを使えば初期システムを構築できるが、フル機能のデスクトップシステムに仕上げるにはドキュメントをあたる必要があるだろう。だれかの助けが必要なら、ユーザフォーラムや、ハウツーを記載したWikiを利用すればよい。

 Gentooは万人向けのディストリビューションではないが、チャレンジを厭わない人の期待には応えてくれるはずだ。それに、ほかのだれとも違ったシステムを利用している、という感覚と満足感も得られる。

 Gentooの精神は正しく受け継がれているのだろうか。その答えが出るには時間がかかるだろうが、Gentooの方向性が正されたことは間違いないようだ。私はこれからもGentooを使い続ける。

Linux.com 原文