Nov 6, 2003 onlsbc1, Debian GNU/Linux 3.0 のシステムでのJavaRMIの実行 --- リモートマシンからの例題ソフトの実行 #6 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (http://www-online.kek.jp/~inoue/para-CAMAC/ Work/CAMAC-JavaRMI6.html) 高エネルギー加速器研究機構 素粒子原子核研究所 物理、オンライングループ 井上 栄二 目的 リモートマシン onlnote2 から、CC/NET上のSBCである onlsbc1 を ターゲットマシンとして、JavaRMIとJNIを使ったWebアプリケーションで CAMAC read/write を実行する。 onlsbc1 上で動作している OSは Debian GNU/Linux 3.0 である。 (1). 構成 (2). ソフトウェア (3). 実行 -------------------------------------------------------------------- (1). 構成 テストに使用するマシンは onlnote2 と onlsbc1 である。 マシン onlnote2 は Winodws XP が動作している。 Java1.4.1_02 である。 一方 onlsbc1 は、 アドバンテク社のSBC、PCM-9370である。 このSBCは、CAMACコントローラ上に 装着されている。 SBC上で動作している OSは Debian GNU/Linux 3.0 で、 コンパクトフラッシュ上に構成してある。 Javaのバージョンは1.4.2_01で ある。 (2). ソフトウェア リモートから CC/NETにアクセスして CAMAC実行を行うことができる Webアプリ ケーション例題プログラム、Web3を実行する。 (2-1). サーバ側、onlsbc1.kek.jp (2-1-1). Javaのチェック toyo@onlsbc1:~$ java -version java version "1.4.2_01" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_01-b06) Java HotSpot(TM) Client VM (build 1.4.2_01-b06, mixed mode) toyo@onlsbc1:~$ (2-1-2). 実行環境 toyo@onlsbc1:~$ env PWD=/home/toyo PS1=\u@\h:\w\$ USER=toyo LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:c d=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31: *.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:* .rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.png=01;35:*.gif=01;35:*.bmp=01 ;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.ti f=01;35:*.tiff=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35 :*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35: MAIL=/var/mail/toyo SSH_CLIENT=130.87.219.75 32814 22 LOGNAME=toyo SHLVL=1 SHELL=/bin/bash HOME=/home/toyo TERM=vt100 PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/java/bin SSH_TTY=/dev/pts/0 _=/usr/bin/env toyo@onlsbc1:~$ (2-1-3). ソフトウェア CAMAC-JavaRMI5.htmlで使用したソフトをそのまま実行してみる。 toyo@onlsbc1:~/public_html/Web$ pwd /home/toyo/public_html/Web toyo@onlsbc1:~/public_html/Web$ ls -l total 138 -rw-r--r-- 1 toyo toyo 206 Oct 23 08:33 Client.class -rw-r--r-- 1 toyo toyo 234 Jul 30 14:50 Client.java -rw-r--r-- 1 toyo toyo 3559 Oct 23 08:33 ClientImpl.class -rw-r--r-- 1 toyo toyo 17458 Jul 30 14:50 ClientImpl.java-bak -rw-r--r-- 1 toyo toyo 1735 Oct 23 08:33 ClientImpl_Skel.class -rw-r--r-- 1 toyo toyo 3140 Oct 23 08:33 ClientImpl_Stub.class -rw-r--r-- 1 toyo toyo 1604 Jul 30 14:50 Makefile -rw-r--r-- 1 toyo toyo 244 Oct 23 08:33 Server.class -rw-r--r-- 1 toyo toyo 298 Jul 30 14:50 Server.java -rw-r--r-- 1 toyo toyo 2616 Oct 23 08:33 ServerImpl.class -rw-r--r-- 1 toyo toyo 3394 Jul 30 14:50 ServerImpl.java -rw-r--r-- 1 toyo toyo 1956 Oct 23 08:33 ServerImpl_Skel.class -rw-r--r-- 1 toyo toyo 3510 Oct 23 08:33 ServerImpl_Stub.class -rw-r--r-- 1 toyo toyo 2617 Jul 30 14:50 cam.c -rw-r--r-- 1 toyo toyo 360 Oct 23 08:33 cam.class -rw-r--r-- 1 toyo toyo 414 Oct 23 08:33 cam.h -rw-r--r-- 1 toyo toyo 792 Jul 30 14:50 cam.java -rw-r--r-- 1 toyo toyo 13325 Jul 30 14:50 camac.c -rw-r--r-- 1 toyo toyo 9460 Oct 23 08:33 camac.o -rwxr-xr-x 1 toyo toyo 16157 Oct 23 08:33 libMyImpOfcam.so -rw-r--r-- 1 toyo toyo 6364 Jul 30 14:50 pcc.h -rw-r--r-- 1 toyo toyo 81 Jul 30 14:50 policy -rwxr-xr-x 1 toyo toyo 123 Jul 30 14:50 web.sh -rw-r--r-- 1 toyo toyo 186 Jul 30 14:50 web3-inoue.mem -rw-r--r-- 1 toyo toyo 4212 Oct 23 08:33 web3.class -rw-r--r-- 1 toyo toyo 2454 Jul 30 17:43 web3.html -rw-r--r-- 1 toyo toyo 11931 Aug 1 17:59 web3.java -rw-r--r-- 1 toyo toyo 11879 Aug 1 17:42 web3.java-org toyo@onlsbc1:~/public_html/Web$ (2-1-4). CAMACライブラリおよびドライバのインストール /home/toyoディレクトリの下にはすでにコンパイル済みのCAMACライブラリおよ びドライバプログラムが置いてある。 さらに、CAMACドライバは、CC/NET起動 時にカーネルに組み込まれている。 toyo@onlsbc1:~/public_html/Web$ /sbin/lsmod Module Size Used by Tainted: P pcc 8160 0 (unused) eepro100 17264 1 keybdev 1664 0 (unused) usbkbd 2848 0 (unused) input 3072 0 [keybdev usbkbd] usb-uhci 20708 0 (unused) usbcore 48032 0 [usbkbd usb-uhci] toyo@onlsbc1:~/public_html/Web$ (2-1-5). 例題プログラムのコンパイルおよび web3プログラムの実行 /home/toyo/public_html/Webディレクトリの下にはすでにコンパイル済みの例題 プログラムが置いてある。 apache を起動する。 onlsbc1:/home/toyo/public_html/Web# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 Nov05 ? 00:00:35 init root 2 1 0 Nov05 ? 00:00:00 [keventd] root 3 0 0 Nov05 ? 00:00:00 [ksoftirqd_CPU0] root 4 0 0 Nov05 ? 00:00:00 [kswapd] root 5 0 0 Nov05 ? 00:00:00 [bdflush] root 6 0 0 Nov05 ? 00:00:00 [kupdated] root 7 1 0 Nov05 ? 00:00:00 [i2oevtd] root 8 1 0 Nov05 ? 00:00:00 [kjournald] root 43 1 0 Nov05 ? 00:00:00 [khubd] daemon 113 1 0 Nov05 ? 00:00:00 /sbin/portmap root 167 1 0 Nov05 ? 00:00:00 /sbin/syslogd root 170 1 0 Nov05 ? 00:00:00 /sbin/klogd root 175 1 0 Nov05 ? 00:00:00 /sbin/rpc.statd root 180 1 0 Nov05 ? 00:00:00 /usr/sbin/inetd root 186 1 0 Nov05 ? 00:00:00 /usr/sbin/lpd root 195 1 0 Nov05 ? 00:00:01 /usr/sbin/sshd daemon 198 1 0 Nov05 ? 00:00:00 /usr/sbin/atd root 201 1 0 Nov05 ? 00:00:00 /usr/sbin/cron root 206 1 0 Nov05 tty1 00:00:00 /sbin/getty 38400 tty1 root 207 1 0 Nov05 tty2 00:00:00 /sbin/getty 38400 tty2 root 208 1 0 Nov05 tty3 00:00:00 /sbin/getty 38400 tty3 root 209 1 0 Nov05 tty4 00:00:00 /sbin/getty 38400 tty4 root 210 1 0 Nov05 tty5 00:00:00 /sbin/getty 38400 tty5 root 211 1 0 Nov05 tty6 00:00:00 /sbin/getty 38400 tty6 root 526 195 0 09:16 ? 00:00:00 /usr/sbin/sshd toyo 528 526 0 09:19 ? 00:00:00 /usr/sbin/sshd toyo 529 528 0 09:19 pts/0 00:00:00 -bash root 554 529 0 09:44 pts/0 00:00:00 bash root 555 554 0 09:44 pts/0 00:00:00 ps -ef onlsbc1:/home/toyo/public_html/Web# onlsbc1:/home/toyo/public_html/Web# /usr/sbin/apachectl start [Thu Nov 6 09:44:55 2003] [alert] apache: Could not determine the server's full y qualified domain name, using 127.0.0.1 for ServerName /usr/sbin/apachectl start: httpd started onlsbc1:/home/toyo/public_html/Web# onlsbc1:/home/toyo/public_html/Web# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 Nov05 ? 00:00:35 init root 2 1 0 Nov05 ? 00:00:00 [keventd] root 3 0 0 Nov05 ? 00:00:00 [ksoftirqd_CPU0] root 4 0 0 Nov05 ? 00:00:00 [kswapd] root 5 0 0 Nov05 ? 00:00:00 [bdflush] root 6 0 0 Nov05 ? 00:00:00 [kupdated] root 7 1 0 Nov05 ? 00:00:00 [i2oevtd] root 8 1 0 Nov05 ? 00:00:00 [kjournald] root 43 1 0 Nov05 ? 00:00:00 [khubd] daemon 113 1 0 Nov05 ? 00:00:00 /sbin/portmap root 167 1 0 Nov05 ? 00:00:00 /sbin/syslogd root 170 1 0 Nov05 ? 00:00:00 /sbin/klogd root 175 1 0 Nov05 ? 00:00:00 /sbin/rpc.statd root 180 1 0 Nov05 ? 00:00:00 /usr/sbin/inetd root 186 1 0 Nov05 ? 00:00:00 /usr/sbin/lpd root 195 1 0 Nov05 ? 00:00:01 /usr/sbin/sshd daemon 198 1 0 Nov05 ? 00:00:00 /usr/sbin/atd root 201 1 0 Nov05 ? 00:00:00 /usr/sbin/cron root 206 1 0 Nov05 tty1 00:00:00 /sbin/getty 38400 tty1 root 207 1 0 Nov05 tty2 00:00:00 /sbin/getty 38400 tty2 root 208 1 0 Nov05 tty3 00:00:00 /sbin/getty 38400 tty3 root 209 1 0 Nov05 tty4 00:00:00 /sbin/getty 38400 tty4 root 210 1 0 Nov05 tty5 00:00:00 /sbin/getty 38400 tty5 root 211 1 0 Nov05 tty6 00:00:00 /sbin/getty 38400 tty6 root 526 195 0 09:16 ? 00:00:00 /usr/sbin/sshd toyo 528 526 0 09:19 ? 00:00:00 /usr/sbin/sshd toyo 529 528 0 09:19 pts/0 00:00:00 -bash root 554 529 0 09:44 pts/0 00:00:00 bash root 558 1 3 09:44 ? 00:00:00 /usr/sbin/apache www-data 559 558 0 09:44 ? 00:00:00 /usr/sbin/apache www-data 560 558 0 09:44 ? 00:00:00 /usr/sbin/apache www-data 561 558 0 09:44 ? 00:00:00 /usr/sbin/apache www-data 562 558 0 09:44 ? 00:00:00 /usr/sbin/apache www-data 563 558 0 09:44 ? 00:00:00 /usr/sbin/apache root 564 554 0 09:45 pts/0 00:00:00 ps -ef onlsbc1:/home/toyo/public_html/Web# CC/NET起動時に、CAMAC-PCI インターフェース部はすでに利用可能な状態に セットされている。 従って、この時点では "./w e840 1" の操作は必要ない。 onlsbc1:/home/toyo/public_html/Web# pwd /home/toyo/public_html/Web onlsbc1:/home/toyo/public_html/Web# export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH onlsbc1:/home/toyo/public_html/Web# onlsbc1:/home/toyo/public_html/Web# rmiregistry & [1] 566 bash: rmiregistry: command not found onlsbc1:/home/toyo/public_html/Web# root のアカウントでは java の PATH を設定しいなかったようだ。 設定する。 onlsbc1:/home/toyo/public_html/Web# vi /root/.bashrc # ~/.bashrc: executed by bash(1) for non-login shells. export PS1='\h:\w\$ ' umask 022 # You may uncomment the following lines if you want `ls' to be colorized: # export LS_OPTIONS='--color=auto' # eval `dircolors` # alias ls='ls $LS_OPTIONS' # alias ll='ls $LS_OPTIONS -l' # alias l='ls $LS_OPTIONS -lA' # # Some more alias to avoid making mistakes: # alias rm='rm -i' # alias cp='cp -i' # alias mv='mv -i' export PATH=$PATH:/usr/java/bin ~ /root/.bashrc: 18 lines, 443 characters onlsbc1:/home/toyo/public_html/Web# onlsbc1:/home/toyo/public_html/Web# source /root/.bashrc onlsbc1:/home/toyo/public_html/Web# which java /usr/java/bin/java onlsbc1:/home/toyo/public_html/Web# onlsbc1:/home/toyo/public_html/Web# rmiregistry & [1] 578 onlsbc1:/home/toyo/public_html/Web# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 Nov05 ? 00:00:35 init root 2 1 0 Nov05 ? 00:00:00 [keventd] root 3 0 0 Nov05 ? 00:00:00 [ksoftirqd_CPU0] root 4 0 0 Nov05 ? 00:00:00 [kswapd] root 5 0 0 Nov05 ? 00:00:00 [bdflush] root 6 0 0 Nov05 ? 00:00:00 [kupdated] root 7 1 0 Nov05 ? 00:00:00 [i2oevtd] root 8 1 0 Nov05 ? 00:00:00 [kjournald] root 43 1 0 Nov05 ? 00:00:00 [khubd] daemon 113 1 0 Nov05 ? 00:00:00 /sbin/portmap root 167 1 0 Nov05 ? 00:00:00 /sbin/syslogd root 170 1 0 Nov05 ? 00:00:00 /sbin/klogd root 175 1 0 Nov05 ? 00:00:00 /sbin/rpc.statd root 180 1 0 Nov05 ? 00:00:00 /usr/sbin/inetd root 186 1 0 Nov05 ? 00:00:00 /usr/sbin/lpd root 195 1 0 Nov05 ? 00:00:01 /usr/sbin/sshd daemon 198 1 0 Nov05 ? 00:00:00 /usr/sbin/atd root 201 1 0 Nov05 ? 00:00:00 /usr/sbin/cron root 206 1 0 Nov05 tty1 00:00:00 /sbin/getty 38400 tty1 root 207 1 0 Nov05 tty2 00:00:00 /sbin/getty 38400 tty2 root 208 1 0 Nov05 tty3 00:00:00 /sbin/getty 38400 tty3 root 209 1 0 Nov05 tty4 00:00:00 /sbin/getty 38400 tty4 root 210 1 0 Nov05 tty5 00:00:00 /sbin/getty 38400 tty5 root 211 1 0 Nov05 tty6 00:00:00 /sbin/getty 38400 tty6 root 526 195 0 09:16 ? 00:00:00 /usr/sbin/sshd toyo 528 526 0 09:19 ? 00:00:00 /usr/sbin/sshd toyo 529 528 0 09:19 pts/0 00:00:00 -bash root 554 529 0 09:44 pts/0 00:00:00 bash root 558 1 0 09:44 ? 00:00:00 /usr/sbin/apache www-data 559 558 0 09:44 ? 00:00:00 /usr/sbin/apache www-data 560 558 0 09:44 ? 00:00:00 /usr/sbin/apache www-data 561 558 0 09:44 ? 00:00:00 /usr/sbin/apache www-data 562 558 0 09:44 ? 00:00:00 /usr/sbin/apache www-data 563 558 0 09:44 ? 00:00:00 /usr/sbin/apache root 578 554 3 10:00 pts/0 00:00:01 rmiregistry root 579 578 0 10:00 pts/0 00:00:00 rmiregistry root 580 579 0 10:00 pts/0 00:00:00 rmiregistry root 581 579 0 10:00 pts/0 00:00:00 rmiregistry root 582 579 0 10:00 pts/0 00:00:00 rmiregistry root 583 579 0 10:00 pts/0 00:00:00 rmiregistry root 584 579 0 10:00 pts/0 00:00:00 rmiregistry root 585 579 3 10:00 pts/0 00:00:01 rmiregistry root 586 579 0 10:00 pts/0 00:00:00 rmiregistry root 588 579 0 10:00 pts/0 00:00:00 rmiregistry root 589 579 0 10:00 pts/0 00:00:00 rmiregistry root 590 554 0 10:00 pts/0 00:00:00 ps -ef onlsbc1:/home/toyo/public_html/Web# onlsbc1:/home/toyo/public_html/Web# java ServerImpl bind done NG. Naming.lookup()を実行したところで、"Failed to setup for RMI" に なってしまう。 ---xxxx 以降、http://www-online.kek.jp/~inoue/Parallel-CAMAC/Work/SBC-Linux24.html および、http://www-online.kek.jp/~inoue/Parallel-CAMAC/Work/SBC-Linux25.html で検討した。