谷本 心 in せろ部屋 このページをアンテナに追加 RSSフィード

2009-08-31

[][]VirtualBox + Ubuntu JeOSのインストール後にやること・改

VirtualBox + Ubuntu JeOSのインストール後にやることの改版。

NATじゃなくて、Host-only Adapterを使うようにする。


まずインストールする時に、ネットワークアダプターを1枚追加しておく。

1枚目はデフォルトの「NAT」のままで、2枚目は「Host-only Adapter」にする。

1枚目はインターネット接続用、2枚目はホストOSとの接続用にするため。


インストール完了後にログインしたら、表示メッセージの文字化け対策のために、

VirtualBoxのコンソールでは英語、Telnet/SSH経由の時には日本語にする。

$ vi .bashrc

一番下に追加。

 case $TERM in
     linux) LANG=C ;;
     *) LANG=ja_JP.UTF-8 ;;
 esac

$ source .bashrc


apt-getの更新と、Telnetサーバを導入。

$ sudo -s

# apt-get update

# apt-get upgrade

# apt-get install telnetd inetutils-inetd

# /etc/init.d/inetutils-inetd restart


さらにホストOSから接続できるようにする。

# vi /etc/network/interfaces

以下を追加。

auto eth1
iface eth1 inet static
    address 192.168.56.110
    netmask 255.255.255.0
    network 192.168.56.0
    broadcast 192.168.56.255

# ifup eth1

IPに192.168.56.110を指定してるが、101以降なら何でもいい。

ここまでで、ホストOSからTelnetできるはず。


ホストマシン以外からのTelnetアクセスを禁止したい場合は、hostsで設定する。

# vi /etc/hosts.deny

以下の一行を追加。

in.telnetd: ALL

# vi /etc/hosts.allow

以下の一行を追加。192.168.56.1というのがゲストからみたホストのIP

in.telnetd: 192.168.56.1

後は必要に応じて、共有ディスクの設定などすると良い。

http://d.hatena.ne.jp/cero-t/20090324/1237911229

2009-05-01

[][]ホストオンリーネットワークDHCPより静的IP指定の方がいい。

ホストオンリーネットワークを試す では、DHCPでアドレスを指定したけど

アドレスは固定になっていた方が、TelnetFTPの設定の都合上、便利。

ということで、設定を変えてみた。

$ sudo vi /etc/network/interfaces

末尾に追加するのは、こっち。

auto eth1
iface eth1 inet static
    address 192.168.56.110
    netmask 255.255.255.0
    network 192.168.56.0
    broadcast 192.168.56.255

IPに192.168.56.110を指定してるけど、101以降なら何でもいい。

2009-04-14

[][]ホストオンリーネットワークを試す。

VirtualBox 2.2.0の新機能であるHost-Only Networkを試してみた。

NATだとホスト→ゲストにアクセスするために、コマンドプロンプトから

フォワード用のコマンド(VBoxManage setextradata)を叩く必要があったけど、

ホストオンリーネットワークを使えば、そんなことをする必要がなくなる。


とりあえずホストオンリーネットワーク用のNICを追加すると良い。

  1. VirtualBoxの仮想マシン設定画面の「ネットワーク」を開く。
  2. 今まで使ってないネットワークアダプタ(「アダプタ2」とか)を選ぶ
  3. ネットワーク アダプタを有効化」にチェックを入れる
  4. 割り当てで「ホストオンリー ネットワーク」を選ぶ

これでOK。


仮想マシン起動後、NICが認識されたかを確認する。

sudo ifconfig -a

これで今回追加したNICが認識されているかどうかを確認する。

今回追加したのが2枚目だったら、eth0とeth1があればOK。


あとはeth1にDHCPIPアドレスを割り当てるだけ。

sudo vi /etc/network/interfaces

末尾に追加

auto eth1
iface eth1 inet dhcp

これで仮想マシンを再起動すれば、きちんと認識されているはず。


ホストからゲストに対してtelnetなんかでアクセスしたい場合には

eth1側のIPアドレスに対してアクセスしてやれば、問題なく繋がる。


↓続き。

ホストオンリーネットワークはDHCPより静的IP指定の方がいい。

[]OracleXEでSQL*plusを動かす方法

VirtualBox + Ubuntu JeOS上に、OracleXEをセットアップ。

で、SQL*Plusを使うための設定を書き忘れていたので追記。


まずはnls_lang.shを修正。

$ sudo vi /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/nls_lang.sh

108行目付近を修正。

if [[ -n "$LC_ALL" ]]; then
↓
if [ -n "$LC_ALL" ]; then

elif [[ -n "$LANG" ]]; then
↓
elif [ -n "$LANG" ]; then

oracle環境設定用のシェルを.bashrcに書いておく。

$ vi .bashrc

末尾に追加

. /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh

$ source .bashrc

これでsqlplusとコマンドを打って、SQL*Plusが立ち上がれば成功。

2009-04-07

[][]VirtualBox + Ubuntu JeOS上に、OracleXEをセットアップ。

Ubuntu JeOS上への、Oracleのセットアップ手順のメモ。

まず、仮想マシン作成時の割り当ては、大体こんな感じ。

  • メモリ : 512MB
  • HDD : 8GB(可変ストレージ)

インストールを「ディスクのパーティショニング」まで進めたら

スワップ領域にメモリの2倍の領域を与える。

上の通りに割り当てた場合は、↓な感じで設定。

  1. 「SCSI1 (0,0,0) (sda) - 8.6 GB ATA VBOX HARDDISK」を選んでEnter。
  2. 「はい」
  3. 「基/論 8.6GB 空き領域」を選んでEnter。
  4. 「新しいパーティションの作成」
  5. 「7.4 GB」(デフォルトは「8.6GB」)
  6. 「基本パーティション」
  7. 「先頭」
  8. 「戻る」
  9. 「基/論 1.2GB 空き領域」を選んでEnter。
  10. 「新しいパーティションの作成」
  11. 「1.2 GB」(デフォルトのまま)
  12. 「論理パーティション」
  13. 「利用方法」を「スワップ領域」に変更。
  14. 「パーティションのセットアップを終了」

インストールが終わったら、例によって↓を行う。

VirtualBox + Ubuntu JeOSのインストール後にやること。 - 谷本 心 in せろ部屋


終わったら、Oracle 10g XEのインストール

Oracle 10g XEをapt-getするために必要なファイルを取ってくる。

$ sudo vi /etc/apt/sources.list

末尾に追加

deb http://oss.oracle.com/debian unstable main non-free

$ sudo apt-get install wget

$ wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | sudo apt-key add -

$ sudo apt-get update

これで「sudo apt-cache search -n oracle」すれば、

oracle-xe関連のパッケージが3つ見つかるはず。


例によって、はりきってインストール

$ sudo apt-get install oracle-xe-universal


インストールが終わったら、促される通りに設定。

$ sudo /etc/init.d/oracle-xe configure

途中でいくつか質問されるけど、お好みで。

特にOracle管理用のWebアプリで使うポート番号がデフォルトで8080なので

Tomcatと被っちゃってイヤンって人は、ここで別のポートを指定すること。


''2009/04/14追記''

sqlplusを使うための設定を忘れていたので、追記しました。

http://d.hatena.ne.jp/cero-t/20090414/1239714773


エンコードをUTF-8からShift-JISに変えたい場合とかは

ここから大変な作業が待ってるので、いったん割愛。

そのうち気が向いたら書くかも知れません。

2009-03-24

[][]VirtualBox + UbuntuFTPで問題。

VirtualBox + Ubuntuの環境で、FTPによるファイル転送が正常に行えなくなった。

ホストのWindows(FFFTP)からゲストのUbuntuにファイルを転送したら、なぜかファイルが壊れてしまう。

1.5MB程度のファイルなのだが、何度ファイルをアップロードしても、

元のファイルサイズより数KB小さくなってしまった。しかも毎回ファイルサイズが違う。


環境は、WindowsXP SP3上のVirtualBox 2.1.2 + Ubuntu JeOS 8.0.4-1で、

問題の原因は明確にはしていないけど、

FTPdにはvsftpdにしてもproftpdにしても結果は変わらなかった。


Ramdiskの問題も疑ったが、SSD上のデータを転送しても症状は変わらず。

結局、FTPでファイルを正常に転送することはできなくなった。

[][]VirtualBox + Ubuntuで「共有ディスク」を使う。

FTPが使えなかったので、共有ディスクに挑戦してみた。

これは、ホストマシンのドライブやディレクトリを、仮想マシン側のOSにマウントできるというもの。

FTPなど使わなくて良いので非常に便利なので、使い方をメモしておく。


共有ディレクトリを使うためには、まずVirtualBoxの「Guest Additions」という

機能をインストールする必要がある。

そのために、まずは仮想マシン側のOS(今回はUbuntu JeOS 8.0.4-1)を立ち上げて、

コンソールのメニューバーから「デバイス」−「Guest Additions のインストール」を選ぶ。


これで、仮想マシンの「/dev/cdrom」にGuest Additionsの

インストール媒体(CDイメージ)がマウントされるので、そこからインストールを行う。

sudo mount -t iso9660 /dev/cdrom /media/cdrom


と、ここで、いきなりインストーラ(VBoxLinuxAdditions-x86.run)を走らせると、

やれカーネルヘッダがないだの、makeやgccがないだの怒られるので、インストールする。


カーネルヘッダのバージョンを知らない場合は、unameコマンドで調べる。

uname -a

すると、こんな表示が出るはず。

Linux (ホスト名) 2.6.24-19-virtual #1 SMP Wed Jun 18 15:52:10 UTC 2008 i686

ここでは「2.6.24-19-virtual」がバージョン番号。

これでapt-cache searchしてみると良い。


sudo apt-cache search -n 2.6.24-19-virtual

いくつか候補がでてくるけど「linux-headers-2.6.24-19-virtual」というのが正解。

これと、gccとmakeをインストールしてやる。

sudo apt-get install make gcc linux-headers-2.6.24-19-virtual


これでGuest Additionsをインストールするための準備は完了。

はりきってインストールする。はりきるのがコツ。

sudo /media/cdrom/VBoxLinuxAdditions-x86.run kernel-module vfs-module control

VBoxLinuxAdditions-x86.runを普通に実行すると、

X Windowがないゼみたいなエラーが出て若干気持ち悪いので(別に害はないんだけど)

上に書いた通りの引数を指定して、必要なものだけインストールする。


ここまでできたら、いったん仮想マシン側のOSをシャットダウン。

そして、VirtualBoxの仮想マシンの設定で「共有フォルダ」を選択。


「新規共有フォルダ」を選択して、

「フォルダのパス」に、ホストOS側の任意のドライブ、

「フォルダ名」に、ゲストOS側から参照したい名前にする。


たとえば僕はGavotteで作ったRamdiskを共有したかったので、

「フォルダのパス」に、「R:\」と入力して、

「フォルダ名」に「ramdisk」と入力して作成した。


これで準備は完了。仮想マシン側のOSを立ち上げる。

OSが立ち上がったら、共有ディスクをマウントしてやる。

sudo mkdir /pub

sudo mount -t vboxsf ramdisk /pub

これで、「/pub」がホストOSの「R:\」を参照することになる。

非常に便利。


ただ、Ramdiskが悪いのか、共有ディスクが悪いのか、

この/pubにかなりの頻度での書き込み(大量のログ出力)を行ったら

なぜかデータの一部が壊れてしまった。


普通に書き込んだり、コピーしたりする分には全く差し支えないんだけど、

頻繁なアクセスは控えた方が良いのかも知れない。

これも原因の切り分けなどができたら、またお知らせします。


''2009/09/05追記''

起動時に自動マウントするよう、以下を行っておくと良いでしょう。

sudo vi /etc/fstab

以下を追記。

ramdisk /pub vboxsf rw,noauto 0 0

もちろんramdiskは共有フォルダ名、/pubは共有フォルダにしたいゲスト側のフォルダ名。


sudo vi /etc/rc.local

以下を追記

mount ramdisk