LEDスクロールバッジをLinuxから表示
以前にマルツ電波で購入していたLEDスクロールバッジ(12X38URL-R2)だけど、 Linuxから表示できるようにしてみた。 漢字対応のものが見つからなかったので、作ってみた。 制御データのプロトコルが判らなかったけど、 シリアルデータのキャプチャを使って送信データを解析した。
同様の製品で赤外線で設定というものがあり、 このことからこのテの製品の多くは単方向通信となっている様子。 漢字フォントは、PerlのGDモジュールを使って画像を生成し、 ビットマップを取得している。
メールでメッセージを表示
子供にメールを送っても、メール環境立ち上げるわけでもないから、 このバッジにメールで文章を表示できるようにしてみた。
(( $HOME/.qmail-XXXXXX )) | preline /usr/bin/procmail .procmailrc-XXXXXX (( $HOME/.procmailrc-XXXXXX )) :0fw: eabadge.lock * 9876543210^0 ^From:.*じぶんのめーるあどれすその1 * 9876543210^0 ^From:.*じぶんのめーるあどれすその2 | /usr/bin/nkf -e -m | /usr/bin/formail -k -x Subject | /usr/bin/head -8 | /usr/bin/head -c 256 | /usr/local/bin/eabadge.pl
update-notifierがインストールされてた
最近では、自宅サーバもX11画面から使うこともなく、もっぱらWindows環境からTeraTermで 使うことが普通になってきた。 んで、最近になってからlogin時に文字化けのメッセージが表示される。 不気味と思っていたが、サーバ文字コードがEUC-JPなんだけど、UTF-8な環境から 入ったら、画面に"XX個のアップデートが可能"といいた日本語メッセージが表示される。 何らかのlogin処理が追加されたと思い、/etc/bash.bashrcやら/etc/bash.profileやらを 見回すけど、それっぽい処理が無い。色々しらべると、 /etc/update-motd.d/* なるファイルが追加されている。 どうも、この中の90-updates-availableが元ネタ。
今時、サーバ文字コードをEUC-JPにしているのが時代遅れなんだろうけど… でも、/etc/default/locale を無視するのもDebianな流儀に沿っていない。 処理に"export LANG=C"あたり追加して英語出力を期待しが、 相変わらず文字化けメッセージ。 さすがにうざいので、"aptitude remove update-notifier"を行った。
追記:update-notifier は、/etc/update-motd.d/* の処理にしたがって、 定時処理により、/etc/motd を書き換える。
WZR-HP-G300NHファームウェア更新
最近、ママパソのWiFiがうまく繋がらなかったり(WiFiカードの方の問題とも思えるが)するので、 なにげにルータ(WZR-HP-G300NH)のファームをチェックすると、 ベータバージョンのWZR-HP-G300NH Ver.1.74 (R2.06/B1.02)が使えるみたい だったので、更新作業を行う。
何が良くなったのか、分からない所もあるけど、ナニゲにエラーメールが出始める。 MRTG のエラーを出力が原因。調べてみると、ファーム更新で以前のパケット流量観測の プログラムが正しくパケット量を取得できないみたい。 ルータの出力するHTMLソースが微妙に変化し、sed のパターンマッチができない。 変更後のスクリプトは、以下の通り。
(( /etc/snmp/airstation.sh )) #!/bin/bash /usr/bin/w3m -dump_source -no-proxy \ 'http://root:PASSWORD@192.168.11.1/cgi-bin/cgi?req=frm&frm=packet.html' 2>&1 \ | /bin/sed -n '/class="DIGIT"/ s/^.*">\([0-9]*\)<.*$/\1/ p' /usr/bin/w3m -dump_source -no-proxy \ 'http://root:PASSWORD@192.168.11.1/cgi-bin/cgi?req=twz&frm=logout.html' >/dev/null 2>&1
movabletype-opensourceでSQLiteのエラー
日記を書こうとすると、以下のようなエラーでMovableTypeが動かない。 エラー時の定番で、メッセージそのままでググると、ヒット。 でも自宅サーバのエラーメッセージがGoogleにそのままクローリングされた、そのまんまじゃん。
install_driver(SQLite) failed: Attempt to reload DBD/SQLite.pm aborted. Compilation failed in require
昨日に aptitude upgrade をかけた影響っぽい。"dpkg -S SQLite.pm"を実行すると、 movabletype-opensourceと、libdbd-sqlite3-perl の2つの中に含まれている。 "DBD/SQLite.pm"が含まれているし、同名の微妙な違いのパッケージの競合かと思い、 "aptitude remove libdbd-sqlite3-perl"すると、さらに状況悪化。 libdbd-sqlite3-perl_1.29-1_i386.deb ⇒ libdbd-sqlite3-perl_1.29-1+b1_i386.deb のアップデートの影響。 testing で入れているから、多少は仕方がないか… やむ終えないので、"aptitude install libdbd-sqlite3-perl/stable"にて、1.14 にダウングレード。
EchizenBotの修正
@EchizenBotだけど、Twitter検索からつぶやきが探されないので、調べてみると、 ハッシュタグを使いすぎると、SPAMとみなされるとのことであった。 なので、#echizen のタグは、1/5の確率で付ける様にしておいた。
頻度は落としたけど、検索にひっかかるようになるのは、自動的なんだろうか…
リンク先を見ると、申し込みで解除してもらえるらしいけど、手間がかかるって書いてあるしなぁ…
また、Botのつぶやきを利用者がReTweetしたものは、そのつぶやきに反応してしまうことも あるので、自分宛のつぶやきが、RTとかQTであればつぶやかないようにしていたつもりだった。 しかし、なぜだかReTweetをさらにReTweetしている。 よくよくコードを見れば、発言元のURLを判定する正規表現で、つづり間違いしてた…なさけなぁ…
Mac OS X 10.6.3 updateでSambaと相性が悪くなった?
自宅サーバのSambaにMacBookから、ファイル転送しようとすると、 なぜかエラーが出るようになった。先日、Mac OS X Snow Leopard 10.6.3 update があったところなので、その影響だろうか? いちおう、売り文句の中には「SMBファイル・サーバ利用時のファイル・コピー、ファイル名変更、削除などにまつわる問題も修正」とも書いてあるしなぁ。
ちなみに、/var/log/samba/log.macbookには、下記のようなエラーログが…
[2010/04/07 18:37:49, 1] smbd/service.c:676(make_connection_snum) create_connection_server_info failed: NT_STATUS_ACCESS_DENIED
ぐぐってみたら、あっさり対応記事がみつかった。けど、その人の日付も今日の記事(^_^; Appleの元記事はこちら。
spamでサーバ激重でprocmailローカルロックの設定
SAPM対策でspamassassin+clamassassinを受信メールに対して動かしているけど、 最近このおかげで処理が重くなることが増えてきた。 fetchmailで、丹南CATVから一括して自サーバにメールを取り込んでいるため、 受信メールの数だけ並行して、spamassassin+clamassassinが動いているみたい。 pstree で激重状態の時のプロセスツリーをみると、10本同時処理になってた。 loadaverageも20を越えてる。
対策は、procmail の{spam,clam}assassinの起動方法。"man procmailrc"すると、 レシピ毎にローカルロックを指定し、排他処理することで並行処理を防ぐようにしないとダメみたい。 *assassinを起動する":fw" の後ろに、ローカルロックファイルを指定する":ロックファイル"を追加する。
:0fw: clamassassin.lock *!^X-Virus-Status.* | /usr/bin/nice /usr/bin/clamassassin :0 * ^X-Virus-Status:.*Yes /dev/null :0fw: spamc.lock *!^X-Spam-Status.* | /usr/bin/spamc :0 * ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\* * ^X-Spam-Status: Yes /dev/null :0fw: check_uri.lock *!^X-URIRBL.* | /usr/bin/nice /usr/local/bin/check_uri.pl :0 * ^X-Spam-Level: \*\*\*\*\*\*\*\* * ^X-Spam-Status: Yes * ^X-URIRBL: Yes /dev/null
spamassassinをspamcに変更
SPAMメールフィルタとして.procmailrc内に、spamassassinを設定して使っていた。 しかし、SPAMが増えてきてISPからfetchmailで一括でメールを取ってくると、 一度にspamassassinが起動され、OSのload averageが異様に重くなることが増えてきた。 spamassassinは、Perlで書かれたフィルタだし、元々処理が重くなりがち。 このため、spamc + spamd によるDaemon型のフィルタ方法に切り替え。
(( $HOME/.procmailrc )) :0fw *!^X-Spam-Status.* | /usr/bin/spamc (( /etc/default/spamassassin )) # Change to one to enable spamd ENABLED=1 (( spamassassin 再起動 )) # /etc/init.d/spamassassin restart
一般的なISPを騙ったSPAMばっかり
丹南通信ネットのメールアドレスに届くメールは、 ほとんどSPAM。自宅サーバにfetchmail+procmailで 取り込む際にSpamAssasinの前処理として、 From欄が独自ドメインで判定できるものはprocmailの レシピで捨てている。んで、SPAMフォルダ内の Fromでレシピを追加していたけど、 最近はFromにyahoo,goo,gmail,msn,exiteを騙るメールばっかり。 丹南さんには、もうすこしまともなメールフィルタ入れて欲しいな…
あれ?メモリの使い方が激変?
ふと、MRTGのグラフを見ていると、メモリの使用状況のグラフが激変している。 今までは、Squid(Proxy)が、実メモリをギリギリまで、キャッシュとして使ってた影響と思われるが、実メモリ全てがほぼ使用状態だった。 だけど今見ると、実メモリが余ってるし、Swapの利用率が高まっている。Kernelの微妙なバージョンアップの影響だろうか…. Squidってパッケージのバージョン上がってたっけ?



