skucky.com
詳しくは、こちらをご覧ください。
Gentoo Linux(以下、Gentoo)の面白い所は、各種ソフトウェアのインストール時にソースからコンパイルしてインストールする点です。Debianのaptにしろ、かつてのRed Hat(今では、Fedora、その他諸々)のrpmにしろ、みなバイナリーパッケージをインストールしますが、Gentoはその中でも異彩を放っており、インストール指定したソフトをソースからコンパイルしてインストールします。
ソースをコンパイルするため、当然時間はかかります。正直言ってマニア向けというか、コンパイル好きな人向けのディストリビューションと言えるでしょう。OSのカスタマイズなんぞに時間をかけたくないという方にとっては、うっとうしい以外の何者でもありませんし、おそらく時間の無駄です。
そうまでして、Gentooを使うメリットは何かと言うと、自分の端末上でコンパイルしたソフトは当然使用している時に安定しています(フリーズ等が皆無)。動作速度も速い(気がします)。Fedora、Suse、Debian等のメジャーディストリビューションもそろそろ飽きてきた、という方はお試しあれ。
GentooのインストールはAnacondaなどのように親切なGUIのインストーラがありませんので、基本的にはテキストです。ですので、ここはインストール時のバイブルとも言うべきインストールマニュアルに従います。安心してください。日本語訳がこちらにあります。
基本的にこの手順に従っていけば、間違いなくインストールできるでしょう。stage1を選んだ場合、道は少し険しい(長い)です。
手元にGentooのインストールCDが無い場合、ダウンロードします。常時インターネットに接続されている環境があれば、Minimal CDを選んだ方がダウンロード時間が短くて済みます。ミラーサイト(このサイトはインストール中にもちょくちょく立ち寄る事になります。日本のミラーサイトのリンク場所を覚えておくと後が楽です)の中から日本にあるサイトを選び、然るべきディレクトリをたどり、install-x86-minimal-2006.0.isoを落とします。
ダウンロード後、適当なソフトでCDを作成します。
Minimal CDをブートしたら(ブート時のオプションは特に指定無し)、最初にキーボードの選択が迫られます。USキーボードがデフォルトですので、それ以外のキーボードを使用している場合は直ちに選択する必要があります。ちなみに、未だ最近ですが、大枚はたいてHHKB(Liteじゃない方で無刻印版)を購入してしまったので、デフォルトのままでOKでした。
ネットワークに正常に繋がっているか、pingで確認します。小生の場合、何もしなくてもOKでした。ダメだった場合は悪戦苦闘してください。Ethernetの場合、NICを認識できていることが前提ですが、設定的な面では、ルーターなり、DHCPサーバーなりから適当なIPアドレスが割り振られ、DNSも設定されていれば、インターネットを使えるようになると思います。
Linuxのインストールには、最低でも2つのパーティションが必要です(swapとルート)。小生の場合、120GBのハードディスクを普段使用しているクライアントに積んでおり、Windowsとのデュアルブート構成を組んでいます。他にも設定ミスった時のリカバリ用OSとして、Vineも入れていたり、何だかごちゃごちゃしているので、以下のコマンド結果を見てください。
# fdisk -l /dev/hda |
Disk /dev/hda: 120.0 GB, 120034123776 bytes |
255 heads, 63 sectors/track, 14593 cylinders |
Units = シリンダ数 of 16065 * 512 = 8225280 bytes |
デバイス Boot Start End Blocks Id System |
/dev/hda1 * 1 2550 20482843+ 7 HPFS/NTFS |
/dev/hda2 2551 8924 51199155 7 HPFS/NTFS |
/dev/hda3 8925 9047 987997+ b W95 FAT32 |
/dev/hda4 9048 14593 44548245 5 拡張領域 |
/dev/hda5 9048 9110 506016 82 Linux swap / Solaris |
/dev/hda6 9111 9354 1959898+ 83 Linux |
/dev/hda7 9355 11787 19543041 83 Linux |
/dev/hda8 11788 14593 22539163+ 83 Linux |
hda1はWindowsで言う所のCドライブ、hda2はDドライブ、hda3はWindowsとLinux共用ディスク(NTFSにはLinuxから書き込めない為、これだけvfat)です。hda4は拡張で、hda5がスワップ用、hda6がVine Linux、hda7を今回Gentoo用として、hda8は予備としておきます。
マウント前に、ファイルシステムを作成し、スワップパーティションを有効化しておきます。その後、マウントします。
# mke2fs -j /dev/hda7 |
# mkswap /dev/hda5 |
# swapon /dev/hda5 |
# mount /dev/hda7 /mnt/gentoo |
Gentooのインストールにはstageの選択があります。ここは、男ならばやはりstage1でしょう。stage1ではシステムのほとんど全てをコンパイルしてインストールします。そのため、2、3時間で済むような話しではありません。恐らく、時間の無駄と電気の無駄使いです。それを犠牲にしてでも、より良いOSとしてGentoo Linuxを使いたいという方はやってみてください。
先述のミラーサイトに行き、stagetarballを入手します。コンソール画面なので、links2というツールを用いてWEBページを開きます。
# cd /mnt/gentoo |
# links2 http://www.gentoo.org/main/en/mirrors.xml |
# tar -xvjpf stage1-x86-2006.0.tar.bz2 |
ミラーサイトを選択後、releases→該当アーキテクチャ→Gentooのバージョン→stagesとたどり、stage1-x86-2006.0.tar.bz2をダウンロードします。ダウンロード後、展開しておきます。
先程と同じ要領でミラーサイトにアクセス後、portageスナップショットというやつをダウンロードします。
# cd /mnt/gentoo |
# links2 http://www.gentoo.org/main/en/mirrors.xml |
# tar -xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr |
今度は階層は深くなく、ミラーサイトにアクセス後、直下にあるsnapshotsディレクトリにアクセスしてください。そこから、最新のスナップショットportage-latest.tar.bz2をダウンロードします。ダウンロード後、展開しておきます。
これからコンパイルする際にGentooを最適化するためのオプションをいくつか設定しておきます。設定ファイルは/etc/make.confです。
CFLAGS="-march=pentium4 -O2 -pipe" |
CHOST="i586-pc-linux-gnu" |
CXXFLAGS="${CFLAGS}" |
MAKEOPTS="-j2" |
GENTOO_MIRRORS="http://mirror.gentoo.gr.jp " |
SYNC="rsync://rsync.asia.gentoo.org/gentoo-portage" |
USE="-gtk -gnome qt kde dvd alsa cdr cjk unicode canna immqt-bc" |
LINGUAS="ja" |
1〜4行目までの設定は、基本的にインストールマニュアルの設定に従います。次のGENTOO_MIRRORS、SYNC変数については、それぞれ以下のコマンドにより、近場のミラーサイトを選択することで、勝手にファイルが編集されます。
mirrorselect -i -o >> /mnt/gentoo/etc/make.conf |
mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf |
USE変数については、お好みに合わせて設定しておきます。上記では、日本語環境も考慮してUTF-8を使用するための設定も施されています。LINGUAS変数についても同様です。
新しい環境に入る(chrootする)前に、DNS情報のコピー、procファイルシステムをマウントしておきます。それから、chrootです。
# cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf |
# mount -t proc none /mnt/gentoo/proc |
# chroot /mnt/gentoo /bin/bash |
# env-update |
# source /etc/profile |
Portageツリーを最新の状態にアップでーとしておきます。この処理は少々時間がかかるかもしれません。
# emerge --sync |
とりあえず、英語と日本語のロケールを指定しておきます。
en_US/ISO-8859-1 |
en_US.UTF-8/UTF-8 |
ja_JP.EUC-JP/EUC-JP |
ja_JP.UTF-8/UTF-8 |
ja_JP/EUC-JP |
これから、長時間パソコンに処理をさせる事になります。以下のコマンドを実行する前に、何か暇つぶしになるようなことを探しておいてください。
# cd /usr/portage |
# scripts/bootstrap.sh |
ブートストラップがようやく終ったら、更にシステムのビルドに入ります。これも、かなりの時間がかかります。
# emerge --emptytree system |
最初にタイムゾーンを設定します。日本に居る場合は、以下のようにします。
# ln -sf /usr/share/zoneinfo/Japan /etc/localtime |
Gentooでは、カーネルについてもいくつか選択肢が用意されています。標準のカーネルか、Gentoo用のパッチが当てられたカーネルのどちらかですが、ここでは、折角なのでGentooソースを使用します。
# emerge gentoo-sources |
# ls -l /usr/src/linux |
# cd /usr/src/linux |
# make menuconfig |
# make && make modules_install ← kernel 2.6以降の場合 |
# cp arch/i386/boot/bzImage /boot/kernel-2.6.16-gentoo-r9 |
# cp System.map /boot/System.map-2.6.16-gentoo-r9 |
インストール後、/usr/src/linuxが想定したカーネルバージョンのディレクトリへのシンボリックリンクとなっているか確認します。
カーネルの設定については、一般的な設定方法と何ら変わらないので、ここでの説明は割愛します。強いて言うなら、未だGUIが使用できないので、make menuconfigを使用する事になるでしょう。それと、ネットワークデバイスの設定は間違えないようにしておきたい所です。インストール中、ネットに繋がっていないと、お話しにならない場面もありますので・・・
インストール作業ももう少しで完了です。ここでは、いくつかの設定ファイルを編集していきます。
/dev/hda5 none swap sw 0 0 |
/de/vhda7 / ext3 noatime 1 1 |
/etc/fstabについては、最低限、スワップパーティション、ルートパーティションの設定を記述しておけば、Gentooをブートできます。他のパーティションについては、ブート後からでも遅くはありません。
HOSTNAME="lepton" |
お好みに合わせて、ホスト名を設定します。
DNSDOMAIN="skucky.com" |
お好みに合わせて、ドメイン名を設定します。また、ドメイン名については、設定スクリプトをデフォルトのランレベルに加えておきます。
# rc-update add domainname default |
次に、ネットワーク系の設定をしておきます。ここでは、DHCPを使用せず、固定IPを使用する設定とします。
config_eth0=( "192.168.1.12 netmask 255.255.255.0" ) |
routes_eth0=( "default gw 192.168.1.1" ) |
先程と同様に、デフォルトのランレベルでeth0が起動するよう設定しておきます。
# rc-update add net.eth0 default |
やることは、まだです。次に/etc/hostsを編集します。
127.0.0.1 localhost |
192.168.1.12 lepton.skucky.com lepton |
192.168.1.101 quark.skucky.com quark |
そろそろ、このページを書くのも飽きてきました。次に、rootのパスワードを設定します。
# passwd |
最後に、/etc/conf.d/clockを編集します。以下の箇所を編集しておかないと、Gentoo起動時に時計がトチ狂った時刻を示すでしょう。
#CLOCK="UTC" ← コメントする |
CLOCK="local" |
ブートローダーのGRUBをインストールします。
# emerge grub |
インストール後、/boot/grub/grub.confを編集します。下記は、windowsとのデュアルブート構成での設定例です。
〜中略〜 |
title Gentoo Linux 2.6.16-r9 |
root (hd0,6) |
kernel /boot/kernel-2.6.16-gentoo-r9 root=/dev/hda7 |
title Windows 2000 |
rootnoverify (hd0,0) |
makeactive |
chainloader +1 |
〜中略〜 |
編集後、GRUBをマスターブートレコードにインストールします。ここで注意が必要なのは、chroot環境にあるがために、/etc/mtabをカーネルが握っている情報で上書きしてからインストールする点です。
# cp /proc/mounts /etc/mtab |
# grub-install /dev/hda |
さぁ、ようやくGentooインストール後、初回の起動を試みるところまでやってきました。以下の通り、リブートします。
# cd |
# umount /mnt/gentoo/proc /mnt/gentoo |
# reboot |
無事、Gentooのログイン待ちコンソールが表示されたでしょうか?未だXは入れていないので、味気ないテキストベースの画面ですが(portageによってXもインストール可能です。後でやりますが、当然これもコンパイルしてインストールするのがGentooです)、これでGentooのインストールは完了です。
最後に、rootでログインし、一般ユーザーを作成しておきます。ちょっと変わってるのが、wheelグループに登録しておかないと、su使えません。
# useradd -m -G users,wheel,audio -s /bin/bash hogehoge |
# passwd hogehoge |
以下のコマンドにより、インストールします。インストール後、日本語フォントもインストールしておきます。その後、テキストベースのX環境設定コマンドを実行します。
lepton~ # emerge x11 |
lepton~ # emerge kochi-substitute shinonome monafont mplus-fonts aquafont aquapfont mikachan-font |
lepton~ # xorgconfig |
インストール後、Xの設定ファイルを編集します。面倒臭いので、編集箇所のみの抜粋です。大部分は上記のxorgconfigコマンドで設定した値が記述されているはずです。
〜中略〜 |
Option "ZAxisMapping" "4 5" ← ホイールマウス使用する場合必要 |
〜中略〜 |
FontPath "/usr/share/fonts/shinonome/" |
FontPath "/usr/share/fonts/kochi-substitute/" |
FontPath "/usr/share/fonts/monafont/" |
FontPath "/usr/share/fonts/mplus/" |
FontPath "/usr/share/fonts/aquafont/" |
FontPath "/usr/share/fonts/aquapfont/" |
FontPath "/usr/share/fonts/mikachan-font/" |
ここで、startxコマンドを実行し、殺風景なウインドウマネージャ(twm)が起動すれば、Xの設定は成功です。
KDEのインストール前に、前述の/etc/make.confのLINGUAS変数にjaが設定されていることを確認します。確認後、インストールを実行します。KDEのインストールについては、ひたすら待つしかありません。とにかく長いです。
KDEのインストールが終ったら、日本語の言語パックもインストールしておきましょう。このパッケージにより、KDEのメニュー等が日本語化されます。
lepton~ # emerge kde |
lepton~ # emerge kde-i18n |
インストール後、startxコマンドでXを起動している場合、ホームディレクトリにstartkdeの一文を.xinitrcに記述しておきます。このファイルは、後の日本語環境でも編集します。
KDEの初回起動時は、ウィザード形式で、言語や国の設定を促されるので、指示に従い設定します。
先ず、お好みに合わせてこちらに従い、UTF-8対応環境を構築します。もしかしたら、普通にEUCでも大丈夫かもしれませんが、動作確認はしていません。
次に、日本語入力環境を整備していきます。環境的には、canna+kinput2をベースにして、GTK、QTチックなツールではAnthy+uimを使用する事にしました(最初はcannaオンリーで考えていたが、変換候補が文字化けする事象が発生。いろいろ試しているうちに、こうなった経緯あり)。いい加減、誰も見てそうもないHP作るのに時間を割いてらんないので、実行したコマンドだけ羅列しておきます。
lepton~ # emerge kinput2 |
lepton~ # rc-update add canna default |
lepton~ # emerge anthy uim |
lepton~ # emerge --update --deep --newuse world |
当方の環境では、最後のコマンド実行時にパッケージ同士のコンフリクトが発生しましたが、groffのバージョンを上げずに何とか対応しました(/etc/portage/package.maskを編集)。
以上まで終ったら、.xinitrcスクリプトを編集します。
#!/bin/sh |
export XMODIFIERS="@im=kinput2" |
export GTK_IM_MODULE="uim" |
export QT_IM_MODULE="uim" |
kinput2 -canna& |
exec uim-toolbar-qt& |
startkde |
ブラウザーとメーラーとして愛用しているfirefoxとthunderbirdもportageからインストールできます。
lepton~ # emerge mozilla-firefox |
lepton~ # emerge mozilla-thunderbird |
両方ともバージョンは1.5.0.4でしたが、何故かfirefoxの方は特に何も設定せずに、メニュー等が日本語表示されていましたが、thunderbirdの方は英語でした。というわけでGoogle様にお願いして、検索したところ日本語化する方法がありました。
まず、日本語パック(JLP;Japanese Language Pack)というものを、ここからダウンロードします(リンク先はバージョン1.5.0.4です。今から日本語化しようとしているthunderbirdのバージョンと合致していなければ日本語パックをインストールできません)。ファイル名はja.xpiです。
次に、thunderbirdのメニューからTools→Extensionsとたどり、Extensionウインドウを開きます。それから、Installボタンを押下すると、ファイル選択のダイアログが表示されるので、先程ダウンロードしたファイル(ja.xpi)を選択します。以上で、インストールは終りです。
最後に、thunderbirdのプロファイルフォルダ(~/.thunderbird/xxxxxxxx.defaultというフォルダ(xxxxxxxxはデタラメなアルファベットの羅列))にあるuser.jsを以下の内容で作成します。
user_pref("general.useragent.locale", "ja"); |
user_pref("mailnews.hints_and_tips.url", "http://www.mozilla-japan.org/support/thunderbird/"); |
以上の設定を終えたら、英語メニューのthunderbirdを終了して、再度起動してみましょう。メニューが日本語化されているはずです。
ALSA(Advanced Linux Sound Architecture)については、こちらが詳しいです。Linuxカーネルが2.6であれば、カーネルの設定をいじるくらいで、簡単にALSAを利用できます。
まず、GentooをインストールしたPCのサウンドカードがどういった種類のものか、マザーボードのマニュアルで調べるか、以下のコマンドで調べます。
lepton~ # lspci | grep audio |
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 02) |
この例では、Intel系のチップを使用していることがわかります。これだけの情報でとりあえず大丈夫です。
次に、カーネルを設定します。基本的に上記リンクのALSAガイドに従えば問題無いかと思います。ポイントはカーネルに組み込むのではなく、モジュールとしてコンパイルする点です。
lepton~ # cd /usr/src/linux |
lepton~ # make menuconfig |
〜カーネルの設定(一部割愛)〜 |
<M> Intel/Sis/nVidia/AMD/Ali AC97 Controller ← モジュールとしてコンパイル |
〜カーネルの設定を終了する〜 |
lepton~ # make && make modules_install |
カーネルのコンパイルが終ったら、カーネルイメージとシステムマップを忘れずに更新し、再起動します。その後、alsa-utilsをインストールします。
lepton~ # emerge alsa-utils |
lepton~ # alsaconf |
〜alsaconfで設定〜 |
lepton~ # rc-update add alsasound boot |
lepton~ # exit |
hogehoge@lepton~ $ groups |
wheel floppy audio cdrom video usb users hogehoge |
hogehoge@lepton~ $ alsamixer |
alsaconfを実行するとサウンドカードが自動的に検出され、検出された一覧から使用するカードを選ぶと設定が完了します。次に、ブート時にALSAも起動するため、ALSAのinitスクリプトを起動させるためのコマンドを実行しておきます。
あとは、alsamixerというユーティリティを使用して、ボリュームを調節しておきます。これは、一般ユーザーでも実行可能ですが、audioグループに属している必要があります。調整する箇所は、MasterとPCMです。この2つがミュートされていなければ、音が出るはずです。