ひよっこ。

I want to…

Posts Tagged ‘Linux’

混ぜるな危険….(RPMとyumの衝突)

Posted by hikaruworld : 2010 1月 7

先日誰かの作成した環境を触っていたら、Tomcatの起動時に以下のようなエラーが発生していました。

[root]# /etc/init.d/tomcat5 start
Starting tomcat5: /usr/bin/rebuild-jar-repository: error: Could not find jdbc-stdext Java extension for this JVM
/usr/bin/rebuild-jar-repository: error: Could not find jndi Java extension for this JVM
/usr/bin/rebuild-jar-repository: error: Some detected jars were not ftound for this jvm
/usr/bin/rebuild-jar-repository: error: Could not find jaas Java extension for this JVM
/usr/bin/rebuild-jar-repository: error: Some detected jars were not found for this jvm

エラーメッセージをググったり、検索したりしてみると直接の原因は以下で、ライブラリが見つからないようです。

[root]# ls -la /usr/share/tomcat5/common/lib
lrwxrwxrwx 1 root   root       38  1月  7 10:35 [jdbc-stdext].jar -> /could/not/find/extension/for/this/jvm
lrwxrwxrwx 1 root   root       38  1月  7 10:35 [jndi].jar -> /could/not/find/extension/for/this/jvm

サーバを検索してみると、以下に実体を発見したので、
シンボリックリンクを切り替えてみたが、やっぱりうまく行きません。

[root]# locate jndi.jar
/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre/lib/jndi.jar
/usr/lib/jvm-exports/java-1.4.2-gcj-1.4.2.0/jndi.jar

色々調べていると、まさに以下の現象が発生していました。Thanks. ありえるえりあ

step4.
最初、http://java.sun.com/のJ2SE5 JDKのrpmをインストールしていました。tomcat5パッケージのインストールで[エラーA](脚注)が出ました。jta以外(jaas,jce, jsse)はJ2SE5に標準で統合済みです。tomcat5のrpmパッケージとSunが配布するrpmパッケージにずれがあります。パッケージ管理の一番の障害(いわゆる「混ぜるな危険」)です。
こういう場合はおとなしく、片方に従う方が楽です。JPackageに身を任せた以上、JPackageのrpmパッケージを使うことにします(JPackageのrpmはspecファイルだけがあり、インストールするファイルの実体はSun配布のJDKです)。

つまり、JavaはSun標準のものをRPMでインストールし(てパスを通したので)、
Tomcatはyumでインストール(yum側のJavaを見ている?)したためにパッケージの内容がずれているとorz…
仕方ないので、上記忠告通りJPackageのPRMパッケージを利用することにします。
Tomcatをソースからインストールする方が楽なんだけど、やらないのは大人の事情です)

  1. まずは、jpakcageがyumでインストールされているか確認します。
    [root]# yum install jpackage-utils
    ~中略~
    Package jpackage-utils - 1.7.3-1jpp.2.el5.noarch is already installed.
    Nothing to do
    

    既にインストールされているようです。

  2. 次にJPackage上のJavaのバージョンを確認します。
    [root]# alternatives --config java
    
    1 プログラムがあり 'java' を提供します。
    
      選択       コマンド
    -----------------------------------------------
    *+ 1           /usr/lib/jvm/jre-1.4.2-gcj/bin/java
    

    gcj版のJava1.4.2がインストールされています。
    今回のアプリケーションはJava1.5以上が必要なため、JPackageにjava1.5をインストールする必要があります。

  3. 以降は、http://d.hatena.ne.jp/KishikawaKatsumi/20080504/1209922424を参考に作業します。Thanks!
    JPackageから、対象のjdkをダウンロード
    今日、この時点ではjdk5のバージョンは1.5.0.14のものしか置いてなかったので、これにあわせます。
    (SRPMをビルドすればよいかも知れないけど、いまいちよくわからないのでやりません。ありえるえりあさんの記事を参考にしてください。)
  4. バージョンに合ったJDKをダウンロード
    Sunから。自分の場合JDK1.5なのでアーカイブから落とします(Linux RPM in self-extracting file)。
    バージョンはあわせておかないとインストール時にエラーになるので注意してください。
    JPackageをインストールする際に対応するJDKが必要になるようです。
    ない状態でJPackageだけインストールしようとすると依存性のエラーで落ちます。

    [root]# rpm -ivh --test java-1.5.0-sun-compat-1.5.0.14-1jpp.i586.rpm
    警告: java-1.5.0-sun-compat-1.5.0.14-1jpp.i586.rpm: ヘッダ V3 DSA signature: NOKEY, key ID c431416d
    エラー: 依存性の欠如:
            jdk = 2000:1.5.0_14-fcs は java-1.5.0-sun-compat-1.5.0.14-1jpp.i586 に必要とされています
    
  5. SunのJDK及びJPackageのJDKのインストール
    省略。実行権与えて実行すればインストールまで済ませてくれます。
  6. JDKの切り替え
    [root]# alternatives --config java
    
    2 プログラムがあり 'java' を提供します。
    
      選択       コマンド
    -----------------------------------------------
     + 1           /usr/lib/jvm/jre-1.4.2-gcj/bin/java
    *  2           /usr/lib/jvm/jre-1.5.0-sun/bin/java
    
    Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:
    

    2.を押下してjre1.5に切り替えます。

  7. バージョンチェック
    [root]# java -version
    java version "1.5.0_11"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
    Java HotSpot(TM) Client VM (build 1.5.0_11-b03, mixed mode, sharing)
    

以上です。
alternatives なんてコマンドを今日知りました。

広告

Posted in OS, program | タグ: , , , | Leave a Comment »

HDE Anti-Virusのアクセス制御に関して

Posted by hikaruworld : 2009 4月 8

HDE Anti-Virusを使って運用する際に、このアンチウィルスソフトの管理画面にはIPアドレス単位でアクセス制御が可能である。
で、このアクセス制御の設定を行う場合、LCサーバー設定設定画面では以下のように注意書きされている。

設定内容は、コンピューターの再起動後に有効になります。

サーバを再起動しなきゃいけないアクセス制御って何だと思ったので、
とりあえず確認してみた。

まず、デフォルトでは、hdeは

/usr/local/hde/

以下にインストールされる。
適当にソースを見ている限り、httpd+phpの構成で動いているようだ。

ソースを探るのにキーになる文字列が欲しかったので、適当にIPアドレスを振って再起動。
あらかさまに設定ファイルちっくなhde/lcserver/confというディレクトリがあったので、grepしてみる。

Allow from localhost 127.0.0.1 192.168.

発見。これか。
実体は、以下のようだ。

/usr/local/hde/lcserver/conf/lcserver.conf

中をのぞく(読みづらかったので勝手にインデント)。

<Directory /usr/local/hde/lc>
Options Includes FollowSymLinks
AllowOverride None
order deny,allow
Allow from localhost 127.0.0.1 10.131.229.206 10.0.8.
Deny from all

order allow,deny
deny from all

</Directory>

参考:http://httpd.apache.org/docs/2.0/ja/mod/mod_access.html#order

うーんApacheの設定ファイルのようにしか見えない。

わざわざサーバの再起動を行わなくてもいいんじゃね?と思いつつ、/etc/init.d以下を探索。

/etc/init.d/lcserverを発見。

ググって見ると、lcserverはApacheをカスタマイズしたものらしいとのこと。
こいつに再起動のコマンドがあれば事足りるだろと思い(Apacheベースなら当然あるよね?)、試してみる。

root# /etc/init.d/lcserver
Usage: /etc/init.d/lcserver {start|stop|restart|reload|status}

restartがあるようなので、IPアドレスを修正してlcserver(ってかapache)を再起動する。

root# /etc/init.d/lcserver restart
Shutting down lcserver: [ OK ]
Starting lcserver: [ OK ]

アクセスして確認してみる。
アクセスポリシーの設定に記述されているIPアドレスの一覧が変更されていることを確認。
OKらしい。

lcserverの再起動だけで問題ないのに、コンピュータの再起動はひどい気がする。
それとも何か理由があるのだろうか。。。

Posted in server | タグ: , | Leave a Comment »

LinuxでのProxyのセッティング

Posted by hikaruworld : 2009 1月 8

Linuxのプロキシ超えの設定に関して。OSはRHEL4。

たまに必要になるんだけど、結構良く忘れるのでメモしておく。

wget

  • /etc/wgetrcを編集

# You can set the default proxies for Wget to use for http and ftp.
# They will override the value in the environment.
http_proxy = http://hoge.hoge.piyo.com:8080/
ftp_proxy = http://hoge.hoge.piyo.com:8080/

svn

  • ~/.subversion/servers

[global]
# プロキシを通さないリスト
http-proxy-exceptions = localhsot,127.0.*
# ホスト名
http-proxy-host = hoge.hoge.piyo.com
# ポート
http-proxy-port = 8080

職場で、http-proxy-exceptionsを設定せずにコミットしようとしたら、
エラーで落ちた

svn: コミットに失敗しました (詳しい理由は以下のとおりです):
svn: MKACTIVITY (URL: ‘/svn/hoge/!svn/act/8245d6fe-645b-0410-b3e1-bff8fe62c48e’): Could not parse response status line (http://192.168.0.xxx)

直接つないだから問題なくOK。セキュリティの問題か。。。

setuptools(easy_install)

設定ファイルがあるわけではないので、setuptoolsにのみ設定することはできないが、
以下のようにexportしておけばそちらを参照してくれる。

# export http_proxy=http://hoge.hoge.piyo.com:8080

とりあえず、忘れやすいのはこんなところかなぁ。

Posted in OS | タグ: , , , , | Leave a Comment »

MacBookのVirtualbox2.1.0上にUbuntu8.10をインストールしてみる

Posted by hikaruworld : 2009 1月 6

先日購入したMacBookにようやくメモリが届いたので、
メモリに余裕も出たことだし、Virtualbox2.1.0にUbuntu8.10をインストールしてみた。

VirtualBoxとUbuntuに関しては、まぁ、適当に。
Ubuntu8.04のVirtualBox用のイメージが用意されていたが、
どうせなので新しいUbuntu8.10を直接インストールしてみる。

VirutalBox2.1.0:http://www.virtualbox.org/
Ubuntu8.10:http://www.ubuntulinux.jp/download/

はまったところは以下。

■Guest Addtionsのインストール。
ターミナルから実行すると、管理者権限が求められたので、su -したが、
Ubuntuはrootのパスワードが設定されていないらしい。

sudo

でやれとのこと。

■マウスの統合機能が働かない。
ここを参考に修正。http://forums.virtualbox.org/viewtopic.php?p=43200
/etc/X11/xorg.confに以下を追加。

Section “InputDevice”
Identifier “Configured Mouse”
Driver “vboxmouse”
Option “CorePointer”
EndSection

■キーボード配列がおかしい
システム→設定→キーボード→レイアウト
キーボードの型式をMacBook/MacBook Pro(Intl)に設定

TODO
■クリップボードのコピペとかはできないのかなぁ?
設定はあるけどうまく動いていない感じ。
■日本語入力と英語入力のキーボードの切り替えキーがうまくいかない。(xorg.confを触ればいいのかな、要調査)

ちょこちょこ気になる部分があるのだけど、これで無料とはありがたい。
次はCentOSでも入れてみるか。。。

しかしメモリが2倍になると快適だー。

Posted in OS | タグ: , , | Leave a Comment »