特別な設定をせずに Software Suspend Project の hibernate script でハイバネイトさせると X に戻ったときに 1024x768 になってしまう. なので,ChangeFromSwsuspVT する直前に 1280patch-845g-855gm-865g を実行するようにした.
具体的には,以下のスクリプトを /usr/local/share/hibernate/scriptlets.d/1280patch として 置いておくことでできる.
# for 1280patch
apply_1280patch() {
1280patch-845g-855gm-865g 54 1280 768
}
AddResumeHook 98 apply_1280patch
gid 100 のユーザの passwd と beryllium.ruby-lang.org の /etc/passwd と /etc/shadow を持ってきました. しかし,~/.ssh/authorized_keys をまだ用意してないので, 一部の方しかログインできません.
beryllium 側で移行する passwd と shadow を調べるために 以下のスクリプトを考えたのですが, 2 つ目の Ruby インタープリタ呼出しは一行で書けずに ";" を使ってしまいました.
% umask 077
% sudo install -m 400 -o root -g root /etc/shadow /etc/shadow-bk-yuya
% ruby -n -e '"100" == $_.split(/:/)[3] && puts($_)' /etc/passwd \
| tee ~/beryllium.passwd \
| sudo ruby -e 'regexp = Regexp.new("^(?:" + ARGF.readlines.collect { |l| l.split(/:/)[0]}.join("|") + "):"); File.foreach("/etc/shadow-bk-yuya") do |l| regexp =~ l && puts(l) end' \
> ~/beryllium.shadow
% sudo rm -f /etc/shadow-bk-yuya
うう,かなり負けた気分.一行で書けなかったんかなあ.
上でくたばってしまったので,boron 側では既に作ってあるアカウントを
% sed -e /^sync/d なんちゃらかんちゃら beryllium.passwd \
| awk -F: '{print $1}' - /etc/passwd \
| sort \
| uniq --repeated
で調べて,
% sed -e /^sync/d なんちゃらかんちゃら beryllium.passwd \ | sudo sh -c 'cat >> /etc/passwd'
で追加しました.
$ ruby -e 'print open("/etc/shadow").grep(/^(?:#{$<.map {|l| l.split(/:/)[0]}.join("|")})/)'
とか。
[Journal InTime - ワンライナーより引用]
おお! 二つ目の呼出しも一行! 感動的です. ふむふむ,File#grep を使って絞るんですか. ああ,前田さんのコードでは $<.map とされてますが, ARGF.readlines.collect なんていっぺん配列にさんでも ARGF.collect って書けたんですね.あと、一つ目は
$ ruby -F: -ane 'print if $F[3] == "100"' /etc/passwd
の方が楽かも。
[Journal InTime - ワンライナーより引用]
一つ目は -p オプションを使って,ruby -F: -ape 'next if "100" != $F[3]' /etc/passwd
としても書けるんですね(意味的にわかりにくくなりますが).
ごめんなさい.やってしまいました.
固めた tarball を展開するときに p オプションを忘れたため, 展開したホームディレクトリの所有者が私になりました.
これはまずいと考えて,
% sudo rm -rf \ `ls -d /home/* | sed -e '/shugo/d' -e '/kazuhiko/d' -e '/yuya/d'`
としたのが失敗です. /home/wiki まで rm -rf してしまいました.
消している途中で気がついて ^z^z^z^z *1 したので,一部は残ったのですが,
% sudo find /home/wiki -mtime 8
とすると一つも出てきませんでした.
現状では,最低限のバックアップとして crontab に
@daily mount /backup; pdumpfs --exclude=/./backup --exclude=/./proc --exclude=/./dev --exclude=/./sys /. /backup/boron; umount /backup
が書いてあります.
すいませんでした.
beryllium.ruby-lang.org の /home のうち, users グループになっているディレクトリを boron.rubyist.net に移しました.
beryllium.ruby-lang.org で以下のようにして tarball を作ってから, boron.rubyist.net で展開しました.
% umask 077
% nice -20 sudo tar cpf /var/home.tar \
`ruby -e 'ARGF.collect { |l| /^(.*?):(?:.*?:){2}100:/ =~ l ? "home/" + $1 : nil }.compact.reject { |f| !FileTest.exists?(f) }.sort.join(" ").display' /etc/passwd` &
一行で書けた. でも,これくらいなら zsh のワイルドカード拡張で指定できるんだろうなあ.
boron.rubyist.net を apt-get upgrade したら,
The following packages have been kept back: apache2-common apache2-mpm-worker
となった.
そこで,手動にて(dist-upgrade でもいいんだけど) apt-get install apache2-common すると,
The following extra packages will be installed: apache2-mpm-worker libgcrypt1 libgnutls7 libtasn1-0 lynx
となって,lynx を入れることを確認した.
Web サーバなのになんでだや.と思って /usr/share/doc/apache2-common/changelog.Debian.gz を見ると,
とあった.apache2ctl status を動かすために依存するようになったらしい.
apache2ctl status って strace -f で見ると GET /server-status HTTP/1.0 しているだけに見えるんだけど...
かずひこさんから /var/log も pdumpfs でバックアップするのは, (ディスク使用量の面で)無駄が大きいと指摘があり, tdiary.net で使われているバックアップスクリプトを参考にして, 以下のスクリプトを /etc/cron.daily/backup として置き, バックアップすることにした.
#!/bin/sh
BACKUP_DIRECTORY=/backup
# force checksum mode once a week
if [ `date '+%w'` = 0 ]; then
RSYNC_OPT='-c'
fi
# mount backup partision
if ! grep -q "$BACKUP_DIRECTORY " /etc/mtab > /dev/null; then
mount "$BACKUP_DIRECTORY" || exit 1
fi
# backup / partition
for i in /*
do
nice rsync -aHu --delete ${RSYNC_OPT} \
--exclude="$BACKUP_DIRECTORY" \
--exclude=/proc \
--exclude=/sys \
--exclude=/mnt \
--exclude=/tmp \
--exclude=/etc/fstab \
--exclude=/etc/cron.daily/backup \
--exclude='/home/wiki/namazu/*' \
"$i" "$BACKUP_DIRECTORY"/
done
for i in etc home
do
nice pdumpfs "$BACKUP_DIRECTORY"/"$i" "$BACKUP_DIRECTORY""$BACKUP_DIRECTORY" \
>"$BACKUP_DIRECTORY""$BACKUP_DIRECTORY"/"$i"-log \
2>"$BACKUP_DIRECTORY""$BACKUP_DIRECTORY"/"$i"-error-log
done
OLD=`date -d '5 days ago' '+%Y/%m/%d'`
rm -rf "$BACKUP_DIRECTORY""$BACKUP_DIRECTORY"/${OLD}
umount "$BACKUP_DIRECTORY"
exit 0
*1 手元のマシン及び boron で GNU Screen を使っていて escape ^z^z しているため
users-ja に www.rubyist.net の 引越アナウンスをしました. 予定では 2004-09-14 に移行作業をします.
あと,とりあえず今日も beryllium.ruby-lang.org から /home を rsync しました.
橋本君が今日はお仕事が忙しくて来れないということだったので, 代わりに僕が参加した.
僕の結果は
2 ゲーム目の途中から姿勢を矯正した. 3 ゲーム目の最初から 5 フレーム目まで 8 や (8) ばっかりだったが, これからは安定して得点が出せる気がした.
今日のボウリング部で特筆すべきは彩さんの 3 ゲーム目だろう.
彩さんがストライクやスペアを出しまくっており, 伸二さんは最後 9 ピン以上倒さないと彩さんに勝てない状況になった.
伸二さんはかなりあせっておられた様子だったが, 結果は見事 9 ピン倒して彩さんに 1 ピン差で勝ち, 部長の面子とボウリング人生を守ることになる.
実に盛り上がった 3 ゲーム目だった.
Rubyist Magazine が創刊されました. わーい,パチパチ,パチパチ.
なにかあったときのためにかずひこさんと GPG の署名をしていた 16 時あたりから, jp.rubyist.net がやたら重くなりました.
はじめ mod_ruby + worker モデルだったのですが, 負荷が決して高いわけでもない(0.1 前後)状況です.
前田さんとかずひこさんと相談し,mod_ruby + prefork モデルで MaxSpareServers と MaxClients を 2.5 倍にすることで落ち着きました.
ちなみに今日のアクセス数は
アクセス数 81 10/Sep/2004:00 104 10/Sep/2004:01 89 10/Sep/2004:02 41 10/Sep/2004:03 24 10/Sep/2004:04 23 10/Sep/2004:05 16 10/Sep/2004:06 40 10/Sep/2004:07 36 10/Sep/2004:08 253 10/Sep/2004:09 158 10/Sep/2004:10 1906 10/Sep/2004:11 6346 10/Sep/2004:12 6754 10/Sep/2004:13 5201 10/Sep/2004:14 6139 10/Sep/2004:15 10307 10/Sep/2004:16 13214 10/Sep/2004:17 11642 10/Sep/2004:18 11910 10/Sep/2004:19 10806 10/Sep/2004:20 10195 10/Sep/2004:21
となっております. ささださんが [ruby-list:40045] にてアナウンスされてからアクセスが増え, スラッシュドットに投稿 されてから一気に倍に増えてます.
集計は以下のようにしてしました.
% nice ruby -e 'ARGF.grep(%r|10/Sep/2004:|).collect { |l| l.sub(/.*?\[/, "").sub(/:\d\d:\d\d \+.*/, "") }.sort.display' /var/log/apache2/rubyist_access_log \
| uniq --count
uniq --count がくたばってますね.
前田さんのツッコミ にあったワンライナーをちょっと書きかえて, アクセス数を新しいもの順に出すようにしました. <URL:http://jp.rubyist.net/number-of-access.txt>
現在 Classic Pentium 166MHz なマシンが 僕のノートのバックアップを行っているが, Pentium MMX 200MHz という高級マシンが引退したので, (あんま変わらんだろうけど)そっちに移すことにした.
マザーボードの BIOS が古いためか, CDROM ドライブからのブートができなかったので, しぶしぶフロッピーディスクドライブをつけてインストールを行った.
最近の Debian インストーラ は boot.img 共通で, root.img は普通の root.img,asian-root.img (と,たぶん cyrillic-root.img,mideast-root.img も) から選べるようになっていて, さらに drivers floppy も cd-drivers.img と net-drivers.img を個別に選べるようになっているみたい.
boot.img,asian-root.img,net-drivers.img の 3 枚だけでインストールができた.
木次秋桜レガッタに向けて NaCl4 と NetHelper チームの練習.
テントを張る練習だとか,バーベキューをする練習だとかもあったが, 僕はテントを片付ける練習やバーベキューを喰う練習をしていた.
ごちそうさまでした.おいしかったです. あ,もちろん漕ぐ練習もちゃんとしてますよ. ええ,してますとも.してますってば.
齊藤さんと彩さんの三人でドリカム状態となり, アピア開店当時からある食堂にて夕飯を喰った.
あの独特なお好み焼きも喰いたいと思っていたが既に売り切れになっており, あのコーナーは焼きそばのみになっていた. 食券機ですら一万円にて販売されている状況だ.
カレーコーナーは齊藤さんの注文を最後に閉店した.
僕は学生ラーメンを頼んだ. 今夜を最後にもうこのラーメンは二度と喰えなくなるのだ. こころなしか少なくなった肉の量もいとおしく思える.
ここ数年は行く機会がめっきり減っていたが なくなるとなると寂しいもんだな. 今日ほどの盛況ぶりなら消えなかったろうけども, サティができるまではもっと人がいたんだよな.
アピアよ! さようなら〜.
*1 昭和 56 年 11 月 8 日に開店したショッピングデパート.
www.rubyist.net を beryllium.ruby-lang.org から boron.rubyist.net へ引越ししました.
かずひこさんにだいぶ知恵をお借りしました.
作業の過程で
# dpkg-divert --rename --divert /usr/lib/apache2/suexec2.apache-package /usr/lib/apache2/suexec2
として,suexec しないようにしたのですが, 影響範囲が大きいので
# dpkg-divert --remove /usr/lib/apache2/suexec2
として元に戻しました.
matz 日記のみ mod_ruby を適用するために
UserDir disabled matz
を書いておいて,www.rubyist.net の DocumentRoot に ~matz で ~matz/public_html へのシンボリックリンクを張ってあります.
前田さんからのツッコミがあったので, 日に一回 analog を走らせるように設定しました.
あと,設定作業中に気付いたのですが, かずひこさんが昼頃に webalizer を設置されていたみたいです.
ACIDMAN の 3 つ目のアルバムを買ったので,よく聴いている.
boron.rubyist.net にかずひこさん所有の UPS を設置するために 設定の確認を手元でやった.
Debian の apcupsd パッケージは apt-get install 直後, /etc/init.d/apcupsd で起動しないようになっている. 22〜24 行目をコメントアウトする.
バッテリの状態が変わるたびに wall されるため端末がうるさい.
以上の理由から wall しないことにした.
具体的には異常発生時に /etc/apcupsd/apccontrol が呼ばれているので
WALL=wall
を
WALL="cat > /dev/null"
とすることで黙らせた.
スケボーしたあとでボーっとしていると かずひこさんから電話がかかってきた.
僕が来たときにはもうキムチ鍋は終わってたのですが, うどんを鍋いっぱいに入れていただきました. ごちそうさまでした.まかったっす!
そのあと,四人でモノポリーを三時間くらいやってました. かずひこさんによる詳解モノポリー解説付きです. 交渉のやり方までも解説していただきました. 結果は
となりました.
く〜,家建てる資金がなかったのが残念. あと,モノポリーって手痛いダメージを喰らうと あとゾンビ状態でさまようしかないんですな.
急に思い立って和久羅山に一人で上がった.
あまりに急なので虫よけスプレーといった装備品はない. したがって蚊に噛まれないように早歩きで登った. 駐車場から頂上まで腕時計のストップウォッチではかると 15 分弱で登れた. 30 分くらいかかるかと考えていたが,案外に早く上がったものだな.
和久羅山の登山道は幅が狭い,また樹木や竹林が覆い茂っているため暗い. しかし,頂上につくと急に青空が広がり,振り返ると橋南の街が見える.
頂上からの眺望はなかなかのもので,橋北も北はくにびき通りの青山まで見える. 東の中海方面は木が邪魔でよく見えない.北を見ればおとなりの嵩山が見える.
感想録が置いてあったので過去のものをちょっと読んでみた. 登山道は今日僕が通った道だけではないらしい. ボールペンも入っていたので,名前と日付を書き残しておいた.
それから,30 分程の間, 街に灯りがついていくのを眺めていたが,次第に暗くなってきた. 真っ暗になると帰れなくなるかもしれないと考えて急いで下山した. 帰りは 12 分程度で下山できた.
Software Suspend パッチがまた分割されていた. 考えるのが面倒だったのでとりあえず全部のパッチを当てて, packetcdvd パッチも当てたものをコンパイルして入れ替えた.
これでまた様子を見てみよう.
Android | Debian | LOOX T70HN | Linux | Rails | Rast | Ruby | TYPE T VGN-TZ90HS | boat | git | hardware | icfp | music | p | rd2odt | snowboard | software | surfing | tDiary | trekking | その他 | ボウリング | 映画 | 家族 | 会社 | 管理 | 丸藤 | 高専 | 散歩 | 仕事 | 自分 | 鼕
_ shugo [思わせぶりな。]
_ かずひこ [13. そして二人は夜の街に消える...]
_ yuya [実は 5.〜9. あたりが既に夜の街だったりして...]