カテゴリー
everyday life

サーバが落ちました。

今日,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にリダイレクトされた。犯人は,お前か!!!

カテゴリー
Linux

新・懸案の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 が間違ったところに配置されていたらしい。

カテゴリー
Linux

新・懸案の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.
カテゴリー
everyday life

本家のカウンタ。

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

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

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

カテゴリー
Linux

懸案の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というのが,ここでも響いている。

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

カテゴリー
Linux

懸案の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だった。
カテゴリー
WordPress

AntiVirus導入。

知らなかったんだけど,WordPressのブログをインジェクションから守るプラグインがあるんですね。その名もずばり,AntiVirus

入れてみました。日本語化する必要もないくらいのメッセージ数なんだけど,一応,グローバル化対応済みだったんで,日本語化ファイルも作りました。アップしておきます。

サーバ引越しして感じたんですが,無料レンタルサーバを使っているうちに,すっかり無精になってしまったようです。対策として,無精を直すのではなく,しばらく停止していたローカルのFTPDを動かすようにしました。自分用です。他のかたは一切使えません。ガチガチですから。(笑)

カテゴリー
WordPress

ブログを引っ越す。

この間うち(先々週くらい?),Toypark.inのサーバがよく落ちていたので,日本語ブログも,自鯖に引っ越しちゃおうかなと考えた。

よし,海の日あたりの連休でやっつけようと思っていたのだが,結局今日までかかってしまった。参ったね。で下記の手順で引っ越したわけだけど,11.あたりにからすごーくてこずった。最終的に,14.での結末になったわけだけど,どうもRewriteがうまくいっていないように思う……

  1. 使用しているプラグインをすべて停止する。
  2. 何かバグがあるかもしれないので,テーマを「o6asan」から,3.0デフォルトの「twentyten」に変更。
  3. サイトからログアウトし,phpMyAdminでデータベースにアクセス。
    wp_statpressとwp_similar_posts以外のテーブルをエクスポート。1M弱だった。
  4. エクスポートした****.sqlをテキストエディタで開き,o6asan.toypark.inをo6asan.com/BLOG-Jに変更。toypark.inで使っていたデータベース名を,新サイトで使用するものに変更。
    テーブル接頭辞をデフォルトのwp_から使用予定の**_に変更。

    wp_usersのuser_loginをデフォルトのadminから******に変更して,****.sqlを閉じる。

  5. 自鯖のphpMyAdminでMySqlにアクセスし,WordPressで使用するデータベースを作成。
  6. wordpress-3.0-ja.zipを解凍して,できたファイルをすべて自鯖の予定の場所にアップロード。
  7. 自鯖のWordPressのホームディレクトリにアクセス。ウィザードに従ってwp-config.phpを作成。インストールを続けるが,「ようこそ」ページのパスワードは旧サイトのままで行うこと。ここを変えると旧データベースからエクスポートしたファイルが使用できない。
  8. インストールが完了したらひとまず,ログインしてみる。
  9. twentytenがバージョンアップされているというメッセージが出ていたので,WordPress上で自動更新。ログアウト。
  10. wp-config.phpを開いて,内容を確認。
  11. 管理画面の一般設定で,カスタマイズ。パーマリンク設定を/%category%/%postname%/に変更する。自鯖のrewrite設定を変える必要があった。ひとまず,ログアウト。
  12. 自鯖のphpMyAdminでデータベースにアクセスし,データをインポート。インポートの前にすべてのテーブルを空にすること。ログアウト。
  13. 自鯖のWordPressにログイン。
  14. パーマリンク設定の/%category%/%postname%/がどうしてもうまく働かないようなので,あきらめてデフォルトで運営することにした。自鯖のrewrite設定を元に戻した。
  15. あと,いろいろプラグインとかナンチャラを元に戻した。

でもって,近頃ToyParkのサーバ落ちないんだけど……早まったかな?まっ,いいか。

  • 追記:
    パーマリンク設定の件ですが,今(27日午後9時),大変初歩的なミスに気づきました。
    httpd.confの設定がAllowOverride Noneになっていました。これじゃあ.htaccessが効くわけないです。Allにしたら,当たり前ですが,うまくいきました。全く記憶にないのですが,自鯖なので,.htaccessを使うまいとどこかでNoneに変えたようです。
    WordPressの日本語フォーラムでも迷惑をかけてしまいました。
    show555さん,ありがとうございました。m(_”_)m
  • 追記2:
    引越してから,Baiduspider君の量がものすごいです。WordPressを新規インストールしたので,User-Agentのアクセス拒否を,.htaccessに入れてませんでした。で,思い出して,libwww-perlともども拒否することにしました。以下の通り。  (※)以下のをコピペして使おうと思うかた,コピペすると”が2バイトに化けますので,打ちなおしてください。

    1. <IfModule mod_setenvif>
    2. SetEnvIfNoCase User-Agent “libwww-perl” ng_ua
    3. SetEnvIfNoCase User-Agent “baidu” ng_ua
    4. Order allow,deny
    5. Allow from all
    6. Deny from env=ng_ua
    7. </IfModule>
カテゴリー
everyday life

夏,夕立,茗荷。

夕立三日というそうだが,昨日,「今日は3日目ね」と母の友人が言っていたそうな。
夕立はゲリラ攻撃の最たるもので,いつもは仕事で「わが町」にはいないので,「えっ,3日もあったの」という感じだったが,梅雨明け宣言は一昨日で,前の日曜日には桜の木が折れ,その後は3日続きの大雨など,大変だった先週が嘘のように,昨日の天気は,まさに梅雨明け十日の上天気,のち,絵に描いたような夕立。

カビ臭かった家の中も,夕立までの一日,開け放っていたら,正直なもので,あっさり解消した。

桜の木(右下の写真は手当のすんだ状態。ボッキリ折れて痛々しかったです。)が,一手に引き受けてくれたのか,今年も我が家は目立った被害もなく,梅雨を乗り切った。

で,あまりの暑さに,素麺でも食べようとめんつゆを作り(市販のつゆはトラウマがあって未だに苦手です。),茗荷を見に行ったら,ぞっくり出ていた。
私の茗荷の食べ方というのは,薬味というような上品なものでなく,すごい量を食べる。
昔,学生時代街に出ていたとき,スーパーで茗荷の値段にびっくりしたのだが,今でも値段にしたら,一回に千円とか二千円とかになるだろう。千切りにして,醤油をかけまわして食べるとか,味噌汁の実とか,天ぷらとか,ぬか漬けとか,あー,書いていて生唾が出てきてしまう。
とにかく,どんぶりで食べるという感じだ。

ところで,茗荷が生えてるの見たことありますか,右のような感じですよ。

カテゴリー
WordPress

本家のカレンダー。

本家では,Kinarie&Mayさんところの「MT用横型フラッシュカレンダー3.00」を使わせていただいている。こちらでも使いたいなぁと思っていたのだが,今日,H.Fujimotoさんのこのページを発見。

早速,やってみた。まず,プラグインFlashCalendar_1_10.zipをダウンロード。解凍後,出来たFlashCalendarにw_calendar300.swfを入れてやってから,フォルダごとWordPressのプラグインフォルダにアップ。

Kinarie&Mayさんとこの,MT用横型フラッシュカレンダー3.00 ソース作成ページで,以下の設定で,ソースを作成。
もっとも実際は,本家と合わせるので,本家のソースを引っ張ってきて,swfアドレスとXMLフォルダアドレスを書き換えたんだけどね。

swfアドレス 「<?php flash_calendar_url(); ?>」
XMLフォルダアドレス 「<?php flash_calendar_xml_url(); ?>」
設置場所 「通常使用」

出来たソースをテーマのtoppagemenu.phpの<div id=”toppagemenu”>の直下に挿入で,表示はされたんだけど……。

  • 追記:
    自鯖に引っ越しまして,環境が変わりました。借りてたところは,

    1. Apache 2.2.3 (CentOS)
    2. PHP 5.1.6
    3. MySql 5.0.77

    だったんですが,自鯖は

    1. Apache 2.2.15
    2. PHP 5.3.3
    3. MySql 5.1.48

    です。

    先日,H.Fujimotoさんから,WordPress3.0上ではerror_reporting(E_ALL& ~E_DEPRECATED);を加えると,うまく表示されるようになったというお返事を頂いたが,このスクリプトが,5.1.6では未対応なのが気になっていた。
    で,サーバ環境が変わったので,早速試してみたら,自鯖上では,何も手を加えずに無事表示された。

    万々歳といいたいところですが,根本的に何がかかわっていたのかわからないので,「めでたさも中くらい」です。でも,まぁ,よかったけど。