プログラム メモ



2001年10月13日 0:05:46

[Windows2000]サービスやイベントログのプロパティーが開かなくなった

さらに、起動にやたらと時間がかかり、イベントログにはサービスの開始エラーが大量に・・・・。
今回、Remote Procedure Callというサービスを「無効」にしてしまったら、こんな大変な目にあってしまいました。
リモートとか書いてあるから閉じたのに(笑)。
依存するサービスの所を先にチェックすべきだね。
結局、レジストリ直接書き換えて、このサービスを有効にしたら無事戻りました。
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\
↑このあたりのどこか

[Linux]ここのTipsは良い

なかなか便利なコマンドが紹介してある。結構、知らないのがいっぱいあった。

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/tipsindex.html

特に各ユーザーが最後にログインした日が分かるlastlogや
最近のログインの履歴が見れるlastや
メモリ使用状況が分かるvmstat
動いているプロセスが常に確認できるtop、
あと、パスワード入力中に間違えた時にctrl + Uでリセットできるなど・・・

で、vmstat使ったら、空きメモリって簡単に700KBぐらいになっちゃってたので、結構ショック(笑)

[Linux]無料ウィルスチェッカー

個人使用では無料だとのこと。

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/121viruschk.html

↓日本代理店らしい。パターンファイルも落とせる。

http://www.cseltd.co.jp/security/sav/products/


2001年10月11日 21:18:31

[namazu]ちゃんと最適化も出来ているみたい

リダイレクトしたファイルに何も残っていないのが非常に気になるけど・・・

[Servlet/JSP]BBSのソース大後悔(違)

とりあえず、現行の形式も思い入れ(笑)があるので、ソース公開。
よーく見ていくと、まずいところがたくさんあるぞ(笑)。
恥をさらしているとも言える。
10/7の図も見るとわかりやすいかも。

BbsCtrlServlet.java
DbAccess.java
BbsViewBean.java

bbs.jsp
BbsArticleData.java
BbsWrite.java
BbsWriteAction.java

DbAccessにゆすけ氏のようにdoNextも入れておけば良かった・・・・
一カ所Statementをクローズし切れてない場所もあります(笑)
BbsCtrlServletなんかは、コメントに「ゲストブック表示クラス」とか書いてあるし(^^)
あちこちSystem.err.printlnしてあるのは、デバッグの名残。

[Servlet]初期値を読み込もうとしたのだがエラー

getInitParameterでweb.xmlに指定した初期値を取り込む時にGenericServletでエラーが出ていた。
import宣言を見直した所エラーが出なくなった。
具体的には
import javax.servlet.*;
import javax.servlet.http.*;
というように*を使って指定していたところを、使う分だけ個別に
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
と指定したらエラーは出なくなった。
おそらく、javax.serlvetの方で先にGenericServletが見つかって、そっちのgetInitParameterを呼び出したのではないだろうか?
むやみにパッケージ指定に*を使うなというのは良く聞くが、はじめて今日実感。


2001年10月11日 0:11:44

[Java]掲示板の構成変更

今までは直接ResultSetをJSPからビーン経由で操っていたが、この方法だとStatementやResultSetをクローズするタイミングが難しい。(Beanが消滅する時に実行されるメソッドとかあるんかな?)
結局、サーバーマシンのメモリが少ないので躊躇していた、VectorやHashtableを使うことに。
ただ、レコードセットすべてをこれらに入れると、やはり後々Out Of Memoryとか出てきそうなので、表示する何件か分だけ取り込むようにした。
構成が全然変わってしまったので、まだまとまってない感じがするが、コンパイルがとりあえず通る状態まではなった。
次回はちゃんと動くかの確認だ。

[namazu]ちゃんと動いている

正しくインデックス更新されています。結局最適化のgcnmzはスクリプトを分けてmknmzの一時間後に実行されるようにしました。/etc/crontabに一行追加しました。


2001年10月10日 1:39:21

[namazu]やっとインデックス更新うまくいきました

namazuのインデックスを最適化するgcnmzをコメントアウトしたら、ちゃんとインデックス更新されました。
やっぱり同時に走っちゃってたのかな?
bashスクリプトで、なんか指定があるっぽいが、手持ちの本には情報無し。
誰か教えて(笑)。


2001年10月9日 1:00:56

[Servlet/JSP]DBConnectionHandlerクラスの作成

作成というか、本のそのままパクリ(^^)
本当は丸ごとこの本の物で差し替えようと思っていたが、それよりも今のDBにアクセスを担当しているDbAccessクラスの接続部分だけをこのDBConnectionHandlerで管理させることにする。

DBConnectionHandlerクラスはSingletonパターンで作ってあり、インスタンスはサーバー上に一つしか出来ない。
サーブレットからDBConnectio~のgetInstanceでインスタンスを作成し、既にある場合は新たに生成しない。
そのインスタンスへの参照をDbAccess2クラスにセット。DBConnection~は一つのインスタンスしか作らないので、DbAcess2のインスタンスが複数出来ても、すべて同じインスタンスを参照する形になる。
DbAcess2はまずデータベースへのコネクションを取得する。取得にはセットされたDBConnection~のインスタンスのメソッドgetConnectionを使う。

本にはDBConnectionHandlerはコネクションが使用されていると、他のスレッドが何も出来ないので・・・といった説明があるが、これはnullを返しているだけで、待ってもいない様子。
コネクションプールを行うバージョンもその本に載っているが、これはgetConnectionで空きがなければ、再度自分自身のメソッド(getConnection)を実行して、コネクションが取得できるまで繰り返している。

残っている修正部分としては


[namazu]インデックスが作成されない理由?

どうも、最後のインデックス書き出しで失敗している模様。
で、ログを出力するようにしてみたので、時間を見てみると、インデックス作成と最適化が同時刻に走っている。
バックグラウンドで動作する処理を外したのに。
試しに、最適化はさせないで明日の結果を見てみる。


2001年10月7日 23:22:02

[namazu]インデックスが壊れた理由

この前インデックスが壊れたのは、たぶんmknmzとgcnmzが同時に動いちゃったため。
なんで、同時に動いたかというと、
mknamazu ......&
というようにバックグラウンドで動かしちゃったため(笑)

Tipsページ構築ツール作成予定?!

ジオシティーから自前サーバーに持ってきたTipsコーナーだが、量が増えてきたので更新が面倒。
そこで、Tipsページを自動構築してくれるツールを作ろうかと考え中。
データを用意するとそれから、HTMLとその間のリンクを作ってくれるというイメージ。
できれば、XML形式で階層構造を持たせようかと思う。
DBでやった方が早いとは思うけど、わざわざDB作るほどでもないだろうし、入力の画面も作らないといけなくなる。
XMLの勉強も兼ねられるので、一応これで行く予定。
もちろん、Javaで。いつかかれるかわからないけど・・・。

[Servlet/JSP]BBSの構成確認

わけが分からなくなっていたので、図に書いてみた。

BbsArticleというあまり意味のないクラスを作っていたのが、混乱の原因かも。
BbsViewBeanにやらせて良い内容だ。ただ、他でも同じ内容を使い回しするなら意味はある。
とりあえず、今は使わない気がするけど・・・(Cの構造体みたいな使い方だね)
この仕組みだと、サーブレットはリクエストごとにスレッドを生成して処理するので、DbAccessインスタンスは複数出来て、コネクションも複数存在することになる。


2001年10月6日 0:05:44

[namazu]インデックスの自動更新がうまくいっていない

ここにまた違うやり方が書いてある。

http://www.atmarkit.co.jp/flinux/special/namazu/namazu.html#g

set PERL_BADLANG=0
export PERL_BADLANG
ってのは初めて見たぞ。


2001年10月4日 22:34:08

[YahooBB]有用な情報源

地方専用の掲示板有り。地元局の情報が集めやすくて、これは嬉しい(^ ^)

http://www.dailylife-online.com/net/index.html

情報量が多い。ISDNから切り替える人向けの情報もあり

http://village.infoweb.ne.jp/~fwnz2242/

[Java]例外の種類によってcatch処理を変える

こんな風につづけて書けばいいんだな。今日試して初めて知った(笑)

try{
        ...
        int current = Integer.valueOf(index).intValue();
        ...
}catch(NumberFormatException e) {
        res.setContentType("text/html;charset=EUC_JP");
        PrintWriter out = res.getWriter();
        out.println("不正なインデックス番号が与えられています<BR>");
        out.println(e);
}catch(Exception e) {
        res.setContentType("text/html;charset=EUC_JP");
        PrintWriter out = res.getWriter();
        out.println(e);
}

Exceptionの種類ごとに分けて、書いておけば起きた例外ごとに処理を変えられる。
これは、BBSの引数indexに数字以外が与えられた時の処理とその他の例外を分けて処理している。
ちなみに後のExceptionを前に持ってくると、Exceptionがエラーは全部拾ってしまってNumberFor....の方が処理されないのでコンパイルエラーが出る。
しかし、このページは俺の基本がなってない部分をさらけ出しているだけのような(汗)。

[BBS]引数のチェックと最後の記事が見れないバグ修正

普通は、一時でもこんな状態でWebにあげちゃいけません(笑)
値チェックぐらいはしとかないと・・・

今後の開発予定-2

以前の予定プラス!!

[Web]EZWeb

EZWebは記述が違うだけで、普通のWebサーバーで公開できるらしい。
WAPサーバーがいると思ってた(^^)。これはAUがやってくれるらしいね。
Webサーバー→WAPサーバー→携帯端末の流れ。
WAPと携帯端末の間はバイナリデータがやりとりされるのが、i-modeとは大きな違いだね。
(逆に言えば、WebサーバーのHDMLをバイナリにするのがWAPサーバーの役目)


2001年10月3日 0:10:38

[Java]Singletonパターン

今、DBとのコネクションをこのSingletonパターンを使って、無尽蔵にコネクションを貼らないようにしようとしている。

http://www.tetras.co.jp/yada/j_java_singleton_r.htm

↑この例はわかったけど、応用利かせて使いこなせるかは不明(笑)

今後の開発予定

いずれもBBSの機能アップで、
・タグライブラリで「次の10件」を表現
・同じく、タグライブラリでMail,Homeのリンクボタンを作成
・投稿削除機能
このあたりを付けていこうかなと、いう感じの予定。

今日は、singletonの理解度を深める勉強。

[Analog]各種設定ファイル

Analogのエラー記録を記録するログファイルにはWeb閲覧者の権限を与えておかないといけない。
ちなみにそこに書き込めないとApacheのerrorログに記録されてしまう。

また、各種ファイルへのパスはフルパスで書き直した。
本当なら、ホームディレクトリがどこかで設定したりできるのだろうが、よく分からなかった。

LANGFILE /var/analog-5.03/lang/jp.lng
DESCFILE /var/analog-5.03/lang/jpdesc.txt
DOMAINSFILE /var/analog-5.03/lang/jpdom.tab

この中のjpdom.tabはWebから落としてきた(4.01用とか書いてあったけど、問題なし)
また、文字コードが合っていないと文字化けして出てくる。

あーんど、チャートを出したい場合は、Apacheに
Alias /analog/ /var/analog-5.03/
を追加して、Analogを入れたフォルダをアクセスできるようにする。

そしてanalog.cfgに
CHARTDIR /analog/images/
LOCALCHARTDIR /var/analog-5.03/images/
という感じで設定しておけば良い。
出ない時はだいたい、ディレクトリの指定ミスのはず。
エラーログを見て確認すべし。


2001年9月30日 18:58:48

[Postgresql/JDBC]バイナリ版のドライバ

Postgresql7.1用JDBCドライバ

http://jdbc.fastcrypt.com/

ここにあるみたい。
ロジックはそのままで(もちろん、日本語部分は変更有り)なのに、next()メソッド実行するだけでnull Exceptionは変だと思ったので、正当なドライバを入手して試してみるところ。
もちろん、ResultSetオブジェクトがnullにはなっているとかいう初歩的なことではない。とすると、ドライバの使い方が悪いのかドライバ自体が悪いとしか考えられない。
・・・→が、ドライバ変えても同じだった(笑)。ただ、なんでこんなにサイズが違うのか?

[Postgresql]7.1.3の環境設定

違うところといえば、7.1.3を新規にインストールして、旧バージョンとフォルダごとそう入れ替えしているので、Postgresqlの設定が足りていないのかもしれない。
Postgresqlは環境設定らしい環境設定は無かったと思うがもう一度、確認してみる。
だから、Webはまだ停止したままで(笑)
→でも、環境じゃなくて↓

[Java/JDBC/Postgresql]7.1.3のドライバ仕様が変わってる?

どうも、仕様が変わってるみたい?
これはsqlを投げるとDBにアクセスして、ResultSetを返すメソッド↓

        public ResultSet getRecord(String query) throws SQLException {
                Statement stmt = con.createStatement();
                ResultSet rs = stmt.executeQuery(query);
                //stmt.close();
                return rs;
        }

三行目でコメントアウトしてますが、元々はコメントアウトはなくて、ここでStatementオブジェクトのclose()を実行してました。
このあたりのオブジェクトの基本がよく分かってないので、確信はもてませんでしたが、ResultSetはStatementから作っているので、先にcloseするのはまずいんじゃないかと思って、ここをコメントアウトすると無事動作。
しかし、今まではなんの問題なく動作。なんで、余計に意味不明。
いやいや、基本的なことがわかってないから、わけが分からないわけですな。
基本のAPIマニュアルでjava.sql.statement.closeを調べると・・・

自動的にクローズされるときに Statement オブジェクトのデータベースと JDBC リソースが解放されるのを待つのではなく、ただちにそれらを解放します。データベースのリソースを占有するのを避けるために、通常は、作業が終了したらすぐにリソースを解放するようにしてください。
注: Statement は、ガベージとして回収されるときは自動的にクローズされます。Statement がクローズされるとき、その現在の ResultSet が存在すれば、それもクローズされます。

あ、ResultSetもクローズするって書いてある(笑)。
まさにそれやっちゃってるじゃん。
ようは、元々のやり方がまずかった、今まで動いていたのが不思議だと言うことか(笑)
前のドライバはclose()してもすぐクローズされずに残っていたのか(そんなことがあるのか?)
でも、これってcloseしないまんまだから、あんまり良くないんだよね。
いつ、どこでcloseしよう・・・

[Servlet/JSP]前へ、次への機能動作(笑)

上のcloseの件のおかげで、引数にindex=10とかやると、そこから表示されるようになりました。
(これも、同じメソッド使っていて、なぜかこちらではResultSetクローズされてたみたい)
でも、今の形じゃやっぱり、危ういので作り替えます。ただ、現在のに手を加える形で行きます。
ただ、別の問題が浮上。
なぜか、一番最新の書き込みが見えない(笑)
なんでよ。
→解決。
レコード読み込む時にいきなり、一行目に移動した後next()を実行していたので、二行目からしか出なくなってました。
これが作り方が適当だったんでかなり苦労しました。これ直したら、直るはずと思ったら、別のところが直ってなくて、ダメだったり。
たぶん、既に他人が見てもわからないソースです。これはいかん。
いきなり、コーディングはいかんです。UMLをマジで覚えようかな。

[JSP]mailとhomeと次の○件はタグライブラリも検討かな

たとえば、homeなんかはURLを入れられていない場合は、表示自体を消さないといけない。
これは、表示する文字やグラフィックを表現するタグ(BBSのページを例にすると「<A href='http://a-tak.com' target="_blank">home</A>」)自体をServlet側に埋め込めば、それは簡単だがもし、これをのちのちリンクを画像のボタンにしたいという場合は、Javaのソースをいじって、コンパイルして、FTPであげて、Tomcat再起動して・・・ととにかく手間。
それよりも子ノード付きのカスタムタグを作って、HTMLエディタで

<mail:link>mail</mail:link>

とか、

<mail:link><IMG src="/image/mail.gif" ></mail:link>

と言う風に書ける方が楽なはず。
→とりあえずはServletで対処しちゃいました。あとで改良だ。

[Servlet/JSP]JSPから使うsetプロパティーはPrivate宣言じゃないとダメ?

次へと前へボタンのためのメソッドを追加したが、なぜかcan't find infomation methodとかなんとか出て、機能しなかった。
getNextではなく、setNextが他のうまくいってるものはprivate宣言してあるので、そうしたところうまくいった。
JSPから使う、Beanってsetはprivateじゃないとだめなのだろうか?
今日は、これでおしまい。また今度見てみる。


2001年9月29日 21:15:45

[Linux]スクリプトはこれで実行できる?

なぜか、スクリプトをcronで実行させるようにしてても、実行されていない。
namazuのインデックスや時間の自動調整などだ。
スクリプトを直接、bashで実行すると起動するので、何が違うか考えたら、PATHのことが思い当たったので、スクリプトは全部フルパスで記述した。
そういや、前もこれでひっかかったような(笑)・・・。
と思って、他人が作ったスクリプトを見てみると、

export PATH=/bin:/sbin:/usr/bin:/usr/sbin

・・・PATHを読み込んでる。汚ねー(笑)
なるほどその手があったか。

[namazu]スクリプトにexportは必須

上のスクリプトの件だが、/binにもパスを通していないと、エラーが出る。
しかも、これはスクリプト中にフルパスで書いて対処できないので、やはりexportは入れないといけないようだ。

[Postgresql]7.1対応のpostgres.jarの作り方(やられた!)

付属のドキュメントにだまされたというか、なんというか。
さんざんコンパイル出来なかったドライバのコンパイル方法。

事前にトップディレクトリで./configure --with-javaを実行しておかないといけない。
これをやった後で、初めて/src/interfaces/jdbcでmakeを実行するとコンパイル出来る。
ドライバだけコンパイルする時は、後の方だけやることしか説明してないので、気づかなかった。

[Postgresql]7.1.3でpg_encodingなんちゃらが見つからないエラー

エンコーディング関係のファイルだと思うが見つからないと出ている。
インストール方法が変わったかな?
以下のリンクでは引数与えてコンパイルしている。

http://www.atmarkit.co.jp/fjava/rensai/enhydra02/enhydra02_1.html

前のバージョンインストールした時も、マルチバイトの指定をしていた。
前のバージョンは書き方違ったから気づかなかった。
ちなみに、7.1.3のマルチバイトの設定

 ./configure --enable-multibyte=EUC_JP

これを指定してコンパイルしないと使えません。DBは作れても、消す時に最初にいったエラーが出る。

[Postgrsql/JDBC]JDBCドライバのテストとか

http://osb.sra.co.jp/PostgreSQL/7.1/jdbc-build.html

[Postgresql]pg_dumpallでバックアップしたやつが戻せない

これもドキュメントにだまされた。リストアする際に
psql < backup(バックアップスクリプト)
としても、
「psql: FATAL 1: Database "(ユーザー名)" does not exist in the system catalog.」
とか出てきて、バックアップは戻せない。

ここに違うやり方が書いてある。

http://www8.xdsl.ne.jp/~niwaken/tips/postgresupgrade.html

psql -d template1 -f 先程バックアップを取ったファイル名

スクリプトの中に確かに作ってもいないDB「template1」に、平気で接続しているので気になってはいたのだが、こういうこととはね・・・・。
これで、一発でOKだった。

[Linux]バックグラウンド処理中にエラーも画面に出さない

make >& make.log &

たぶん、こんな感じで>&を入れるとエラーすらリダイレクトしてくれるそうだ。
おわったらちゃんとDoneと出てくるので分かる。

[Java/Servlet]なぜかレコードの移動系でNullPointerException

なぜか、コンパイルした新しいPostgresqlドライバで、next()やabsolute()[だっけ?)などのレコードセットのカーソル移動系の命令を使うとNullPointer...が出る。
getStringは可能なので、単純に接続できていないとかそういう問題ではない。
DBからはただしく、値を引っ張ってきている様子(よく見てないので勘違いかも)
ドライバの問題かなぁー。インターネットで明日調べてみる。

[Servlet]またカウンターが・・・・

やっぱり、本格的に作りがまずいみたいだ。
今回は自分でリセットされるのを目の当たりにした。Tomcat再起動とかしているうちに突然って感じです。
カウントはまたアップさせたけどね(笑)


2001年9月27日 0:05:24

[Analog]DNS参照の設定方法

http://www.zdnet.co.jp/help/howto/linux/0007master/05/03.html

本当に、これで未解決IPというのが無くなるのだろうか?

[ntpdate]ntpdateの設定

http://www.kuis.kyoto-u.ac.jp/imel/tebiki/rvsettei/settei/node83.html

cron.dailyに入れておくと、時間に正しいサーバーになるかも。

[Postgresql]ドライバのコンパイル

http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/jdbc.html

ここのとおりコンパイルするが、Makefileに指定してあるファイルが確実にない(笑)
バージョンも同じ物を落としてきて、解凍してるんですが・・・。
コンパイルはあきらめて、コンパイル済みの物をゲットするつもりが、今日はサイトが落ちてて繋がらない。
また明日。


2001年9月25日 23:12:27

[Apache]ApacheのログをIPではなくホスト名で記録する その3

HostnameLookupsをOnにしてもIPでしか記録されていなかったので、なぜだろうと思っていたら、httpd.confの下の方に「HostnameLookups off」の表記が(笑)。
当たり前だけど、後に書いてあるやつの方が優先です。
たぶん、どのディストリービューションでも標準で記述してあるはずなので、注意。

[Linux]messageにオリジナルのログを出力する

loggerをスクリプトに入れれば良い。

logger -t A-tak -s "俺参上!!"

-tはタグ。-sはメッセージの内容。

Sep 25 23:39:11 myhost 9月 25 23:39:11 A-tak: 俺参上!!

という感じで出力される。

[Linux]環境変数のセットの仕方

DOSと同じようにset ANT_HOME=/usr/localとは出来ない。
Linuxで環境変数にセットするにはexportを使う。

export ANT_HOME=/usr/local/ant

「=」の後はスペース無しにしないとエラーが出る。

[Posrgresql]コンパイル方法わからず

英語のドキュメント見ても、どうもいまいちわからない。ドキュメントによって言ってることが違うみたいだし(笑)。
インターネットで日本語のページを探す


2001年9月23日 12:01:00

[Apache]ApacheのログをIPではなくホスト名で記録する その2

前回の最後で紹介してあるFilesを使った方法だが、あれだとうちのサイトはほとんど名前解決しなくなる。なぜならサーブレットがほとんどで、cgiやhtmlの拡張子の物が無いからだ。

HostnameLookups on
<Files ~ "\.(gif|jpg)$">
     HostnameLookups off
</Files>

逆に、Offにする物だけチェックした。
・・・・でも、よく考えれば、画像もリクエスト回数にカウントされているならば、ログにIPとホスト名が混在してしまうので、結局全部DNSひかないとだめなんじゃ・・・


[Analog]Analogを入れてみる

結構、有名なログ解析ツールらしい。

日本Analogの会 http://jp.analog.cx/
最新Linux Ver  http://www.iddl.vt.edu/~jackie/analog/
RPM版の入れ方 http://jp.analog.cx/cmpllinux.html

[Analog/Apache]Analog用ログを出力するApacheの設定

httpd.confの

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

#CustomLog /var/log/httpd/access_log common

#CustomLog /var/log/httpd/referer_log referer
#CustomLog /var/log/httpd/agent_log agent
CustomLog /var/log/httpd/access_log combined

このあたりを見てみる。
LogFormatの一番目が実はAnalogで読める形式。combinedという名前で設定されているので、CustomLogのcominedの行の#コメントを外す(通常はcommonだけのはず)

[Apache]ApacheのログをIPではなくホスト名で記録する

おそらく、httpd.confに

HostNameLookups On

とすれば、DNSを参照して名前を取得してくれるはず(まだ、未確認)。ただし、パフォーマンスは悪くなる様子。
また、/etc/desolve.confにDNS名を指定しないと名前は取得できない
あと、設定を変えたらhttpdの再起動を忘れずに。

http://www1.plala.or.jp/knambo/apa/advanced.html

こんなのも発見。
htmlやcgiだけDNSで名前解決させることが出来る。
ただ、ちょっと間違いがあって、FileではなくてFilesとしないと通らないので注意。

http://home7.highway.ne.jp/dayan/tips/unix/webserver.html

[Linux]RPMパッケージがインストールされる先を調べる方法

rpm -l パッケージ名 | more

とすれば良い。