Gentoo Linuxを使ってみた
2015-08-09
2015-08-09
こんにちは。今回のテーマは『Gentoo Linuxを使ってみた』です。Gentoo Linuxというディストリビューションをご存知の方は多いと思います。ソースからのビルドをパッケージ管理の中心とするディストロで「難しい」「とっつきにくい」というイメージを持っている方も居るかも知れません。今回はGentoo Linuxの癖のある魅力をお伝えできればと記事を書きました。 【関連記事】 Gentoo LinuxをUEFI + GPT環境にインストールする Gentoo Linuxをインストールする [adsense02] 【目次】 Gentooというエッジの効いたなディストリビューション ソースベースならではのカスタマイズ性 Portageによる強力なパッケージ管理 インストールはマニュアル操作が基本 ある程度のマシンパワーが必要 こまめな手入れが必要 他のディストリビューションとの比較
Gentooというエッジの効いたディストリビューション
数あるLinuxディストリビューションのなかでも異彩を放ちカスタマイズを好むLinuxユーザーを惹きつけて止まないディストロ。それがGentoo Linuxである。名前は知っているが使ったことはないというユーザーもいれば現在使用している、過去には使っていたというユーザーも多いのではないでしょうか。 シンプルな最小環境から機能満載のデスクトップマシンまで構成可能な拡張性と目的に特化した調整を可能とするカスタマイズ性を有するディストリビューションです。それ故に癖が強く人を選ぶディストロでもあると思います。Linux界のスポーツカーという位置づけだと言えば伝わるでしょうか。 今回はGentooの魅力と使い勝手について、まだ使用したことのない方にもお伝え出来ればと思います。
ソースベースならではのカスタマイズ性
Gentooの大きな特徴はパッケージをソースからビルドすることにあると思います。ソースからビルドすることで、マシンに合わせた性能を引き出したり自分の目的にあった機能を付加ながらビルドすることが可能です。これはコンパイル済みのパッケージをインストールすることではなかなか難しい点です。 ※もちろん、ソースベース管理の特徴はGentooの専売特許ではありません。CruxやSlackwareでもソースからビルドするパッケージ管理方法ですが、Gentooほど自動化されていないというのが感想です。
Portageによる強力なパッケージ管理
Gentooの心臓とも言えるのがパッケージ管理システムPortageです。パッケージ毎のスクリプトファイルebuildをPortageが管理することで依存性はもちろん、ビルドの際のオプションを管理し、使用者の目的に合わせた構成でビルドすることが出来るのです。 ユーザーは自分がシステムをどのように運用したいのかをPortageの設定ファイルに記載しておくだけで、これらの設定に基づき自動的にパッケージが管理されます。ビルド時間を考慮しなければ、まるでAPTやYUMシステムを扱っているかのように簡単なemergeコマンドでパッケージをインストールしたりシステムを更新したり出来ます。 Slackwareでマニュアルでソースをビルドしパッケージを作成し、依存性を解消し・・・という作業をしていた筆者は自動化されたパッケージビルドシステムにとても驚きました。
インストールはマニュアル操作が基本
Gentooが敬遠される原因の一つとして導入のハードルが高いと思われていることが挙げられると思います。インストール作業はパーティショニングから、システムのインストール、設定、カーネルのビルド、ブートローダーのインストールまで全てCLIでのマニュアル操作になります。 確かにLinuxシステムに全く触れたことのない人にGentooをインストールさせるというのは酷な話だと思います。しかし、ある程度Linuxシステムに慣れ親しんだ方ならばGentooを導入すること自体はそこまでハードルの高いことではないと思います。Arch Linuxを導入したことがある方ならば問題なくインストールできると思います。 筆者も微力ながらインストール記事を書いておりますので、参考にしていただければと思います。
ある程度のマシンパワーが必要
ソースからのビルドが基本であるGentooはパッケージのインストール・更新の度にビルド作業を行います。マシンのスペックが低いとビルド作業は長時間化します。特にGUIアプリケーションは非常に時間がかかります。ある程度ハイスペックなマシンを使用していても長期間更新せずに更新するパッケージの量が多くなると一晩かかっても処理しきれないこともあります。 筆者はメインマシンでGentooの使用を試みましたが、この長時間のビルド作業に耐えかねてサブマシンでの使用に切り替えました。代わりにメインマシンではバイナリパッケージで手軽にシステムの更新が可能なXubuntuを使うことにしました。
こまめな手入れが必要
Gentooはローリングリリースの更新システムなので日々リポジトリ上のPortageは更新されています。ユーザーはPortageを同期しシステムを最新に保つ必要があります。更新を怠けていると大量の更新パッケージが溜まりビルドに膨大な時間がかかってしまします。 時間だけの問題ではなく、あまり放置しているとアップデートが不可能になってしまう場合もあります。Gentooでは互換性を考慮してシステムを更新しているので数カ月ならば問題ない場合も多いですが、数年単位で放置しているとライブラリやツール類の進化による互換性がなくなりビルド時にエラーだらけになってしまう場合もあります。 こういう状態に陥った場合も救済策はありますが、こまめに日頃から手入れをしている方が楽です。
他のディストリビューションとの比較
ここでGentooを使ってみて他のディストロとの比較で感じたことを記しておきたいと思います。
Arch Linuxとの比較
GentooはArch Linuxとよく比較されます。Portsライクはパッケージ管理システムを有する点や、最小環境からの構築、パワーユーザー層をターゲットとしていて、システムの細かい点までカスタマイズできるという点は非常によく似ています。ただ、PortageにはUSEフラグやSlotという設定値があり、細かくパッケージの設定が出来ます。Archではここまで細かい設定はABSには備わっていません。(PackageBuildファイルを書き換えれば可能かも)逆にGentooは一部のパッケージしかバイナリで提供していないのに対してArchでは多くのパッケージがバイナリで提供されます。
Debianとの比較
DebianとGentooは非常に面白い比較対象だと思います。両者ともに自動でパッケージを管理する手法を探求しDebianはAPTをGentooはPortageを生み出しました。Debainが巨大なバイナリパッケージの図書館として他のディストロへ大きな影響を与えているのに対して、GentooはBSD系のPortsシステムをLinuxに適用し独自の進化を遂げメタディストリビューションと呼ばれる存在になりました。パッケージの管理に対する両者の立場はとても興味深いものです。
最後に
Gentooのユーザーはパワーユーザーが多く、筆者のようなものがGentooを語るなど100年早いとお叱りを受けるのではと公開を留まっていました。しかし100年たったら確実に生きていないので生きてるうちに公開しておこうと思い直し公開しました。 ここに書いた内容はあくまで使った筆者の個人的な感想です。この記事に目を留めた方が実際にインストールしてご自身の目で確かめるのが一番確実だと思います。本記事がGentooとの出会いになれば幸いです。 [adsense]