VineLinuxはRedhat系列の中でも妙なコンフィグを行っている事で有名(?)だが、確かにそのままではOracle 10g Express Editionが動かない。

あれこれ試してみたところ、Kernelを再構築するだけでうまくいくようだ。

面倒なのでmkkpkgを使う。他にgcc、patch、rpmbuildなどが必要。rootになって

# mkkpkg kernel-2.4.31-0vl1.12.src.rpm

後は、mkkpkgが勝手にkernelのmake menuconfigやrpmbuildを手際よく実行してくれる。ついでにsourceのRPMも作っておくと良い。ここで、i686のconfigをロードしてKernel Hacking→Kernel DebuggingのMagic SysRq keyを有効にする。とりあえずはこれだけ。今回は0vl1.12oxeというカスタムカーネルを作成した。

出来上がった/usr/src/vine/RPMS/i386/kernel-2.4.31-0vl1.12oxe.i386.rpmを入れる。headerやsourceも入れておくと良い。最後にliloの設定をして再起動。

再起動後、普通にoracle-xe-univ-10.2.0.1-1.0.i386.rpmを入れる。libaioを要求されるが見当たらなかったのでCentOS3.6のRPMを入れた。

スワップが足りなければ適当な場所に追加のスワップを作る。

# dd if=/dev/zero of=/var/.swap bs=1000k count=512
# mkswap /var/.swap
# swapon /var/.swap

しかし・・・・DBファイルが/usr以下に作られるのがなんとも気に食わん。

# cd /usr/lib/oracle/xe/
# mkdir /var/oracle
# chown oracle:dba /var/oracle
# mv oradata /var/oracle
# ln -s /var/oracle/oradata

最初から/var/oracleを作って/usr/libにリンクを作っておくと良いかも知れん。