昨日は,近くのお山に行ってきました。

英彦山観光案内図

相変わらず暑いですけど,心なしか,昨日今日と「さやかに見えねども」状態ではありませんか?昨日は,本家のほうで,3月に話題にしたお山へ行ってまいりました。仕事がらみだったので,まともにカメラを構える暇はありませんでしたが,それでも携帯で何枚か取ってきましたので,見てください。(火暴)

英彦山神宮。 大きな建物は,奉幣殿といいます。

奉幣殿と町を望む

表参道下りの図表参道上りの図

WWWC ver.1.0.5のこと。

いつも,おいでいただく,juneさんは,WWWCを使っておられます。
で,私も使ってみようかなと前から思っていたのですが,この頃,またちょっと見ているところが増えたので,本日導入することに決めました。

実は,WWWCはもう更新が止まっているソフトなのです。最終更新は,16-May-2006になっていて,最終バージョンはベータ版のままですが,マイナーチェンジで,変わったのが,
・起動時に設定が消える場合があったのを修正した。
・いくつかのセキュリティ上の問題を修正した。
の2か所になっているようなので,こちら (すっかり忘れてましたが、新バージョンが出てました) を落としてきて,使うことにしました。

インストールしまして,起動時にチェックしてくれるように設定して,1度終了し再度開いたら,juneさんのところが変わっているようですよというお知らせなので,サッと跳んでいったのですが,何も変わっていませんでした。どこか設定が悪いんでしょうか。TODOSのほうは,問題ないようなのですが……

追記:
   WWWC,うまく動くようになりました。
   juneさんがコメントで教えてくださったことを参考に,filter.txtを作りました。
   juneさん,ありがとうございました。

サーバが落ちました。

今日,18:00から22:30位の間,自鯖が落ちていました。
7月の12日に,雷雨で落ちたことがあるのですが,今日は,原因がわかりません。
今日,日本語ブログのほうへのアクセス数が,日ごろになく,多かったのですが,関係あるでしょうか。

未経験のことばかりで,いろいろ悩みますね。

追記:
明日が仕事なので,今日(8/21)はマルッと休みです。
でもって,さっき気づいたのですが,バッテリーのない古い機器で,電源の落ちたままのが,他にもありました。
やはり,停電があったようです。

追記2:
昨日(8/20),とにかくすごいアクセス数で,また,何か変なウイルスでも仕込みに来てたのだったら心配だなと思って,改めてログを見ていたんだが,アクセスもとの IP は, 70.35.196.129 で,多数のページ数の原因はフィードだと分かった。Who isで調べてもしかと分からないので,http://70.35.196.129/ でアクセスしてみた。これで,何か出るとは思わなかったんだが,なんと,右図のページが表示された。
で,中央部分をクリックしたら,The Official Microsoft IIS Siteにリダイレクトされた。犯人は,お前か!!!

新・懸案のLoox-#2。

今まで,Win2Kで使っていたソフトでLuPu上で使いたいものがあるので,wine-1.1.43.petをインストールし,日記なんぞ書こうとしたわけですが,なんと,wineでは,日本語入力ができなかった。ググッてみた。.wine/user.regに
[Software\\Wine\\X11 Driver] 1129995218
“ClientSideAntiAliasWithRender”=”N”
“InputStyle”=”overthespot”または”root”
を書くといいって情報があったんだが,これをやってもだめだった。wineのバージョンが少し古いときの情報のようだ。

何か別に方法はないかと調べていたら,wine-doorsというのがあるらしい。で,これをインストールしようとしたら,依存しているパッケージの多いこと,多いこと。
ペットで間に合わないものもあって,いくつかはソースで引っ張ってきてやってみたんだけど,どうもうまくいかない。ひとまず,wine上の日本語入力は棚上げ。

ところで,Wineをインストールするときに,Geckoのダウンロードウィンドウが現れるのだが,ダウンロードに失敗する。このせいで,エラーが出る。
どうしても,うまくいかないので,一旦,Wine をアンインストールした。
http://wiki.winehq.org/Gecko に情報を見に行き,
wget http://downloads.sourceforge.net/wine/wine_gecko-1.0.0-x86.cab
で,cabをダウンロードして解凍。Puppyで,wget 使えるんだ。知らなかった。/usr/share/wine/gecko に,geckoフォルダをつくり,解凍したファイルを入れてやったのち,改めてインストール。エラーが出なくなって,文字化けもなくなった。

今までの日記ソフトはWine上でしか動かないので,直に日本語入力はできないが,閲覧も保存も問題はないので,Geanyで打って,コピペしようと思ったら,「む」が打てない。runlevel3だと問題ないので,x上の話ということになる。

端末から,xevで調べてみると,
keycode 51 (keysym 0x5d, bracketright) であるべきものが,
keycode 51 (keysym 0x5c, backslash) になっている。

で,xmodmap -e ‘keycode 51 = bracketright braceright’ を打ったらよくなったけど,再起動すると元に戻る。<——当りまえだけど。(笑)

.xinitrc を眺めていたら,
usrmodmap=$HOME/.Xmodmap
というところがあるので,~/.Xmodmapをつくって,中に
keycode 51 = bracketright braceright
を記入してみた。解決。

一応,フォーラムに報告しとくべきかな。あまり,かな入力を使う人はいないだろうから,気づいていないかも……

追記:フォーラムに報告したら,シノバーさんから,「xの高度な設定」で直ると思います。というお返事をもらった。実際直るようだ。
「xの高度な設定」をキーワードにしてフォーラム内を検索したら同じ内容を扱った別投稿が見つかった。
事前にずいぶん検索したんだけど,見つけられなかった。二番煎じになっちゃったわけだけど,まぁ,いいか。

追記2:
 12/05(日),本日,Puppy Lupu 5.1.1をT93Bに入れ直した。
 WinXPのファイルをUSB-HDD仲立ちで,ミラーリングバックアップしていたのだが,このUSBのファイル形式がNTFSで,これがらみか,または,システムディレクトリをKnoppixのGPartedで無理やりリサイズしようとしたせいか,この間入れたLupu 5.1.0がおかしくなっていたのだ。
 概ねはLupu 5.1.0と変わらない状況だったのだが,シノバーさんのlang_support_ja-1.5.1.sfsを当ててSCIM設定をしても,Anthyが起動せずに参った。ネットに,lang_pack_ja-lupq-0.5.petを当てたら,いいみたいな情報があって,これを入れてやったらついでにWINE上の日本語入力も出来るようになった。感動。
 どうやら,lang_pack_ja-lupq-0.4 以前では /usr/share/scim が間違ったところに配置されていたらしい。

新・懸案のLoox(DazukoFS+ClamAV+HAVP on LuPu)。

Win2Kのサポートが切れたので,後継としてPuppyLinuxをワークステーションに使おうと思って,いろいろ試してきた。Puppy独自のFRUGALモードで使うのなら,フォーラムの投稿通り,あまりウィルス対策をする必要がないかもしれないが,FULLモードで使うし昨今の情勢だしということで,やはり,ウィルス対策いるよねということである。
では,以下をお読みください。

結局,LooxS5/53Wはオフラインワープロ専用として使うことにしたので,もう一台のLooxT93B(これには,今までWin2Kが入っていて,ちょっと重いけれどもモバイル機として利用してきたもの。オンアクセススキャンに執着してきたのも,この機を今まで通り使いたいからだ。)にLuPu5.1.0をFullインストールすることにした。

  • LuPu5.1.0をLooxにインストールする。
    1. S5/53W と違って,CDが使えるので,CD からシステム用に12GBに切った/dev/sda1にLuPu5.1.0 をインストール。再起動。
    2. 再起動後,Welcome to Lucid Puppy で,「eth0,wlan0」の状態を確認。どちらもちゃんと機能しているが,wlan0のほうは使える環境がないので,どうしようもないね。
      「言語と場所」の設定,下のほうに推奨で,ATI Radeon Mobility M16 LYのためにXorg_High.petを導入しろと書いてあったので,お言葉通りにしたのち,再起動。
    3. 「Menu」→「Network」からFirewallの設定。
      Pet_Maker-1.7-3.petをインストールし,これを使って,lang_support_ja-1.4.sfsをpetとしてインストール。
      SCIM入力メソッドの設定。x再起動。 <—- 日本語化なんだけど,メニューは英語のまま。
    4. x上のキーボードの言語設定。
  • DazukoFSをLooxにインストールする。
    1. 開発の環境準備。
      • lupu_devx_510.sfsをpetとしてインストール。
      • kernel_src-2.6.33.2-patched.sfsをpetとしてインストール。
        # /usr/src/linuxに移動して,make oldconfigを実行。
        # make menuconfigを実行。
        # makeを実行。
        半日掛っちゃったよぉ,カーネルの再構築に! モジュールを作るのに再構築しない方法もあるらしい。でも,/boot/System.map とかを使うようで,LuPuの場合はかなり勉強しないと使えるようにならないかも。ニャンともいいがたいね。
        この半日掛ったlinux-2.6.33.2をlinux-2.6.33.2-T93B.tar.gzとして,保存。    <—–   やり直しに備えて,「転ばぬ先の杖」ね。なんせ半日だから。
        (注意) ⇒ linux-2.6.33.2だけしか保存していないから,使うときはさきにkernel_src-2.6.33.2-patched.sfsをインストールして,出来たlinux-2.6.33.2とtar.bzを展開して出来たものとを置き換えること。
      • linux/fsにfs_stack.hを作る。中は,externvoid fsstack_copy_attr_all(struct inode *dest, const struct inode *src);の1行。
    2. dazukofs-3.1.3-rc2.tar.gz を usr/src 内に,tar zxvf dazukofs-3.1.3-rc2.tar.gzで展開。解凍フォルダにあるREADMEの説明に従う。
      # cd dazukofs-3.1.3-rc2,移動後,makeを実行。
      # make dazukofs_installを実行。
    3. # dazukofsのモジュールを手動でロード。
      ロードはされたが,LuPu501では出なかった Warning が……Deprecated config file /etc/modprobe.conf, all files belong into /etc/modprobe.d/. 。
    4. DazukoFSをテストする。
      • # mkdir /tmp/dazukofs_test     DazukoFSがテストのために使うディレクトリを作る。
      • # mount -t dazukofs /tmp/dazukofs_test /tmp/dazukofs_test    作ったディレクトリをDazukoFSでマウントする。
      • # cp /bin/* /tmp/dazukofs_test   テストのためのファイルを作ったディレクトリにコピーする。
      • /usr/src/dazukofs-3.1.3-rc2/testに移動してテストプログラムを作るために,makeを実行。
      • # env LD_LIBRARY_PATH=lib ./showfiles   テストプログラムを実行。
      • そのままで,別の端末を開いて,
        $ find /tmp/dazukofs_test -type f | xargs file
        元の端末内に,アクセス中のファイル名が,表示されれば,テストは完了。CTRL-Cでテストプログラムを終了する。
      • # umount /tmp/dazukofs_test    テストディレクトリをアンマウントする。
      • # mount | grep dazukofs    DazukoFSがマウントしているディレクトリがあるかの確認。この時点では何もなくて正常。
    5. 前々から先送りにしていた,boot 時の dazukofsモジュールの自動ロードとマウントを達成しなくてはいけない。 Warning に現れた modprobe.conf などをいろいろいじってみたのだがうまくいかなかった。
      ところがである。Puppyにはちゃんと GUI で新モジュールをロードするメニューがあるではないスか!!
      メニューは英語のままなのだが,デスクトップから「setup」→「Configure startup of Puppy」→「Click here to add a new module」→「Module add-list manager」と行く。dazukofsを探して追加してやったら,あっさりロードされた。(ハハハ)
    6. で,DazukoFSによるマウントのほうだけど,READMEにはね,/etc/fstab に
      /usr   /usr   dazukofs   defaults   0   0
      /opt   /opt   dazukofs   defaults   0   0
      と追記すればよいと書いてあるのだが,これはだめだった。boot時のメッセージを見てわかったが,モジュールがロードされる前にFileSystemの有効化が来るせいのようだ。
      困って,分からないなりに設定ファイルなどをあれこれ開けて見ていたのだが,うまいことに,/etc/rc.d/rc.sysinit にPERSONAL BOOT SCRIPT という項目があって,/etc/rc.d/rc.local をいじれと書いてあった。
      mount -t dazukofs /root /root
      mount -t dazukofs /usr /usr
      mount -t dazukofs /opt /opt
      を書いて再起動したらうまくいった。ただ,どこをマウントするのが適切かわからない。ダウンロードファイルなどは,/root に落とすからここだけでもいいのかなぁ。
      いずれにしても,ClamAvの作業に移る前に再起動。
      (BugFix) /root をマウントすると,電源が落ちなくなった。電源が切れなくなった件について,/etc/rc.d/rc.shutdown を見ていたら,そのものずばりの [#091117 weird shutdown bug. would not shutdown when a partition mounted, x restarted.] という項があった。
      で,rc.shutdown 内を検索して 091117 について書いてある 927行目あたりを眺めていたら,922 行目に [STRAYPARTL=”`echo “$MNTDPARTS” |grep -v “/dev/pts” |grep -v “/proc” |grep -v “/sys” |grep -v “tmpfs” |grep -v “rootfs” |grep -v ‘on / ‘ | grep -v “/dev/root” | grep -v “usbfs” | grep -v “unionfs” | grep -v “/initrd” | grep -v “dazukofs”`”] というのがあって,fsについての指定をしているようなので,ここに赤字を追記。無事解決。
  • ClamAvをLooxにインストールする。
    1. パッケージマネージャで libbz2-dev をインストール。
    2. /root にcheck-0.9.8.tar.gz を解凍して,インストール。解凍フォルダ内にあるINSTALLの説明に従う。
      # ./configure
      # make
      # make install
    3. /root にclamav-0.96.1.tar.gz を解凍して,インストール。解凍フォルダ内にあるDocsの説明に従う。
      まず,グループとユーザを作成。
      # addgroup clamav
      # adduser -G clamav -s /bin/false clamav
      clamavのパスワードを設定。
      $ ./configure –sysconfdir=/etc –enable-check
      $ make
      # make install
    4. unit tests 。
      # make check
    5. checkの結果
      PASS: check_clamav
      PASS: check_freshclam.sh
      PASS: check_sigtool.sh
      SKIP: check_unit_vg.sh
      PASS: check1_clamscan.sh
      PASS: check2_clamd.sh
      PASS: check3_clamd.sh
      PASS: check4_clamd.sh
      SKIP: check5_clamd_vg.sh
      SKIP: check6_clamd_vg.sh
      SKIP: check7_clamd_hg.sh
      SKIP: check8_clamd_hg.sh

      ======================
      All 7 tests passed
      (5 tests were not run)
      ======================
    6. 全然かかわりないんだろうけど,# /sbin/sysctl -w kernel/shmmax=268435456 にて,shmmax を 268435456 (256MB) に書き換えた。
      というのが,LooxS5/53W でやっていたときに segmentation fault が出て,clamd がちょくちょく死んじゃってたんだが,これに関しては,ClamAvのBugzilla でもあまり回答がなかった。でも,ちょっと古いバージョンの話で「 freshclam をやったら直らない? 」なんていうのがあって,その辺のからみがあるなら― Avast の件が頭にあったもので―おまじないで shmmax を増やしておいたらならないかなと思ったんだよね。
      で,単なる気休めです。
    7. /etc にある clamd.conf の内容を編集。
      • Example の頭に # をつけてコメントアウト。
      • 以下の部分はアンコメント。
        LogFile /tmp/clamd.log     テストラン後はコメントアウトする。
        LogTime yes     テストラン後はコメントアウトする。
        LocalSocket /tmp/clamd.socket
        FixStaleSocket yes
        User root     これを明示的に宣言しないと,オンアクセススキャンが効かないようだ。
        DetectPUA yes
        ClamukoScanOnAccess yes
    8. /etc/rc.d/rc.local に env LD_LIBRARY_PATH=/usr/local/lib /usr/local/sbin/clamd -c /etc/clamd.conf を追加。
      PATHを恒久的に通すことも考えたが,起動時にいるだけだから, env で済ませることにした。再起動したら,無事,clamd が走っていた。
    9. /etc にある freshclam.conf の内容を編集。
      • Example の頭に # をつけてコメントアウト。
      • 以下の部分はアンコメント。
        UpdateLogFile /var/log/freshclam.log
        LogTime yes
        DatabaseMirror db.jp.clamav.net
        NotifyClamd /etc/clamd.conf
    10. freshclam.log用の空ファイルを作り,所有者を変更する。
      # touch /var/log/freshclam.log
      # chown clamav:clamav /var/log/freshclam.log
    11. /etc/rc.d/rc.local に env LD_LIBRARY_PATH=/usr/local/lib /usr/local/bin/freshclam -d を追加。
      起動時にfreshclamがデーモンとして起動する。再起動して,freshclam.log を見たら,ちゃんとウィルスデータベースが更新されていた。これがらみで,rc.networkのMAXWAITを48
    12. /root/clamav-0.96.1/test内のテスト用ウイルスを解凍(たとえば,unzip ~/clamav-0.96.1/test/clam.zip)しようとすると
      error: cannot open zipfile [ /root/clamav-0.96.1/test/clam.zip ]
      Operation not permitted
      unzip: cannot find or open /root/clamav-0.96.1/test/clam.zip, /root/clamav-0.96.1/test/clam.zip.zip or /root/clamav-0.96.1/test/clam.zip.ZIP.
      が出る。ただ,端末にしてもGUIで直接ファイルをクリックにしても,メッセージがわかりにくくて困る。
    13. テストラン→# env LD_LIBRARY_PATH=/usr/local/lib /usr/local/bin/clamscan –infected –remove –recursive / を打って,一応テストウィルスのお掃除。
      で,判明したこと。DazukoFsがマウントしているディレクトリで見つかったマルファイルについては
      WARNING: Can’t open file ファイル名: Operation not permitted
      が出る。削除してくれないので,手動削除が必要。それ以外のディレクトリについては,
      ファイル名: なんちゃらかんちゃら FOUND
      ファイル名: Removed.
      が出て,削除までしてくれる。
    14. clamscan については,シェルを作ってcron に入れておくという手もあるけど,Windowsマシンだって,そんなにたびたび,フルスキャンはしないし,ときどき思い出してやればいいのではないかと思うわけ。
  • HAVPをLooxにインストールする。
    HAVPについては,前にjuneさんがお書きでしたね。petはないようなので,ソースからやります。

    1. /root にhavp-0.92.tar.gz を解凍してインストール。解凍フォルダにあるINSTALLの説明に従う。
    2. # ./configure
      # make
      # make install
    3. /usr/local/etc/havp/havp.config を編集。
      • REMOVETHISLINE deleteme   を削除。
      • Listening port を8080にするので,
        PORT 8080   をアンコメント。
        BIND_ADDRESS 127.0.0.1   をアンコメント。
      • ClamAV Library Scanner を有効化するために,
        ENABLECLAMD true
      • ClamAV Socket Scanner を有効化するために,
        ENABLECLAMD true
        CLAMDSOCKET /tmp/clamd.socket
    4. # addgroup havp
      # adduser -G havp -s /bin/false havp
      # chown havp /var/tmp/havp /var/log/havp /var/run/havp
      # chmod 700 /var/tmp/havp /var/log/havp /var/run/havp
      LuPuもLinux の仲間なので,mandatory locking を有効にね,ということらしい。
      # mount -o remount,mand /
    5. ブラウザの設定をする。FireFoxを使うつもりなので,最新版の3.6.8をインストールし,日本語化(参照「懸案のLoox-#7。」)ののち,ネットワークの接続設定からプロキシを,127.0.0.1:8080にする。。
    6. テストがうまくいったら,rc.localに
      # mount -o remount,mand /
      # env LD_LIBRARY_PATH=/usr/local/lib /usr/local/sbin/havp -c /usr/local/etc/havp/havp.config
      を記入して,起動時に起きるようにする。
  • 後は,適当にLooxを自分用にカスタマイズする。
    追記:

  • HAVP経由の接続がうまく行ったり行かなかったり,今日(8/20),つくづくerror.logを眺めていたら,起動時にclamd.socketとの接続がうまく行っていないときがあるようだ。起動順をclamd,freshclam,HAVPとしていたのだが,ウィルスデータベースの更新が多いときにfreshclamが,HAVPとclamd.socketの接続の邪魔になっているように感じたので,起動順をclamd,HAVP,freshclamにやりかえた。これでしばらく様子を見てみよう。
  • ところで,T93Bからは,初の書き込みです。(喜)—-8/21 01:26a.m.

本家のカウンタ。

本家のトップページのカウンタがやっと10,000を超えました。「えっ,カウンタあるの?」と思うかたは,本家で探してみてください。瓢箪の絵の下にひっそりとあります。(笑)

で,2007年9月1日からですから,遅いですね。このころは,もう,あまりカウンタは設置されない時代になっていたのですが,やはり,過去の癖を引きずっていたので作りました。でも,このカウンタ作ったときに,連打されてもちょっとやそっとでは増えないようにしましたのでね,連続でページを再読み込みさせても,絶対に増えません。他のページを読んでから戻っても,短時間しか経過していなかったら増えません。この間にIPアドレスが変わっちゃうと,増えちゃいますけど。私本人がアクセスしたのでは,増えません。これもIPで弾いているので,ネットカフェとかからアクセスすれば増えますが,私にはあまりそんな機会はありません。初めのころあまりにも来訪者がいないので,自分のIPを弾くのを止めちゃおうかと思ったこともありますが,耐えました。

初めのころは,アクセスされたIPをカウンタファイルに残しておいて,それを見てどんな所からアクセスされているのか判断したりしていましたが,今は本家にもアクセス解析ツールを設置してますので,その部分は削りました。使っているカウンタプログラムはあちこちを参考に自作したので,簡単なものですが,それだけに愛着があります,これだけ増えてくれない子でありましても……(微苦笑)

懸案のLoox-#10。

「LooxS5/53WにPuppyLinuxを入れて,オンアクセススキャンでウイルス対策ソフトを動かす」の最終段である。読んでもらうとわかりるが,所期の目標に達していない。
しかし,DazukoFS+ClamAvデーモンはひとまず動いた。その時あまりにも重くて,他の作業もままならないので,LooxS5/53Wはオフラインのサブ機として使うことにしようと決めた。
とはいっても,その過程で分かったこともいろいろあったので,忘れないためにもそのあたりをまとめておこうと思う。

以下の作業は「懸案のLoox-#9。」の13.に続いて行うことになる。

まだ,ウイルス対策が済んでいないので,必要なファイルのダウンロードは別PCを利用する。また,今回は開発環境ができているので,Debianのパッケージを利用せず, clamav-0.96.1.tar.gz をダウンロードして使う。

Clamavのインストール。
1度,1.~6.まで済んだのだが,
========================================
4 of 7 tests failed
(5 tests were not run)
See unit_tests/test-suite.log
Please report to http://bugs.clamav.net/
========================================

ということで,ClamAvのBugzillaを見たら1744が似ているようなので,パッケージマネージャでlibbz2-devをインストールし,ClamAvのほうは make uninstall して,clamd.conf とfreshclam.confも削除。改めて,やり直した。

  1. 後で,checkを使うので,http://www.sf.net/から,check-0.9.8.tar.gzをダウンロードして解凍し,中のINSTALLにしたがって,
    # ./configure
    # make
    # make install
    (※) プラットフォームに,もともとcheckパッケージがあれば,この部分は必要なし。
  2. /rootにダウンロードしたファイルを
    # tar zxvf clamav-0.96.1.tar.gz
    で解凍し,解凍されたフォルダの中にあるdocsを読んで,その手順に従う。
  3. # cd clamav-0.96.1      解凍されてできたClamAvのソースフォルダに移動。
  4. docsには
    # groupadd clamav
    # useradd -g clamav -s /bin/false -c “Clam AntiVirus” clamav
    と書いてあるが,Puppyの場合は,
    # addgroup clamav
    # adduser -G clamav -s /bin/false clamav
    で,グループとユーザを作成。
  5. ClamAvのコンフィグに入る。
    $ ./configure –sysconfdir=/etc –enable-check      初めのオプションはconfファイルを/etcに作る。省けば,/usr/local/etcにできる。2つ目は,後で使うチェックのため。
    $ make      相当時間食った。計るの忘れたけど,多分4,5時間。
    でもって,$ su -c “make install”と書いてあるけど,Puppyはもともとroot権限で動いているから,
    # make install      でいいんだろう。
  6. 次が unit tests 。今コンパイルしたのが,システム上でちゃんと動くか,調べてくれるそうだ。
    で,1度目の結果が,上記のとおりなのだが,2度目はちゃんと通って,結果は以下の通り。
    PASS: check_clamav
    PASS: check_freshclam.sh
    PASS: check_sigtool.sh
    SKIP: check_unit_vg.sh
    PASS: check1_clamscan.sh
    PASS: check2_clamd.sh
    PASS: check3_clamd.sh
    PASS: check4_clamd.sh
    SKIP: check5_clamd_vg.sh
    SKIP: check6_clamd_vg.sh
    SKIP: check7_clamd_hg.sh
    SKIP: check8_clamd_hg.sh
    ======================
    All 7 tests passed
    (5 tests were not run)
    ======================
    SKIPされている項目は valgrind がインストールされていないせいである。
  7. さて,このあとも大問題。各confの中を読みつつ,デフォルト設定を環境に合わせていくわけだ。心労の極み!(笑)
    /etc にある clamd.conf の内容を編集。

    • Example の頭に # をつけてコメントアウト。
    • 以下の部分はアンコメント。
      LogFile /tmp/clamd.log
      LogTime yes
      LocalSocket /tmp/clamd.socket
      FixStaleSocket yes
      DetectPUA yes      PUA — Possibly Unwanted Applicationsということなんだけど,コメントのままにしとくべきかな。
      ClamukoScanOnAccess yes
  8. /etc にある freshclam.conf の内容を編集。
    • Example の頭に # をつけてコメントアウト。
    • 以下の部分はアンコメント。
      UpdateLogFile /var/log/freshclam.log
      LogTime yes
      DatabaseMirror db.jp.clamav.net      # DatabaseMirror db.XY.clamav.netをアンコメントして,XYをカントリーコードに書き換える。
      NotifyClamd /etc/clamd.conf      # NotifyClamd /path/to/clamd.confをアンコメントして,パスを書き換える。
  9. # touch /var/log/freshclam.log      ログ用に空のファイルを作る。
    # chown clamav:clamav /var/log/freshclam.log      ログファイルのownerをrootからclamavに変更する。
  10. # modprobe dazukofs      DazukoFsのモジュールをロード。
    # mount -t dazukofs / /      全ディレクトリをDazukoFsでマウント。
    # env LD_LIBRARY_PATH=/usr/local/lib /usr/local/sbin/clamd -c /etc/clamd.conf      ClamAvを起動。
    別の端末から
    # env LD_LIBRARY_PATH=/usr/local/lib /usr/local/bin/freshclam   でウイルス定義ファイルの更新。
    更新は無事完了。しかし,しばらくするとclamdが落ちた。
    /tmp/clamd.log によると segmentation fault が出て止まっている模様。
(※) Valgrindもインストールしてみたが,VaigrindはCrusoeをサポートしていないということであった。


valgrind_3.6.0~svn20100212-0ubuntu5_i386.deb (依存関係でlibc6-dbg_2.11.1-0ubuntu7.1_i386.debも) をインストールしてみたときのcheckの結果は,以下の通り。
PASS: check_clamav
PASS: check_freshclam.sh
PASS: check_sigtool.sh
PASS: check_unit_vg.sh
PASS: check1_clamscan.sh
PASS: check2_clamd.sh
PASS: check3_clamd.sh
PASS: check4_clamd.sh
FAIL: check5_clamd_vg.sh
FAIL: check6_clamd_vg.sh
SKIP: check7_clamd_hg.sh
FAIL: check8_clamd_hg.sh
========================================
3 of 11 tests failed
(1 test was not run)
See unit_tests/test-suite.log
Please report to http://bugs.clamav.net/
========================================
test-suite.logによれば,unsupported CPU ということで,Crusoeというのが,ここでも響いている。

サウンドは使えなくなる,電源は落ちなくなると,副作用もいろいろあった。

懸案のLoox-#9。

Puppyをフルインストで使おうとしているので,ウイルス対策ソフトを常駐させようとしていることは前に書きましたが,それがらみで手を焼いていた,Dazukofsのインストールに成功したので報告します。
本当は,何らかのAntiVirusを導入し常駐も成功した時点で書こうと思ってたんだけど,ここまでであまりに手を焼き,しかも今のところAvira AntiVirに”This system is probably not supported by AVIRA AntiVir workstation (UNIX).”で蹴られているしねぇ。
では,Dazukofs Ver.3.1.3-rc2のインストール開始。順番としてはネット接続する前にできてなくてはいけないと思ったので,「懸案のLoox-#7。」の1.~6.のあと,他を入れる前にやってみることにした。
  1. 開発環境構築のため,lupu_devx_501.sfsをpetとしてインストール。
  2. kernel_src-2.6.33.2-patched.sfsをpetとしてインストール。
  3. /usr/src/linuxに移動して,make oldconfigを実行。
  4. make menuconfigを実行。
  5. makeを実行。さすがにちょっと,時間がかかった(13分くらい ← この時間はなんか別のと間違えて記録しているようだ)。warningが1つ,errorが2つ出てるみたいだけど,よくわからないので,スルーする。
  6. Lupu5.0.1のカーネルバージョンが,2.6.33.2なので,dazukofs-3.1.3-rc2.tar.gzをダウンロード。/usr/src内に,端末より,tarコマンドで展開。
    この辺,どのバージョンがいいのかわかるまで手を焼いたのだが,試行錯誤の上rc2がオーケーだった。で,DazukofsのREADMEにも2.6.33で動くと書いてあった。先に分かってればなぁ。
  7. linux/fsにfs_stack.hを作る。中は,externvoid fsstack_copy_attr_all(struct inode *dest, const struct inode *src);の1行。
    Linux/Dazuko/FAQ-MEMO1の情報です。
  8. cd dazukofs-3.1.3-rc2,移動後,makeを実行。ここから先の手順は,dazukofs-3.1.3-rc2にあるREADMEにしたがった。
  9. make dazukofs_installを実行。
  10. modprobe dazukofsでdazukofsのモジュールをロード。
  11. dmesg | grep dazukofsでdazukofsのロードを確認。
  12. DazukoFSをテストする。
    • # mkdir /tmp/dazukofs_test     DazukoFSがテストのために使うディレクトリを作る。
    • # mount -t dazukofs /tmp/dazukofs_test /tmp/dazukofs_test    作ったディレクトリをDazukoFSでマウントする。
    • # cp /bin/* /tmp/dazukofs_test   テストのためのファイルを作ったディレクトリにコピーする。
    • /usr/src/dazukofs-3.1.3-rc2/testに移動してテストプログラムを作るために,makeを実行。
    • # env LD_LIBRARY_PATH=lib ./showfiles   テストプログラムを実行。
    • そのままで,別の端末を開いて,
      $ find /tmp/dazukofs_test -type f | xargs file
      元の端末内に,アクセス中のファイル名が,表示されれば,テストは完了。CTRL-Cでテストプログラムを終了する。
    • # umount /tmp/dazukofs_test    テストディレクトリをアンマウントする。
    • # mount | grep dazukofs    DazukoFSがマウントしているディレクトリがあるかの確認。この時点では何もなくて正常。
  13. pcを再起動。
  14. dmesg | grep dazukofsでdazukofsのロードと,mount | grep dazukofsでdazukofsのマウントを確認。されていないので,手動では可能だが,何らかのAntiVirusを常駐させるためにはオートでできないといけないだろうなぁ。うーん,まだまだゴールは遠いみたい(sigh)。
(※) ところで,カーネルの再構築の中でもともとのドライバのinfoを調べてみた。vermagicは2.6.33.2 SMP mod_unload modversions 486だった。