Gentooの新米ユーザに贈るアドバイス

Gentooというディストリビューションは、習熟までのハードルが最大難度にランクインしている一方で、熟練Gentooユーザに言わせれば、初心者にも親切に対応してくれるコミュニティが存在し詳細なドキュメントも用意されている、ということになるだろう。そこでここでは、これから初めてGentooを使用する新米ユーザを想定し、初心者が押さえておくべきポイントをアドバイスすることにする。

これはGentooディストリビューションを初めて使う場合に特に当てはまることだが、まず最初に行うべきは、用意されている多数のドキュメントを一読しておくことだ。最低でも『Gentoo Handbook』には注意深く目を通しておかないと、Gentooをインストールすることすらできないだろう。

Gentooにはグラフィカルインストーラが用意されているが、初心者ユーザにはお勧めできない。その理由の1つは、従来通りのマニュアル操作でGentooをインストールする場合『Gentoo Handbook』に目を通さない訳にはいかないので、今後の運用に必須となる重要な知識を押さえておくことになるからである。また現行のGentooインストーラは、他のディストリビューションのものとは異なり、必要なドライバを設定し損なう場合があるのだ。そうした事情を踏まえずに、他のディストリビューションのものと同等の性能があることを前提としてGentooのグラフィカルインストーラを使って作業を進めると、判断ミスとそれに伴うフラストレーションに悩まされることとなる。

『Gentoo Handbook』に解説されている内容は、Gentooに関する基本的な情報だけだ。より詳しい情報(XやALSAの設定など)については、『Gentoo Documentation Resources』にまとめられている。その他の情報源としては、Gentoo wikiが頼りになるだろう。

これらの情報源さえ当たればすべての疑問が解決される訳ではないが、その場合は各種のGentoo ForumIRCチャンネルで質問すれば、誰かが答えてくれるはずだ。

Portageについて

Gentooが他のディストリビューションと一線を画している要素の1つが、Portageという名のパッケージ管理システムであり、これはソフトウェアのインストールを基本的にソースから行うという特色を備えている。こうした仕様は、非常に細かな設定やカスタマイズを施すことを可能としている。これに対して通常のバイナリ系ディストリビューションの場合は、個々のソフトウェアごとに依存性やオプション設定を変えた複数のパッケージが用意されているだけでしかない(この場合必然的に、ソースからパッケージをビルドする方式よりもユーザが指定できるオプション範囲は狭い)。そしてGentooのPortageの場合、ユーザはいわゆるUSEフラグを設定することで、システム全体ないし特定パッケージについてのオプション機能を指定することになる。

例えば、KDEサポートをオンにして全体的なGNOME依存性をオフにしたい場合は、/etc/make.confのUSE変数でkde -gnomeと設定すればよい。USEフラグの詳細については『Gentoo Handbook』に解説されている。

Portageを起動させるにはemergeコマンドを使用する。例えばmooパッケージをインストールするのであれば、emerge mooとコマンドを送信すればよい。後はPortageが指定パッケージの依存性をチェックし、必要なすべてのソースをアーカイブからダウンロードして、パッケージのコンパイルからインストールまでを処理してくれる。こうした処理に必要な情報はすべてPortageのデータベースに格納されているが、その記述に用いられるのがebuildsという専用のbashスクリプトだ。ebuildの格納先は/usr/portageである。

Portage設定の管理

Gentooを使いこなすに当たって最初に把握すべきは、USEフラグの役割である。例えばemergeにMidnight Commanderを指定して実行するとX.orgがインストールされるが、そうした処理が行われる背景には、ユーザがX USEフラグをオンにしたという設定が潜んでいるのだ。同じく、手元のKDE環境にKPDFが用意されていなければ、それはユーザがpdf USEフラグをオンにしていなかったからなのである(KGhostScriptが収録されている理由を質問されると、説明に窮するが)。

コンパイルの開始前にどのフラグが関係しているかを確認したければ、新規パッケージのインストール時にemerge --ask --verbose(ないしはemerge -av)と指定すればよい。なおgentoolkitパッケージをインストールしておくと(emerge gentookit)、euseユーティリティが使えるようになり、USEフラグの管理が簡単になる。またeuse -i flagを実行すると、個々のフラグに関する説明およびその設定状況を確認することができる。詳細についてはeuseのmanページを参照して頂きたい(この説明自体はそれほど長くない)。

パッケージのインストールではなく、特定パッケージのUSEフラグのみを変更したい場合は、USE="some flags" emerge mooなどとすればよい。なおここで指定したパッケージについては、次回のアップデート時において既存のフラグ設定を維持した状態で再コンパイルされるようになる。こうしたUSEフラグの変更情報は、/etc/portage/package.useファイルに記録される。ただし記録機能を有効にするには、インストール前にecho "category/moo some flags" >> /etc/portage/package.useなどを実行しておく必要がある。

同様の措置はACCEPT_KEYWORDSでも同じで、この場合は/etc/portage/package.keywordsを使用することになる。なおPortage 2.1ではフラグ管理を簡単化する目的で、package.useおよびpackage.keywordsをファイル形式ではなくディレクトリ形式で扱えるようになっている。