«前の日記(2004-11-29 (月)) 最新 次の日記(2004-12-01 (水))»  

まちゅダイアリー


2004-11-30 (火)

gonzui on AIX

昨日リリースされた gonzui を使ってみようと思う。 手元で使えるマシンは AIX 5.2 のみ。一抹の不安を覚えながら挑戦。

Ruby は先日インストールしておいたので、他に必要なのは Berkeley DB と BDB binding for Ruby の2つ。

コンパイラ

事前にIBMのダウンロードサイトから gcc と gcc-c++ の RPM を取得し、インストールしておく(C++のコンパイラは不要だったかも…)。

rpm -ivh gcc-3.3.2-4.aix5.1.ppc.rpm
rpm -ivh gcc-cplusplus-3.3.2-4.aix5.2.ppc.rpm

ちなみに -ivh オプションは新規インストールの場合。アップデートの場合は -U オプションを使う。

Berkeley DB

公式サイトのダウンロードページから、最新版 (4.3.21) を取得する。ここでは暗号化に対応していない版を持ってきた。

あとは展開してインストールするのみ。ただし、 configure スクリプトはなぜかトップレベルで動かないようになっているので、適当なディレクトリに移ってから実行する。

$ gzip -cd db-4.3.21.NC.tar.gz | tar xvf -
$ cd db-4.3.21.NC/docs
$ ../dist/configure  --prefix=/usr/local
(中略)
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.

C コンパイラのところでエラーになってしまった。 config.log を見ると、コンパイラの場所を見つけられていないようなので、環境変数 CC を設定して再度実行。

$ export CC=/usr/local/bin/gcc
$ ../dist/configure  --prefix=/usr/local
$ make
$ sudo make install

これでうまくいった。ちなみに --prefix をつけないと /usr/local/BerkeleyDB.4.3/ へとインストールされる。

BDB binding for Ruby

次は Berkeley DB の Ruby バインディング。 RAAより、 bdb / 0.5.3 を取得して展開。

$ gzip -cd bdb.tar.gz | tar xvf -
$ cd bdb-0.5.3/
$ ruby extconf.rb --with-db-dir=/usr/local --with-db-version=-4.3
extconf.rb: Entering directory `src'
checking for db_version() in -ldb-4.3... no
checking for db_version_4003() in -ldb-4.3... no
extconf.rb:80: libdb-4.3 not found (RuntimeError)
        from extconf.rb:66:in `catch'
        from extconf.rb:66
extconf.rb: Leaving directory `src'

と、ここでエラー。オプションをいろいろと変えてみても同じ。/usr/local/lib には libdb-4.3.a や libdb-4.3.so がちゃんと存在するのに。 ここで行き詰ってしまったので一旦中断。Berkeley DB を 4.2 にして、もう一度挑戦してみるかな。

Tags: Ruby

解凍ソフトの脆弱性

UNIX 上のファイルを Windows へコピーするために、tar.gz 形式でファイルをアーカイブした。 Windows でそのアーカイブファイルを開いた(Lhaplusに関連付けしていた)ところ、C ドライブ直下にファイルが展開されてしまった。 詳しいやり方は書かないけど、これは任意の場所にファイルを展開させることもできてしまう…。

ネットで調べたところ、窓の杜 - 【NEWS】多くの解凍ソフトに指定外の場所へファイルが解凍されてしまう脆弱性が存在というアナウンスが見つかった。

通常、解凍ソフトでは、ユーザーもしくはソフトが指定した場所に解凍したファイルが生成されるが、本脆弱性を悪用して特殊な方法で解凍先を指定した圧縮ファイルを解凍すると、ユーザーが解凍先に指定したフォルダの存在するドライブ上で、悪意がある人間が指定したフォルダにファイルが作られてしまう。

僕が偶然気がつくくらいだから、それほど「特殊な方法」でも無いと思う。が、危険なことには変わりがない。 7月の話なのに今まで気がつかなかったとは…不覚。早速、最新版のソフトに更新しておいた。対策をしていない人は多そうだな、これ。

追記

詳細については、統合アーカイバの対応状況がよくまとまっている(辺境から戯れ言より)。

Tags: memo