2006年12月21日(木) やっぱりtDiaryにテスト環境欲しいよな [同日]
● 今日のHiki Error
Hiki Error uninitialized constant Hiki::Plugin::Resolv (NameError) …/hiki/plugin/rbl.rb:17:in `postable?' …/hiki/plugin/rbl.rb:12:in `each' …/hiki/plugin/rbl.rb:12:in `postable?' …/hiki/hiki/command.rb:83:in `dispatch' …/hiki/hiki/command.rb:81:in `timeout' …/hiki/hiki/command.rb:81:in `dispatch' …/hiki/hiki.cgi:32 …/hiki/hiki.cgi:30:in `open_db' …/hiki/hiki.cgi:30 …/html/.RubiMa/index.rbx:5:in `load' …/html/.RubiMa/index.rbx:5 /usr/lib/ruby/1.8/apache/ruby-run.rb:53:in `load' /usr/lib/ruby/1.8/apache/ruby-run.rb:53:in `handler'
なんだろう。あとでもう一度やってみよう。
● [tDiary] 今日のPlugin Error
どいつもこいつも…。
TDiary::PluginError Plugin error in '50sp.rb'. Plugin error in 'zunda/plugin/zunda_makelirs.rb'. undefined method `-' for nil:NilClass (plugin/50sp.rb):129:in `load_plugin'
下記かなぁ…
now = Time.now utc_offset = (now.hour - now.utc.hour) * 3600
Time.nowがnilっていったい…。
● [tDiary] 後日談プラグインも
なきっつらに蜂。(記事を追加した時に起きる。記事を編集しても起きる。)
private method `scan' called for nil:NilClass (NoMethodError) (plugin/my-sequel.rb):39:in `date' (plugin/my-sequel.rb):99:in `clean_srcs' (plugin/my-sequel.rb):98:in `clean_srcs' (plugin/my-sequel.rb):96:in `clean_srcs' (plugin/my-sequel.rb):244:in `load_plugin' ./tdiary.rb:768:in `body_leave_proc' ./tdiary.rb:767:in `body_leave_proc' (plugin/zunda_makerss.rb):260:in `makerss_body' (plugin/zunda_makerss.rb):134:in `makerss_update' (plugin/zunda_makerss.rb):82:in `each_with_index' (plugin/zunda_makerss.rb):128:in `makerss_update' /usr/pkg/lib/ruby/1.8/pstore.rb:318:in `transaction' /usr/pkg/lib/ruby/1.8/pstore.rb:317:in `transaction' (plugin/zunda_makerss.rb):88:in `makerss_update' (plugin/zunda_makerss.rb):288:in `load_plugin' ./tdiary.rb:733:in `update_proc' ./tdiary.rb:732:in `update_proc' ./tdiary.rb:1383:in `do_eval_rhtml' ./tdiary.rb:1383:in `do_eval_rhtml' ./tdiary.rb:975:in `eval_rhtml' update.rb:64
あー。makerssから呼ばれちゃうのかな。
そうみたい。RSSを更新しないと起きない。
(追記) わかりました。かならずしも、body_enter_proc、section_enter_proc、…と順に呼ばれるわけではないみたいだ。
● [memo] 新しいLinuxでmke2fsしたパーティションを古いLinuxでマウントできない
(追記) 「マウントできない」んじゃなくて「fsckできない」んだな。
同僚が、運用のための計算機のハードディスクを定期的にコピーして、 いざというときにバックアップ側のハードディスクを 運用のための計算機に入れてブートできるようにしようとしている。
バックアップ側の計算機(新しめのLinuxが入っている)で
運用のための計算機(古めのLinuxが入っている)のコピーができて、
ブートローダを入れて(ちゃんとgrub-installしました:)、
とりあえずバックアップ側の計算機で起動しようとすると、
カーネルがロードされてinitに制御が移って(さすがgrub)、あれ。
fsck.ext2: Filesystem has unsupported Feature(s) (dev/hda1) e2fsck: Get a newer version of e2fsck!
みたいなエラーが表示されました。いや、バックアップ側だけ e2fsprogsを更新するわけにもいかないし。
しばらく同僚と検索して、解決方法がわかりました。 fsck.ext2がサポートできるfeatureだけにすればいい。
ext2あるいはext3の現在のfeatureは下記のようにしてわかるようです。
# tune2fs -l /dev/hda6 | grep features Filesystem features: has_journal ext_attr dir_index filetype needs_recovery sparse_super
この結果を、運用のための計算機での結果と比較して、多すぎる featureを無効にしました。下記のような感じ。
# debugfs -w -R 'features: ^has_journal ^filetype' /dev/hda6
fsckが失敗してrootのshellをもらった段階で、
read onlyでマウントされていてもこのコマンドはうまく機能したようです。
● [tDiary] 後日談プラグインがやっと安定してきました
myプラグインで過去の日記へのリンクをつくった時に、過去の日記に、myプラグインのある日記へのリンクをつくるプラグインです。
RSSでご覧のかたは今日の日記が頻繁に更新されるのを見させられたことになると思います。失礼しました。
myプラグインの場所(日付とセクション番号)をちゃんと把握するのは思ったほど単純ではなかったことと、myプラグインが消去された時に過去の日記からのリンクを消去する処理が思ったほど単純ではなかったことが原因で、思ったより手間取りました。
少し運用してみて問題ないようだったら公開します。
● さてー。grub-install読みに戻るぞ。まず寝なくちゃいけないけど。
最近のツッコまれどころ