2012年05月13日

vmware 4.0.2 on fedora 16 (kernel 3.x)

XP のライセンスが余っているので、
自分の家のfedora 16 64bitの上のvmplayerに載っけてる。
本当はvmware serverとかに載せたかったけどそもそももう
メンテ切れらしくて、linuxにはのらない

playerをいれたときにだいぶ苦しんだので一応メモ

Fedora 16の kernelは 3.2.6 に上がってた。
VMPlayer 4.0.2を導入しようとしたところ、

普通にGnome のデスクトップでアイコンクリックしたらすぐ消える。
しゃあないので、
# vmware-modconfig
を手動でやると、 gtkのエラーがでまくる。

リモートsshで vmware-modconfig 打ってみたら(無理だろうとおもったが)
なぜかうまくうごくっぽいので、
# vmware-modconfig --console --install-all
(↑リモートでvmxxx.tarをコンパイルできるとは知らなかったが)
でやってみたら、

CC [M] /tmp/vmware-root/modules/vmmon-only/linux/driver.o
/tmp/vmware-root/modules/vmmon-only/linux/driver.c:40: fatal error: linux/smp_lock.h: No such file or directory
compilation terminated.

smp_lock.h というのは2.6.xxまでだったらしいので、
該当箇所をIFDEFでコメントアウトしてもうまくいかず。
(別のところでコンパイルエラー)

そういえば前もvmware 3.0くらいのときに悩んだとき
vmxxx.tarのパッチがあったなぁと思ってた所、

http://weltall.heliohost.org/wordpress/2012/01/26/vmware-workstation-8-0-2-player-4-0-2-fix-for-linux-kernel-3-2-and-3-3/

やっぱりパッチを作ってくれてた人がいた。

vmware802fixlinux320.tar.gz
このパッチをありがたくいただくことにした。

# patch-modules_3.2.0.sh

(中略)

Built vsock module
Starting vmware (via systemctl): Job failed. See system logs and 'systemctl status' for details.
[失敗]
Unable to start services

あれ?コンパイルまでは通るのに起動で失敗する。
もっかい /etc/init.d/vmware うっても同じ。

/var/log/messageを見ると、

Feb 19 21:29:59 shun vmware[14619]: Starting VMware services:
Feb 19 21:29:59 shun vmware[14619]: Virtual machine monitor[失敗]
Feb 19 21:29:59 shun vmware[14619]: Virtual machine communication interface[ OK ]
Feb 19 21:29:59 shun vmware[14619]: VM communication interface socket family[ OK ]
Feb 19 21:29:59 shun vmware[14619]: Blocking file system[ OK ]
Feb 19 21:29:59 shun vmware[14619]: Virtual ethernet[失敗]
Feb 19 21:29:59 shun vmware[14619]: VMware Authentication Daemon[ OK ]
Feb 19 21:29:59 shun systemd[1]: vmware.service: control process exited, code=exited status=1
Feb 19 21:29:59 shun systemd[1]: Unit vmware.service entered failed state.

virtual ethenet の起動で失敗してるらしい。
確かに、ifconfigで、vmnetXがでてこない。

途方にくれていたところ、

http://www.mail-archive.com/vine-users@linux.or.jp/msg00082.html

# LANG=C /etc/rc.d/init.d/vmware stop
# LANG=C /usr/bin/vmware-networks --stop
# LANG=C /etc/rc.d/init.d/vmware start
# LANG=C /usr/bin/vmware-networks --start

/usr/bin/vmware-networks というコマンドがあるらしい。
これを stop/start してみると、

Feb 19 21:30:28 shun vmnetBridge: Bridge process created.
Feb 19 21:30:28 shun vmnetBridge: RTM_NEWLINK: name:p9p1 index:2 flags:0x00011043
Feb 19 21:30:28 shun vmnetBridge: Adding interface p9p1 index:2
Feb 19 21:30:28 shun vmnetBridge: Started bridge p9p1 to virtual network 0.
Feb 19 21:30:28 shun vmnetBridge: RTM_NEWROUTE: index:2
Feb 19 21:30:29 shun avahi-daemon[916]: Joining mDNS multicast group on interface vmnet1.IPv4 with address 192.168.109.1.
Feb 19 21:30:29 shun avahi-daemon[916]: New relevant interface vmnet1.IPv4 for mDNS.
Feb 19 21:30:29 shun avahi-daemon[916]: Registering new address record for 192.168.109.1 on vmnet1.IPv4.
Feb 19 21:30:29 shun vmnet-dhcpd: Internet Software Consortium DHCP Server 2.0
Feb 19 21:30:29 shun vmnet-dhcpd: Copyright 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium.
Feb 19 21:30:29 shun vmnet-dhcpd: All rights reserved.
Feb 19 21:30:29 shun vmnet-dhcpd:
Feb 19 21:30:29 shun vmnet-dhcpd: Please contribute if you find this software useful.
Feb 19 21:30:29 shun vmnet-dhcpd: For info, please visit http://www.isc.org/dhcp-contrib.html
Feb 19 21:30:29 shun vmnet-dhcpd:
Feb 19 21:30:29 shun NetworkManager[902]: /sys/devices/virtual/net/vmnet1: couldn't determine device driver; ignoring...
Feb 19 21:30:29 shun NetworkManager[902]: NetworkManager[902]: /sys/devices/virtual/net/vmnet1: couldn't determine device driver; ignoring...
Feb 19 21:30:30 shun vmnet-dhcpd: Configured subnet: 192.168.109.0
Feb 19 21:30:30 shun vmnet-dhcpd: Setting vmnet-dhcp IP address: 192.168.109.254
Feb 19 21:30:30 shun vmnet-dhcpd: Recving on VNet/vmnet1/192.168.109.0
Feb 19 21:30:30 shun vmnet-dhcpd: Sending on VNet/vmnet1/192.168.109.0
Feb 19 21:30:30 shun vmnet-natd: RTM_NEWLINK: name:p9p1 index:2 flags:0x00011043
Feb 19 21:30:30 shun vmnet-natd: RTM_NEWROUTE: index:2
Feb 19 21:30:30 shun vmnet-natd: RTM_NEWADDR: index:2, addr:192.168.116.13
Feb 19 21:30:30 shun kernel: [28463.749726] userif-15: sent link down event.
Feb 19 21:30:30 shun kernel: [28463.749733] userif-15: sent link up event.
Feb 19 21:30:30 shun avahi-daemon[916]: Joining mDNS multicast group on interface vmnet8.IPv4 with address 172.16.115.1.
Feb 19 21:30:30 shun avahi-daemon[916]: New relevant interface vmnet8.IPv4 for mDNS.
Feb 19 21:30:30 shun avahi-daemon[916]: Registering new address record for 172.16.115.1 on vmnet8.IPv4.
Feb 19 21:30:30 shun NetworkManager[902]: /sys/devices/virtual/net/vmnet8: couldn't determine device driver; ignoring...
Feb 19 21:30:30 shun NetworkManager[902]: NetworkManager[902]: /sys/devices/virtual/net/vmnet8: couldn't determine device driver; ignoring...


何か認識したっぽい。

[root@shun Downloads]# 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:36344 errors:0 dropped:0 overruns:0 frame:0
TX packets:36344 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:32838636 (31.3 MiB) TX bytes:32838636 (31.3 MiB)

p9p1 Link encap:Ethernet HWaddr 00:1F:E2:0F:51:50
inet addr:192.168.116.13 Bcast:192.168.116.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:476534 errors:0 dropped:0 overruns:0 frame:0
TX packets:560761 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:566643039 (540.3 MiB) TX bytes:478757396 (456.5 MiB)
Interrupt:43 Base address:0xe000

vmnet1 Link encap:Ethernet HWaddr 00:50:56:C0:00:01
inet addr:192.168.109.1 Bcast:192.168.109.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

vmnet8 Link encap:Ethernet HWaddr 00:50:56:C0:00:08
inet addr:172.16.115.1 Bcast:172.16.115.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)


おお、出た出た。
これでXP起動した。めでたしめでたし。

カーネルモジュールなので、カーネルアップデート掛かったときは
vmware-modconfig --console --install-all
で、カーネルモジュールを入れ替えたあと、
vmware-networks で、vmnet Xを手動で起動する。
もしくは/etc/init.d/vmware restart
でサービス再起動

という手順を踏む必要がありそう。

(ちなみに2.6.xx系までは r8168 の r8169 の誤認識という結構有名名問題があって
 LANドライバのパッチを当てるっていうのがあったっけ)

一応、備忘録で。
posted by MCのひとたち at 19:01| Comment(0) | TrackBack(0) | linux

[Oracle 11g] vm上のfedora 16 に乗せてみる

vm上のfedora 16に64bit 11gを入れてみる。

VM上、64bitでも意外とホストマシンに影響は与えないみたい。
(まぁ、データもそんなに入ってないじゃなんともだけど。
 ホストはi5 2500/win7 64bit / 8Gメモリ、
 ゲストは fedora 16 64bit on VMWare 4.2 VM割り当て3G / 2コア。)

本来10gをいれようと思ったけど、x86のライブラリがあまりにも必要なので断念。
まぁ時代は11gなんですな。いい加減。
インストールも楽。足りないライブラリを逐次報告してくれるからね。

基本的には、RHELやCentosに入れるのと同じ。
(/etc/redhat-releaseを、RHELのものになりすましは必要だけど)
インストーラでは怒られるライブラリを入れる。
x86系のも求められるので、
# yum install glib-devel.i686
見たいな感じでインストールする。
ちなみに、linux.x64_11gR1_database_1013.zipを使用。

あー、でもそういえば一つつまったっけ。


INFO: make[1]: Entering directory `/u01/oracle/app/oracle/product/11.1.0/db_1/sysman/lib'

INFO: gcc -o /u01/oracle/app/oracle/product/11.1.0/db_1/sysman/lib/emagent -L/u01/oracle/app/oracle/product/11.1.0/db_1/lib/ -L/u01/oracle/app/oracle/product/11.1.0/db_1/sysman/lib/ -L/u01/oracle/app/oracle/product/11.1.0/db_1/lib/stubs/ `cat /u01/oracle/app/oracle/product/11.1.0/db_1/lib/sysliblist` -Wl,-rpath,/u01/oracle/app/oracle/product/11.1.0/db_1/lib -lm `cat /u01/oracle/app/oracle/product/11.1.0/db_1/lib/sysliblist` -ldl -lm -L/u01/oracle/app/oracle/product/11.1.0/db_1/lib -Wl,-export-dynamic /u
INFO: 01/oracle/app/oracle/product/11.1.0/db_1/sysman/lib/s0nmem.o -lclntsh -L/u01/oracle/app/oracle/product/11.1.0/db_1/lib -L/u01/oracle/app/oracle/product/11.1.0/db_1/sysman/lib/ -lnmemso -lcore11 -Wl,-rpath,/u01/oracle/app/oracle/product/11.1.0/db_1/lib/:/u01/oracle/app/oracle/product/11.1.0/db_1/sysman/lib/:/u01/oracle/app/oracle/product/11.1.0/db_1/jdk/jre/lib/amd64/server:/u01/oracle/app/oracle/product/11.1.0/db_1/jdk/jre/lib/amd64 -L/u01/oracle/app/oracle/product/11.1.0/db_1/jdk/jre/lib/amd64/server -L/u
INFO: 01/oracle/app/oracle/product/11.1.0/db_1/jdk/jre/lib/amd64 -z lazyload -ljava -ljvm -lverify -z nolazyload -Wl,-rpath,/u01/oracle/app/oracle/product/11.1.0/db_1/lib/:/u01/oracle/app/oracle/product/11.1.0/db_1/sysman/lib/:/u01/oracle/app/oracle/product/11.1.0/db_1/jdk/jre/lib/amd64/server:/u01/oracle/app/oracle/product/11.1.0/db_1/jdk/jre/lib/amd64 -Wl,--allow-shlib-undefined `cat /u01/oracle/app/oracle/product/11.1.0/db_1/lib/sysliblist` -ldl -lm -lpthread -lnsl -lm -ldl `cat /u01/oracle/app/oracle/prod
INFO: uct/11.1.0/db_1/lib/sysliblist` `cat /u01/oracle/app/oracle/product/11.1.0/db_1/lib/sysliblist` -ldl -lm -no_cpprt

INFO: gcc: error: unrecognized option '-no_cpprt'

INFO: make[1]: Leaving directory `/u01/oracle/app/oracle/product/11.1.0/db_1/sysman/lib'

INFO: make[1]: *** [/u01/oracle/app/oracle/product/11.1.0/db_1/sysman/lib/emagent] Error 1
make: *** [emagent] Error 2


これでビルドが止まった。

-no_cpprtはどうやら 32bit 版のgccでしか使えないoptionらしい。
32bit版gccはいれているはずなのだが、、ライブラリ参照順もあるのかな。
途方にくれるのもしょうがないので、
{ORACLE_HOME}/db_1/sysman/lib/env_emagent.mk
の、
-no_cpprt オプションがついている部分をはずす。

これでmakeは通った。
インスタンスも作ってくれるので楽。

まぁ、、、そのかわりチューニングはやってないからちゃんとやらないとね。
(そもそも個人の趣味範囲でやったことなのでそんなにいくこともないだろうが)

//////////////

でもって、sqldevelperを、いろんなマシンに入れてみる。
文字コードはJapanese_Japan.JA16SJISにしている。

windows 7は問題無し。まぁそりゃそうだ。
しかしfedora上 で久しぶりに豆腐を見た。。

OTNのページを参考にして解決。
https://forums.oracle.com/forums/thread.jspa?threadID=2213880
とかを。

# cd {JAVA_HOME}/jre/lib/fonts/
# mkdir fallback ; cd fallback
# ln -s /usr/share/fonts/vlgothic/VL-Gothic-Regular.ttf VL-Gothic-Regular.ttf

みたいな感じで、jreのフォントを日本語フォントにリンクすればOK
(vlgothicじゃなくても、sazanamiとかでも問題ないと思う。)


蛇足:
fedora 15から(gnome 3になって)、ノートパソコンのフタ閉めの設定がなくなってしまった。
寝る前とかにノートのフタ閉めをすると、せっかくエンコしている最中にサスペンド入る。。
これはムカツク。
ただ、本当にサスペンドしようとすると今度は逆にサスペンドしてくれなかったり。。

なんとなく最近わかってきたことが。

・勢いよくフタ閉め
 →サスペンドしない。
・慎重にすこしづつ閉める
 →サスペンドする。

#何回かこれでうまくいってるんだけど、ほんとに大丈夫かなぁ。。


もいっちょ蛇足:

よく忘れる、linuxコンソール上でのヒストリを有効にする方法
(上下ボタンで前のSQLを出す)

readline と rlwrap を使えばできる。
たぶんreadline は入ってるだろうから、

#yum install rlwrap
$rlwrap sqlplus user/pass@sid

でヒストリ有効。快適。
タグ:fedora oracle 11g
posted by MCのひとたち at 17:58| Comment(0) | TrackBack(0) | linux