VM用にKernelの再構築を行う
カーネルソースを取得
と、その前に必要なモジュールをインストールしておく
# yum install gcc rpm-build redhat-rpm-config ncurses-devel
どうせなら最新ソースを確認して取得
# cd # wget http://mirrors.kernel.org/centos/4.5/updates/SRPMS/kernel-2.6.9-55.0.2.EL.src.rpm # mkdir -p /usr/src/redhat/{BUILD,RPMS,SOURCES,SPECS,SRPMS} # rpm -i kernel-2.6.9-55.0.2.EL.src.rpm # cd /usr/src/redhat/SPECS/ # rpmbuild -bp --target=i686 kernel-2.6.spec
カーネルソースを変更
カーネルソースの以下の部分を変更します
# cd ../BUILD/kernel-2.6.9/linux-2.6.9/ # vi include/asm-i386/param.h ** -#define HZ 1000 /* Internal kernel timer frequency */ +#define HZ 100 /* Internal kernel timer frequency */ vi include/asm-x86_64/param.h ** -#define HZ 1000 /* Internal kernel timer frequency */ +#define HZ 100 /* Internal kernel timer frequency */
ソースを見るに単純に
#define HZ 1000 /* Internal kernel timer frequency */
を消すだけでもよさそう、後ろに定義が無かったら定義するコードがあるからね
Makefileを変更
# vi Makefile ** -EXTRAVERSION = -prep +EXTRAVERSION = -55.0.2.EL.vm -#export INSTALL_PATH=/boot +export INSTALL_PATH=/boot
カーネルコンパイル
これはさすがに時間かかるよ
前のconfigから今回のconfigを作ってコンパイルってのりです
# make mrproper # cp configs/kernel-2.6.9-i686.config .config # make oldconfig ..... # make ..... # make modules_install ..... # installkernel 2.6.9-55.0.2.EL.vm arch/i386/boot/bzImage System.map
Grubの設定を確認
# vi /etc/grub.conf default=0 <=新しく追加されているカーネルに設定 ... title CentOS (2.6.9-55.0.2.EL.vm) root (hd0,0) kernel /boot/vmlinuz-2.6.9-55.0.2.EL.vm ro root=/dev/VolGroup00/LogVol00 clock=pit initrd /boot/initrd-2.6.9-55.0.2.EL.vm.img
最後に再起動して
# uname -r 2.6.9-55.0.2.EL.vm
OK
玄箱にRuby On Rails
この前、Centインストールしてたのに何で?
って思うかもしれないけど、人生こんなもんです^^;
そういえば、Dibian化した玄箱があったなと、取り出してRailsを動かしてみようとお試しです。
checkinstallをインストール
お手軽にdpkgで管理できるらしいので使ってみようと思う
でインストール
# aptitude -y install checkinstall ... # checkinstall -v checkinstall 1.5.3, Copyright 2001 Felipe Eduardo Sanchez Diaz Duran This software is released under the GNU GPL.
Rubyをインストール
# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p36.tar.gz # tar zxvf ruby-1.8.6-p36.tar.gz # cd ruby-1.8.6-p36 # ./configure --prefix=/usr # make # checkinstall # ruby -v
Gemのインストール
最新バージョンをここからダウンロード
# wget http://rubyforge.org/frs/download.php/20989/rubygems-0.9.4.tgz # tar zxvf rubygems-0.9.4.tgz # cd rubygems-0.9.4 # checkinstall -D "ruby setup.rb" # gem environment RubyGems Environment: - VERSION: 0.9.4 (0.9.4) - INSTALLATION DIRECTORY: /usr/local/rubygems/ - GEM PATH: - /usr/local/rubygems/ - REMOTE SOURCES: - http://gems.rubyforge.org
あとは、本命のRailsいってみよう!!
Railsのインストール
Gemがあれば簡単簡単って事で、
# gem install rails --include-dependencies Bulk updating Gem source index for: http://gems.rubyforge.org ERROR: While executing gem ... (Gem::GemNotFoundException) Could not find rails (> 0) in any repository
むむ!!インストールができない!!
散々待たされた上エラーで終了、チーンですorz
ぐぐってると、どうやら--remoteオプションがいるみたい
Railsのインストール再び
# gem install --remote rails --include-dependencies Bulk updating Gem source index for: http://gems.rubyforge.org Successfully installed rails-1.2.3 Successfully installed rake-0.7.3 Successfully installed activesupport-1.4.2 Successfully installed activerecord-1.15.3 ・・・
おお、今度はいけるかも...
とりあえず、ただいまインストール中...
って、まだまだインストール中...
2日たっても終わってません orz
追伸:
インストールを開始したのは、淀川の花火大会が始まる前、でもまあ動いているみたいなので、しばらく黙ってみて見ることにします
3日目でなお終了してませんorz
5日目でやっと終了した。
# rails -bash: rails: command not found
何じゃそりゃ!!
ちゃんちゃん。。。
今度リベンジします。orz
VM Player環境にCentOSをインストール
サーバを用意といっても、ほいほいとパソコンを用意するわけにもいかないもんで、VMWare Playerを使います。
VMX Builderをインストール
ここから取得
VBで書かれているようなので、ランタイムが入っていない環境ならば、ランタイムもセットアップします
このツールは、超お手軽!!
今まで手で書いていたVMXファイルを自動生成してくれるは、qemu-img.exeでディスクイメージの作成もしてくれる
まあ、それだけだけど
VMの起動イメージを作成
VMX Builderを起動して「Create New Virtual Machine」を選択
作成先とマシンの名前を入れる
最低限の必要な設定をする
必要無い気がするけど、
Option Host Product : Player Target Platform : 2.x Guest OS Guest O/S Family: Linux Version : RedHat Enterprise Linux 4
とかにしておく、
さらに(こっちが大切)
HardwareタブでAddボタンHardDiskを追加
Create New Disk Size : 8Gb Qemu-img add/or....を選択
でレポートが表示されて仮想ディスクが出来上がる
さらにDVD/CD-Rom DriveとNetwork Adapterも追加しておく
あとは、適当に設定する
Hardware Memory : 256MB Floppy : Connected at Bootをオフ
ここまでで、インストールする仮想PCは完成
ではOSのインストールとまいりましょう
CentOS4.4をインストール
ここでServerCDをダウンロード
(どうせ後から4.5になるけど、4.5はServer CDが無いのでね)
CentOS-4.4.ServerCD-i386.iso
VMX BuilderでCD-ROMをUseISO Image:選択して今さっき落としたisoイメージを設定します
おっと、言い忘れてたけど変更したらセーブしないと反映されません
で、そのままVMX Builderの実行ボタンで仮想PCを起動します(VM Playerから起動しても同じです)
CentOSのインストーラーが起動するので、ENTERでインストール開始です
基本はすべてディフォルト、変更したところだけ書いておく
あとは、待つだけ
インストーラーが終了後再起動を促されるので再起動を行う
不要なサービスを停止
最小だっていってても、不要なサービスが立ち上がります
インストールが終了して起動してきたら、不要なサービスをとめます
※本当に不要かどうかは、各自で判断してください
# chkconfig --list | grep :on
とかしたら、自動起動されるサービスが分かります
起動している中から不要なのを選んで停止
# for name in cups isdn kudzu gpm smartd pcmcia; do \ chkconfig ${name} off service ${name} stop done;
fastestmirrorをインストール
yumが、早いミラーを選んでもらうプラグインをインストールしておく
# yum install yum-plugin-fastestmirror
yum.confに「plugins=1」を一行追加
# vi /etc/yum.conf +plugins=1
時間が狂わないようにntpを設定
# yum install ntp
インストールしたらNTPをスタート、あまり大きく時間ずれるとあわせてくれないので、ntpdateで時刻を合わせる
# service ntpd start # ntpdate ntpサーバー※
ntpサーバー : 近くのNTPサーバーを設定する、プロバイダが提供しているんだったらそこのNTPサーバーが良いかな?
NTPサーバーを追加
# vi /etc/ntp.conf +server ntpサーバー※ server 0.pool.ntp.org server 1.pool.ntp.org server 2.pool.ntp.org
次回から自動起動にしておく
# chkconfig ntpd on # chkconfig --list ntpd ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
こんなもんかな
ちなみにNTPがちゃんと動いてるかは、ntpq実行して*マークが付いていれば時刻は修正されています。
# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== chronos.duth.gr 194.30.249.20 2 u 28 64 3 235.086 58020.8 38492.0 rs11.lvs.iif.hu 195.111.99.186 2 u 24 64 3 177.979 20139.6 38300.8 time1.stupi.se .PPS. 1 u 26 64 3 149.562 20975.5 37237.7 *LOCAL(0) LOCAL(0) 10 l 25 64 3 0.000 0.000 0.008
で、時刻もOKかと思いきやすごい勢いで狂います。。。
kernel 2.6系だとVMで動かしていると時計が狂うそうです
めんどくさいけど、Kernel再構築の必要があります
そうそう、yumに-yつけないのは、個人的に慣れてしまって間違って実行することがあるのが嫌なので常に自分で確認後y押してます。単なる趣味みたいなもんですが・・・
疲れたので、また今度
なんじゃそりゃ orz