最新

vdrめも

検索キーワード:
[PR]:「Chef活用ガイド コードではじめる構成管理 (大型本), (Kindle版)」発売中です。


2005-01-01(土) 迎春 [長年日記]

_ [comp] kernel 2.6.10 変

boot 時に IDE のあたりでクラッシュするマシンがある。

  • 2.6.7 ... OK
  • 2.6.9 ... OK
  • 2.6.10 ... NG
  • 2.6.10-ac2 ... NG

EIP は do_open または bd_acquire。

_ [debian] mplayer 1:1.0-pre6-0.2vd1

mplayer1.0pre5-gtk2-20040730.patch.bz2 が当たらなくなっているので、Gentoo のほうからもらってきた patch をちょっと改変して vd_mplayer-1.0-pre6-gtk2.patch を作成、vd_bmp_mplayer-3.patch を当て、GTK+2 化して作成。


2005-01-02(日) ircd はまり [長年日記]

_ [comp] ircd-irc2 2.11.0 変

2.11.0 が出ていたので試してみる。2.10.3p7 の ircd.conf をそのまま使ったら、

Fatal Error: Invalid sid  specified in ircd.conf

と出て起動しない。chkconf してみると、

ircd.conf:XXXXX ERROR: no SID in M-line

example を比較してみると、

-M:<Server NAME>:<YOUR Internet IP#>:<Geographic Location>:<Port>
+M:<Server NAME>:<YOUR Internet IP#>:<Geographic Location>:<Port>:<SID>

何か増えてる。ISO3166 country code で3桁、その後に A-Z0-9 の1桁をつけるようだ。説明にいろいろ書かれているが、手元で運用しているのは単独の ircd だし、392A としておく。

起動するようになった。ところが今度は split-mode のまま。どこともつながってないんだけどなぁ。手元で運用しているのは単独の ircd だし、split-mode を無効にしておく。

接続時に

Please wait while we process your connection.

と出て待たされるのは原因究明中。iauth を無効、ACCEPTTIMEOUT も短くしてあるんだけど。

_ [debian] ircd-irc2 2.11.0-1vd1,2

irc2.10.3p7+jp6.diff が当たらないので、今は外して vd1 作成。

debian/maint/config.h で

#define SPLIT_USERS 0
#define SPLIT_SERVERS 0

として split-mode を無効にし、vd2 作成。


2005-01-03(月) 映画三昧 [長年日記]

_ [debian] udev 0.050-3vd1

vd-udev-devfs-2.patch を当てて作成。

_ [comp] mencoder で切り出し

mencoder -ss XX -endpos AA hogehoge.avi \
-oac mp3lame -lameopts cbr:br=96 \
-ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=3200 -ofps 29.970 \
-o foobar.avi

hogehoge.avi の XX から AA だけ切り出して foobar.avi に出力。最初 XX=01:00:00、AA=01:00:10 で、01:00:00-01:00:10 の 10 秒切り出すのかと思ってたら、01:00:00 から 1時間10秒切り出していた。

_ [research] 続・フラグ追加

START フラグを追加したが、HTML 出力部に処理を追加し忘れていた。


2005-01-04(火) そろそろ正月気分は終わり [長年日記]

_ [unicon] unicon 2.6.10-20050104

ある方からパッチに抜けがあるとご指摘を頂いたので修正。


2005-01-05(水) NFSv4 体制 [長年日記]

_ [debian] sun-j2sdk1.5 1.5.0+update01, sun-j2re1.5 1.5.0+update01

java-package 0.18 で 1.5.0_01 に対応したので作成。

_ [debian] nfsidmap 0.8-0vd1

nfsidmap-0.8.tar.gz を持ってきたら、debian/ 以下がからっぽだったので、0.7 の debian/ を持ってきて作成。

_ [debian] acl 2.2.26-1vd1

acl-2.2.26-CITI_NFS4_ALL-2.dif を当てて作成。

_ [debian] libgssapi 0.1-1, librpcsecgss 0.1-1

libgssapi-0.1.tar.gz と librpcsecgss-0.1.tar.gz を持ってきて作成。


2005-01-06(木) のろのろ発進 [長年日記]

_ [debian] nfs-utils 1:1.0.6-3.1vd1

nfs-utils-1.0.6-CITI_NFS4_ALL-23.dif がうまく当たらなかったので vd_nfs-utils-1.0.6-3.1-CITI_NFS4_ALL-23.patch をでっち上げて作成。

_ [vdr] movie 新設

見た深夜映画とか DVD とか。記録が残っているぶんはひとまず埋めてみた。記録をきちんと取っていたわけではないので、かなり抜けがあるけど。

いわゆるアサマシエイトの一環ということで一つ。

_ [research] 親玉サーバ一時停止

親玉サーバを一時停止してるのを忘れてて、クライアントから No route to host の swatch メールが大量に飛んできてた。swatch も一旦停止。

_ [research] send request メソッド修正

親玉サーバを停めたために send request メソッドのバグが発覚。

  1. STDIN からミラーログを順々に食う。
  2. パースして結果を send request メソッドで C に送る。
  3. が、親玉サーバが停まっているので C には送れない。
  4. EMERG が発生して exit。
  5. STDIN からミラーログが食えなくなるどころか、ミラー自体停止。

なので、EMERG して exit しないようにした。

単純に exit 削っただけだとそこでの loop から脱出せずに無限ループになってしまったので改めて break を追加。


2005-01-07(金) krb5 挑戦へ [長年日記]

_ [misc] grav 撤去

PS2 メモカ崩壊以降、やってないので撤去。game 新設でもよかったけどそこまでやらなくてもよさそうなので。

_ [comp] Redirect permanent 撤去

もういらなさそうなので、ここへの Redirect permanent を撤去してきた。

_ [comp] referer-antibot 無効化

disp_referer 使っていると意味がないので無効にした。


2005-01-08(土) 今日のメモは長い [長年日記]

_ [comp] Kerberos5 ローカルテスト

Krb5OSXKrb5Debian を見つつ、やってみる。

次のような構成とする。

  • realm ... EXAMPLE.JP
  • kdc ... server.example.jp
  • domain ... example.jp
  • dns ... dns.example.jp
  • user ... foo

以下、全て server.example.jp での作業。

krb5 を install。

# apt-get install krb5-kdc krb5-admin-server krb5-config krb5-user

/etc/krb5.conf を編集。編集・追加部分のみ示す。

[libdefaults]
        default_realm = EXAMPLE.JP

[realms]
        EXAMPLE.JP = {
                kdc = server.example.jp
                admin_server = server.example.jp
                default_domain = example.jp
        }

[domain_realm]
        .example.jp = EXAMPLE.JP
        example.jp  = EXAMPLE.JP

/etc/krb5kdc/kdc.conf を確認。確認部分のみ示す。

[realms]
EXAMPLE.JP = {
                database_name = /var/lib/krb5kdc/principal
                admin_keytab = FILE:/etc/krb5kdc/kadm5.keytab
                acl_file = /etc/krb5kdc/kadm5.acl
                key_stash_file = /etc/krb5kdc/stash

KDB を作成。

# kdb5_util create -s

KDC database master key を聞かれるので設定する。/var/lib/krb5kdc/ 以下にファイルが生成されたことを確認。

KDC を起動。

# /etc/init.d/krb5-kdc start

管理 principal を登録。

# kadmin.local
: addprinc foo/admin

password を聞かれるので設定する。/etc/krb5kdc/kadm5.acl で ACL を設定。

foo/admin@EXAMPLE.JP        *

kadmind 用の keytab を生成。

# kadmin.local
: ktadd -k /etc/krb5kdc/kadm5.keytab kadmin/admin kadmin/changepw

kadmind を起動。

# /etc/init.d/krb5-admin-server start

foo の user principal を追加。foo で作業する。

% kadmin
: addprinc foo

password を聞かれるので設定する。

host principal を追加。

# kadmin.local
: addprinc -randkey host/server.example.jp
: ktadd host/server.example.jp@EXAMPLE.JP

/etc/krb5.keytab が生成されたことを確認。

krb5 telnet server と client を install。

# apt-get install krb5-telnetd krb5-clients

foo でチケットを取得。

% kinit

実際に login してみる。

% telnet.krb5 -8x server.example.jp

_ [comp] Kerberos5 リモートテスト

先に設定した server.example.jp に client.example.jp からの login を試みる。

client.example.jp で krb5 の install。

client# apt-get install krb5-clients krb5-user

client:/etc/krb5.conf を編集。server:/etc/krb5.conf と同じ。

foo でチケット取得。

foo@client% kinit foo@EXAMPLE.JP

server.example.jp に login。

foo@client% telnet.krb5 -x8 server.example.jp
Trying XXX.XXX.XXX.XXX...
Connected to server.example.jp (XXX.XXX.XXX.XXX).
Escape character is '^]'.
Waiting for encryption to be negotiated...

Negotiation of authentication, which is required for encryption,
has failed.  Good-bye.

あれ? server:/var/log/syslog を確認。

server telnetd[XXXXX]: ttloop:  peer died: Invalid or incomplete multibyte or wide character
server telnetd[XXXXX]: connect from XXX.XXX.XXX.YYY (XXX.XXX.XXX.YYY)

server:/var/log/auth.log を確認。

server krb5kdc[XXXXX]: TGS_REQ (1 etypes {1})
 XXX.XXX.XXX.YYY: UNKNOWN_SERVER: authtime XXXXXXXXXX,
 foo@EXAMPLE.JP for host/server@EXAMPLE.JP, Server not found in Kerberos database

あれ?

server# kadmin.local
: addprinc -randkey host/server
: ktadd host/server@EXAMPLE.JP

としたらつながるようになったけど、本当にこれでいいのかなぁ。

_ [comp] NFSv4 テスト

krb5 setup for NFSv4Using NFSv4 を見つつ、やってみる。

server,client 両方の /etc/default/nfs-common を編集。編集部分のみ示す。

NEED_IDMAPD=yes
NEED_GSSD=yes

server,client 両方で nfs-common を restart。

# /etc/init.d/nfs-common restart

server で server, client 両方の nfs principal を追加。

server# kadmin.local
: addprinc -randkey nfs/server.example.jp
: ktadd -e des-cbc-crc:normal nfs/server.example.jp@EXAMPLE.JP
: addprinc -randkey nfs/client.example.jp
: ktadd -e des-cbc-crc:normal nfs/client.example.jp@EXAMPLE.JP

server で client 用の keytab を生成。

server# kadmin
: ktadd -e des-cbc-crc:normal -k /tmp/keytab nfs/server.example.jp@EXAMPLE.JP
: ktadd -e des-cbc-crc:normal -k /tmp/keytab nfs/client.example.jp@EXAMPLE.JP

server:/tmp/keytab を client:/etc/krb5.keytab としてコピー。

server/export4 ディレクトリを作成し、server:/etc/exports を編集。編集部分のみ示す。

/export4        *(rw,fsid=0,rw,async,insecure,no_subtree_check)
/export4        gss/krb5(rw,fsid=0,rw,async,insecure,no_subtree_check)
/export4        gss/krb5i(rw,fsid=0,rw,async,insecure,no_subtree_check)
/export4        gss/krb5p(rw,fsid=0,rw,async,insecure,no_subtree_check)

server の /etc/default/nfs-kernel-server を編集。編集部分のみ示す。

NEED_SVCGSSD=yes

server で kernel module を読み込み、nfs-kernel-server restart。

server# modprobe auth_rpcgss
server# modprobe rpcsec_gss_krb5
server# modprobe rpcsec_gss_spkm3
server# /etc/init.d/nfs-kernel-server restart

client で NFSv4 mount。

client# mount -t nfs4 server:/ /mnt

いろいろ遊ぶ。

client% touch /mnt/test

_ [debian] udev 0.050-4vd1

vd-udev-devfs-2.patch を当てて作成。

_ [debian] jack-audio-connection-kit 0.99.0-2vd1

libglib2.0-dev に依存。

_ [debian] vorbis-tools 1.0.1-1.1vd1, timidity 2.13.2-5vd1

libflac6 向けに作成。

_ [comp] backslash の修正

使ってる Windows 用のフォントの backslash が Yen sign になっているのを FontForge で直した。

47 (0x002f) U+002F slash Basic Latin

92 (0x005c) U+005C backslash Basic Latin

に貼り付け、水平反転しただけ。


2005-01-09(日) ircd 勝利 [長年日記]

_ [comp] 続・ircd-irc2 2.11.0 変

dancer-ircd や ircd-hybrid を試してみたけれど、前者は日本語 topic が化ける、後者は ircd.conf の書式が全然違うので面倒、ということで ircd-irc2 の問題を調べてみることにする。

  1. 最初に出る「Please wait while we process your connection.」は 020 RPL_HELLO というやつらしい。
  2. RPL_HELLO を出しているのは s_bsd.c の read_listener。
  3. RPL_HELLO を出した後に詰まるので、これの後に呼び出される関数を探す。
  4. s_bsd.c の read_message で read_listener を呼んでいる。
  5. read_listener を呼んだ後にいろいろと処理があるが、DoingAuth が怪しい。
  6. DoingAuth はマクロで、クライアントのフラグに FLAGS_AUTH がセットされているかどうかをチェックしている。
  7. クライアントのフラグに FLAGS_AUTH をセットしているところを探す。
  8. クライアントのフラグに FLAGS_AUTH をセットしているのは s_auth.c の start_auth。
  9. start_auth 内の遅い原因と思われる処理は #ifndef NO_IDENT 〜 #endif でくくられている。
  10. ということは NO_IDENT を define すればよい。

config.h を見ると NO_IDENT 及び NO_PREFIX を define するのは「a VERY bad idea」と警告が書かれているが、無視。 NO_IDENT と NO_PREFIX を define してみると、「Please wait while we process your connection.」の後で詰まることはなくなった。

_ [debian] ircd-irc2 2.11.0-1vd3

irc2.11.0-2.11.0+jp8.patch がひっそりと置かれていたのでそれを当て、config.h で NO_IDENT と NO_PREFIX を define して作成。

_ [comp] 続・Tabbrowser Extensions から乗り換え

miniT-drag を使えば、ドラッグ&ドロップでタブの並べ替えができるようだ。

_ [えふえふ] 戦(↑1)

ひさびさ。


2005-01-10(月) 積もった [長年日記]

_ [debian] xdvik-ja 22.84.8-j1.21-1vd1

sazanami に依存して作成。


2005-01-11(火) 今日のメモも長い [長年日記]

_ [debian] heimdal-kdc 0.6.3-6 変

MIT krb5 は Kerberos5 の MIT リファレンス実装で、Kerberos5 の free 実装版の Heimdal のほうを使ったほうが Debian 的にはいいようだ。というか MIT krb5 ってアメリカの輸出規制にひっかかってるんだっけ?

ということで Heimdal のほうを試しに入れてみようかとしたら、heimdal-kdc 0.6.3-6 の install で

Section realms::REALM.ORG doesn't exist
Cannot parse command line

と失敗してしまった。探してみると #289295 にひっかかってしまったようだ。示されている patch を /usr/share/doc/heimdal-kdc/examples/kdc.conf に当てて突破。

_ [comp] Heimdal テスト

Krb5DebianKrb5Plamo を見つつ、やってみる。

いろいろ設定して試したけど、kinit で Kerberos V5 のチケットしか取ってないのだが、ktelnet は Kerberos V4 でしかつなぎに行かない。どうなってんだろ、これ。--without-krb4 でパッケージを作ってみたけど、やはり Kerberos V5 で認証している気配がない。設定ミスか?

と思ったら、kftp のほうはきちんと行けた。よくわからん。NFSv4 もできたので、手順をメモ。

構成などは Kerberos5 テスト に準じる。

まず Heimdal を install。

# apt-get install heimdal-kdc heimdal-servers heimdal-clients

realm 名と KDC の password を聞かれるので設定。

/etc/krb5.conf は MIT krb5 のそれと同じ。/var/lib/heimdal-kdc/kdc.conf は MIT krb5 の /etc/krb5kdc/kdc.conf とほぼ同じ。

KDB は install 時に、kstash 及び kadmin -l init REALM の実行によって作成されているのでパス。

管理 principal を登録。

# kadmin -l
> add foo/admin

password を聞かれるので設定する。/var/lib/heimdal-kdc/kadmind.acl で ACL を設定。

foo/admin@EXAMPLE.JP        all        *

foo の user principal を追加。

# kadmin -l
> add foo

password を聞かれるので設定する。

server で server, client 両方の nfs principal を追加。

# kadmin -l
> add -r nfs/server.example.jp
> ext_keytab nfs/server.example.jp@EXAMPLE.JP
> add -r nfs/client.example.jp
> ext_keytab nfs/client.example.jp@EXAMPLE.JP

/etc/krb5.keytab が生成されたことを確認。

server で client 用の keytab を生成。

# kadmin -l
> ext_keytab -k /tmp/keytab nfs/server.example.jp@EXAMPLE.JP
> ext_keytab -k /tmp/keytab nfs/client.example.jp@EXAMPLE.JP

server:/tmp/keytab を client:/etc/krb5.keytab としてコピー。

この後の作業は MIT krb5 の場合 と同様。

なお、MIT krb5 でも Heimdal でも、

client# mount -t nfs4 -o sec=krb5 server:/ /mnt

はきちんと動作しなかった。何かが足りない?

_ [comp] dnsmasq

お手軽 DNS キャッシュ用に dnsmasq を入れてみる。


2005-01-12(水) Large File Support の日 [長年日記]

_ [comp] apache2 2GB, 4GB の壁。

apache2 の扱えるファイルサイズには 2GB、4GB それぞれに壁があるという話を聞いたので、手元の apache2 2.0.52-3vd1 で確認してみる。2GB、4GB のファイルを作成。

% touch 2GB 4GB
% perl -e 'truncate shift, shift' 2GB 2349991936
% perl -e 'truncate shift, shift' 4GB 4699983872

telnet で接続して確認してみる。

% telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
HEAD /2GB HTTP/1.0

HTTP/1.1 403 Forbidden
Date: Tue, 11 Jan 2005 22:08:54 GMT
Server: Apache
Connection: close
Content-Type: text/html; charset=iso-8859-1

Connection closed by foreign host.

error_log には

[Wed Jan 12 07:08:54 2005] [error] [client 127.0.0.1]
 (75)Value too large for defined data type: access to /2GB failed

と記録された。4GB でも同様の結果。

まず、話の中で出てきた Large file support (> 4GB) for platforms w/ 32-bit size_t and 64-bit off_t で示されている ap_splitlfs.diff を当ててみる。が、結果は変わらず。

さらに調べてみると、#241223 にて

LARGEFILE_SOURCE
FILE_OFFSET_BITS=64

というコンパイルオプションが示されている。 また、/usr/share/doc/apache2-common/README.Debian を見てみると、

- Despite large file support being enabled, you won't actually be able to SERVE large files from apache2 unless you're using a kernel that supports the sendfile64 syscall. For i386, this is any recent 2.4.x or 2.6.x kernel, for most other architectures, this means an upgrade to 2.6.x.

[/usr/share/doc/apache2-common/README.Debianより引用]

となっているが、2.6.x に上げてしまっているので問題ない。

結果、ap_splitlfs.diff を当て、_LARGEFILE_SOURCE 及び _FILE_OFFSET_BITS=64 のコンパイルオプションを渡して apache2 を build したところ、2GB、4GB のファイルどちらも問題なく扱えるようになった。

_ [debian] apache2 2.0.52-3vd2,3

ap_splitlfs.diff を当てた vd2 を作成。だが、うまく動作しなかった。

さらに、debian/rules でコメントアウトされている

AP2_CONFLAGS += -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64

を有効にした vd3 を作成。こちらは問題なく動作した。

_ [debian] wget 1.9.1-10vd1,2,3

wget にも 2GB の壁があるようだ。2GB のファイルを転送しようとすると、取得サイズが負になっていて途中で切れてしまった。#240281 で示されている int64_t.patch を当てて vd1 作成。

って、http だけ対処か...。ftpd のチェックに wget を使ったら、最後の最後で core 吐いた。いろいろ探してみると、 Large file support for wget under Unix で patch を発見したのでこれを当てて vd2 作成。

ビルドはできたがミスってたので修正して vd3 作成。http/ftp どちらもきちんと動作した。

_ [debian] lukemftp 1.5-8vd1

lukemftp にも 2GB の壁。コンパイルオプションに -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 を追加して対処。

_ [debian] tdiary 2.0.0+2.1.0.20050112-0vd1

CVS から引っ張ってきて作成。

_ [debian] blackbox 0.70.0beta3-0vd1

いつの間にか出てたので作成。

0.65.0-3 の debian/rules をそのまま使うと、起動時にクラッシュする。CXXFLAGS にいろいろついてるのがまずいような。外してビルドしてみたら、きちんと動作するようになった。


2005-01-13(木) ちょっと研究の危機 [長年日記]

_ [debian] nfs-utils 1:1.0.7-1vd1

nfs-utils-1.0.7-pre2-CITI_NFS4_ALL-1.dif を当てて作成。

_ [debian] nfsidmap 0.9-0vd1, 0.10-0vd1

また debian/ 以下がからっぽだったので前回の 0.8 の debian/ 以下を流用して作成。

0.10 が出ていたが、やっぱり debian/ 以下はからっぽ。

_ [comp] ruby-postgres+PostgreSQL+pidentd おかしい

ruby-postgres から PostgreSQL に接続に行ったら、

PGError: FATAL:  IDENT authentication failed for user "XXXXXXXX"

とエラーが。syslog には

identd[XXXXX]: netlink_lookup: write failed: Connection refused

こんなログが。何事?

追跡しようかと思ったが、それより今は研究のほうを進めたいので s!ident sameuser!trust! /etc/postgresql/pg_hba.conf した。

_ [comp] ruby getopts

使い方を完璧に勘違いしていた。第一引数は1文字オプション、第二引数以降はロングオプションや引数を取るオプションという決まりが頭から抜けていた。

_ [comp] svn おかしい

コードを書いて、まず1回目の svn commit。ここまでは問題なし。さらにコードを書いて2回目の svn commit したら、

% svn commit
svn: XML パーサが '/XXXXXXXX/XXXXXXX' でパースに失敗しました
% LC_ALL=C svn commit
svn: XML parser failed in '/XXXXXXXX/XXXXXXX'

おいおい、勘弁してくれ。どうも .svn/ 内が腐ったらしい。svn co し直してみると、

% svn co file:///XXXXXXXX/XXXXXXX/SVN/repo
        :
zsh: segmentation fault (core dumped) svn co file:///XXXXXXXX/XXXXXXX/SVN/repo

おいおい、本気で勘弁してくれ。SVN/repo 内も腐ったか?

まてよ。apache2 を Large File Support 有効でビルドしたせい? subversion は apache2 の libapr を使っているから、もしかしたら...。あった。#244897 に Large File Support の有無で libapr の ABI が変わってしまう、と書かれている。

というわけで、subversion を rebuild してみたところ、svn co は SEGV らずに行けた。新しく co した .svn/ と腐らせてしまった .svn/ を比べてみると、腐った .svn 内の text-time と prop-time が完全に狂っていた。例えば、

-   text-time="1906-06-04T13:04:54.-629184Z"
+   text-time="2005-01-13T10:16:54.000000Z"

-   prop-time="1928-11-26T21:16:11.-769776Z"/>
+   prop-time="2005-01-13T10:16:53.000000Z"/>

UNIX epoch 以前だったり、負になっていたり。この腐った .svn/ を破棄して新しい .svn/ と取り換えたところ、問題なく作業ができるようになった。ふー。

_ [debian] subversion 1.1.1-2vd1

Large File Support を有効にした libapr0 向けに作成。

_ [research] B-pretend 修正, M>B-pretend 作成

前回さらっと作った仮の B である B-pretend を使いやすいように修正。

その B-pretend からミラーを行う M>B-pretend を作成。出力は ftpmirror っぽくして、N>ftpmirror を流用できるように。

これの途中に identd がおかしかったり ruby getopts の使い方を勘違いしてたり svn が腐ったりしたが、シミュレーション用のプログラムは一通り揃った。

_ [vdr] プロバイダ変更

7年間世話になったプロバイダの契約を更新しないことにした。新天地の準備ができたので、さくっと移転。


2005-01-14(金) 明日はセンター試験 [長年日記]

_ [research] M>B-pretend 修正

それっぽく処理に時間がかかってるような雰囲気を出すために sleep を挟んでみたり。あと各出力後の STDOUT.flush() を忘れていたので追加。

_ [research] 現状でのシミュレーション

いろいろシェルスクリプトを書いたり cron を設定したりして、現状でのシミュレーションをしてみた。まぁまぁきちんと動いているようには見える。

_ [debian] nfs-utils 1:1.0.7-1vd2

nfs-utils-1.0.7-CITI_NFS4_ALL-1.dif を当てて作成。

_ [vdr] 外部からの apache2 接続変

2004/12 末ごろからずっとおかしい。

  • 外部から apache2 接続をたまに受け付けなくなる。
  • 外部から apache2 以外の接続は OK。
  • 内部から apache2 接続は OK。

何だろう、これは。


2005-01-15(土) センター試験らしい [長年日記]

_ [えふえふ] 戦(↑1)

休みなのでこっちを頑張る。


2005-01-16(日) センター試験終了らしい [長年日記]

_ [misc] 家でだらだら

明日から再開。


2005-01-17(月) 再開 [長年日記]

_ [vdr] 続・外部からの apache2 接続変

さらに調べてみると、apache2 が起動しているかどうかにかかわらず、80 への接続が待たされているような感じ。待たせてるのはどこだろう?

_ [research] こまごま修正

db のテーブルがおかしかったのでフラグともども修正。

それに伴ってテーブルの作成、エントリの登録スクリプトも手直し。

_ [えふえふ] 戦(↑1)

寸止めだったので上げとく。


2005-01-18(火) ごちゃごちゃして研究進まず [長年日記]

_ [debian] blackbox 0.69.0+cvs20050118-0vd1

0.70.0beta2 から 0.70.0beta3 にしたところ、acroread を起動するとクラッシュすることがあるのに気付いたので CVS から引っ張ってきた。今のところ問題ないようだ。また、ヴァージョンをちょっと書き換え。

_ [debian] アイコン gnome-fs-home

GTK+2 なアプリを使っていると、

(XXXXXXXX:XXXXX): Gtk-WARNING **: アイコン 'gnome-fs-home' が見つかりませんでした。
テーマ 'hicolor' も見つからないので、インストールする必要があります。
次からコピーを取得できます:
	http://freedesktop.org/Software/icon-theme/releases

なんて警告が出ることがあるので調べてみた。gnome-icon-theme を入れておけばいいのかな。hicolor-icon-theme だけでもいいようだ。

_ [vdr] 続々・外部からの apache2 接続変

tcpdump で見てみたが、クライアントからは SYN を送ってそのまま timeout、サーバのほうでは何も飛んできていないように見える。ルータが悪いのか?


2005-01-19(水) とあるネットワーク問題解消 [長年日記]

_ [debian] udev 0.050-5vd1

vd-udev-devfs-2.patch を当てて作成。

_ [comp] 続・ruby-postgres+PostgreSQL+pidentd おかしい

pidentd 3.0.16-7 → 3.0.18-1 でつながるようになった。

_ [comp] tcpdump+ethereal

ここのところネットワーク関係の問題(除vdr)に忙殺されていたので導入。今更ながら、強力だ。

_ [research] C>T 作成

T からのリクエストを処理する C>T を作成。

プロトコル仕様書とかまた整理しないとややこしくなってきた。


2005-01-20(木) 研究進まず [長年日記]

_ [debian] blackbox 0.69.0+cvs20050118-0vd1

0.70.0rc 相当。

_ [debian] rxvt-unicode 4.8-0vd1

home に見慣れない core が落ちていると思ったら、urxvt が終了時に SEGV って吐いたものだったようだ。

- fix some freeing problems when destroying the rxvt_display, resulting in segfaults.

[http://dist.schmorp.de/rxvt-unicode/Changesより引用]

これかな。4.8 にしてみたところ、SEGV らなくなった。

_ [debian] xmame 0.90-0vd1

0.89-1 をそのまま流用して作成。

_ [えふえふ] 戦(↑1)

今日も寸止め。


2005-01-21(金) 微妙なエンジン加減 [長年日記]

_ [debian] subversion 1.1.3-1vd1

Large File Support を有効にした libapr0 向けに作成。

_ [debian] sylpheed 1.1.0alpha1+svn27-0vd1

SVN から引っ張ってきて作成。

_ [research] T 作成, 共通部修正

C>T を準備したので T の作成を開始。

また、共通部で C に Request を送るメソッドで、C から返ってくる Response を gets で読んでいたので Status-Line しか得ていなかった。readlines に修正して Response 全体を読むようにした。


2005-01-22(土) CVS とか SVN とかいろいろ [長年日記]

_ [debian] blackbox 0.69.0+cvs20050122-0vd1

CVS から引っ張ってきて作成。

_ [debian] skkdic 20041205-0vd1

CVS から引っ張ってきて作成。

およそ1年前に無効にした uim-skk の再帰学習 を有効にしたので、独自項目の patch は外した。

_ [debian] sylpheed 1.1.0alpha1+svn27-0vd1

SVN から引っ張ってきて作成。

_ [debian] wu-ftpd 2.8.0cvs20050122-0vd1

CVS tarball をもらってきて作成。


2005-01-23(日) 休みだが気分が乗ってるときに [長年日記]

_ [comp] Tab Mix

Tab Mix という MozFx の拡張を教えてもらう。

のほぼ同等の機能は Tab Mix に含まれているようなので無効にした。また、ロケーションバーの入力を新規タブで開くこともできるようだ。

また、テスト版であるが、Tab Mix 日本語locale追加版 も公開されているようだ。

_ [research] C>DB 修正

CGI 用の HTML 出力メソッドをちょっと修正。

_ [research] K 完成

  • まず HTTP で確認し、それで駄目なら FTP で確認。
  • Thread を用いて並列チェック。new した Thread を join して終了を待つのがポイント。
  • 並列チェックのために、Array に / メソッドを追加して配列を等分できるように。

といった感じで K 完成。


2005-01-24(月) やる気継続中 [長年日記]

_ [research] K 修正

デーモンモードで動くように改造。

_ [research] T,C>T,C>DB 作成続行

T を作成していたら、C に送るクエリーが思っていた以上に複雑になることに気付いた。ここでプロトコルを考え直して、C>T を手直し。さらに複雑なクエリーに対応できるように C>DB を修正。

ここで、PostgreSQL サーバに対して1回のクエリーで済むようにサブクエリーとか INNER JOIN とかいろいろ使ってみたけど、見通しが悪くなるだけだった。クエリーを分割し、得られた結果を ruby 側で処理するようにした。こっちのほうが楽だったし、見通しもよくなった。

_ [debian] tdiary 2.0.0+2.1.0.20050124-0vd1

CVS から引っ張ってきて作成。

_ [debian] sylpheed 1.0.0+svn38-0vd1

SVN から引っ張ってきて作成。あとヴァージョンを付け直し。


2005-01-25(火) まだ継続中 [長年日記]

_ [research] T,C>T,C>DB 作成さらに続行

T から C へのクエリーの結果を処理する部分をさらに詰めて、だいたいうまく動くようになった。検討が必要な部分は今は簡単な処理にしておいて FIXME。

これで単独起動する T は完成。

_ [research] I 作成開始

T の出力を受け取って M を起動する I の作成を開始。

_ [debian] ircd-irc2 2.11.0-1vd4

NICKLEN を 20、ONICKLEN を 15 にした。コメントによると、今は ONICKLEN しか使われていないようだ。

_ [comp] bmp-infopipe

xmms-infopipe からせこせこ作っていたら、すでに Gentoo のほうで作られていた。ちぇ。


2005-01-26(水) まだまだ継続 [長年日記]

_ [research] T さらに変更

よく考えたら、T は相手先の状態だけを判定に使っていて、手元の状態は一切見ていなかった。ということで手元の状態を取得して判定に用いるように改良。

_ [research] I,T さらにさらに変更

これまでのプロトコル仕様では I に情報を渡し切れないので、またプロトコル仕様を変更。それに沿うように T も変更し、一通りの動きはできるようになった。

_ [research] C>N,N>B-pretend,フラグ変更

B のステータスは FOO:! としておいて C に格納する際に :! を削除という特別扱いをしていた。だが、一般のステータス処理以外に B 用の処理があることで全体がややこしいことになっていた。そこで、B のステータスには FOO:!UPSTREAM というフラグを明示的に与え、ステータス処理を一つで済むように改良した。


2005-01-27(木) 転機 [長年日記]

_ [unicon] Kernel Bug Tracker に登録

UNICON: CJK fonts support on console. として登録されてる。ちょっとビックリ。

_ [research] U 作成開始, フラグ見直し

条件判定が極めて複雑であることが判明。うー。この原因は状態を示すフラグの多さにあるのでは?

まず START フラグの削除を検討してみる。M が起動したら START として実際にミラーを開始したら MIRROR としていたが、M が起動しただけで MIRROR としてしまっていいのではないか?いや、それだと MIRROR→NOT_MODIFIED な場合でも、実際は変更がないにもかかわらず、子は途中の MIRROR を見てミラーを開始してしまう可能性がある。やっぱり START は必要か?

待てよ。それなら NOT_MODIFIED フラグも削除してしまうのはどうか?

READY → START → NOT_MODIFIED

ではなく、

READY → (ミラー開始) → (変更なし) → (フラグ変更なし)

というのはどうか?

何かうまく行きそうな気がしたので、START 及び NOT_MODIFIED を削除して条件判定を考えてみる。おお、かなりすっきりした感じがする。この線で行こう。

_ [research] 共通,N>ftpmirror,C>N,T,C>DB,N,M>B-pretend 変更

rev43 で START 及び NOT_MODIFIED を削除。削除しただけなので動作に問題が出るかもしれない。

_ [movie] 風とライオン

風とライオン [DVD]


2005-01-28(金) 一息 [長年日記]

_ [research] C>K 修正

何故か typo が大量にあって動かなくなっていたので修正。こんないじった覚えないけどなぁ...。

_ [research] U 実装

昨日整理した U の実装を開始。当初の計画では U は独立したプロセスと考えていたけれども、C>DB 内に組み込むことにした。現在は条件判定がややこしくなるので parent は必ず BASE であることを前提に実装しているけれど、状況によっては parent が MIRROR になりうるということを忘れないようにしないと。

とりあえず U 完成。これでシステム全体としてのパーツは一応揃ったことになる(中身の出来はともかくとして)。

_ [comp] pcf を読む

pcf を読み込むうまいやり方はないかなぁと探してみる。JFBTERM/ME 中の pcf.c を使うといいみたい。


2005-01-29(土) 休みを満喫 [長年日記]

_ [comp] Tab Mix 0.1.1

UndoCloseTab も含まれるようになった。

_ [comp] lib に .so がつかない

久々に automake/autoconf なものをいじくっていたら、何故か生成される lib に .so がつかない。色々探してみたけどよくわからんので automake -a -c で追加されるものを削除して、aclocal/automake/autoconf をやり直し。あれ、駄目だ。ltmain.sh も怪しいのでこれも新しいのと取り替え。やっとうまくいった。

_ [debian] bmp-infopipe 1.3-0vd1

Gentoo の一部をもらってきて作った vd_bmp_xmms-infopipe-1.3.patch を当てて作成。

ちなみに lib に .so がつかない で困っていたのはこれ。

_ [debian] festalon 0.4.0-0vd1, 0.5.1-0vd1

http://xod.fobby.net/ に 0.5.1 があったけど、今見たら見えなくなってる。raphnet.net projects には 0.4.0pre があり、http://ftp.citkit.ru/pub/sourceforge/f/fe/festalon/ には 0.4.0 がある。

0.5.1 は何だか中身ががらっと変わってるので要調査ということにして、0.4.0 に vd_bmp_festalon-0.4.0.patch を当てて作成。

0.5.1 は特に問題ないようだ。vd_bmp_festalon-0.5.1.patch を当てて作成。

_ [debian] bmp-sexyspc 0.2.1

vd_bmp_sexyspc-0.2.1.patch を当てて作成。

_ [debian] tdiary 2.0.0+2.1.0.20050129-0vd1

CVS から引っ張ってきて作成。

_ [comp] kernel 2.6 module で遊ぼう

このときは kernel 2.4 だったっけ?

gcc -DMODULE -c test.c

は 2.4 でしか通用しないようで、2.6 だと大量のエラーが出て往生。

Driver porting: compiling external modules によると、

ifneq ($(KERNELRELEASE),)
obj-m   := test.o

else
KDIR    := /lib/modules/$(shell uname -r)/build
PWD     := $(shell pwd)

default:
        $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
endif

こんな Makefile を準備して make してやると通った。

_ [movie] 白と黒のナイフ

白と黒のナイフ [DVD]


2005-01-30(日) 十分休養 [長年日記]

_ [debian] sylpheed 1.0.0+svn55-0v1

SVN から引っ張ってきて作成。

_ [comp] lftp net:limit-rate

lftp で回線フルに使ってダウンロードしたら思った以上にいろいろ不安定になったので探してみたら、ちゃんと制限かける方法があった。


2005-01-31(月) だらけ気味 [長年日記]

_ [comp] QEMU を使ってみる

適当に作った kernel module でメインマシン上で遊んでいたら、刺さって大変なことになったので何かうまい方法はないかと探してみる。VMware とか bochs とかいろいろあるけど、最近は QEMU が注目を集めているようだ。ということで QEMU を使ってみる。いろいろ参考にさせて頂いたページはこちら > QEMU on Windows

KNOPPIX 日本語版 の iso を頂いてきて、おもむろに起動。

% qemu -m 256 -localtime -user-net -cdrom knoppix_v3.7_20041208-20041221.iso

fb はもちろんのこと、X が起動するところまで問題なく動作。こりゃすごい。

最初の検出とか遅いので、それが終わったら Ctrl+Alt+2 でモニタに落ちて、

(qemu) savevm qemu.knoppix26.snapshot

として VM の状態を qemu.knoppix26.snapshot というファイルに保存。次回起動時に

% qemu -m 256 -localtime -user-net -cdrom knoppix_v3.7_20041208-20041221.iso \
-loadvm qemu.knoppix26.snapshot

とするかモニタで

(qemu) loadvm qemu.knoppix26.snapshot

とすれば保存した状態から再開。極めて便利。

CD-Plamo も試してみた。これも問題なく動く。お、これって UNICON inside。

_ [comp] remove devfsd

管理してるマシンが全て udev に移行して安定稼動しているので、devfsd を削除して回る。udev に vd-udev-devfs-*.patch を当てる必要はもうないかな。そもそも最近の udev にこれがいるかどうかわからなかったけど。


2005年
1月
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

[amd64 | audacious | comp | debian | gkrelluim | kip | misc | movie | research | rime | unicon | vdr | work | えふえふ]

書いてる人: dai

パッチ等(無保証)

GPG Fingerprint = 0B29 D88E 42E6 B765 B8D8 EA50 7839 619D D439 668E