絖綛 N@i.jp  昨日:00035888
 今日:00026464
 総計:00552315
keywords
管理者専用
  Post   Add link   Control Panel 































新しいトピック
最新:04/16 19:55


新しいコメント
最新:07/28 16:47






管理人へMAIL

プライバシーポリシー

zlibを最新版(1.2.8)にしたら、ClamXavが動かなくなった

今ごろzlibを最新版にアップデートしているってのもセキュリティ的に×なんですが


 先週の土曜日は診療内科の診察日だったのですが、その際、精神安定剤(メイラックス)の量を半分に減らすことになりました。この一週間はメイラックスの離脱(禁断)症状が辛くて辛くて。まず、いつもの就寝時刻になってもなかなか眠れません。寝付いても2〜3時間で目が覚め、そのまま朝まで眠れない状態が続きます。身体の疲れが取れずダルくてしかたがなく、時々理由もなく動悸が激しくなり不安で堪らなくなります。
 昨夜も睡眠時間は3〜4時間程度。日中も眠くて堪らないのに、何故か眠れないのです。


 気を紛らわす為もあって、自宅サーバ(Mac mini)のシステムを出来る範囲で最新化したりしていました。何せPowerPCのMacOS X 10.4.11 (Tiger) ですから、PowerPCを葬ったアップルからセキュリティアップデートが配布される事は絶対にあり得ません。自力で最新化して行くしかないわけで・・・
 その作業で、zlib が Ver.1.2.3 と古かったので最新版のVer.1.2.8に入れ替えてみました。最新版と言っても Ver.1.2.8のリリースは 2013.4.28 ですから、いかにサボっていたかが分かるってもんですね。

 ビルドは以下のように行い、インストール後もシステムやアプリの動作に特別問題は無いように思えました。

$ tar xvzf zlib-1.2.8.tar.gz
$ cd zlib-1.2.8
$ ./configure --prefix=/usr
$ make
$ make check
$ sudo make install
$ ls -l /usr/lib/libz*
lrwxr-xr-x   1 root  wheel      12 Feb 16  2013 /usr/lib/libz.1.1.3.dylib -> libz.1.dylib
-rwxr-xr-x   1 root  wheel   72588 Sep 27  2009 /usr/lib/libz.1.2.3.dylib
-rwxr-xr-x   1 root  wheel   97996 Jan 31 10:30 /usr/lib/libz.1.2.8.dylib
lrwxr-xr-x   1 root  wheel      16 Jan 31 10:30 /usr/lib/libz.1.dylib -> libz.1.2.8.dylib
-rw-r--r--   1 root  wheel  108776 Jan 31 10:30 /usr/lib/libz.a
lrwxr-xr-x   1 root  wheel      16 Jan 31 10:30 /usr/lib/libz.dylib -> libz.1.2.8.dylib

ところが、ClamXavというオープンソースのアンチウィルスソフトが正常に動かなくなっている事に気付きました。原因を探って行ったら、ClamXavの中にあるデーモン、コマンド群が zlib Ver.1.2.8 では正常に動作しないのだと言う事が分かりました。ClamXavの中のコマンド、デーモン群が本体でClamAVというオープンソースで作られています。
 また、ClamXavの最新版はVer.2.7.3ですが、MacOS X 10.4 (Tiger)で動作するのは Ver.2.2.1です。したがって ClamXavを最新版に入れ替えるわけにも行きません。

 ClamXavのデーモン、コマンド群は"/usr/local/clamXav"配下にインストールされていました。これらのデーモンやコマンド群とライブラリの依存関係を見ると、例えばデーモン "clamd"では、

$ cd /usr/local/clamXav/sbin
$ otool -L ./clamd
./clamd:
	/usr/local/clamXav/lib//libclamav.6.dylib (compatibility version 8.0.0, current version 8.10.0)
	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.10)
	/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
	/usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.2)
	/usr/lib/libiconv.2.dylib (compatibility version 5.0.0, current version 5.0.0)
	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

このような具合になっていました。そこで、これらのデーモン、コマンド群だけは zlib Ver.1.2.3を使うようにしてみました。先ず zlib Ver.1.2.3 を ClamXav に取り込みます。

$ su
# cd /usr/local/clamXav/lib
# cp -p /usr/lib/libz.1.2.3.dylib .
# ln -s ./libz.1.2.3.dylib libz.1.dylib

 次に、zlibをリンクしているデーモン、コマンドが"/usr/lib/libz.1.dylib" ではなく、取り込んだ"/usr/local/clamXav/lib/libz.1.dylib"の方を使用するよう、パスを書き変えてしまいます。例えばデーモン "clamd"では、

# cd /usr/local/clamXav/sbin
# install_name_tool -change "/usr/lib/libz.1.dylib" "/usr/local/clamXav/lib/libz.1.dylib" ./clamd
# otool -L ./clamd
./clamd:
	/usr/local/clamXav/lib//libclamav.6.dylib (compatibility version 8.0.0, current version 8.10.0)
	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.10)
	/usr/local/clamXav/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
	/usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.2)
	/usr/lib/libiconv.2.dylib (compatibility version 5.0.0, current version 5.0.0)
	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

zlibのパスが書き換えられている事が分かります。"clamd"デーモン以外にも、以下の"/usr/local/clamXav/bin"配下にある以下のコマンドも同じ方法でzlibのパスを書き換えました。

  • clambc
  • clamconf
  • clamdscan
  • clamscan
  • freshclam
  • sigtool

これで ClamXavは以前と同じように正常動作するようになりました。
 因に、本体であるClamAV自体を最新版にしてみようと、ソースをダウンロードしてビルドを試みたところ、configureで gccのバグの有無を検査しており、このチェックに引っ掛かってしまいました。gccを最新版にしなければビルドできないわけで、これは大変な作業になりそう。と言う事で、今回はここまでにしておきました。


< 過去の記事 [ 1月の 全てのカテゴリ リスト ] 新しい記事 >

2015 calendar
1月
123
45678910
11121314151617
18192021222324
25262728293031


掲示板
最新:08/15 17:19


GsBlog was developed by GUSTAV, Copyright(C) 2003, Web Application Factory All Rights Reserved.