2006-06-15 一日半袖.夜になると雨が激しくなる [長年日記]
_1 tdiary-mode 1.15.11 で更新ができない
起動時にパスワードを入れると以下のメッセージが表示される.
Valid name, no data record of requested type
ただし,編集画面にはなる.
その後,日記を書いて\C-c \C-cすると
protection key for 'hoge':
と出て,ここで何も入れないと先ほどと同じメッセージが出る.なんやろか.ブラウザ経由では何も問題ないし,自宅ノートでもxyzzy + tdiary-modeで何も問題はないのに.前に xyzzy の設定をやり直したときにへこったな.
- xyzzy 0.2.2.235
- tdiary-mode 1.15.11
www-modeからも更新できなかった.エラーメッセージに CSRF 云々とあったのでこの関係だろう.自宅ノートの設定を持ってくるか,面倒だけど xyzzy で書いてブラウザにコピペするかのどちらか.
_2 Ext3 ファイルシステムで削除したファイルを復元について
Miracleのみたさんとこ
早速やってみたが,どうもうまくいかない.手順は以下.
# cat /proc/mounts | grep boot /dev/hda1 /boot ext3 rw,noatime,data=ordered 0 0 # cd /boot # nano muneda_ext3_rm_recovery_test.txt # cat muneda_ext3_rm_recovery_test.txt muneda ext3 rm recovery test # rm muneda_ext3_rm_recovery_test.txt rm: remove regular file `muneda_ext3_rm_recovery_test.txt'? y # cd # umount /boot # dumpe2fs /dev/hda1 | grep 'Block size' dumpe2fs 1.38 (30-Jun-2005) Block size: 1024 # grep -a -b 'muneda ext3 rm recovery test' /dev/hda1 | \ awk -F: '{print $1}' > list # cat list 6814686 8391662 # cat list | while read i; do dd if=/dev/hda1 of=$i.data bs=1024 count=1 skip=$(($i/1024)) done 1+0 records in 1+0 records out 1024 bytes (1.0 kB) copied, 0.013074 seconds, 78.3 kB/s 1+0 records in 1+0 records out 1024 bytes (1.0 kB) copied, 0.007152 seconds, 143 kB/s
# grep muneda 6814686.data # grep muneda 8391662.data # cat 6814686.data pool_free_slab c039b1ae r __kstrtab_node_online_map c039b1be r __kstrtab_node_possible_map c039b1d0 r __kstrtab_totalram_pages c039b1df r __kstrtab_zone_table c039b1ea r __kstrtab___alloc_pages c039b1f8 r __kstrtab___get_free_pages c039b209 r __kstrtab_get_zeroed_page c039b219 r __kstrtab___free_pages c039b226 r __kstrtab_free_pages c039b231 r __kstrtab_nr_free_pages c039b23f r __kstrtab_nr_pagecache c039b24c r __kstrtab___mod_page_state_offset c039b264 r __kstrtab_mod_page_state_offset c039b27a r __kstrtab_si_meminfo c039b285 r __kstrtab_contig_page_data c039b2a0 r __kstrtab_laptop_mode c039b2c0 r __kstrtab_balance_dirty_pages_ratelimited c039b2e0 r __kstrtab_write_one_page c039b2ef r __kstrtab___set_page_dirty_nobuffers c039b30a r __kstrtab_redirty_page_for_writepage c039b325 r __kstrtab_set_page_dirty c039b334 r __kstrtab_set_page_dirty_lock c039b348 r __kstrtab_test_clear_page_dirty c039b35e r __kstrtab_clear_page_dirty_for_io c039b376 r __kstrtab_test_set_page_writeback c039b38e r __kstrtab_mapping_tagge# # less 8391662.data "8391662.data" may be a binary file. See it anyway?
うーん,grepのキーワードが悪いのかな.ちなみにテストした環境は
- gentoo-sources-2.6.16-r9 (2.6.16.19 + Gentoo patch)
- dumpe2fs 1.38 (30-Jun-2005)
追記(20061127): Ext3で削除したファイル復元については20060808の記事を参考にしてください.
_3 string-rectangle (\C-x r t)
複数行の先頭に文字を挿入するときに便利なので使っているのだが,選択範囲の最終行はその行の先頭じゃないとおかしくなる.例えば
abcde fghij
というテキストがあったとき, a から j まで選択していて先頭に空白を入れようとするとすべての文字が消えてしまう.a-f まで選択するか, j の次の行頭にカーソルがないといけない.何度も必要な文字を消してしまうので,文章にまとめて覚えるようにする.
追記(20060616): YAAさんに反応してもらう.なるほど,rectangle(矩形)の意味を理解すると確かにそうですね.ありがとうございます.
手元の環境では
(setq transient-mark-mode t)
としているので, a でマークして f にカーソルを移動させるとあたかも a 行と f が選択されているように勘違いしてしまいがちだが,矩形で考えると a,f の前の ^ が選択されていることになるのか.それを空白に置き換えるのだがら行頭に文字を挿入したようになると.うむ納得.
_4 W杯 7日目
エクアドル - コスタリカ
国名だけだと知らない国同士だったのでつまらなさそうだったが,実際いい試合してた.
コスタリカも途中何度もいいチャンスがあったのだが,決定力が足りていない感じ.あそこで点が入っていればさらに面白くなったのに.それにしてもエクアドルの11番 デルガドは強い.
決勝トーナメントが楽しな国が1つ増えた.
_5 眠気
最近疲れているのか,23時を過ぎると記憶がないことがしばしば.今日もテレビを見ながら,気がついたら試合終了のホイッスルだったし.その後日記を書く気も起きずふとんへ直行.
週末はしっかり昼寝しよう.
ext3 の削除したファイルの復元の件ですが、僕もたまにマッチしないブロックを保存するので変だなと思って調べていて、原因が分かりました。<br><br>grep -b で出力されるオフセットは、マッチしたキーワードの先頭の文字の位置ではなくて、その行の先頭の位置のオフセットを表示するからでした。<br><br>もうちょっといい方法を考えて直しておきます。<br>とりあえずは dd の count=1 を count=10 とかにしておけばいいかもしれません。
grep のマニュアルではそういうことをするオプションは見付からなかったので、 perl だとこのようにすればできると思います。<br><br>perl -n -e 'BEGIN { undef $/; }' -e 'while (m/muneda ext3 rm recovery test/g) { printf "%d\n", pos(); }' /dev/hda1
コメントありがとうございます.<br>早速 count=10 をやってみたところ,それっぽい文字が含まれていました.<br>でも正直ここからファイルを復旧するのは至難の業ですね.<br>perl 版も試してみます.