VirtualBox 4.1.4 でゲスト OS として CentOS 5.7 をセットアップした時のメモ。
O S | WindowsXP SP3 |
---|---|
CPU | Intel Core2 Duo U7600 @1.20GHz |
MEM | 2.5 GB |
HDD | 120 GB |
今回は sourceforge で公開されている VirtualBox の ディスクイメージ(*.vdi) を利用します。
http://sourceforge.jp/projects/sfnet_virtualboximage/releases/
CentOS > 5.7 > CentOS-5.7-i386.7z
コンソールでログインする際の username と password です。
username | root |
---|---|
password | reverse |
ダウンロードしてきたイメージは、MAC アドレスが自分の環境に合っていないので、そのままでは外に出て行けません。
※ ifconfig コマンドで確認しても ループバックの設定しか見えません。
# ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:560 (560.0 b) TX bytes:560 (560.0 b)
ifconfig -a とすると、eth0 の項目が出現しますが、
/etc/sysconfig/network-scripts/ifcfg-eth0 の MAC アドレスの設定が正しくないので正常に認識されません。
# ifconfig -a eth0 Link encap:Ethernet HWaddr ●:●:●:●:●:● BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:560 (560.0 b) TX bytes:560 (560.0 b)
/etc/sysconfig/network-scripts/ifcfg-eth0 の「HWADDR」を
ifconfig -a で表示される MAC アドレスに書き換えて、最後にネットワーク設定をリロードします。
# vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=dhcp HWADDR=xx:xx:xx:xx:xx:xx # ← ifconfig -a で表示される正しい MAC アドレスに書き換える ONBOOT=yes DHCP_HOSTNAME=centos57
# /etc/init.d/network reload Shutting down interface eth0: [ OK ] Shutting down loopback interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: Determining IP information for eth0... done. [ OK ]
# ping google.co.jp PING google.co.jp (74.125.31.99) 56(84) bytes of data. 64 bytes from tb-in-f99.1e100.net (74.125.31.99): icmp_seq=1 ttl=41 time=55.0 ms 64 bytes from tb-in-f99.1e100.net (74.125.31.99): icmp_seq=2 ttl=41 time=61.0 ms 64 bytes from tb-in-f99.1e100.net (74.125.31.99): icmp_seq=3 ttl=41 time=58.7 ms
ホスト OS から ssh で VirtualBox の CentOS に接続する
ネットワーク > アダプタ1 > 【ポートフォワーディング】 |
---|
右上にある赤枠の「新規ルールを追加」をクリックし、以下のように設定します。
名前 | Rule 1 |
---|---|
プロトコル | TCP |
ホストポート | 5757 |
ゲストポート | 22 |
* ※ホストポート:5757 は「Well Known Ports」でない1024以上の使われていないポートであれば何でもOKです。
CenOS を起動し、ホストOS のターミナル(PuTTY や Tera Term)から ssh ログインします。
% ssh root@localhost -p 5757 root@localhost's password:
ダウンロードしたイメージは、海外で作成されたようで、yum レポジトリのドメインが国内ではありません。
このままでは、パッケージのダウンロードに時間がかかってしまうので、国内のレポジトリに変更します。
今回は、 理化学研究所(通称 理研) のレポジトリに変更します。
mirrorlist と baseurl をコメントアウトして、下記のように各セクションに適した ftp の URL を記述します。
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/{os,updates,extras,centosplus,contrib}/$basearch/
[base] の場合
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/os/$basearch/
$ sudo vi /etc/yum.repos.d/CentOS-Base.repo # CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] name=CentOS-$releasever - Base #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ baseurl=http://ftp.riken.jp/Linux/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 #released updates [updates] name=CentOS-$releasever - Updates #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ baseurl=http://ftp.riken.jp/Linux/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ baseurl=http://ftp.riken.jp/Linux/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ baseurl=http://ftp.riken.jp/Linux/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 #contrib - packages by Centos Users [contrib] name=CentOS-$releasever - Contrib #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib #baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/ baseurl=http://ftp.riken.jp/Linux/centos/$releasever/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
USBメモリ等のUSBデバイスを利用するためにはゲストOSで「USB2.0」を利用可能にする必要があります。
「USB2.0」を利用には VirtualBox に「extension pack」をインストールしなければなりません。
なお、「extension pack」をインストールしていない場合、 USB 2.0 (EHCI)コントローラを有効化 にチェックしても下記のような警告が出て、「USB2.0」の利用が出来ません。
上記手順を行った後、ゲストOSを起動してUSBデバイスを接続すれば、ゲストOSでUSBデバイスを利用可能になります。
今回はゲストOSとしてWindows系OSを立ち上げてUSBメモリを接続しましたが、問題なく認識しました。
以下は、ホスト OS が WinXP で、ゲストOS が Win7 の環境で動作確認しました。
ホスト OS WinXP に、_SHARE という名前のフォルダを作り、そのフォルダを右クリックして、共有の設定を行います。
具体的には、「ネットワーク上でこのフォルダを共有する」にチェックします。
次に、ゲスト OS Win7 の エクスプローラーから下記にアクセスすると、データ共有ができます。
\\10.0.2.2\_share
% sudo mv /etc/localtime /etc/localtime.orig % sudo ln -s /usr/share/zoneinfo/Japan /etc/localtime