開発
Gentoo Linuxを試してみた
ishikuro
はじめまして。5月ころからアルバイトとしてEyes,JAPANに入った石黒と申します。
今日は先日初めてインストールしたGentoo Linuxについて、インストールの過程と感想を述べたいと思います。
きっかけ
インストールのきっかけは、twitter上で#gentooinstallbattleなるハッシュタグを見かけたところからです。金曜深夜の日付の変わる0:00からインストールを開始してなるべく早くGentoo Linux環境からtweetするという緩めのルールです。特に勝ち負けがあるわけではなくこれをきっかけにGentoo教に!という意味だと理解しております。他大学の情報系の学生さんが余興でやってたみたいです。余談ですがコンピュータ専門大学なのに、他大学の情報系学部よりもGeek度が低い会津大TLの現状はいかがなものかと思います。
計画
公式で配布しているLiveCDから対象HDDに構築する方法もありましたが、今回は普段使いのLFS(LinuxFromScratch)環境から別パーティションにchrootして構築することにしました。
- 空きパーティションを使えるようにする(swapのために4GBのパーティションを切っていたがそこを潰す)。
- 基本的にインストールマニュアル通りにすすめる。stage3と呼ばれる、動作に必要な基本的なファイル郡が入ったアーカイブを対象パーティションに展開。
- chrootで対象パーティション上の環境にログインし、ローカルのパッケージ管理システムのリポジトリを最新のものと同期。
- カーネルコンパイルや基本的な設定をする。CFLAGS=”-O0″(コンパイラによる最適化無し)にして高速ビルドを目論む。ブートマネージャGRUBにGentooの項を加え再起動しログイン。
- emergeというパッケージ管理システムにより、Ruby用パッケージ管理システムrubygemsをインストール。さらにgemを利用してCUI用twitterクライアントtermtterをインストールしtweet
特に変わったことはしてませんが、だいたい2時間あれば余裕だろうとたかをくくっていました。
実行
結論から言うと6時間もかかりました。何事も予定通りにはいかないものですね。はまった箇所を挙げます。
- リポジトリのスナップショットのアーカイブをまず展開しておいてそれを最新と同期するというプロセスなのだが、アーカイブの展開先ディレクトリを間違っていたせいで同期ではなくまっさらな状態からからのミラーが始まってしまった。これに気づかず+1時間。
- Linuxカーネルのコンフィグをヘルプを読みながら一つ一つやっていったので数十分かかった。LiveCDからの構築の場合は、LiveCD起動時に必要なモジュールを自動的に設定してくれるらしい。それを元にすればもっと早くできた。
- 再起動してカーネルの起動後、プロンプトが来ない現象にはまる。必死に検索して色々ためした結果、udevが動いておらず/dev以下が生成されていないことが判明。udevを起動時に立ち上げるスクリプトを発効して解決。この問題はもしかしたらインストールマニュアルの不備かもしれない。
- Gentoo起動後にネットにつながらない。そういえば、このパソコンのLANインターフェースのLinuxドライバは、いちいちベンダーからzipを落としてカーネルモジュールとして読み込ませないといけないのであった。LFSからのchrootに戻って設定。
感想
自分の出来そうな最短の方法はできませんでしたが花金の夜の娯楽としては楽しかったです。大学に入ってから忙しくてなかなかLinuxに触れられなかったので。
Gentooとは……
私はLFSユーザなので、何かしたいとなれば、パッケージの依存関係を見て、アーカイブを持ってきて./configure && make && make installというのを繰り返していました。Gentooは、ダウンロード、コンパイルオプション設定、ビルドの過程すべてが自動化されていて、しかも常に最新のパッケージを使えるという、LFSと同等に柔軟でありかつLFSより遥かに簡単なディストリビューションでした。個人用マシンに最適だと思うので決心がついたら移行しようと思います。Gentooが台頭してきて何年も経ちますから今更の話ですね。Redhat, Debian, Slackwareの時代から追っていないので浦島太郎のような記事になってしまい申し訳ないです。