月曜日, 8月 27, 2007

[Linux] junglediskが有料に。。

EC2のバックアップディスクとして使っているS3を、Windowsマシンからはjunglediskを使って見ていました(過去記事)。
が、、ついに有料化されてしまいましたね。。十分その価値がある(安定しているし)とは思いますので納得感はありますが$20というのは安いのか高いのか。。微妙なところだと思います。
clipped from www.jungledisk.com

Jungle Disk is an application that lets you store files and backup data securely to Amazon.com's S3 ™ Storage Service.

 blog it

金曜日, 8月 24, 2007

[Linux] GParted

結構有名なようで日本語の紹介ページもいっぱいありました。が、便利そうなのでメモ。

GParted is the Gnome Partition Editor application. Before attempting to
use it, here is some basic background information.
 blog it

水曜日, 8月 22, 2007

[Linux] ZABBIX with SNMP

ZABBIXからsnmpデータをモニタする場合、そのOIDを調べるためにsnmpwalkを使うとはまります。snmpgetで調べましょう(snmpwalkって下位を補正して値出力をしてくれるのですが、ZABBIXは厳格に、以下のフォーラムでも指摘されているように現行版では".0"やらをつけないと正常に取得できません)。
clipped from www.zabbix.com
 blog it

火曜日, 8月 21, 2007

[Java] MoSKito

MoSKitoはフリーの(Tomcatウェブアプリの?)モニタリングツール。demoとTOPページを読む限りアプリ改変もなくデータが取れるようだが、少し前のWebGUIな印象でJXInsightと比べると多少見劣りする。

日曜日, 8月 19, 2007

[Linux] SNMPってややこしい

普通Linuxなら、Net-SNMPでsnmpdをやらせているでしょうか、このsnmpdってなんて呼ぶのだろう?snmpエージェント?
答えは知らないのだけど、どうもマスタエージェントとサブエージェントという考え方がSNMPの世界の中だけで(も?)存在していて、このマスターエージェントというが先のsnmpdみたい。これに対して別途サブエージェントというのがいて、そいつがマスターエージェントに情報を渡して外界に情報を出すことが出来るらしい。挙句にこのマスターとサブの会話はAgentXプロトコルというやつでやるそうな。
すでに利用している技術であっても、いろいろ奥が深いですね。
clipped from ja.wikipedia.org

マスターエージェントとサブエージェントが外部から見たときに単純な一つのエージェントとみなせるような場合には、それらの役割はまとめて扱われることもある。

 blog it

土曜日, 8月 18, 2007

[Linux] Imagemagickとimlib2

双方ともにPerlから呼べ、かつソースの書き換えは比較的容易でした(Resizeは、imlib2にはそのままジャストな関数は無いけどcreate_scaled_imageで)。
Resizeとcropを繰り返すバッチで比較した結果、ImageMagickよりは約25%程、imlib2のほうが速かったです。
clipped from enlightenment.org


Enlightenment started life as just a window manager for X11, but has grown
to be much larger and now is split up into several libraries, other utilities
and applications as well as Enlightenment itself. The libraries are stand-alone
and useful for many things other than Enlightenment. They let anyone make use
of the same code, files and back-end that Enlightenment does for its graphics
and other functions.

 blog it
Tnimageというやつもあるみたいだけど、学術用っぽいので速度はあんまりなのかもしれません。

金曜日, 8月 17, 2007

[PostgreSQL] TOASTにはみ出したら

PostgreSQLでは1ブロック内に格納できない行データはTOASTという仕組みを使って別のTBLへ格納されます。このはみ出した部分について「問答無用で圧縮してしまう」のかどうかを知りたかったのですが、これも選択できるのですね。以下マニュアルより。
"ALTER TABLE SET STORAGE"を使用して、あるテーブル列の戦略を変更することができます。

やはりよく考えられていました。またOSSなRDBMSの比較表も見つけました。

木曜日, 8月 16, 2007

[PostgreSQL] 関数インデクス

PostgreSQLは関数インデクスが出来る、というか得意なんですね。まぁそもそもDBよく分かっていないので私が知らなかっただけだと思いますが。

火曜日, 8月 14, 2007

[Linux] Tomcatのセッションcookie

止める方法を発見。別に普通に使っていて邪魔になることはないと思いますが、一応。

日曜日, 8月 12, 2007

[Linux] MeCabのjavaバインディング

mecab-javaのMakeは成功するも、よく分からないエラー(Can't load IA 32-bit .so on a IA 32-bit platform)が。。(参考ページ)
[tf0054@localhost mecab-java-0.96]$ make test
env LD_LIBRARY_PATH=. /usr/java/jdk1.5.0_12/bin/java test
Cannot load the example native code.
Make sure your LD_LIBRARY_PATH contains '.'
java.lang.UnsatisfiedLinkError: /home/tf0054/mecab-java-0.96/libMeCab.so: Can't load IA 32-bit .so on a IA 32-bit platform
make: *** [test] Error 1
[tf0054@localhost mecab-java-0.96]$

でも、よく調べると普通にライブラリがロードできていないだけだった(LD_LIBRARY_PATHで解決)。なんかjavaって、いつもこんな風な分かり難いラーを返す気がします。。
[tf0054@localhost mecab-java-0.96]$ ldd libMeCab.so
linux-gate.so.1 => (0xffffe000)
libmecab.so.1 => not found
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7f0a000)
libm.so.6 => /lib/libm.so.6 (0xb7ee1000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7ed5000)
libc.so.6 => /lib/libc.so.6 (0xb7d80000)
/lib/ld-linux.so.2 (0x80000000)
[tf0054@localhost mecab-java-0.96]$

coLinuxだから?、MeCabはsunのJVMで動かそうとしていて、でもGCJ(GNU Compiler for the Java)も入ってるからこんがらがってんの?等々結構はまったのでメモ。

金曜日, 8月 10, 2007

[Linux] UltraMonkyL7

前からUltraMonkeyは知っていたけれど、L7負荷分散版がプロジェクトになっていたのは知らなかったのでメモ。使えるのかな。プロジェクトは活発そうなのがうれしいですね。
clipped from sourceforge.jp

UltraMonkey-L7は、OSI7階層モデルの第4層(Layer4)までの情報に基づいた負荷分散ソリューションである従来のUltraMonkeyを応用して、第7層(Layer7)までの情報に基づいた負荷分散機能を実現するためのプロジェクトです。

 blog it

水曜日, 8月 08, 2007

[search] 形態素の精度アップ

TextExtractというPerlモジュールを使って専門用語の抽出精度アップができるらしい。でも、検索エンジン用に形態素する場合は、意味わけよりもより細かく分けておきたいな、と思うのでその用途には使えない、、ですね。
clipped from www.drk7.jp

形態素解析の専門用語の精度UP

 blog it

月曜日, 8月 06, 2007

[Linux] jobscheduler

分散実行機能もありそうな、ジョブコントロールソフトを見つけました。是非調査してみたいところです。
 blog it
でも、この一般名詞な名前をアプリに付けると、googleヒットも良くないと思います。。。

土曜日, 8月 04, 2007

[PostgreSQL] データファイルダンプその後

pg_filedumpのフォーマットを調べようとしていたら、自前でファイルダンプしている方を発見。SRAさんさすがです。

木曜日, 8月 02, 2007

[Linux] rsyslogd

syslog-ngを、syslogdの代わりに使っているのですが、Freshmeatの統計でみるとrsyslogdというやつが人気のようですね。

月曜日, 7月 30, 2007

[Linux] Mantis API

BTのMantisに(SOAPの)APIを組み込もうというプロジェクトがありました。Eclipseからの投稿ツールを作ろうとしたところから出ている派生プロジェクトのようですが、この手の基盤ツールは有用ですね。
clipped from www.futureware.biz
MantisConnect
 blog it

日曜日, 7月 29, 2007

[Linux] Trac is better?

Tracは前から気になっていたのですが、相当よさそうなコメントも見つけたので"Trac月"という一撃インストールツールを使って、やつでちょっと使ってみようと思います。

Tracというのは革命的といっていいくらい便利なツールだと感動。個々の要素はSCMでありBTS(IMS)でありWikiなんだけども、それらが統合された状態で連携してくれるだけで使いやすさの次元がひとつ上がる感じ。例えばCVSとMantisとPukiWikiを別個に立てても決してこれと同等にはならない。

 blog it
ちなみに、pukiwikiからtracへデータコンバートするにはこちらのスクリプトが使えるようです。

土曜日, 7月 28, 2007

[EC2] EC2->S3バックアップ

邪道っぽいですが,expectを使うと自分自身に立てたWebDav(S3)に簡単にバックアップが取れました(cadaverを使います).

#!/bin/sh
#
# Mantis data backup script for Postgres
#
DATE=`date +%Y%m%d%H%M`
/usr/local/tf0054/pgsql/bin/pg_dump -U mantis | /usr/bin/gzip -1 - > ~/backup/mantis_$DATE.dat.gz

HOST=webdav://localhost:2667/
/usr/bin/expect -c "
set timeout 20
spawn /home/tf0054/cadaver-0.22.5/cadaver $HOST
expect \"\>\" ; send \"cd backup\r\"
expect \"\>\" ; send \"ls\r\"
expect \"\>\" ; send \"put /home/postgres/backup/mantis_$DATE.dat.gz\r\"
expect \"\succeeded\" ; send \"quit\r\"


どうも好きになれませんが,こんな効果があるから廃れずに残っているコマンドなのでしょうね.

木曜日, 7月 26, 2007

[amazon] jungledisk

AmazonのS3サービスを利用するためのクライアントにjunglediskというのがある。これはてっきりWindowsのクライアントだけだと思っていたが、Linux版(デーモンであがってWebDav接続を待つ)もあるんですね。Windows版も良く考えるとWebdavを提供しているだけなので、そらそうなのですが。

で、LinuxがCUIだけの場合デーモンを上げるためのiniファイルが作れないで困ります。が、これはWindows版を使ったらできるiniをコピーし、秘密鍵を書き換え(Windows版はiniファイル上暗号化されていますのでベタテキストで書く)ると動きます。以下に参考までに転記(XXXXとYYYYを変更して利用してください)。
LoginUsername=
LoginPassword=PROTECTED:
AccessKeyID=XXXX
SecretKey=YYYY
Bucket=default
CacheDirectory=/home/tf0054/jungledisk/tmp
ListenPort=2667
CacheCheckInterval=120
AsyncOperations=1
Encrypt=1
ProxyServer=
EncryptionKey=PROTECTED:
DecryptionKeys=PROTECTED:
MaxCacheSize=1000
MapDrive=J
UseSSL=1
RetryCount=3
FastCopy=1
WebAccess=0
LogDuration=30

此方の記事のようにうだうだやっていたのですが、それに比べると結構便利そう。でもLinuxってWebDavクライアント側が弱いのですね、、、これ経由でバックアップを考えていたのですが未だ少し道のりはありそうです。

水曜日, 7月 25, 2007

[S3] cadaver

webdavが使えるCUIのウェブブラウザ(?)。webdavが使えるということはjungledisk経由でS3にファイルバックアップを取れるということで使いでがあります。
clipped from www.webdav.org
[cadaver Logo]
 blog it

月曜日, 7月 23, 2007

[Linux] ポートレット

「ポータル・サイトを独自に開発するためのフレームワーク」のことをポートレットと呼ぶらしいが、そんなにポータルサイトのつくりって共通要素が多いのかな。。。
という疑問を解消するためにも詳細を読んでみようと思う。
clipped from www.itarchitect.jp

「eXo Platform」で体験するポータル・サイト開発

 blog it

土曜日, 7月 21, 2007

[PostgreSQL] pg_filedump

PostgreSQLのデータファイルをダンプするツールがRH社から公開されていた。無論RHDB用としてだが普通に(コミュニティ版PostgreSQLでも)使える様子。
clipped from sources.redhat.com

pg_filedump is a utility to format PostgreSQL heap, index, and control files into a human-readable form. You can format/dump the files several ways as well as dumping straight binary. This utility is intended to aid in the understanding of the internal contents of a PostgreSQL block.
 blog it

ちょっと使ってみたので出力を以下に貼り付けておきます。

[tf0054@domU pg_filedump-8.2]$ ./pg_filedump -f /var/tmp/8694215

*******************************************************************
* PostgreSQL File/Block Formatted Dump Utility - Version 8.2.0
*
* File: /var/tmp/8694215
* Options used: -f
*
* Dump created on: Sat Jul 21 03:53:38 2007
*******************************************************************

Block 0 ********************************************************
-----
Block Offset: 0x00000000 Offsets: Lower 44 (0x002c)
Block: Size 8192 Version 3 Upper 8176 (0x1ff0)
LSN: logid 6 recoff 0x74e17274 Special 8176 (0x1ff0)
Items: 6 Free Space: 8132
Length (including item array): 44

BTree Meta Data: Magic (0x00053162) Version (2)
Root: Block (1) Level (0)
FastRoot: Block (1) Level (0)

0000: 06000000 7472e174 01000000 2c00f01f ....tr.t....,...
0010: f01f0320 62310500 02000000 01000000 ... b1..........
0020: 00000000 01000000 00000000 00000000 ................
0030: 00000000 00000000 00000000 00000000 ................
0040: 00000000 ....

-----
BTree Index Section:
Flags: 0x0008 (META)
Blocks: Previous (0) Next (0) Level (0) CycleId (0)

1ff0: 00000000 00000000 00000000 08000000 ................


Block 1 ********************************************************
-----
Block Offset: 0x00002000 Offsets: Lower 44 (0x002c)
Block: Size 8192 Version 3 Upper 8104 (0x1fa8)
LSN: logid 6 recoff 0x74e17ca4 Special 8176 (0x1ff0)
Items: 6 Free Space: 8060
Length (including item array): 44

0000: 06000000 a47ce174 01000000 2c00a81f .....|.t....,...
0010: f01f0320 e49f1800 d89f1800 cc9f1800 ... ............
0020: c09f1800 b49f1800 a89f1800 ............

------
Item 1 -- Length: 12 Offset: 8164 (0x1fe4) Flags: USED
1fe4: 00000000 01000c00 01000000 ............

Item 2 -- Length: 12 Offset: 8152 (0x1fd8) Flags: USED
1fd8: 00000000 02000c00 02000000 ............

Item 3 -- Length: 12 Offset: 8140 (0x1fcc) Flags: USED
1fcc: 00000000 03000c00 03000000 ............

Item 4 -- Length: 12 Offset: 8128 (0x1fc0) Flags: USED
1fc0: 00000000 04000c00 04000000 ............

Item 5 -- Length: 12 Offset: 8116 (0x1fb4) Flags: USED
1fb4: 00000000 05000c00 05000000 ............

Item 6 -- Length: 12 Offset: 8104 (0x1fa8) Flags: USED
1fa8: 00000000 06000c00 06000000 ............


-----
BTree Index Section:
Flags: 0x0003 (LEAF|ROOT)
Blocks: Previous (0) Next (0) Level (0) CycleId (0)

1ff0: 00000000 00000000 00000000 03000000 ................


*** End of File Encountered. Last Block Read: 1 ***
[tf0054@domU pg_filedump-8.2]$

Oracleで"alter system dump datafile"と同レベルまでは行っているように思われます。すばらしい。

木曜日, 7月 19, 2007

[Linux] MeCabとY!の形態素API

前にブログも書いたY!形態素APIMeCabの分かち書き比較をしたくて簡単なスクリプトを書いた。
MeCabのヨミってカタカナで返る(Y!はひらがな)のでこれをひらがな変換しようとしてUnicode::Japaneseを使いかけて成功していないとか、しょぼいですが何かの足しになれば。

水曜日, 7月 18, 2007

[search] MeCab with ActivePerl

ActivePerlでMeCabを使った形態素解析をしたくなった。が、これってコンパイラが要るなぁと思っていたらやはりきとくな方がppdを公開されていた。ありがたや。
clipped from namazu.asablo.jp

Windows 利用者のために ActivePerl 用 Perl モジュールである PPM パッケージを公開しています。

 blog it

火曜日, 7月 17, 2007

[Linux] DTrace on Linux

PostgreSQLユーザ会で、PostgreSQLの挙動をDTraceを使って(PgSQL自体は当然SUN上で稼動)グラフ化していた。これはモニタリングに有効ということでLinux版を調べてみると。。下のSYSTEMTAPというやつが有効そう。
clipped from sourceware.org
SystemTap logo
 blog it

土曜日, 7月 14, 2007

[perl] Unicode::Japanese

Encode利用の(Perl5.8の)ActivePerlにあって,カタカナ→ひらがな変換ってどうやるのが正統なのか分かりません.
そんな中私はUnicode::Japaneseで書いていて,そのActivePerlパッケージの入手先をメモ.
clipped from fleur.hio.jp

http://fleur.hio.jp/pub/perl に ppd がおいておきました.このURLをレポジトリに追加してください. その後 ppm install Unicode-Japanese でインストールできます.

 blog it

昔はjcode.plで統一感があって勉強しやすかったと思います.さっこんPerlがなんとなく取っ付きが悪くなって書籍も減っている感があるのは,案外こんなところが原因なのではないかと思います...

木曜日, 7月 12, 2007

[GPS] GPS-CS1のこと

GPS-CS1を(ずいぶん前に)買いました。旅行先などに持ってゆくと、後でその経路をgoogleマップで見られる、というもの。
googleマップで見たい場合は、"trk2goolgemaps&kml"とあわせて使うのが一般的なようですが、フォーマットは統一規格(NMEA-0183というやつらしい)にのっとっているようなので、こちらなどで公開されているスクリプトなんかを使っても処理できそうです。
clipped from www.sony.jp
 blog it

水曜日, 7月 11, 2007

[API] gmap+標高?

緯度経度から標高を出してしまうAPIがあるらしい。何かに使えそうで、何に使えるのか分からない。。
clipped from www.mashupedia.jp
 blog it

日曜日, 7月 08, 2007

[Linux] 軽量httpdの選択肢

apache以外にはlighttpdやthttpd位しか知りませんでしたが、世の中見渡すとたくさんあるのですね。。
clipped from www.ibm.com

Lightweight Web servers

Special-purpose HTTP applications complement Apache and other market leaders

 blog it

金曜日, 7月 06, 2007

[PostgreSQL] RDBMS-MIB

ちょっと前に気にだけしていたpgsnmpdがバージョンアップされていました。のでもう少しちゃんと知ろうとDRBMS-MIBを見てみました。意外に細かいところまで見られるし、オラクルもサポートしてるんですね。思ったより使ってみる価値は高そうです。

水曜日, 7月 04, 2007

[Linux] ZABBIXでDB肥大化

ZABBIXはmysqlを使っているのだが、普通にCentOSなどの標準mysqlでやってしまうと、/var/lib/mysql/ibdata1というファイルが肥大化してゆく。
これは/etc/my.cfgにinnodb_file_per_tableオプションを書いておけば解決するのだが、付けずに使って出来てしまったibdata1ファイルは(その後にいくらデフラグしても縮小できない。
なのでdump&restoreが必要。
clipped from www.zabbix.com
ZABBIX Forums
 blog it
ちなみに、mysqlはスレッドを多用するのでこれをpsコマンドで見たくなる(と思う)。そのときはこのコマンドで。
ps auxwww -L (普通は"ps -efLwww"でしょうか)

これによりPIDだけではなくLWPとNLWPとが見られる(ちなみにスレッドならPIDは同じでLWPが違うものが複数行現れるはず)。

日曜日, 7月 01, 2007

[Linux] Assurer

阿修羅(Assurer)というサーバテスティングフレームワークがあるらしい。サーバ管理者はこの手の発想ができないの(が普通なの)で、この考え方からして面白そう。
clipped from blog.mizzy.org
$ ./assurer.pl -c examples/config.yaml
[info] Testing http://svn.mizzy.org/ #0
ok 1 - Content of http://svn.mizzy.org/ matches 'It works!'
[info] Testing http://svn.mizzy.org/ #1
not ok 2 - Content of http://svn.mizzy.org/ matches 'It not works!'
# '<html><body><h1>It works!</h1></body></html>'
# doesn't match '(?-xism:It not works!)'
 blog it