最新 追記

おこたの国


2008-03-08

_ [tDiary] バージョンアップの備忘録

ようやく 2.2.1 に上げた。FreeBSD の ports は /usr/local/share/examples/tdiary が書き変わるだけなので、実際のインストールは自前でやる必要がある。もしかしてやり方があるのかもしれないが知らんので。まぁ、手動でやる時の手順。

portupgade

まぁ、これはやっておくだけ。 japanese/tdiary にしてるんだけど、www/tdiary との具体的な違いがよくわかない。www/tdiary-devel は死んでるっぽいな。

データをコピー

とりあえず、作業用のエリアにデータをコピー。ここでは、$DOCUMENT_ROOT と同じ層に tdiary という名のままコピってしまう。どのみち、apache からは見えないし。

cd ${DOCUMENT_ROOT}の一個上
sudo cp -p /usr/local/share/examples/tdairy .
cd tdiary

index.rb を修正

以前 からやってる作業。GET,POST,HEAD 以外のリクエストには 405 を返すためのもの。2.2.1 でのパッチはこんな。「とりあえず」といいながらもう4年かぁ。

tdiary.conf をマージ

@data_path/tdiary.conf があれば、$DOCUMENT_ROOT のこいつをあれこれする必要はなさげなんだけど一応。新旧の .sample の差分を、直しちゃ diff かけ、目検しながら取り込む。

自前のデータを移動。

apache を止め、自前のデータを旧 DOCUMENT_ROOT から移動してくる。

sudo /usr/local/etc/rc.d/apache22 stop
cd ../data
sudo mv d favicon.ico index.rdf okota* go robots.txt ../tdiary

えいやで、作業エリアのディレクトリ名を本物に差し替え、apache を起動する。

cd ..
sudo mv data data.old
sudo mv tdiary data
sudo /usr/local/etc/rc.d/apache22 start

普通なら、外から見えないようにしてテストするもんだけど、そんなことしなきゃいけないようなサイトじゃないので、えいや。

様子見

ん? 曜日が「J」になってるな。

sudo cp -p data.old/misc/plugin/jdate.rb data/misc/plugin/

リロード。うんうん直った直った。う〜む、いいかげんだ。

_ [COMP] Baiduspider

久々に apache のアクセスログをあれこれ眺めてたら、百度のクローラがやってきてるのに気づいた。百度からのアクセスは pf で一律に落としてたはずなのに、これはどうしたことかと思いきや、ネットワークブロックを新たに取ってたのね。

クローラの行儀を良くしますなんつってるけど、頻度が下がっただけ。しかも、うちでは Baiduspilder に対して 403 返してるっつーのに、懲りる事なく数分おきにやってきてやがる。RFC くらい読めっつの。

というわけで、pf に喰わせるブロックアドレスに、122.152.140.0/23 を追加。

122.152.128.0/23        # BAIDU-NRT-NETBLK01
122.152.140.0/23        # BAIDU-NRT-NETBLK02

BAIDU-NRT-NETBLK03 はまだ無いみたいだけど、また増えるんだろうな。

本日のツッコミ(全1件) [ツッコミを入れる]

_ KA [手元だと403では黙りませんが、robots.txtを喰わせてやると黙るようです。 喰っても直後のクロールには反映さ..]


2008-03-17

_ [MANGA] esoaparte Ten Nori! 更新

あー、なんか、こんなこと書くのひさしぶりだなぁ。

この季節恒例、アレぞうの花粉症ネタ。とっても辛いはずなのに、どうしてもその性格からか同情してもらえない、旬の過ぎちゃったかわいそうな人。人気投票もさんざんだし。

んでもって黒魔術。「すべての生き物」ってことは、花粉をバラ撒いてる杉やら檜やらも花粉症になるってことだと気づいてるか? 間違いなく「跳ね返って」くるぞ。さらにもって酷い症状に… あぁ、ヒドい目に遭ってるところが脳裏に浮かぶ。知らず頬が緩む。おかしいなぁ、俺ってアレぞうのファンのはずなのに。

閑話休題

数年前に発症したはずの、うちの抗体くん。あの年以降、まったく仕事をしてなくて休眠状態。ええっと。直った? そんなのありえんはずなんでは? いったい、どうしたっていうんだろう。Wikipedia の記述を信じるなら、今年症状がでなかったら自然治癒と呼んでいいらしいんだけど、さて。


2008-03-27

_ [COMP] IE7のフィードが自動更新されない

alezo(ThinkPad X31)が XP の頃に IE7 を入れたときも、alezo を Vista にしたときも、IE7 のフィード機能は普通に働いていて、それがどうした、こんなの動いてて当たり前だろうくらいにしか考えていなかった。その後、「会社の WSUS でお手軽に脆弱性対策ができる唯一のタブブラウザ」ってことで、会社の XP に IE7 を入れたら、ちっとも自動でフィードを更新してくれなくてがっかり、というかびっくり。でもまぁ、手動で「すべて最新の状態に更新」すれば使えないこともないので、さほど気にしていなかった。だいたい、それまで Firefox に Sage 入れて RSS を読んでたので、手動で更新というのにさほど抵抗がなかったのだ。

ところが、昨年末に衝動買いした ThinkPad 15周年版 X61s。最初っから Vista であるにもかかわらず、自動でフィードの更新をしてくれない*1。これは結構頭にきた。

なぜか。

Vista にはサイドバーなるものがあり、そこで、「フィードヘッドライン」が表示できる。明示的にフィードを見に行かなくても、新しい未読エントリはヘッドライン上でボールドになって現れてくる。ふと気が付くと画面の脇に新しいニュースが流れてるのだ。Vista にした alezo で、こういう環境に慣れてしまっていたため、自動でフィードが更新されないと、非常に腹立たしいのである。XP でなんとも思わないのは、「フィードヘッドライン」が無いからだろう。

てなわけで、なんで自動で更新されないのかズッと気になっていた。ググったりして調べても、MSの

  1. Internet Explorer 7 で RSS フィードが更新されないことがある
  2. Internet Explorer 7 で RSS フィードが一覧に表示されない、または RSS フィードを購読できない

くらいしかマトモな情報が見当たらない。で、この二つとも、まったく役に立たないから腹が立つ。Feeds フォルダの削除やフィードのエクスポート/インポートは何回やったことか。あげくは、一気にインポートするのがマズいのかと一個一個追加したりしてみたり。まったく、ほんとに、これっぽっちも役に立たなかった。

X61s 上の自分のアカウントは、Windows 転送ツールでアカウント情報を Alezo からコピってきたものだ。なら、新規にアカウントを作り、まっさらなプロファイルから始めれば、フィードも自動更新されるかもしれない。なんとも根拠薄弱な仮説を立てて、あれこれアカウントを作ったりして実験を繰り返すも、まったく更新される気配はない。が、この一連の作業をしているうちに、UAC で使うために用意した Administrators に属する管理者アカウントではフィードが更新されていることを発見。おいおい、フィードの自動更新には特権がいるのか? とどんどん後ろ斜め向きな仮説を積み上げていくことに。もちろん、特権持ってるアカウントを新規に作っても、自動更新されたりはしなかったので、この仮説は全否定されることになるのであるが。

そんな無駄な努力を繰り返していた今日の朝、なんの気なしに検索していて、「Windows Vistaでフィードが更新されなくなったときは」てなタイトルの Blog を発見。MS RSS Blog の Feeds not updating? の紹介である。要は、msfeedssync がきちんと起動されないからというもの。各種操作方法が載っていることもあり、これがビンゴな情報だった。

自アカウントで schtasks /query を実行しても、User_Feed_Synchronization-{SID?} は現れてこない。管理者アカウントで試すと「次回の実行時刻」とともに現れる。で、その時刻になるのを自アカウントで待ち、イベントログを調べると、

ログの名前:       Microsoft-Windows-TaskScheduler/Operational
ソース:           Microsoft-Windows-TaskScheduler
日付:             2008/03/27 8:04:59
イベント ID:      332
タスクのカテゴリ: 起動条件が満たされていません。ユーザーがログオンしていません
レベル:           警告
キーワード:
ユーザー:         SYSTEM
コンピュータ:     nanaca.noroi.jp
説明:
起動条件が満たされたときにユーザー "nanaca\[管理者ID]" がログオンしていなかったため、タスク スケジューラはタスク "" を起動しませんでした。ユーザー操作: ユーザーがログオンしていることを確認するか、ユーザーがログオフしているときに起動を許可するようにタスクの定義を変更します。

てなものを発見*2。きっちり 5分おきに出ている。これが原因だ。

MS RSS Blog に書かれていたのとは違う原因だが、タスクスケジューラの不具合で msfeedssync.exe が実行されないが故に、フィードが更新されていかないという部分は同じである。

管理者アカウントでのフィードの自動更新を止めると、このエラーは発生しなくなった。その状態で、自アカウントから

msfeedssync disable
msfeedssync enable

を行うと、schtasks の出力に User_Feed_Synchronization-{SID?} が現れた。5分後のスケジュール実行もエラーはなく、そのまま「次回の実行時刻」まで待っていると、きっちりフィードが更新されるようになった。万歳!

たぶん、こうなれば、管理者アカウント側でフィードの自動更新を元に戻しても大丈夫だろう。きっと「なにか」が引っかかってたのだ。でもまぁ、管理者アカウントではフィードは読まないので元には戻さないけど。

どうでもいいことだが、上のイベントログを見てわかるとおり、この作業は朝の 9時前までやっていた。なんせ「次の更新時刻」まで待たないと直ったかどうか判別がつかないから、なんだかんだ試してるうち時間が過ぎてったのだ。もちろん会社は遅刻である。

ちなみに、会社の XP での原因は、MS RSS Blog に書かれていたものとほぼ同じだった。schtasks でエントリは出てくるものの、「状態」欄にエラーが出ていた。こちらは、msfeedssync の disable/enable では直らなかったため、いったんスケジュールエントリを、schtasks /Delete /TN タスク名で削除した後、msfeedssync enable で正しくスケジュールされるようになった。これまためでたしめでたしである。

ところで、フィードの更新は IE7 とは別の msfeedssync が行うため、IE7 が起動されてなくても、サイドバーの「フィードヘッドライン」は更新されていく。なるほど、確かにこうなってる方が便利だよな。ちょっとだけ納得。けど、こんな不具合が高い確率で発生する以上、実装方法は見直すべきだろう。

*1 もちろん、「フィードの更新の確認を自動的に行う」にチェックは入っている

*2 このイベントログ、ローカル>アプリケーションとサービスログ>Microsoft>Windows>TaskScheduler>Operational にある。XP と違って Vista にはイベントログが山のようにある。こんなの探し出すのは素人にゃ無理だろう。


2002|10|
2003|10|12|
2004|01|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|05|07|08|09|10|11|12|
2009|02|06|08|09|
2010|02|08|
2011|08|
2012|07|
2013|01|06|09|10|
2019|07|10|
2020|07|