* 僕はrubyの構築に失敗した。だから1回Gentooふっ飛ばしてGentoo入れるんだ・・・。 * 次回インストールのためのメモとして * Gentooハンドブックの日本語版が明らかに古い = マシン = * →[[neotaso/computers#Myucel]] = 戦闘ログ = == 準備 == * minimalCDのisoを拾ってきて焼いた。CDがなかったからDVDに * USBでも良かった気がする == Round 1 == * DVDつっこんでbootする。特にオプションはつけない {{{ boot: gentoo }}} * すぐさまAlt-F1を入力しキーマップを指定する。jpは22 * クソキーボードなのでリモートで操作する。ifconfigして問題なさそうだったのでsshdをstart {{{ # ifconfig # passwd # /etc/init.d/sshd start }}} ここから先はリモートから操作する(隣の端末) コピペが使えて楽 == Round 2 == * パーティション関連 {{{ # fdisk /dev/sda }}} * bootとswap以外/でまとめた。別にヘビーなことをさせるつもりじゃないし。 * /を20GBにして残り容量は何に使うわけでもなく放置。使う時が来たら初期化する ||sda1||/boot||64MB||ext2|| ||sda2||swap||512MB||(swap)|| ||sda3||/||20GB||btrfs|| ||(空き)|| ||約375GB||(none)|| {{{ # fdisk }}} === fdisk === * d:パーティション削除 * n:パーティション作成 * a:boot選択 * t:でタイプ変更(82でswap) * ファイルシステム指定 * --(btrfsを入れるつもりだったが無い。あとで変換したい)-- あった {{{ # mkfs.ext2 /dev/sda1 # mkfs.btrfs /dev/sda3 }}} * swapを有効に {{{ # mkswap /dev/sda2 # swapon /dev/sda2 }}} * mountする {{{ # mount /dev/sda3 /mnt/gentoo # mkdir /mnt/gentoo/boot # mount /dev/sda1 /mnt/gentoo/boot }}} == Round 3 == * stage3やらスナップショットやらをもらってくる * 適当に日本のhttpサーバを選択 * stage1から入れようとしたけど見当たらなかった {{{ # cd /mnt/gentoo # links http://www.gentoo.org/main/en/mirrors.xml }}} * 貰ってきた物を展開する * uname -aで書いてあるアーキテクチャがi686だったが無視してia64でやる {{{ # tar xvjpf stage3-hogehoge # tar xvjf portage-latest.tar.bz2 -C /mnt/gentoo/usr }}} * コンパイルのオプションを設定する * /etc/make.confではない(ハンドブックに書かれている) * etc以下でもいいが、警告が出る * GentooのLiveCDでemacsが使える。最高! * vimは無い {{{ # emacs ./etc/portage/make.conf CFLAGS="-O2 -march=core2 -pipe" CXXFLAGS="${CFLAGS}" MAKEOPTS="-j5" }}} == Round 4 == インストールのお時間です * DNS情報コピー {{{ # cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf }}} * procとdevのマウント {{{ # mount -t proc none /mnt/gentoo/proc # mount --rbind /dev /mnt/gentoo/dev }}} * chrootして環境に入る {{{ # chroot /mnt/gentoo /bin/bash chroot: failed to run command '/bin/bash': Exec format error }}} * 動かなかった。多分アーキテクチャのせい * stage3のダウンロードに戻る(amd64で再試行) * rm -rf /mnt/gentoo/* * /devが吹っ飛ぶ。死亡 * CDとstage3をamd64に変更した。入れた * いろいろ読み込む {{{ # env-update # source /etc/profile }}} * portageツリーの更新 {{{ # emerge --sync }}} * なんか明らかに遅い(ミラーを自動で選択するらしい) * 手動で選択しよう--((emergeの前にやろう))-- * chrootした後だと触れない・・・chroot前に {{{ # mirrorselect -io >> /mnt/gentoo/etc/portage/make.conf # mirrorselect -iro >> /mnt/gentoo/etc/portage/make.conf }}} * profileの選択 * listで選択可能なprofileを見る。set 数字でそのprofileを選ぶ * desktopにしておいた {{{ # eselect profile list # eselect profile set x }}} * USEフラグの選択 * gentooの要らしいがよくわかってない * とりあえず一覧を見る {{{ # less /usr/portage/profiles/use.desc }}} * 適当にUSEフラグを指定する * 残念ながらemacs,vim,viは入ってない {{{ # nano -w /etc/portage/make.conf USE="bindist mmx sse sse2 -oss alsa canna cjk cdr dvd emacs imagemagick java mozilla mule ruby unicode usb ipv6 X" }}} * localeの指定 * もちろんだが日本語の文字コードなんぞ入っていないので生成する {{{ # nano -w /etc/locale.gen //英語日本語関連のコメントアウトを外す ja_JP.SHIFT_JIS SHIFT_JIS //追加 # locale-gen }}} * タイムゾーン指定 * シンボリックリンクを貼るだけ {{{ # ln -sf /usr/share/zoneinfo/Japan /etc/localtime }}} * ソースのインストール * サーバ用途向けだとかdevだとかあるらしいが無難に {{{ # emerge gentoo-sources }}} * なんかemergeが通らなかったので初めからやり直した。 * btrfsもあった * カーネルを作る * 過去の経験からgengernel利用 * menuconfigでbtrfsを追加 {{{ # emerge genkernel # genkernel --menuconfig all }}} * ハンドブックではここでモジュールの設定を行っているがスルー * 問題が出たら後々なんか書こう * fstabの設定 * 適当に {{{ # nano -w /etc/fstab /dev/sda1 /boot ext2 defaults 1 2 /dev/sda3 / btrfs noatime 0 1 /dev/sda2 none swap sw 0 0 /dev/cdrom /mnt/cdrom auto noauto,user 0 0 proc /proc proc defaults 0 0 shm /dev/shm tmpfs nodev,nosuid,noexec 0 0 }}} == Round 5 == * ネットワーク関連に進む * ホスト名どドメイン名を設定 {{{ # echo hostname="Myucel" > /etc/conf.d/hostname # echo my_domain_lo="neota.so" >> /etc/conf.d/net }}} * IPの設定 * 特に意味は無いが192.168.0.128を割り当てる * なんかeth0がなくenp2s0なのでそのように設定 {{{ # nano -w /etc/conf.d/net config_enp2s0="192.168.0.128 netmask 255.255.255.0 brd 192.168.0.255" routes_enp2s0="default via 192.168.0.1" }}} * ランレベルをdefaultに {{{ # ls /etc/init.d # ln -s net.lo net.enp2s0 # rc-update add net.enp2s0 default # rc-update add sshd default //しれっと追加 }}} * /etc/hostsに書く。割愛 * keymapの設定 {{{ # nano -w /etc/conf.d/keymaps //jaに }}} * syslog-ngを入れる * 使ったこと無い {{{ # emerge syslog-ng # rc-update add syslog-ng default }}} * なんかあった時のために {{{ # emerge dhcpcd }}} * btrfsのツールダウンロード {{{ # emerge btrfs-prog }}} == Round 6 == * GRUBを入れよう * 何度かのやり直しでprocがマウントされてないことに気がついたのは内緒 {{{ # emerge grub # nano -w /boot/grub/grub.conf }}} * なんか入らないので設定を見直すことに