読者です 読者をやめる 読者になる 読者になる

CentOS 4/5のvagrant用boxを作ってみたよ

Vagrant

某人が博多に移籍したのをきっかけに、僕も何とか博多に移籍できないかを四六時中考えてるikikkoです、こんばんは。博多限定のぶっとびカードないかなー。

http://tamavoi.up.seesaa.net/image/200808201751000.jpg

今日は、最近なんか使えないかなーと思って見てるVagrantで、CentOS 4/5系を使いたかったので、それの準備としてboxを作成してみました。なお、Vagrantの概要については、@ さんのブログとかでも見てください。


主に、後半のCentOS 4系のところが、目新しいところです。ただ、今更CentOS 4の情報が必要な人がどこまでいるかという話ですが。。。

なお、今回作った設定ファイルはGithubにpushしておきました。

環境構築

boxの作成には、VeeWeeというやつが必要みたいです。ちなみに、環境構築〜CentOS 5系の作成は Vagrant & VeeWee を再設定してCentOS 6.2のBoxを作成してみた - wadahiroの日記を参考にやれば、ほぼほぼ問題ないと思います。

CentOS 5.8

上記の参考リンク通りにやれば、特に問題無し。

CentOS 4.8

対応しなきゃいけない箇所は、主に2点です。

yumリポジトリの有効化

postinstall.sh 中でいくつかパッケージをインストールする箇所があるのですが、CentOS 4系は既にEOLなので、そのままではyum updateができません。なので、yumを実行する前に有効なリンク先に向けておくように、下記シェルスクリプトを追加しておきましょう(参考:yum updateできなくなった古いCentOSでyumコマンドを復活させる方法 - Dマイナー志向)。

#enable repos which is now EOL
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.orig
sed -i "s/^mirrorlist/#mirrorlist/g" /etc/yum.repos.d/CentOS-Base.repo
sed -i "s/^#baseurl/baseurl/g" /etc/yum.repos.d/CentOS-Base.repo
sed -i "s/mirror.centos.org\/centos\/\$releasever/vault.centos.org\/4.9/g" /etc/yum.repos.d/CentOS-Base.repo
ストレージの設定変更

初期設定ではSATAに仮想ディスク(vdi)が割り当てられていますが、これだとOSのインストール時に失敗するので、IDEに割り当てる必要があるようです(参考:VirtualBoxでディスクエラーになる場合の対処法(SATA→IDE) - 走り続けたい社内SEブログ)。ただ、設定ファイルでIDE側に割り当てるやり方がわからなかったので、今回は作成中にいったん止めて、手動で設定変更した後に再度起動するというちょっとあれなやり方でやりました。

  1. "vagrant basebox build" で作成開始
  2. kickstart用の設定ファイル(ks.cfg)の待ち受け中に、VM終了
    • 待ち受け中
      • f:id:ikikko:20120701024828p:plain
    • ssh login待ちまでいったら駄目なので、再度やり直しましょう)
      • f:id:ikikko:20120701024843p:plain
  3. VMの設定>ストレージで、SATAからIDEのプライマリ・マスターに変更
    • 設定前
      • f:id:ikikko:20120701024602p:plain
    • 設定後
      • f:id:ikikko:20120701024627p:plain
  4. ks.cfgの中の"sda"となっている部分を"hda"に変更
  5. VM起動
  6. ブート時のコンソールで下記を入力(環境によっては、IPアドレスが変更されるかもしれない)
linux text ks=http://10.0.2.2:7122/ks.cfg


インフラ系の知識とか、VeeWeeで使われているRubyがよく分かっていないので、ちょい手間取りました。Chefもあるし、Rubyは覚えておいて損はないのかなー。