トップ «前の日記(2011-01-22(Sat)) 最新 次の日記(2011-01-26(Wed))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2011-01-25(Tue) くもり、だったが晴れてきて、それから

時には力を抜いて

Who do want to die?

夫 死んで欲しいもずいぶん昔に感じられるが、 検索窓に"死んで欲しい"と入力して、スペースを入れたりバックスペース したりすると、 妙な候補がずらずら出てきた。
やっぱりというべきか。

画像は適当に編集してますが、 捏造はしていません。念のため。

extundelete

Twitterを経由して 日本語試用ページを辿る。

lenny で $HOME の下に、あっさり make install できた。
man も何もなし。--help でコマンド一覧。

まず、新規作成した10GBほどのパーティションに6000余りのファイル合計約755MBをコピーして、 全部のチェックサムを sha256sum で取った。
rm -rf して 一旦再起動後、ファイルシステムを再度マウントせず、 追記をしない状態で --restore-all オプションで試す。
条件が揃いすぎていたようだけど、全てのファイルを復旧できた。
パス名もファイルサイズもチェックサムもぴったり。

今度はやや厳しい条件で試す。
もう一度 mkfs をやり直し、さっきと同じファイルを用意する。
一旦消した後、今度は復旧をかける前に関係ないファイル140ほど(約130MB)を 追記してみる。
今度は1940程しか復旧できず、うち二つは壊れていた(ファイル名と ファイルサイズは同じだったけど)。

xargs(1) と空白

空白文字の混じったファイルの処理は、unix 系OSではめんどくさいことも。

$ ls *.txt
bar.txt  foo bar.txt  foo.txt
$ find . -type f  | xargs  file
./foo:     ERROR: cannot open `./foo' (No such file or directory)
bar.txt:   ASCII text
./foo.txt: ASCII text
./bar.txt: ASCII text

xarg に通すときには、 find のオプションに -print0 を、 そしてxargs に -0 を付加する。

$ find . -type f -print0  | xargs -0 file
./foo bar.txt: empty
./foo.txt:     ASCII text
./bar.txt:     ASCII text

ただし find 自体で処理するなら、特に気にすることはないようだ。

$ find . -type f -exec file  {} \;
./foo bar.txt: empty
./foo.txt: ASCII text
./bar.txt: ASCII text

リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。