Gentoo Linux 導入チュートリアル

2009.6.20
Gentoo Linux 導入チュートリアル
導入チュートリアル
少し Linux に親しんでおいた方が良かろうと思い、Linux をインストールしてみた。数あるディス
トリビューションの中から選んだのは Gentoo Linux というやつ。いろいろと特徴はある(また、先
行き不安になるような噂もある)ようだが、何と言ってもクールな気がしたのが選択理由。
Linux 専用マシンを用意するのは難しいので、VMware Player による仮想マシンを使う。今のとこ
ろ思い描いている用途は:
・PostgreSQL の勉強
・Ruby/Ruby on Rails の勉強
・Apache/Perl/PHP/(サーバサイドの)Java の勉強
本書の構成は:
Portage
VMware Player
Gentoo インストール CD
Live CD の起動
ファイルシステムの準備
Gentoo システムのコピー
プロファイルと USE フラグ
インストール
ブートローダの準備と再起動
最低限の使用準備
X、Fluxbox、日本語環境
デスクトップの強化
PostgreSQL
ハンドブックより
その他
Portage
Gentoo の最大の特徴は、何を入れるにしてもまずはソースを入手し、そのマシンに最適な設定で
ビルドしてから組み込む、という方針をとっている点だろう。それらの作業を自動化するのがパッ
ケージ管理ソフト Portage である。Gentoo のインストールに入る前に、Portage の基本事項を理
解しておいた方が良い。
-1-
2009.6.20
Portage では、パッケージのインストールや削除、更新などの作業を emerge コマンドで行う。
emerge コマンドの
コマンドの使用例
#
#
#
#
#
#
#
emerge
emerge
emerge
emerge
emerge
emerge
emerge
--search some_pkg
--pretend --verbose some_pkg
some_pkg
--update --deep some_pkg
--unmerge some_pkg
--info --verbose
--update --deep --newuse world
some_pkg が利用可能か探す。
some_pkgga が依存するパッケージや USE フラグの確認。
some_pkg をインストール。
some_pkg を最新バージョンに更新。
some_pkg を削除。
現在の状態を表示。
最新の USE フラグ設定を使って全パッケージを最新に更新。
Portage はパッケージ間の依存関係を把握しているので、some_pkg をインストールすると、それ
が依存する他の全パッケージも一緒にインストールされる。ここで言うインストールとは、ソース
のダウンロードから、config、ビルド、組み込み(いわゆるインストール)までを意味する。
ソースのダウンロードやビルドを自動化している一方で、マシンごとのチューニングを可能にして
いるのが USE フラグの存在である。USE フラグを使うと、例えばカレンダーアプリをインストール
するときに、KDE のサポートは要るけど GNOME サポートは不要といったカスタマイズを行うこと
ができる。非常に多くのカスタマイズ項目(つまり USE フラグの種類)が用意されており、Gentoo
のインストール中も、そのいくつかを使用する。
全 USE フラグの
フラグの一覧
http://www.gentoo.org/dyn/use-index.xml?style=printable
emerge コマンドを使ってパッケージをインストールした後に、「/etc の下のファイルを更新し
ろ」みたいなメッセージが出る場合がある。多くのパッケージは、起動時に/etc の下の設定ファイ
ルを参照する。この設定ファイルはユーザが編集することも多いので、Portage は、パッケージの
インストール(や更新)時に既存の設定ファイルを上書きしないようになっている。古い設定ファイル
と新しい設定ファイルのマージはユーザに任される。とは言え、Gentoo をインストールするだけ
なら、常に新しい方の設定ファイルを使えば良いだろう。それには etc-update コマンドを実行す
る。
設定ファイル
設定ファイルの
ファイルの更新
# etc-update
ここで -5 を入力すると、古い設定設定ファイルを新しいファイルで上書き
する。
VMware Player
VMware Player はインストール済みと仮定する。
VMware Player のインストーラ
VMware-player-2.5.0-118166.exe
-2-
2009.6.20
gentoo.vmx の内容
.encoding = "Shift_JIS"
config.version = "8"
virtualHW.version = "3"
displayName = "Gentoo on VMware"
guestOS = "other26xlinux"
ide0:0.present = "TRUE"
ide0:0.fileName = "disk00.vmdk"
ide0:0.mode = "persistent"
ide0:0.redo = ""
ide0:1.present = "TRUE"
ide0:1.fileName = "disk01.vmdk"
ide0:1.mode = "persistent"
ide0:1.redo = ""
ide1:0.present = "TRUE"
ide1:0.startConnected = "TRUE"
#ide1:0.fileName = "linux.iso"
#ide1:0.deviceType = "cdrom-image"
ide1:0.fileName = "auto detect"
ide1:0.deviceType = "cdrom-raw"
floppy0.startConnected = "FALSE"
usb.present = "TRUE"
memsize = "1024"
ethernet0.present = "TRUE"
ethernet0.connectionType = "nat"
ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:0c:29:d0:d2:88"
ethernet0.generatedAddressOffset = "0"
#Ethernet0.virtualDev = "vmxnet"
Ethernet0.virtualDev = "e1000"
tools.remindInstall = "FALSE"
draw = "gdi"
uuid.location = "56 4d 5c 3c 91 eb 67 da-a9 f9 3a 38 4d 3d 25 1f"
uuid.bios = "56 4d 80 a5 32 4b b9 01-ca dd cf d5 51 d0 d2 88"
virtualHW.productCompatibility = "hosted"
tools.upgrade.policy = "manual"
tools.syncTime = "TRUE"
checkpoint.vmState = ""
-3-
2009.6.20
disk00.vmdk と disk01.vmdk が仮想 HDD で、それぞれ、物理ドライブに相当する。これらのファ
イル(ブランクディスクのイメージファイル)は qemu というソフトで作成することができる。
qemu のインストーラ
qemu-0.9.1-windows.zip
ブランクディスクの
ブランクディスクの作成
d:¥vmware¥gentoo> qemu-img create -f vmdk disk00.vmdk 20G
インストール中はネットを使うので、ethernet0 の設定は重要。connectionType は NAT、
virtualDev は(デフォルトの vmxnet ではなく)e1000 とかにする1。
gentoo.vmx の ethernet0 設定
ethernet0.connectionType = "nat"
#Ethernet0.virtualDev = "vmxnet"
Ethernet0.virtualDev = "e1000"
Intel Express 1000 をエミュレート。
linux.iso というのは、VMware Tools のインストール CD イメージである。VMware Server に同
梱されている。しかし今のところ、VMWare Tools をインストールするに至ってない2。
VMware Server のインストーラ
VMware-server-1.0.8-126538.tar
vmx と vmdk が準備できたら、vmx をダブルクリックして VMware Player を開始する。仮想
HDD は空っぽなので何も起動しないはずだが、開始直後に F2 を押すと BIOS 画面に入れる3ので、
CD-ROM からブートできるように設定する。
悲しいことに、VMware は時々固まってしまう。そういう場合は運が悪かったと考えよう。ダメも
とで、以下を試してみるとよい。
・コンソール上でマウスを動かしてみる →回復するかも
・フロッピーの接続ボタンを押す →ちょっと動くかも(プロンプトが出たら poweroff する)
1
vmxnet だと、Gentoo のインストーラがデバイスを認識してくれない。他にも解決策があるとは思うが…。
ゲスト OS が Windows の場合は、VMware Tools をインストールした方が便利。
3
これが実は結構むずかしい。ウィンドウが出たらすぐにアクティブ化し(つまりマウスでウィンドウ内をクリックし)、すかさず F2 を連打(あるいは
長押し)する。失敗したら、メニューの[VM ware Player]→[Troubleshoot]→[Reset]で再チャレンジ。あと、BIOS 操作中は US キーボード配列っ
ぽい。
2
-4-
2009.6.20
Gentoo インストール CD
公式サイトからインストール手順(ハンドブック)やインストール CD イメージを入手できる。CD イ
メージを CD-R に焼いて、PC へセットする4。
ハンドブックの
ハンドブックの入手先(公式
入手先 公式サイト
公式サイト)と
サイト とミラーサイト一覧
ミラーサイト一覧
http://www.gentoo.org/doc/en/handbook/handbook-x86.xml
http://www.gentoo.org/main/en/mirrors2.xml
インストール用
インストール用の Live CD イメージ
livecd-i686-installer-2008.0-r1.iso
Live CD の起動
VMware Player を開始すると、起動メニューが出るはず。ここで、すばやく gentoo nox keymap
と入力する5。nox は「X を使わない」、keymap は「途中で keymap を選択する」という意味。
Live CD を起動
boot: gentoo nox keymap
ももたしていると、デフォルトモードで起動してしまう。
ばらくすると keymap 選択画面になるので、jp と入れる。これも、すばやく。
keymap の指定
<< Load keymap (Enter for default): jp
ももたしていると、US モードで起動してしまう。
無事起動したら、ルートでログインした状態になるはず。以降、インストール中は(必要なら)4 つの
シェルを使い分けることができる。シェルを切り替えるには Alt-F1~Alt-F4 を押せばよい。この時
点では、CD-R と RAMDISK のみがマウントされた状態である。CD-R は/mnt/cdrom に、
RAMDISK はルート(/)にマウントされている。
まずは root のパスワードを変更しておこう6。ただし、このパスワードを使うのは Live CD で作業
する間だけ。
root のパスワード変更
パスワード変更
# passwd
4
CD-R に焼かずに、VMware の ide1:0 とかに iso ファイルをつなげてもいい。
ハンドブックでは、ここで gentoo と入れるようになっているが、そうすると GUI が起動して networkless インストールっぽい挙動になってしま
い、「CUI に root でログインした状態になる」というハンドブックの説明と食い違う。
6
インストール中に誰かがネット経由で root にログインしたらマズいので、というのが理由みたい。
5
-5-
2009.6.20
さて、この時点で eth0 は認識されているはず。運悪く認識されてなかった場合は、ハンドブックを
参照しつつ対処する必要がある。
eth0 の確認
# /sbin/ifconfig eth0
また、ハンドブックでは「インストール中にマニュアルをオンラインで見たければ lynx を使え」と
なっているが、Live CD には lynx が入ってない(!)。ハンドブックは印刷しておく方が良さそうだ。
ファイルシステムの
ファイルシステムの準備
2 つの仮想 HDD にパーティションを設定する。2 つの HDD は、それぞれ、/dev/sda と/dev/sdb
という名前で認識されている。パーティションの設定には fdisk コマンドを使う。
パーティションの
パーティションの設定
# fdisk /dev/sda
コマンドの説明:
m: ヘルプを表示
p: 現在の設定内容を表示
d: パーティションを削除
c: パーティションを作成
t: パーティションのタイプを指定
a: パーティションをアクティブ化
w: 設定内容を反映
ルート(/)と swap 用のパーティションは必須だが、それ以外には決まりが無い。以下は設定のヒン
ト。/var と/home に独立した(しかも同じ仮想 HDD 内の)パーティションを割り当てるのは、バッ
クアップしやすそうだから7。
・/dev/sda1 を/boot 用に、ext2 フォーマット8で 32MB 程度
・/dev/sda2 を swap 用に、512MB 程度
・/dev/sda3 をルート(/)用に、ext3 フォーマットで残り容量すべて
・/dev/sdb1 を/var 用に、ext3 フォーマットでドライブの半分程度の容量
・/dev/sdb2 を/home 用に、ext3 フォーマットで残り容量すべて
・/boot はアクティブ化しておく
7
8
/var には PostgreSQL のデータベースが置かれるし、/home はユーザファイルの置き場。
Linux では ext2 や ext3 が一般的。ext3 は ext2 にジャーナル機能を付けたもので、障害時のリカバリ性が高い。
-6-
2009.6.20
各パーティションを初期化する。
パーティションを
パーティションを初期化
#
#
#
#
#
#
mke2fs
mke2fs
mkswap
swapon
mke2fs
mke2fs
/dev/sda1
-j /dev/sda3
/dev/sda2
/dev/sda2
-j /dev/sdb1
-j /dev/sdb2
ext2 で初期化。
-j は ext3 の意味(journal の j か?)。
各パーティションを/mnt/gentoo にマウントする。/mnt/gentoo は、インストール後のルート(/)
になる。
パーティションを
パーティションをマウント
#
#
#
#
#
#
#
mount
mkdir
mount
mkdir
mount
mkdir
mount
/dev/sda3 /mnt/gentoo
/mnt/gentoo/boot
/dev/sda1 /mnt/gentoo/boot
/mnt/gentoo/var
/dev/sdb1 /mnt/gentoo/var
/mnt/gentoo/home
/dev/sdb2 /mnt/gentoo/home
Gentoo システムの
システムのコピー
ここから Gentoo システムを仮想 HDD へコピーしていく。必要なのは、Gentoo システムのベース
となる Stage3 Tarball と、Portage Tree(Portage が管理するパッケージのリスト)である。
Stage3 Tarball と Portage Tree
stage3-i686-2008.0.tar.bz2
portage-latest.tar.bz2
どちらも、簡易ブラウザの links コマンドや wget コマンドを使ってダウンロードする。また、この
先はファイルのタイムスタンプに依存した作業(make とか)が多くなるので、まずは時計が合ってい
ることを確認しておく。
時計の
時計の確認
# date
まだタイムゾーンを設定してないので UTC になるが気にしなくて良い。
-7-
2009.6.20
で、Gentoo システムをコピーしよう。コピーと言っても tar を解凍するだけである。しかし、こ
の解凍作業がくせもので、途中で固まったり、空き容量不足で失敗することがあった9。
Stage3 Tarball と Portage Tree の展開
# cd /mnt/gentoo
# links http://www.gentoo.org/main/en/mirrors.xml
あるいは…
#
#
#
#
#
wget ftp://ftp.ecc.u-tokyo.ac.jp/GENTOO/releases/x86/2008.0/stages/
stage3-i686-2008.0.tar.bz2
wget ftp://ftp.ecc.u-tokyo.ac.jp/GENTOO/snapshots/portage-latest.tar.bz2
tar xvjpf stage3-i686-2008.0.tar.bz2 2>err.txt
cat err.txt
tar xvjf portage-latest.tar.bz2 2>err.txt
cat err.txt
rm err.txt stage3-i686-2008.0.tar.bz2 portage-latest.tar.bz2
無事に解凍が終わると、/mnt/gentoo の下に Gentoo システムが展開される。
Gentoo システム展開後
システム展開後
# ls
bin boot dev etc home lib lost+found mnt opt portage proc root sbin sys tmp usr var
# df
Filesystem
1K-blocks
Used Available Use% Mounted on
tmpfs
516200
16416
499784 4% /
/dev/sr0
705024
705024
0 100% /mnt/cdrom
/dev/loop0
603904
603904
0 100% /mnt/livecd
udev
10240
192
10048 2% /dev
/dev/sda3
20097744 1206368 17870448 7% /mnt/gentoo
/dev/sda1
38856
482
36368 2% /mnt/gentoo/boot
/dev/sdb1
10317828
168364 9625348 2% /mnt/gentoo/var
/dev/sdb2
10317860
154236 9639504 2% /mnt/gentoo/home
さて、ここまでで、全マシンに共通する環境がコピーされた。このあとは、マシン特有の環境構築
作業に入る(これからがインストールの本番)。ソースのダウンロードやビルドは Portage が自動化
するので、ソースの入手先やビルドオプションを Portage の設定ファイルに書いておこう10。
/mnt/gentoo/etc/make.conf の編集
CFLAGS="-O2 -march=i686 -pipe"
CXXFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
MAKEOPTS="-j5"
並列化指数(CPU コア数+1 を指定)。
GENTOO_MIRRORS="ftp://ftp.ecc.u-tokyo.ac.jp/GENTOO"
SYNC="rsync://rsync.asia.gentoo.org/gentoo-portage"
↑この 2 つは mirrorselect コマンドでリダイレクトしてもいい。
cd /mnt/gentoo
mirrorselect -i -o >>etc/make.conf
mirrorselect -i -r -o >>etc/make.conf
9
VMware のマウスドライバや仮想 HDD イメージ(vmdk ファイル)の拡張処理に問題があるかも。成功するまでやり直す。
ハンドブックではこのタイミングで make.conf を編集しているが、chroot した後でも良さそうな気がする。chroot に続く env-update の中で
make.conf が参照されるのだろうか?
10
-8-
2009.6.20
現在の(RAMDISK 上の)ファイルシステムから流用できるファイルをコピーする。
現在の
現在のファイルシステムから
ファイルシステムからコピー
からコピー
# cp -L /etc/resolv.conf /mnt/gentoo/etc
# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev
-L はシンボリックリンクを追う、の意味。
この先は、/mnt/gentoo をルート(/)に見立てて作業する。
ルート(/)を
ルート を/mnt/gentoo へ変更
#
#
#
#
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile
export PS1="(chroot) $PS1"
chroot 中だと気付くよう、プロンプトを変える。
tarball から展開した Portage Tree は最新ではないので、emerge コマンドを使ってネット上の最
新 Tree と同期する。rsync サーバの不調で失敗する可能性もあるが、リトライすればよい。また、
Portage Tree は不定期に更新されるので、Gentoo のインストール後も、ときどき同期した方が良
い。
Portage Tree を最新化
# emerge --sync
時間がかかる(数十分)ので、他のことをしながら待った方がいい。
同期のあと、emerge コマンド(Portage 自体)の更新を促された場合は、Portage を emerge する。
Portage の更新
# emerge --oneshot portage
# etc-update
これも時間がかかる。このとき python も一緒にインストールされ、途中で
beep が鳴るかもしれないが気にしない。また、「/etc の下のファイルを更新
しろ」みたいなメッセージが出た場合は、etc-update コマンドを使って更新
する。
いつもではないが、今回は、ここで -5 を入力する。
プロファイルと
プロファイルと USE フラグ
マシンの用途に合わせてプロファイルを選択する。プロファイルはマシンの性格のようなもので、
"desktop"や"server"などが用意されている11。選択中のプロファイルは、/etc/make.profile のリ
ンク先を調べると分かる。
選択中プロファイル
選択中プロファイルの
プロファイルの確認
# ls -ld /etc/make.profile
....... /etc/make.profile -> ../usr/portage/profiles/default/linux/x86/2008.0
11
Portage はパッケージを導入するときにマシンのプロファイルを参考にする模様。どの程度の差が出るのかは不明。
-9-
2009.6.20
このタイミングではデフォルトのプロファイルが選択されているので、このまま作業を進めれば問
題ない。どうしてもプロファイルを変えたい場合は、上記の 2008.0 ディレクトリにある"desktop"
や"server"などから選び、make.profile のリンク先を変更すればよい。
プロファイルの
プロファイルの変更
# ln -snf /usr/portage/profiles/default/linux/x86/2008.0/desktop /etc/make.profile
プロファイルよりも細かくマシンの性格を制御するために Portage が用意している仕組みが USE
フラグである。USE フラグを指定する方法はいくつかあるが、全パッケージに共通の USE フラグは
/etc/make.conf で指定する。今の時点では、「X を使うが、KDE と GNOME サポートは不要」く
らいを指定しておけば十分だろう12。なお、chroot 後は vi が使えなくなっているので、テキストフ
ァイルの編集には nano を使う13。
nano の起動
# nano -w /etc/make.conf
-w は no wrap の意味。
/etc/make.conf を編集
USE="X -kde -gnome"
ここで決めたマシンの性格は、このあとのインストール作業に決定的な影響を与える。特に USE フ
ラグの設定は慎重に行おう。途中で性格を変えれないことはないが、それなりの覚悟が必要である。
冒険的な設定を試すなら、VMware の仮想 HDD ファイル(disk00.vmdk や disk01.vmdk)をバック
アップしておくと良いだろう。
インストール
ここからがインストール作業の本番。マシン特有の環境に config していく。
まずはロケールを指定しよう。
/etc/locale.gen を編集
#en_US ISO-8859-1
ja_JP.EUC-JP EUC-JP
#ja_JP.UTF-8 UTF-8
これ以外はコメントアウト。余計なのがあると、あとで苦労するかも14。
locale を有効化
# locale-gen
12
ウィンドウマネージャには Fluxbox を使う。
ここで vi を emerge してもいいけどね。
14
当初、ISO-8859-1(Latin-1)と UTF-8 を入れてインストールを進めたが、Eterm が起動せず、xterm で日本語が表示できなかった。また、その
ときはカーネルの menuconfig で Japanese Charset を ON にしていた。試行錯誤の末に、「ISO-8859-1(Latin-1)と UTF-8 は ON、Japanese
Charset は OFF」で決着した。最大の理由は、/usr/share/fonts/misc/にフォントが入ってなかったこと(なぜ入らなかったのかは依然として不明
だが…)。font-misc-misc を emerge したら misc フォントがインストールされ、Eterm も xterm もうまくいくようになった。
13
- 10 -
2009.6.20
タイムゾーン情報
タイムゾーン情報を
情報をコピー
# cp /usr/share/zoneinfo/Japan /etc/localtime
Linux カーネルのソースをインストールする。これにより、/usr/src/linux にソースが置かれる。
カーネルソースを
カーネルソースをインストール
# emerge gentoo-sources
# ls -ld /usr/src/linux
....... /usr/src/linux -> linux-2.6.29-gentoo-r5
カーネルを config してビルドする。config できる項目は多いので、本格的にチューンするなら気
合を入れる必要がある。ひとまず動かすには、以下の機能は有効にした方が良い。
・/proc ファイルシステム
…デフォルトで ON のはず
・virtual memory file system
…デフォルトで ON のはず
・ext2/ext3
…デフォルトでは ext2 が OFF になっている
・symmetric multi-processing
…デフォルトで ON のはず
・HID devices -> USB Human Interface …デフォルトで ON のはず
・File System -> NLS -> Japanese Charset
…デフォルトで OFF だが、そのままがいいかも
カーネルの
カーネルのコンフィグと
コンフィグとビルド
# cd /usr/src/linux
# make menuconfig
# make && make modules_install
当然、時間がかかる。
# cp arch/i386/boot/bzImage /boot/plain-2.6.29-gentoo-r5
# ls -l /boot/plain-2.6.29-gentoo-r5
....... 3535312 ........
カーネルの一部の機能はモジュール形式15で提供されている。起動時に自動的にロードしたいモジュ
ールがあるなら、設定ファイルに書いておけばよい。
カーネルモジュールの
カーネルモジュールの確認
# find /lib/modules/2.6.27-gentoo-r8/ -type f -iname '*.o' -or -iname '*.ko'
カーネルモジュールの
カーネルモジュールの自動ロード
自動ロード用設定
ロード用設定ファイル
用設定ファイル
# nano -w /etc/modules.autoload.d/kernal-2.6
15
モジュールは動的にロードできる。
- 11 -
2009.6.20
起動時にマウントしたいドライブを/etc/fstab に書いておく。
/etc/fstab の編集
/dev/sda1
/dev/sda2
/dev/sda3
/dev/sdb1
/dev/sdb2
/dev/cdrom
shm
/boot
none
/
/var
/home
/mnt/cdrom
/dev/shm
ext2
swap
ext3
ext3
ext3
auto
tmpfs
defaults,noatime
sw
noatime
defaults,noatime
defaults,noatime
noauto,ro,user
nodev,nosuid,noexec
1
0
0
0
0
0
0
2
0
1
2
2
0
0
ネットワーク関連の情報を設定する。
/etc/conf.d/hostname の編集
HOSTNAME="genpon"
/etc/conf.d/net の編集
dns_domain_lo="home"
nis_domain_lo="nis"
DNS を使う場合。
NIS を使う場合。
固定 IP アドレスを使う場合。
config_eth0=( "192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" )
routes_eth0=( "default via 192.168.0.1" )
DHCP を使う場合。
config_eth0=( "dhcp" )
dhcp_eth0="nodns nontp nonis"
/etc/issue の編集
This is ¥n (¥s ¥m ¥r) ¥t
このメッセージがログイン前に表示される。エスケープシーケンスの意味は、
順に、ホスト名、OS 名、マシン名、リリース番号、時刻。
起動時に
起動時に eth0 を有効にする
有効にする
# rc-update add net.eth0 default
"default"はランレベルを指す。
/etc/hosts の編集
127.0.0.1
genpon localhost
root のパスワードを変更する。Live CD を起動した直後にもパスワードは変更したが、ここで変更
するのは、HDD から起動するときに(つまり今後ずっと)使う root パスワード。
root のパスワード変更
パスワード変更
# passwd
- 12 -
2009.6.20
/etc/rc.conf を編集する。rc ファイルの総元締めみたいなファイルだと思う。
/etc/rc.conf の編集
UNICODE="yes"
EDITOR="/usr/bin/vim"
ロケールに関する設定を追加。
/etc/conf.d/keymaps の編集
KEYMAP="jp106"
/etc/conf.d/clock の編集
CLOCK="local"
TIMEZON="Japan"
システムログの収集ツールをインストールする。ログビューアの logrotate も入れておこう。
syslog のインストール
# emerge syslog-ng logrotate
# rc-update add syslog-ng default
これが予想外に時間がかかる。
DHCP を使うなら、クライアント用のデーモンをインストールする。
dhcpcd のインストール
# emerge dhcpcd
ブートローダの
ブートローダの準備と
準備と再起動
Gentoo システムのインストールが終わったので、最後にブートローダ grub をインストールする。
grub のインストール
# emerge grub
- 13 -
2009.6.20
ロードメニューは/boot/grub/grub.conf に設定する。ここでタイプミスすると、システムが全く
起動せず手に負えなくなるので慎重に編集しよう。
/boot/grub/grub.conf の編集
default 0
timeout 5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title Gentoo Linux 2.6.29-r5
root (hd0,0)
(hd0,0)は GRUB が組み込まれたパーティション(つまり/dev/sda1)。
kernel /boot/plain-2.6.29-gentoo-r5 root=/dev/sda3
title Gentoo Linux 2.6.29-r5 (rescue)
root (hd0,0)
kernel /boot/plain-2.6.29-gentoo-r5 root=/dev/sda3 init=/bin/bb
Windows とのデュアルブートマシンなら。
title Windows XP
rootnoverify (hd0,3)
makeactive
chainloader +1
通常、/etc/mtab にはマウントされたドライブの一覧が書かれている。これから grub を HDD へ組
み込むわけだが、そのときに/etc/mtab が参照される。しかし、chroot した今の状態では、
/etc/mtab は存在しない。そこで、/etc/mtab を作ってやる。
/etc/mtab を作る
# grep -v rootfs /proc/mounts >/etc/mtab
grub の組み込み
# grub-install --no-floppy /dev/sda
最初の方で I/O エラーが出るが気にしない。リトライしてるっぽい。
いよいよ Gentoo を起動してみる。chroot から抜け、再起動する。CD は外しといてね。
再起動
# exit
# umount -a
# reboot
- 14 -
2009.6.20
ブートに失敗する場合は grub.conf の編集ミスを疑う。Live CD で起動し、以下の手順でリトライ
しよう。
/boot/grub/grub.conf の再編集
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
mount /dev/sda3 /mnt/gentoo
mount /dev/sda1 /mnt/gentoo/boot
mount /dev/sdb1 /mnt/gentoo/var
mount /dev/sdb1 /mnt/gentoo/home
mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile
nano -w /boot/grub/grub.conf
grep -v rootfs /proc/mounts >/etc/mtab
grub-install --no-floppy /dev/sda
exit
umount -a
reboot
起動するようになったあとで grub.conf を変更したい場合は、編集して grub-install するだけで良
い。
最低限の
最低限の使用準備
起動するようにはなったが、この時点では root ユーザしか存在しないので、ユーザ登録しておこう。
ユーザの
ユーザの追加
# useradd -m -G users,wheel,adm -s /bin/bash maru
-m を付けると、ホームディレクトリを作り、/etc/skell にあるファイルをコピーしてくれる。
-G は所属グループ。wheel に所属すると su で root になれる。
# passwd maru
vim もインストールしておこう。
vim のインストール
# emerge vim
# env-update && source /etc/profile
vim の USE フラグは、デフォルトでは -ruby となっている。いずれ、ruby
を入れるときに問題になるかなぁ…。
すぐに使えるように。
Portage を補助するツール gentoolkit は是非入れておきたい。
gentoolkit のインストール
# emerge gentoolkit
- 15 -
2009.6.20
X、
、Fluxbox、
、日本語環境
X を入れるには、emerge する前に/etc/make.conf を編集する必要がある。
/etc/make.conf を編集
INPUT_DEVICES="keyboard mouse"
VIDEO_CARDS="nvidia vmware"
ATI や Intel の場合は別。
X のインストール
#
#
#
#
#
emerge xorg-x11
これ、かな~り時間がかかります(数時間)。
env-update
source /etc/profile
Xorg -configure
cp /root/xorg.conf.new /etc/X11/xorg.conf
デフォルトのままだとマウスの動きが変なので、vmware 用のマウスドライバをインストール。
VMWare 用のマウスドライバ
# emerge xf86-input-vmmouse
X が起動するかどうか試してみましょう。
X の起動
# su - maru
$ startx
$ exit
#
終了するには、Ctrl-Alt-Backspace。
日本語環境用のファイルを揃えていく。
フォント一覧
フォント一覧を
一覧を表示する
表示する xlsfonts のインストール
# emerge x11-apps/xlsfonts
日本語フォント
日本語フォントの
フォントのインストール
# emerge aquafont mikachan-font-ttf mplus-fonts ipamonafont
漢字変換ソフト
漢字変換ソフト canna のインストール
# emerge canna
# rc-update add canna default
次回ブート時から自動起動する。いまこの場で起動する方法は後述。
/etc/conf.d/canna を編集
CANNASERVER_OPTS=" -inet"
/etc/hosts.canna を編集
localhost
先頭行に挿入。
- 16 -
2009.6.20
日本語入力ソフト kinput2 をインストールするが、kinput2 専用の USE フラグを指定する必要があ
るので、まず/etc/portage/package.use を編集する。このようにパッケージ特有の USE フラグは
make.conf ではなく package.use に記述する。
/etc/portage/package.use の編集
app-i18n/kinput2 canna
日本語入力ソフト
日本語入力ソフト kinput2 のインストール
# emerge kinput2
X の起動時に kinput2 も一緒に起動するよう、ホームディレクトリの.xinitrc を編集する。
~/.xinitrc を編集
export LANG=ja_JP.eucJP
unset LC_ALL
export LC_CTYPE=ja_JP.eucJP
export XMODIFIERS="@im=kinput2"
export CANNAHOST=localhost
kinput2 -canna &
画面の解像度やフォント、マウスドライバなどを変えるため、X の設定ファイルを編集する。
/etc/X11/xorg.conf を編集
Section "Files"
FontPath
FontPath
FontPath
"/usr/share/fonts/xxx"
"/usr/share/fonts/yyy"
"/usr/share/fonts/zzz"
日本語フォントのパス(xxx や yyy は適宜変更)。
Section "InputDevice"
Identifier "Keyboard0"
Option
"XkbLayout" "jp"
Section "InputDevice"
Identifier "Mouse0"
Driver
"vmmouse"
Option
"ZAxisMapping" "4 5"
Section "Monitor"
HorizSync 31.5 - 120.0
VertRefresh 56.0 - 120.0
Section "Screen"
DefaultDepth 24
SubSection "Display"
Modes "1024x768"
- 17 -
2009.6.20
ウィンドウマネージャ Fluxbox とターミナルソフト Eterm を入れる。Fluxbox については USE フ
ラグも設定する。
/etc/portage/package.use の編集
x11-wm/fluxbox -gnome -kde truetype vim-syntax
Fluxbox と Eterm のインストール
# emerge x11-terms/eterm fluxbox
Fluxbox のフォントは、スタイルごとに設定ファイルで指定する。デフォルトのままだと日本語が
化けることがあるらしい。そこで、スタイルの設定ファイルを修正して、フォントを日本語フォン
トに変える。例えば、LemonSpace というスタイルを修正してみよう。
/usr/share/fluxbox/styles/LemonSpace の編集
*font:
menu*font:
toolbar*font:
-mplus-*-medium-r-*-*-*-100-*-*-*-*-*-*
-mplus-*-medium-r-*-*-*-120-*-*-*-*-*-*
-mplus-*-medium-r-*-*-*-120-*-*-*-*-*-*
Fluxbox を起動してみよう。デスクトップ上で右クリックするとメニューが出るのでスタイルから
LemonSpace を選ぶ。Eterm を起動すれば、Shift-Space で日本語入力もできるはず。
Fluxbox の起動
#
#
$
$
$
$
#
/etc/init.d/canna start
su maru
cd
echo "exec startfluxbox" >>~/.xinitrc
startx
exit
canna を起動するためにリブートしてもいいが、ここは手動で起動する。
X 起動時に Fluxbox も起動。
グラフィカルログインマネージャの SLiM を入れる。これにより、次回の起動時から GUI 経由でロ
グインできるようになる。
SLiM のインストール
# emerge slim
# rc-update add xdm default
/etc/conf.d/xdm の編集
DISPLAYMANAGER="slim"
デスクトップの
デスクトップの強化
アートワーク(壁紙
アートワーク 壁紙とか
壁紙とかスキン
とかスキン)の
スキン のインストール
# emerge commonbox-styles commonbox-styles-extra fluxbox-styles-fluxmod gentoo-artwork
- 18 -
2009.6.20
システムモニタの
システムモニタのインストール
# emerge conky
イメージビューワの
イメージビューワのインストール
まだ使ったことないけど。
# emerge gqview
FireFox のインストール
# emerge mozilla-firefox
Fluxbox の設定ファイル
設定ファイルの
ファイルの編集
起動スクリプト。
コンテキストメニュー。
ショートカットキー。
# vi ~./fluxbox/startup
# vi ~./fluxbox/menu
# vi ~./fluxbox/keys
PostgreSQL
PostgreSQL のインストール
# emerge postgresql
# passwd postgres
# emerge --config =postgresql-8.1.11
#
#
#
$
$
#
$
$
$
rc-update add postgresql default
/etc/init.d/postgresql start
su postgres
createuser -a -d -P -E -W maru
createuser -A -D -P -E -W foo
su maru
createdb sampledb
psql sampledb
dropdb sampledb
最後に、「emerge --config =postgresql-8.0.15 を実行しろ」みたいなメッ
セージが出るはず。
管理用アカウント postgres のパスワード設定。
これで、データベース用のディレクトリ/var/lib/postgresql/data が初期化さ
れる。
ブード時に PostgreSQL も起動する。
ためしに、手動でデータベース起動してみる。
管理者用ユーザ登録。
一般用ユーザ登録。
データベース作成。
データベースに接続。
データベース削除。
ハンドブックより
ハンドブックより
ハンドブックに書いてあることで、自分が経験/実施しなかったことを挙げておく。
PCI デバイス用
デバイス用のツールを
ツールをインストール
# emerge pciutils
これで lspci コマンドが使えるようになる。
デバイスの
デバイスの一覧を
一覧を見る
# ls /lib/modules/`uname -r`/kernel/drivers
デバドラを
デバドラを入れる
# modprobe
- 19 -
2009.6.20
今回は eth0 がすんなり認識されたので助かったが、ハンドブックにはネットワークにつながらない
場合の対処方法が書いてある。まぁ、かなりレアな NIC を使ってない限り大丈夫だろう。ただ、無
線 LAN しか使えない場合は大変かも。
無線 LAN の設定
# iwconfig
/tmp や/var/tmp を別パーティションにするなら、パーミッションを変更すること。
/tmp と/var/tmp のパーミッション
# chmod 1777 /tmp
# chmod 1777 /var/tmp
その他
その他
eth0 を切るには、rc-update から削除して、/etc/conf.d/rc を編集する。
起動時に
起動時に eth0 を開始しない
開始しない
# rc-update del net.eth0
/etc/conf.d/rc を編集
RC_PLUG_SERVICES="!net.eth0"
- 20 -