「Linux」カテゴリーアーカイブ

Linux関連情報

全文検索 Fessのクロールで大失態

情けない設定ミスで、クロールが全く動いてくれなかった。

原因は、クロール対象とするパスの設定をミスった。

クロール対象とするパスに

smb://123.123.123.123/hogehoge

と書いて、hogehogeフォルダーを検索対象にした。。。。つもり。

最後に「/」を付けないと、フォルダーとして検索対象にしてくれない。

正しくは、

smb://123.123.123.123/hogehoge/

これだけのミスで・・・情けない。

 

TigerVNCをLinux上で起動して、Windowsから接続する。

TigerVNCのインストール方法については割愛する。

1.環境

環境としては、

・Linux(CentOS 6.5)側にTigerVNCサーバをインストール済み。
・Windows 8.1側にTigerVNCのサーバーとクライアントをインストール済み

以前にインストール方法の記録を書いたと思ったのだが、書いてなかったみたい(^^ゞ。その内、書くことにして今回はインストール後の使用方法のみとする。

2.VNCサーバー側

2.1 起動方法

時折使う、TigerVNCの起動コマンドを以下に備忘録として書き残す。
勝手に起動していると、セキュリティ上気になるので、個人的には必要な時に必要なだけサーバーやクライアントを起動しているので、よく忘れるw

まず、TeraTermなどのターミナル端末を使って、Linux側で以下のコマンドを実行する。
TigerVNCの起動コマンドはこれだです。

> vncserver :1 -geometry 1600×900

:1はnumberとだけなっておりますが、vncserverが起動されている番号になるのでしょう。ある意味で、VNCのIDの様なものとでも覚えておけば良いと勝手に思っています。

 

2.2 その他の確認コマンド

起動方法以外によく使うコマンドは以下の通りです。

1)Help

vncserver –helpでヘルプ見れます。

# vncserver –help

usage: vncserver [:<number>] [-name <desktop-name>] [-depth <depth>]
[-geometry <width>x<height>]
[-pixelformat rgbNNN|bgrNNN]
[-fp <font-path>]
[-fg]
<Xvnc-options>…

vncserver -kill <X-display>

vncserver -list

2)起動リスト
vncserverの起動状況を一覧で確認することが出来ます。

vncserver -list

TigerVNC server sessions:

X DISPLAY # PROCESS ID
:1 10950
:3 27447

上記の場合は、1と3のX DISPLAYが与えられており、:1もしくは:3でvncserverへアクセスすることが可能であることが判ります。

3)VNCサーバーを個別に殺す

そのままkillです。

vncserver -kill :3
Killing Xvnc process ID 27447
Xvnc process ID 27447 already killed

なんか既に殺された後の様なメッセージが帰ってきましたが・・・
listを確認してみると・・・

vncserver -list

TigerVNC server sessions:

X DISPLAY # PROCESS ID
:1 10950

:3が消えているので、無事殺されていることが判りました。

以上でサーバー側の説明は終わりです。

3.クライアント側

クライアント側はWindows 8.1を使用しています。
Vistaや7でも動いているので同じだと思います。

TigerVNC Viewer  でアクセス先を指定して接続しパスワード入力でログイン完了!ちなみに、TightVNC Viewer for Windowsでもほぼ同じです。

xxx.xxx.xxx.xxxには、もちろんIPアドレスもしくはサーバー名を指定。
:1は、vncserver起動時に指定したパラメタと同じ値を指定する。

これでデスクトップ画面が表示されたら成功です。
画面サイズが小さかったり大きかったりする場合は、サーバー起動時の-geometryオプションのサイズを調整して適当なサイズにします。
なので、適当なサイズが見つかるまでに、Killしたり起動したり繰り返しですねw

取りあえず、本当に備忘録です。

以上

Windows環境にPerlをインストールする!(Strawberry Perl)

Windows環境にPerlをインストールする方法について記述します。

Active Perlが有名ですが、フリー版での商用利用はライセンスに抵触するため、個人利用以外の場合はStrawberry Perl がもう一つの選択肢と判断しました。

Strawberry Perlのライセンスは、GPLもしくはArtistic ライセンスになっているので、Active Perlよりは使い勝手が良さそうです。
また、Active Perlにおける以下の問題も気になった次第です。

  • CPANが標準で使用できない。(現在は改善されているみたいですね)
  • Perl本体のバージョンが詳細までは確認できなかった。
    Perl本体最新バージョン:5.20.1
    Active Perl:Perl本体バージョン 5.20
    Strawberry Perl :Perl本体バージョン 5.20.1.1

ということで、Strawberry Perl をインストールします。

Strawberry Perl のダウンロード

下記URLよりダウンロードします。
https://strawberryperl.com/

インストール

ダウンロードしたファイルをダブルクリックしてインストーラーを起動します。
対象ファイル:strawberry-perl-5.20.1.1-64bit.msi

NEXTで次へ

 ライセンス内容を確認したら、I Accept the terms in the License Agreement にチェックを入れて、NEXTで次へ

Linuxでは/usr/bin/perlなのですが・・・Perlのプログラムで記述する最初の一行目にパスを記述するので、変更してみる。

変更したら、NEXTで
<<<追記>>>
変更しても意味有りませんでした。
実際に作成されるperlの実行モジュール(perl.exe)は、下記のパスに作成されています。
c:\usr\bin\perl\bin\perl.exe

無駄な抵抗でしたという落ちですね。
まあ、気分ということでご勘弁ください。

Installを開始する。しばしお待ちを・・・ユーザアカウント制御の画面が出てきたらOKを押して続けてください。

完了すると以下の画面が表示される。

 README.txtがメモ帳などで開いているはずなので、一応一通り目を通して。。。。コマンドプロンプトを起動します。

コマンドプロンプトで以下のコマンドを実行すると、バージョン情報が表示されます。

perl -v

 以上でStrawberry Perl  のインストールと動作確認は完了です。

この後の使い方などについては、いずれまた。

 

Linuxでプロセスの性能測定を行う。

Linux上でプログラムの実行時間を計測する場合、timeコマンドを使用します。

私の場合、CentOS上で動作させることが多いのですが、その際に使用するのがtimeコマンドなのですが、bashに組み込まれているtimeコマンドが勝手に(当然ですが・・・)使われてしまいます。
そんな愚かな私のために、メモを残しておきます。

timeコマンドは、/usr/bin/timeを使用します。
いっそのこと、aliasで切りなおしたろか!?と思うくらいwww

で、使用方法はmanページに任せるとして、詳細な計測結果を以下のオプション付きコマンドで得ることが可能です。

$ /usr/bin/time -v command

-vオプションを指定することで、詳細な計測結果を出力してくれます。

その際、気になるのが以下の項目です。

Maximum resident set size 直訳すると、最大使用実メモリサイズ?となるのでしょうか?
ps auxで得られるメモリ使用量と比較してみても、大きく値に隔たりがあります。
起動時に使用するメモリが大きいのか?そんなはずはない!・・・ということで調べてみることに・・・・

Voluntary context switches この値が影響しているみたいです。
本当かどうかは微妙ですが、コンテキストスイッチが行われると、使用メモリも移動してしまう?そのために、Voluntary context switchesの値を掛けた値がMaximum resident set sizeになっているようだ。

つまり、Maximum resident set sizeをVoluntary context switchesで割った値が実質的な最大使用メモリサイズになる。

<まとめ>

/usr/bin/time -v command

で計測された結果で実行時間の計測が可能。

実質的な使用最大メモリは、

Maximum resident set size / Voluntary context switches

となる。

ps auxやpmapsで確認すると、概ね正しい結果をえられる。

今時のPCで数キロ単位のメモリ消費が異なっていても誤差にしか過ぎないと考えて、この値を採用することにしよう!

これを見て、間違っているようでしたら、どなたかご指摘してください。

セキュリティの関係上、コメント時にはメールアドレスを入力することになっていますが、実のところ、メールアドレスは存在しないメールアドレスでもOKです。
こうしておくと、下手な人がコメントすることもないので・・・・(^^♪