OS X Server 10.8のamavisd

これを書いている時点で、バージョンは2.8.0、最新のはずである。
OS X Server関係の実行ファイルは、
/Applications/Server.app/Contents/ServerRoot/usr/bin/
/Applications/Server.app/Contents/ServerRoot/usr/sbin/
あたりに保存されている。これは、わかっていた。
clamdとamavisdを導入すると、
/usr/local/bin/
/usr/local/sbin/
に配置されることになるので、とりあえず、シンボリックリンクを作っておいた。
こんな感じ。

cd /usr/local/bin/
ln -s /Applications/Server.app/Contents/ServerRoot/usr/bin/amavisd* .

自宅のマシンも、自宅サーバも、これで問題なく動いているようであった。
が、職場でメインに使っているMacBook Pro 17インチでは、amavisdが稼働していないようなのだな。
/var/log/system.logには、

Apr 28 00:30:06 rengeso com.apple.launchd[1] (org.amavis.amavisd[57028]): Exited with code: 255
Apr 28 00:30:06 rengeso com.apple.launchd[1] (org.amavis.amavisd): Throttling respawn: Will start in 8 seconds

といったログが残りっぱなし。
いずれなんとかしよう、と、は、思っていたのだが、どうにも、原因に見当がつかない。
試しに、amavisdを単独で稼働させてみると…

ascii “\xA5” does not map to Unicode at /System/Library/Perl/5.12/darwin-thread-multi-2level/IO/Handle.pm line 445.
…..
Pid_file “/Library/Server/Mail/Data/scanner/amavis/amavisd.pid” already exists.  Overwriting!
Suicide () TROUBLE in pre_loop_hook: config: no rules were found!  Do you need to run ‘sa-update’?

といったエラーメッセージが13,000行以上も出力されてしまったっっっっっ

なんだこれゃ?

perlの基本パッケージが動かないの?

Handle.pmの445行目は、
read($_[0], $_[1], $_[2], $_[3] || 0);
なんと言うことも無い、入力部分であった。

もしかして、職場MacBook Proだけ、このファイルが壊れているのか?
ライブラリが壊れているのか?

で、まぁ、自宅マシンのそれらと比較してみたのですな。日付が微妙に違います。が、大きさは同じ。
diffコマンドで比較してみても、違いは無い。
自宅マシンのファイルを、職場MacBook Proにコピーして実行してみると、やはりエラーが…でる。

むむむむむむむっ

で。

「System/Library/Perl/5.12/darwin-thread-multi-2level/IO/Handle.pm line 445.」を検索ワードにしてググると…
https://discussionsjapan.apple.com/thread/10104905?start=0&tstart=0
見つかりました。なんだ、困ってらっしゃる方がいたのね。
このページでは、amavisdとsa-learnは関係ないのでは?となっていたが、エラーメッセージの最後は、
Do you need to run ‘sa-update’?
である。なんとか、sa-updateを実行してみましょうかね。

http://help.directadmin.com/item.php?id=313
を参考にして、
/Applications/Server.app/Contents/ServerRoot/usr/bin/sa-update –nogpg

ついでに、
sudo -u _amavisd /Applications/Server.app/Contents/ServerRoot/usr/bin/sa-learn –dbpath /Library/Server/Mail/Data/scanner/amavis/.spamassassin –sync

で、もう一度、amavisdを単独で起動すると…

むむむむむむむむむっ

またもや、10000行のエラー…ところが、最後が、
The amavisd daemon is already running, PID: [86739]

と、なっている。amavisdは既に稼働している?
あっ、稼働している。

同時に、2つのことを実行したので、どちらが効いたのかわからんが、とりあえず、解決。

さて、Dr.Houseでも見ようかね。


コメントを残す