Gentoo Linuxはパッケージ管理システムにPortageを採用したLinuxディストリビューションで、カスタマイズ性の高さに定評があります。サーバー用/デスクトップ用、どちらの用途でもおすすめですが、ここでは主にデスクトップ向けにインストール方法を紹介してみようと思います。
インストールCD
インストールする方法はいろいろありますが注1、ネットワークに繋がっている場合はMinimal Installation CDを作成するのが一番簡単な方法かなと思います。
Gentoo Linux Mirrorsの適当なサーバーからISOイメージをダウンロードして、起動CDを作成します。起動可能なUSBメモリーを作成してそこからインストールする場合は、Gentoo minimal CD on USB stick – Gentoo Linux Wikiなどを参考にしてみてください。
- x86の場合
/pub/gentoo/releases/x86/current-iso/install-x86-minimal-20121213.iso
- amd64の場合
/pub/gentoo/releases/amd64/current-iso/default/20130207/install-amd64-minimal-20130207.iso
※ファイルはいろいろありますので、インストール環境に対応したファイルを探してください。
Minimal CDでブート
インストールCDが作成できたら、PCを再起動してCDからブートします。
ネットワークの設定はDHCPによって自動で行なわれますが、HDCPを使っていない場合やうまく設定できない場合はnet-setup
を使って手動で設定できます。
# net-setup eth0
Gentoo Linuxのインストール
ディスク
Boot
/Swap
/Root
の3つのパーティションに分割してインストールしてみます。実際には用途に合わせてパーティションを切ってください。
/dev/sda1 | ext2 | /boot |
/dev/sda2 | swap | Swap |
/dev/sda3 | ReiserFS | / |
# fdisk /dev/sda # mkfs.ext2 /dev/sda1 # mkreiserfs /dev/sda3 # mount /dev/sda3 /mnt/gentoo # mkdir /mnt/gentoo/boot # mount /dev/sda1 /mnt/gentoo/boot
スワップパーティションは以下のようにします。
# mkswap /dev/sda2 # swapon /dev/sda2
時計
トラブルの元にならないよう、時計は正しく設定しておくことをおすすめします。
# date Wed Mar 27 10:30:35 UTC 2013
時刻がズレている場合は以下のようにして修正できます。(UTCに注意してください。)
# date 032710302013
stage3 tarボール
ダウンロードするファイルは通常stage3-i686-<最も新しい日付>.tar.bz2
でよいかと思います。
# cd /mnt/gentoo # links http://www.gentoo.org/main/en/mirrors2.xml # tar jxvfp stage3-*.tar.bz2
CHROOT
必要なファイルを更新してchroot
でインストール環境に入ります。
# vi /mnt/gentoo/etc/portage/make.conf # cp -L /etc/resolv.conf /mnt/gentoo/etc/ # mount -t proc none /mnt/gentoo/proc # mount --rbind /sys /mnt/gentoo/sys # mount --rbind /dev /mnt/gentoo/dev # chroot /mnt/gentoo /bin/bash # env-update # source /etc/profile # export PS1="(chroot) $PS1"
make.conf
はGentooの特徴的な機能の1つです。デフォルトのままでも問題なく動作しますが、コンパイルオプションを設定することもできます。
/etc/portage/make.conf
CFLAGS="-O2 -march=native -pipe" CXXFLAGS="${CFLAGS}" CHOST="x86_64-pc-linux-gnu" USE="bindist mmx sse sse2 cjk linguas_ja unicode X" LINGUAS="ja" MAKEOPTS="-j2"
Portage
Portage treeを最新の状態に更新します。
# emerge --sync
ファイアウォールなどでrsync
がブロックされる場合はemerge-webrsync
も使えます。
Profile
ここではdefault/linux/x86/13.0/desktop
に設定しています。
# eselect profile list Available profile symlink targets: [1] default/linux/amd64/13.0 [2] default/linux/amd64/13.0/selinux [3] default/linux/amd64/13.0/desktop [4] default/linux/amd64/13.0/desktop/gnome [5] default/linux/amd64/13.0/desktop/kde [6] default/linux/amd64/13.0/developer [7] default/linux/amd64/13.0/no-multilib [8] default/linux/amd64/13.0/x32 [9] hardened/linux/amd64 [10] hardened/linux/amd64/selinux [11] hardened/linux/amd64/no-multilib [12] hardened/linux/amd64/no-multilib/selinux [13] hardened/linux/uclibc/amd64 # eselect profile set 3
Timezone
# cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime # echo "Asia/Tokyo" > /etc/timezone
カーネル
カーネルの構築をします。
# emerge gentoo-sources # cd /usr/src/linux # make menuconfig # make && make modules_install # cp arch/i386/boot/bzImage /boot/
設定は環境に応じて適宜変えてください。
カーネルの設定例
Processor type and features ---> Processor family (Core 2/newer Xeon) --> Device Drivers ---> Generic Driver Options ---> [*] Maintain a devtmpfs filesystem to mount at /dev [ ] Automount devtmpfs at /dev, after the kernel mounted the rootfs [*] Network device support --> File systems ---> <*> Second extended fs support <*> Reiserfs support
fstab
ディスクの設定に合わせて書き変えてください。
# nano -w /etc/fstab
/etc/fstab
/dev/sda1 /boot ext2 noauto,noatime 1 2 /dev/sda2 none swap sw 0 0 /dev/sda3 / reiserfs noatime 0 1
ネットワーク
# nano -w /etc/conf.d/net # cd /etc/init.d # ln -s net.lo net.eth0 # rc-update add net.eth0 default
設定内容は/etc/conf.d/net
に記述します。
DHCPを使う場合
config_eth0="dhcp"
手動で設定する場合(設定例)
config_eth0="192.168.1.2 netmask 255.255.255.0 brd 192.168.1.255" routes_eth0="default via 192.168.1.1 metric 1"
ユーザーとパスワード
root
パスワードの変更とユーザーの作成をします。
# passwd # useradd -m -G users,wheel -s /bin/bash john # passwd john
locale
ja_JP.UTF-8
など使いたいlocaleに設定します。
# nano -w /etc/locale.gen # locale-gen
必要に応じて/etc/env.d/02locale
の内容を修正してください。
LANG="ja_JP.UTF-8"
Bootloader
ここではlilo
を説明します。最近ではgrub
を使う場合も多いかと思います。
# emerge lilo # cp /etc/lilo.conf.example /etc/lilo.conf # nano -w /etc/lilo.conf # lilo
/etc/lilo.conf
lba32 boot = /dev/sda menu-scheme=Wb prompt timeout=150 delay = 50 vga = normal image = /boot/bzImage root = /dev/sda3 label = Gentoo read-only append="acpi=on"
システムツール
SyslogやCronなどのシステムツールをインストールします。ここでインストールしなくても、後から必要になった段階でインストールすることもできます。
Syslog
# emerge syslog-ng # rc-update add syslog-ng default
Cron
# emerge vixie-cron # rc-update add vixie-cron default
File System Tools
# emerge reiserfsprogs
再起動
Gentoo Linuxのインストールは以上で完了です。
以下のコマンドで再起動できます。
# exit # cd # reboot
問題なくインストールできていれば次のような画面になると思います。
アプリケーション
必要なソフトウェアはそれぞれ異なると思いますが、いくつか紹介してみようと思います。Gentoo Linuxの場合、Portageでパッケージの依存関係を処理してくれますので、アプリケーションのインストールも簡単です。
X.Org
# emerge xorg-drivers xorg-server
Window Manager
軽いという噂を聞くLXDEです。
# emerge lxde-meta
$HOME/.xinitrc
は以下のように設定します。
exec startlxde
startx
でLXDEの画面が表示されるようになります。
ログインでLXDMを使う場合は以下のようにします。
# emerge lxdm # nano -w /etc/conf.d/xdm # rc-update add xdm default
/etc/conf.d/xdm
DISPLAYMANAGER="lxdm"
日本語入力
ibus-anthy
を使って日本語入力の環境を作ってみます。
# emerge ibus-anthy kasumi
Preferences » IBus Preferences
からJapanese - Anthy
を追加すると日本語入力ができるようになります。
日本語入力の有効・無効はEnable
/Disable
で設定できます。
ブラウザ
FirefoxやChromiumを使ってもいいですが、Midoriという軽量ブラウザをインストールしてみます。
# emerge midori
grubを使う場合についての補足(コメントへの返信)
ここではブートローダーにlilo
を使っていますが、grub
を使う場合は次のようにしてセットアップできると思います。
BIOSを使っているPCの場合
# emerge --ask sys-boot/grub:2 # grub-install /dev/sda # grub-mkconfig -o /boot/grub/grub.cfg
UEFIを使っているPCの場合
# echo 'GRUB_PLATFORMS="efi-64"' >> /etc/portage/make.conf # emerge --ask sys-boot/grub:2 # grub-install --target=x86_64-efi --efi-directory=/boot # grub-mkconfig -o /boot/grub/grub.cfg
それから、ご存知かもしれませんが、grub
の設定がうまくいかない場合はGentoo Linuxのインストールを最初からやり直さないでも
- CD/USBでブート
- 必要なパーティションをマウント
- chroot
だけ行って、grub
の設定をやり直すことができます。うまくいかない場合はいろいろと試してみてください。
他の手段として、lilo
を使える環境の場合は、grub
の代わりにlilo
を試してみるのも1つの手かなと思います。
参考書籍
はじめてのGentoo Linux
はじめてGentoo Linuxを使う人にも分かり易い解説書です。内容はWebブラウザやオフィソフトの利用方法からWebサーバー、DNSサーバーまで一通り網羅されています。
Linuxコマンドポケットリファレンス
よく使わわれるコマンドを収録したポケットリファレンスです。Gentoo Linuxに限った書籍ではありませんが、使い易いリファレンスかなと思います。
リンク
Gentoo Linux
Gentoo Linuxの公式サイト。ドキュメントもしっかりと整備されているので、Gentoo Linuxの利用者はまずここから探すことをおすすめします。
Gentoo Linux Mirrors
Minimal Installation CDのisoイメージやstage3のtarボールはこちらのミラーサイトからダウンロードできます。
Gentoo Linux Use Variable Descriptions
Useフラグの一覧表。/usr/portage/profiles/use.desc
と同じ内容だと思います。Gentoo Linux Users Group Japan
ドキュメントの日本語訳などが公開されているサイトです。ただし、内容が若干古くなっている部分があるので公式サイトと比較しながら参考にした方がよいと思います。
注1 Gentoo Linuxは他の多くのディストリビューションと違い好きなLinuxでブートしてインストールを行うことができます。Gentoo LinuxのBoot CDの代わりにKnoppixを使うとX上でブラウザ画面を見ながらインストールを進められたりと便利です。
この半月ほど、gentoo のインストールにかかりっきりなのですが、ようやく、コンパイルも終えて再起動までいくようになりました。が、残念にも、grub> ですぐ止まってしまいます。どこが間違っているのでしょうか。また、ここからの正常起動はできるものでしょうか。
grubを使う場合についての補足説明を追加しました。よろしければ参考にしてみてください。