アカベコマイリ

HEAR NOTHING SEE NOTHING SAY NOTHING

VMware Player + CentOS

先月から Web 系の仕事をするようになったのだがサーバー周りや UNIX/Linux 系に不慣れなため、色々と戸惑う事が多い。そこで自主学習できる環境が欲しくなった。

職場で相談したところ仕事に使う環境としては VMware Server + CentOS という構成が多く、これらはフリーなのでお勧めとのこと。しかし厄介そうだという記事を見つけて躊躇してることを Twitter でつぶやいていたところ、

  • hase @akabekobeko VMwareServerはブラウザからアクセスするのが通常ですが、直接仮想OSを起動するためのショートカットを後から作成できますよ。私なら用途的にVMwarePlayer使いますけど。
  • yukari_papa @akabekobeko VMware player3.0でCentOSインストールはもっと簡単ですよ!

という意見をいただいたので VMware Server ではなく Player の方を使う事にした。

そして今日、Windows Vista 上に環境を構築して Windows 側の TeraTerm からアクセスできるところまで行けたので手順を記録しておく。

2012/1/9: 最新の VMware Player + CentOS を入れなおす機会があったので続編記事を作成

1. VMware Player の入手とインストール

VMware Player を入手する。これは以下のページからダウンロードできる。

入手にはユーザー登録が必要。入力項目が多く大半が個人情報 & 入力必須なので人によってはかなり抵抗を覚えるかもしれない。

入力を終えてページ下部の登録用ボタンを押すと設定したアドレスに Activate your VMware Player Download というタイトルのメールが届く。この中の冒頭に以下のような文と URL があるのでアクセスして Activate Evaluation Now と書かれたボタンを押せば登録が完了する。

If your email program has trouble displaying this email, view it as a web page [http://app.connect.vmware.com/e/es.aspx?s=XXX&e=XXXXXXXX&elq=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX]

登録したメール アドレスとパスワードでログインすれば VMware Player が入手できる。今回は Windows 上に入れるので VMware Player for 32-bit and 64-bit Windows をダウンロード。インストールについては特筆すべきところなし。最後に OS の再起動が必要になるので以降の作業の前に必ず実行すること。

2. CentOS の入手

CentOS の CD-ROM または DVD-ROM の ISO イメージを入手する。まずは以下のページにアクセスする。

ページ内に CentOS 5 Releases という欄があるので、その中の Download 部分から i386 というリンク先へ飛ぶと大量に URL の並んだページに出る。

これらの URL の先には、CentOS の ISO イメージが直接公開されている。CD-ROM の場合は CentOS-5.4-i386-bin-1of6.iso といった感じで 6 分割されていた。DVD-ROM は巨大過ぎるためか、BitTorrent (P2P ソフト) 用ファイルとして配布されている。

VMware Player に CentOS をインストールする場合、これらの ISO イメージを仮想マシンに読み込ませる事になるのだが CD-ROM の場合は 6 分割されているため何度も VMware Player を再起動して ISO を入れ替えてゆく必要がある。とても面倒そうだ。

よって今回は BitTorrent で DVD-ROM を入手する事にした。P2P や BitTorrent と聞くとすぐに違法ファイル入手をイメージする人もいるだろうが、CentOS 配布のように有益な用途で登場することも多い。そのため私は BitComet というクライアントソフトをインストールしている。

CentOS の DVD-ROM 用の BitTorrent ファイルは CentOS-5.4-i386-bin-DVD.torrent といった名前になる。これを BitTorrent クライアントで開いてダウンロードを実行。ISO ファイルのサイズは数 GB あるので保存先の空き容量には注意すること。

3. EasyVMS! で環境ファイルを作る

WMware Player 上の仮想マシンは幾つかの設定ファイルで定義する。しかしこれを手動で作成するのは面倒な上にミスが怖いので補助ツールを利用する。代表的なものは QEMU らしいが以下のサイトのサービスを利用すればツールのダウンロードすら不要なので、有り難くこちらを使わせていただく。

このサイトのトップには現在、3 種類のサービスが公開されている。今回はこれらから easyvmx 2.0 を選んだ。サービスのリンク先に飛ぶと Virtual Hardware という欄があるので、以下のように設定する。

Spec Value
Virtual Machine Name CentOS5
Select GuestOS Redhut Linux
Memory Size 320 MB
# of CPUs 1 CPU

2010/12/23 記事を書いた時点では Select GuestOS を Windows Vista と書いていたが、これは誤り。この設定はゲスト OS を設定するものなので CentOS の場合は Redhut Linux にする。こうしておかないと VMware Player から VMware Tools のインストールを実行したとき Windows 版の CD-ROM イメージがマウントされてしまう。
すでにおかしくなってしまった場合は、VMware Player を終了している状態で vmx ファイル内にある guestOSredhatrhel5 などに修正してから VMware Player 上で起動することで修正可能。

このページには他にも多数の設定項目があるが今回は上記だけを設定し、後はデフォルトのままにしておく。

2010/12/23 新しいマシン上で改めて CentOS 5.5 環境を作成しようとしたところデフォルトの HDD 容量では「インストール ディスク容量の不足」というエラーが表示されインストールに失敗してしまった。上記ページには Hard Disk Drives という欄で HDD 容量を変更できるので、これを 4.7 GB から 10 GB に変更してエラーを回避した。

設定が終わったらページ下部にある Create Virtual Machine というボタンを押す。するとページが更新され CentOS5.zip というリンクが表示されるので、このファイルをダウンロードする。

ダウンロードした zip ファイルを展開すると .vmx ファイルなどが作成される。これらが仮想マシンの環境設定ファイルとなる。VMware Player がインストールされていれば関連付けされているはずなので、それっぽいアイコンになっていると思われる。

EasyVMX! の設定に Virtual Machine Name という項目があったが、.vmx ファイルには、ここで設定した名前が付けられるので、今回の場合は CentOS5.vmx というファイル名になる。

これらのファイルは仮想マシンを構築したいフォルダに移動しておく。同じフォルダ内に仮想マシンの内容も保存されるので空き容量の大きいストレージを選ぶ。今回は Windows Vista 上に環境構築するので、UAC が効かずに分かり易いので C:\vmware\CentOS5 にファイルを置いた。

仮想マシンは複数、運用可能。そのため CentOS5 のようにバージョンまで含めた名前にしておくと今後 6 や 7 が登場した時に CentOS6、7、...etc という感じで分岐しやすくなる。

4. CentOS のインストール

ここまでの手順により、以下の状態になっている事を確認する。

  • VMware Player がインストールされている
  • CentOS の DVD-ROM ISO イメージ ファイルをダウンロード済み
  • 仮想環境ファイル ( .vmx など ) を作成済み

まず、仮想環境ファイル中の CentOS5.vmx をテキストエディタで開く。すると以下のような箇所があるので、

# Settings for physical CDROM drive
ide1:0.present = "TRUE"
ide1:0.deviceType = "cdrom-raw"
ide1:0.startConnected = "TRUE"
ide1:0.fileName = "auto detect"
ide1:0.autodetect = "TRUE"

deviceTypefileName を書き換える。

# Settings for physical CDROM drive
ide1:0.present = "TRUE"
ide1:0.deviceType = "cdrom-image"
ide1:0.startConnected = "TRUE"
ide1:0.fileName = "CentOS DVD-ROM ISO イメージ ファイルへのフルパス"
ide1:0.autodetect = "TRUE"

このようにすることで VMware Player でこの環境を起動した時、CentOS DVD-ROM の ISO イメージがマウントされる。PC の DVD ドライブに CentOS のインストール用 DVD を入れた状態をイメージすると理解しやすいだろう。

書き換えが終わりファイルを保存したら VMware Player を起動。メイン メニューから「ファイル」→「仮想マシンを開く...」を選びファイル ダイアログから CentOS5.vmx を開く。VMware Player と .vmx ファイルが関連付いているならば CentOS5.vmx を Explorer 上でダブルクリックしてもよい。

CentOS5.vmx が読み込まれると VMware Player のウィンドウ内に仮想マシンが起ち上がりインストールが開始される。開始前は BIOS 風 (BIOS そのものかも?) だが CentOS のインストーラは普通の GUI で日本語化もされているため特に戸惑う事はないだろう。

因みに VMware Player のウィンドウ内でマウスやキーボード操作を有効にしたいならウィンドウ内をクリックするかキーボードから Ctrl + G を押す。Windows に操作を戻す場合は Ctrl + Alt となるので慣れておこう。

インストールが終わると最後に DVD を抜いて再起動せよと表示される。しかしここではひとまず VMware Player を終了させる。そして 再び CentOS5.vmx をテキストエディタで開き

# Settings for physical CDROM drive
ide1:0.present = "TRUE"
ide1:0.deviceType = "cdrom-raw"
ide1:0.startConnected = "TRUE"
ide1:0.fileName = "auto detect"
ide1:0.autodetect = "TRUE"

内容を元に戻す。

このように変更したら VMware Player を起動して CentOS5.vmx を読み込ませる。すると前回 VMware Player を終了した状態、つまり CentOS インストールの最後の状態になっているので再起動ボタンを押す。

VMware Player 内で CentOS が再起動されると、OS の初期設定ウィザードとなる。時刻以外、特に変更するところはないと思う。一通りの設定を終えると、ようやく CentOS のデスクトップが表示される。

これにてインストール作業は終了。

5. CentOS の解像度を変更する

2010/12/23 本項に書かれている方法より VMware Tools をインストールしたほうが柔軟に設定可能。次項にその方法を書く。本項は記録として残すが、できれば読み飛ばしてほしい。

CentOS を起動すると画面のコンパクトさに面食らうかもしれない。

VMware Player のウィンドウを広げても元に戻ってしまう (ウィンドウサイズは仮想マシン内の画面サイズに連動する) し標準で選べる解像度は 800x600 と 640x480 だけなのでモバイル以外では操作しにくい広さ。そこで解像度の候補を増やすわけだが、これが実に面倒でかなり手こずった。以下に手順を記録しておく。私はデスクトップに GNOME を指定しているので、それ用の手順となる。

まず CentOS の画面上部のメニューから「アプリケーション」→「アクセサリ」→「GNOME 端末」を選んでターミナルを起動して以下のようにコマンドを実行してゆく。

  1. su -
  2. パスワードを求められるので CentOS インストール時に設定した管理者用パスワードを入力して Enter
  3. コンソールが [root@localhost ~] # になる
  4. cd /etc/X11
  5. コンソールが [root@localhost X11] # になる
  6. vi xorg.conf
  7. vi というテキスト エディタで xorg.conf が開かれる

vi の操作については以下を参照のこと。かなり独特なエディタなので、編集には少々 (?) 慣れが必要。

vi で xorg.conf を見てゆくと、以下のような箇所がある。

Section "Screen"
    Identifier  "Screen0"
    Device  "Videocard0"
    Monitor "Monitor0"
    DefaultDepth    24
    SubSection "Display"
        Viewport 0 0
        Depth 24
        Modes "800x600" "640x480"
    EndSubSection

この中の Models という部分が解像度リストに対応しているので以下のように書き換える。

Section "Screen"
    Identifier  "Screen0"
    Device  "Videocard0"
    Monitor "Monitor0"
    DefaultDepth    24
    SubSection "Display"
        Viewport 0 0
        Depth 24
        Modes ”1024x768” "800x600" "640x480"
    EndSubSection

そして Esc で vi をコマンドモードに戻し :wq でファイルを保存 & 終了してから CentOS を再起動。再起動したら CentOS のメニューから「システム」→「設定」→「画面の解像度」を選び、解像度リストをみると 1024x768 が選択できるようになっているはずなので選ぶ。

すると CentOS の画面が拡大され、VMware Player のウィンドウも連動して大きくなる。

大きい事は良い事だ

6. VMware Tools をインストールする

VMware Player はホストとゲストのやりとりやゲスト OS 上の操作を便利にするためのツールとして VMware Tools というものを用意している。

この記事を書いた後に知ってインストールしたのだが、このツールについての追記をおこなうのを忘れていた。ちょうど 2010/12/23 に新しい PC へ VMware Player + CentOS をセットアップする機会があったのと現在でもこの記事へのアクセス数が結構あるので追補編として本項を書く

VMware Tools の入手方法だが現在は VMware Player 上からインストール可能。

この記事を書いた当時の内容は間違っており、そのままでは以降の手順を実効すると CentOS 上にマウントされる VMware Tools の CD-ROM が Windows 版になってしまう可能性がある。現在は間違いを訂正し修正方法を追記したので、それをおこなったあとに試してほしい。

では VMware Tools のインストール手順に入る。

  1. VMware Player 上で CentOS にログイン
  2. VMware Player のメニューから「仮想マシン」→「VMware Tools のインストール」を選択
  3. CentOS 上で VMware Tools の CD-ROM がマウントされ、ディレクトリが開く →ちなみに実体は /media/VMware Tools
  4. ディレクトリ内にある VMwareTools-8.4.5-324285.tar.gz をユーザーのホームにコピー →バージョンによって名前が変わっているかもしれない
  5. ターミナルを起動

ここからターミナル上で作業する。以下のようにコマンドを実行してゆく。

$ cd
$ tar zxvf VMwareTools-8.4.5-324285.tar.gz
$ cd vmware-tools-distrib/
$ su
# ./vmware-install.pl

これでセットアップが開始される。何度か質問がおこなわれるが、通常は Enter を押してゆくだけでよい。完了したら CentOS を再起動する。すると様々なツールが自動的に更新されてゆく。

CentOS にログインしてみると画面サイズは VMware Player のウィンドウサイズに応じて自動的に変更されマウスカーソルもホストの Windows とゲストの CentOS 間で自動的に切り替わる。導入前とは使い勝手に天と地の差がある。

ついでにOS のアップデート手順も書いておく。これもターミナル上でおこなう。CentOS を利用するユーザーなら知っているかもしれないが、このページではじめて CentOS や Linux に触れる方もいるかもしれないので念のため。

$ su
# yum update

アップデート候補が大量に表示されてびっくりするかもしれない。途中、なんどか質問があるので画面の指示どおりに進めてゆく。これが面倒なら yum -y update とすることでアップデートがすべてインストールされる。

7. TeraTerm で CentOS に接続

まずは TeraTerm の入手とインストールを行っておく。

次に CentOS のメニューから、「アプリケーション」→「アクセサリ」→「GNOME 端末」を選んでターミナルを起動し以下のコマンドを実行してゆく。

  1. su -
  2. パスワードを求められるので、CentOS インストール時に設定した管理者用パスワードを入力して Enter
  3. コンソールが [root@localhost ~] # になる
  4. ifconfig

IP 情報などが表示されるので Link ecap:Ethernetinet addr にある IP アドレスをメモっておく。

次に TeraTerm を起動する。新しい接続先ダイアログのホスト欄にメモっておいた IP アドレスを指定して OK ボタンを押す。すると SSH 認証に移行するのでユーザー名とパス フレーズに CentOS 上で作成されているユーザー名とパスを指定して OK ボタンを押す。

ログインに成功すれば TeraTerm 上で CentOS に対して操作できる。