ホーム » コンピュータ » Linux (ページ 44)

Linux」カテゴリーアーカイブ

システム

最近の投稿

アーカイブ

カテゴリー

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ってパッケージのバージョン上がってたっけ?

1002251612_500x135.png

oldstableに依存

職場にて新しいサーバを入れ、いつものごとくDebianを入れている。 しかしながら、nagiosやらfmlやらと、stableなのにインストールに失敗。 どれも、もう oldstable でしか対応していない。 自宅サーバでは、インストール候補にtesting,stable,oldstableが入っているため、 どれが oldstable なのか気づかないままだった。 改めて、職場サーバの更新に伴うトラブルを防ぐためにも、 自宅サーバで新規パッケージへの移行テストをしなければならない。
# まずは、nagios3あたりからかな…

FAXとメールの連動

自宅のメイン(通常私の親)の電話に、FAX機能付きに変更した。 以前より、FAXとの連動は実験していたので、携帯からメールした内容を、FAXに転送して、 インターネット音痴の親に、活用してもらうのが目的。

まず、手始めに自室の電話と、親のFAXとの連動ということで、 自室電話に届いたFAXを、携帯電話に画像添付して送るように設定する。 今までは、gif 形式にてパソコンに送るようにしていたけど、 携帯に jpeg 添付にして送るように変更した。gif だと、携帯では添付容量サイズエラーが 発生するし、jpeg でもあまり大きい画像は添付が読めなかった。 そこで、G3形式からjpeg形式に変換するときにも、画像サイズを小さくしたりという手間がかかった。

次に、携帯から送ったメールを、親のFAXに送る機能。 これも、以前に設定してあったので、そのまま使ったけど、mgetty のバージョンアップの中で、 ディレクトリのオーナーが変更になっていたので、ちょいとディレクトリの所有権を変更する。

これで便利!といいたいけど、一番の問題は、 親が着信FAXに気づいて、ちゃんと読んでくれるか…。 最近のFAXは、無駄印刷をしないように、印刷用紙は必要に応じてセットして、印刷を行うのが基本。だから、「印刷」の仕方 or 着信FAXの見かたを、覚えてもらわないといけない。 せめて、うちの子供に覚えてもらわねば….

追記:ママがfaxmail機能を実験するのはいいけど、いきなり画像添付付きを投げてきた。 マルチパート処理をしてないから、mimeエンコードされた大量文字列をFAXに送ってしまう。 画像のG3変換までプログラムを書くのは面倒なので、添付ファイル付き Multipart/mixed は、 受け付けない様に処理を追加した。

gw6cを試す

自宅に、IPv6接続のためのトンネルサービスを提供してくれているFreenet6より、 gogoNETに移管したといったようなメールが届く。ということで、gogoNETに改めて登録し、 IPv6接続を久々に試してみる。

以前は、tspc なるIPv6トンネル用のパッケージをインストールしていたけど、 gogoNETでは、gw6c なるソフトを提供している。ダウンロードして試そうとしたが、 Debian/sid であれば、gw6c なるパッケージがすでに提供されていた。ということで、 "aptitude install gw6c"を実行する。

ただ、sid ベースなのか、設定ファイルがうまく自動でつくられないのか、ボチボチと設定が必要な様子。

(( install ))
# aptitude install gw6c
# zcat /usr/share/doc/gw6c/examples/gw6c.conf.sample.gz
> /etc/gw6c/gw6c.conf
# cd /etc/gw6c/
# vi gw6c.conf
(( /etc/gw6c/gw6c.conf ))
# デフォルトより変更したもののみ抜粋
userid=XXXXXXXX
passwd=YYYYYYYY
# freenet6.netの利用登録が必要
server=authenticated.freenet6.net
auth_method=any
host_type=router
prefixlen=64
if_prefix=eth0
# AAAAアドレスを参照するために必要?
dns_server=ns1.freenet6.net
# template/linux.sh のあるPATH
gw6_dir=/usr/share/gw6c
if_tunnel_v6v4=sit0
if_tunnel_v6udpv4=tun
if_tunnel_v4v6=
template=linux
log_stderr=1  # 動作確認用
(( 実際に接続させる ))
# /etc/init.d/gw6c start
Starting Gateway6 Client : gw6cGateway6 Client v6.0-RELEASE ...
Built on ///Linux gonzo 2.6.30-1-686 #1 SMP ...
The Gateway6 redirection list is [ amsterdam.freenet6.net, montreal.freenet6.net ].
The optimized Gateway6 redirection list is [ montreal.freenet6.net, amsterdam.freenet6.net ].
# 初めて接続する時は、下記のような確認画面が現れた...(yを入力した)
montreal.freenet6.net is an unknown host, do you want to add its key?? (Y/N) y
(( 繋がったかどうかを確認 ))
# ping6 ipv6.google.com
PING ipv6.google.com(tx-in-x68.google.com) 56 data bytes
64 bytes from tx-in-x68.google.com: icmp_seq=1 ttl=50 time=419 ms

ということで、設定を色々と触る必要があったけど、ひとまず動き出す。
ルータモードで動かしているので、次はradvdの設定。やり方は同じなのかな….

追記:radvdの起動は、template/linux.sh に記載されており、radvd.conf を自動的に生成し、 勝手に起動してくれるみたい。 このため、/etc/radvd.conf は削除しておく。 ひとまず、これで周辺のPCに、アドレスが配給されていることは確認できた。

一般的に、radvd の動作の際、自分の吐きだすルーティング情報を読み込まないように、 "echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra"を設定するといった記載があるが、 確認をすると、accept_ra は1のままであった。そこで、template/linux.sh に以下の処理を追記する。
# (不要なのかなぁ…)

(( /usr/share/gw6c/template/linux.sh ))
interface $TSP_HOME_INTERFACE
{
:
};
EOF
# 以下の2行を追加
Exec $sysctl -w net.ipv6.conf.all.accept_ra=0
Exec $sysctl -w net.ipv6.conf.all.accept_redirects=0
# Start the radvd daemon.
:

現状では、radvdでIPv6アドレスを受け取ったWindows機が、外部にはつながっていない。
# どうも、ip6tables の FORWARD の設定で radvd で配給した
# アドレスを許可していないのが原因。
# さて、freenet6からもらえるアドレスは動的だし、どう設定しようか…

さらに追記:Windows機が繋がらないのは、やはりFORWARD設定のせい。 freenet6からのアドレスは、/40であれば、固定なので、 "saddr( 2001:05c0:1100::0/40 ) ACCEPT"の設定を追加したら、うまく動き出す。

Google 検索

My Google   Yahoo

Microsoft

ファンサイト

メタ情報