vmware上のdebianにoracleを入れようとしてswapで詰まる

OracleXEのダウンロード頁を見ていて、.debなパッケージがあることに気がついた。
え?
Debianに入るの?
で、Web上で探してみるとスゲェ情報が!
早速、手元のvmwareに入れてみる。/etc/apt/sources.listに以下を追加する


echo "deb http://oss.oracle.com/debian/ unstable main non-free" >> /etc/apt/sources.list
echo "deb-src http://oss.oracle.com/debian/ unstable main" >> /etc/apt/sources.list
apt-get install oracle-xe-universal
あとは、ひたすら待つ。ダウンロード終了まで2時間ぐらいかかった気がする。
apt-getの途中で失敗する、どうやら仮想メモリが足りない、らしいとかいう感じのエラーが出ている。
そうか、じゃあ、swap領域を増やそうか、とここで、ちょっと考える。
Linux仮想メモリWindowsのそれと違って「一つのパーティション」を消費する。
拡張したいと思ったときHDDに空き領域がなければアウトである。
普通はHDDのパーティションを泣く泣く切り直すか、ディスク増設するかとなる、
が、しかし、これはvmware、しかも、duやdmesgを見るとhda(hdd)とhdb(cdrom)しか使っていない。
つまり、別の仮想ディスク(*.vmdk)を、IDEポートが許す限り積むことができる(と思った)
やりたいことはこれだ
現状は、/dev/hdaにしかHDD(ファイル名:debian.vmdk)がつながっていない
この状態に、/dev/hdcに増設ディスク(ファイル名:debian_ext.vmdk)をつけたい
まずは、ディスク作成、Qemu-img.exeを使って

qemu-img.exe create -f vmdk .\debian_ext.vmdk 5G
こうして、増設ディスクdebian_ext.vmdkが作成される。
あとは、これを/dev/hdcに増設して、スワップ領域を取り出してゆく。
ここで、LinuxIDE接続をおさらいすると
プライマリセカンダリ
マスタ/dev/hda/dev/hdc
スレーブ/dev/hdb/dev/hdd
という感じなので、vmware側のディスクの設定ファイル(debian.vmx)では

ide0:0.present = "TRUE"
ide0:0.deviceType = "disk"
ide0:0.mode = "persistent"
ide0:0.redo = ""
ide0:1.present = "TRUE"
(中略)
ide0:0.filename = "debian.vmdk"
ide0:0.startConnected = "TRUE"
ide0:1.deviceType = "cdrom-raw"
ide0:1.autodetect = "TRUE"
ide0:1.startConnected = "TRUE"
と、あるので、恐らく、
ide0.0=プライマリマスタ、ide0.1=プライマリスレーブ、
ide1.0=セカンダリマスタ、ide1.1=セカンダリスレーブ
ということだろう、なので、以下のように追記する

ide0:0.present = "TRUE"
ide0:0.deviceType = "disk"
ide0:0.mode = "persistent"
ide0:0.redo = ""
ide0:1.present = "TRUE"
# 追加ディスクを起動時に有効に
ide1:0.present = "TRUE"
ide1:0.deviceType = "disk"
ide1:0.mode = "persistent"
ide1:0.redo = ""
(中略)
ide0:0.filename = "debian.vmdk"
ide0:0.startConnected = "TRUE"
ide0:1.deviceType = "cdrom-raw"
ide0:1.autodetect = "TRUE"
ide0:1.startConnected = "TRUE"
# 追加ディスクの設定
ide1:0.filename = "debian_ext.vmdk"
ide1:0.startConnected = "TRUE"
で、vmware上のdebianを再起動する。

dmesg | grep /dev/hdc
として、/dev/hdcとしてディスクが認識されていることを確認する(認識されていなければ.vmx設定のやり直し)
うまく認識できたみたいなので、あとは、増設ディスク側(/dev/hdc=debian_ext.vmdk)からスワップパーティションを作る

fdisk /dev/hdc
command(m help):
p ← 現在のパーティションを見る
n ← 新しいパーティションを作成
p ← 基本領域を作る
1 ← 1個目のパーティション(/dev/hdc1)を作る
1 ← シリンダの開始位置、最初だから1
+700M ← パーティションの終了位置、これはMBサイズでの指定の仕方
p ← 現在のパーティション情報を見る(この時点ではまだパーティションはできていない)
w ← 作成したパーティション情報を実際にディスクに書き込む
/dev/hdc1に700MBの領域を用意したのでスワップ領域として使うために準備する

mkswap /dev/hdc1
swaponを使うことで全てのスワップ領域がシステムに組み込まれます。

swapon -a
実際にスワップ領域として稼動しているか確認する

swapon -s
Filename Type Size Used Priority
/dev/hda5 partition 377488 384 -1
/dev/hdc1 partition 732776 0 -2
しばらく使ってみて、問題がなさそうなら、fstabに追記しておくこと
こうして、インストールを再開する事ができた。

apt-get install oracle-xe-universal
インストール終了後、無事、sqlplusからsysアカウントで接続することができた。
たいしたことはしていないのだが、少し嬉しい。