Motoyuki's Diary 2000年6月分

Motoyuki Konno <motoyuki@bsdclub.org>
[since Jan/22 1999] counter
Last-modified: Wed, 09 Nov 2005 04:17:31 JST


2000/6/1(Thu)

NetBSD

_ make build

昨日の続き。一度 build に失敗したが、ソースを更新してやり直したら成功。 softupdate を有効にした kernel にしたので非常に快適になった。

_ symlink

昨日は こう書いたが、

cd /usr/src
mkdir basesrc
ln -s basesrc cryptosrc-intl
ln -s basesrc gnusrc
ln -s basesrc sharesrc
ln -s basesrc sysrc

してから CVSup でソースを更新するとうまく行くことを確認。この体制に移行。

_ 環境構築

をしようと思ったが、 ports team が積極的に動いている FreeBSD と比べて NetBSD の pkgsrc はまだまだ未整備。 openssh を入れようとしたら perl が必要で、 でも pkgsrc の perl は 5.004_04 という昔の version なのでソースの distfile がない。 FreeBSD と同じ 5.005_05 にする...。

やはり NetBSD では何も考えずに楽をすることはできないね。自分で適当に作成して contribute しようかしらん。

FreeBSD とか OpenBSD は perl など重要なツールは配布物本体に入れていく方針で 進めているけど、 NetBSD はその点「昔の BSD」 *1だと思う。


*1:というと語弊があるかな。要するに「自分で build しなきゃならない」ということ。

今日の出来事

_ 最終回

7 月 3 日発売の号で最終回とのこと。あと 2 回か。

Web 日記から

_ BSD Week

日本大縦断かます人は 2, 3 人はいるようです。好きで参加する物好き^H^H^H熱心な人もいますし、 「○×さん自身が来れば問題解決」と動員された人もいます :-)。

できれば私も縦断したいんですけど、先立つものが不足してます (^_^;;。


2000/6/2(Fri)

今日の出来事

_ オイル交換

オートバックスに行ってオイル交換。ついでにオイルフィルターも交換。 先日洗車したときにワックスが無くなったので購入。

オイル交換の待ち時間に店に置いてあった自動車雑誌を見ていたら、日産の フェアレディ Z がまもなく生産中止になるとのこと。後継車はまだ開発すら 始まっていないらしい。現行の Z は私が大学生になってしばらくした頃に開発 されたんだから今の車の中ではめちゃくちゃ長寿命だったんだなぁ。

_ 英文メール

準備もかなり大詰めということで、英文メールを何通か書く。書くのはすごい苦手 であることをあらためて実感。


2000/6/10(Sat)

ここ数日間

何かとあって日記書くことができなかった。簡単にまとめ。

_ 6/3 (土)

江洲さんとこの 宴会へ。豆腐ようは非常に濃厚なチーズのような味だった。いろいろなものを鑑賞。

_ 6/4 (日)

前日の後遺症でほとんど何も出来ず。

_ 6/5 (月), 6/6 (火)

jp.FreeBSD.org のサーバの調子が変。原因を追及するもよくわからない。何かくやしい。

BSD Week

_ 6/7 (水)

夕方に某 I 社へ。岩崎さんと待ち合わせ。栗山さん、花井さんといろいろ話す。 Jordan がとっくに成田に着いているはずなのだが全然連絡がない。そのうち 2 時間 後の飛行機に乗った Warner からホテル到着との連絡が入る。

歩いて渋谷のホテルへ。ロビーで Warner に会う。フロントで聞いたら Jordan は まだチェックアウトしていないとのこと。約束の時間に近づいてきたので、岩崎さんと Warner とで秋葉原へ移動開始。

たん清にて welcome 宴会。私達の移動中に Jordan から連絡が入ったとのこと。何と 飛行機に乗り遅れたらしい。乾杯の練習をしているうちに花井さん栗山さんと共に Jordan 登場。花井さんたちは仕事があるとかでその足で会社へ帰還。 ご苦労様でした。

宴会の前半は某 A 社主催の座談会。座談会以外のメンバー (私も含む) は周囲の テーブルで飲み。かなり盛り上がってしまい「静かに」と注意が何度も 入ってしまった (^_^;;。座談会終了後はみんな一緒になって宴会。

_ 6/8 (木)

Jordan と Warner は某 M 社のインタビュー。私は担当ではないのでゆっくり休む。 午後家をでて updraft2が置いてある某所へ。 OS のバージョンアップやら何やら。

*BSD BOFのために幕張へ。思ったより作業に時間がかかってしまったので遅刻してしまう。 今回の BOF はほぼ時間通りに終われたが、内容は検討の余地あり。 Jordan と Warner の部分を別セッションに移すなどして分割したほうがいいんだろうな。

終了後、何人かの方々と神田へ移動して宴会。非常に美味しい魚と日本酒を楽しむ。 かなり高価だったがそれだけのことはあった *1と思う。 BOF で「BUG : BSD Users Group」構想が発表されたが、

あたりも登録すべきではという話がでる。

私たちのグループ以外では、幕張で宴会した後で付近に在住する T 氏宅で夜を 明かしたグループ、馬活動で三郷へ行ったグループなどがあった模様。

_ 6/9 (金)

何とか朝早くに起きて渋谷へ。 9:30 に Jordan, Warner, それに中根さんと 待ち合わせて某 A 社へ。インタビュー終了後、秋山さん *2が合流して近くで昼食。

Warner がおみやげを買いたいとのことで新宿の高島屋タイムズスクエアへ移動。 見て回るがあまり良いものがない。隣の紀伊国屋書店をちょっと見た後で渋谷へ移動。 Jordan と Warner はホテルの部屋へ。私たち 3 名は喫茶店に入って時間潰し。

地下鉄で JUS 勉強会へ移動。出席者は去年より少ない感じ。やはり毎年だと有り難みが薄れるのかも :-)。 終了後、隣の中華料理屋で宴会。飯島さん、佐藤さん、緒方さん、私というテーブル だったが、飲み放題ということもあってかなりの勢いでビールやサワー等を消費。 たぶん他のテーブルの倍以上の勢いで飲んだんじゃないかな (^_^;;。

有志 8 名で太昌園本店へ移動して 2 次会。


*1:そう思う人しか集まっていないという指摘あり。
*2:九州在住。 oddriver の作者。


2000/6/12(Mon)

creat

数日前から一部で話題の creat 問題、私が持っている本だと

に載っているのですが、そもそもなぜ最初 creat にしたのかが謎です。

よく聞く話として、アセンブラの label 名が 6 文字までだったので _creat で 6 文字になるようにしたというのがあります。初期の UNIX 処理系でそういう制限が あった可能性 *1は確かにあります。でも unlink, setuid, setgid のようなかなり初期 からある system call で 6 文字のものが存在するので、これが事実とすれば、 unlink などが導入される前の本当に初期の話ということになります。

unlink, set[ug]id 等の 6 文字の system call がいつから存在するかですが、 V5 UNIX (1974?) では既に unlink, set[ug]id とも存在します。市販書の Lions' Commentary に収録されている V6 UNIX (1975) はその次のバージョンなのでこれらは 当然存在します。

これより前に遡る文献は私は知りませんが、 V1 UNIX (1971) より前の PDP-7 で 動いていた UNIX の原型 (1969) では既に i-node が使われていたらしい *2ので、この段階で unlink が存在した可能性はそれなりにあると思われます。 creat が 5 文字である必然性があったとすれば、たぶんこの最初期の時代のこと ではないでしょうか。

ただ、 Ken Thompson がわざわざ「UNIX を設計し直すなら creat を create に」と 言っていることから考えて、彼の勘違いが理由である可能性も相当に高いような 気がします。


*1:文字数の制限がある処理系は多いが、普通は「制限を越えた部分で違うものを 区別できない」であって、「使えない」というのはあまり見かけない。
*2:Life with UNIX 日本語版 p.5 参照


2000/6/13(Tue)

選挙

今日が公示。投票日が 6/25、私が八王子市に転入したのが 3/30。 3 ヶ月に ぎりぎり足りないので公職選挙法の規定により前の住所地、つまり山梨での投票に なるらしい。

うーむ、あんな所までいちいち行かなきゃならないのか。郵便か何かで済ますことは できないのかなぁ。山梨県第 3 区は自民党の建設省 OB で民主党が農林水産省 OB、 どちらも地元の利権に密接に結びついている省庁の出身。「地元へ公共事業を」が 最優先の土地柄だから当然の話なのだろうけど、既に山梨を離れた身としては どちらにも入れたくないぞ。

比例代表区は南関東なので神奈川、千葉、山梨という区になる。よくわからない 組み合わせだ。

追加:

遠隔地投票の件について二人の方から教えていただきました。元の住所地の 選挙管理委員会から不在者投票の封書が届き、それを持って現住所の選挙管理委員会で 投票すればよいとのことです。ありがとうございました。

今日の出来事

_ 買い物

八王子の町に出て買い物。三省堂書店が入っている 東急スクエアが定休日 (;_;)。くまざわ書店を巡る。地下のコミック売り場で以前 話題になった袴な本が 10 冊以上平積みにされていて苦笑。思わず買ってしまいましたよ。 同じ作者の「わずかにとしがい」という似たような表紙の本も平積みされていました。

_ 八王子テレメディア

の CATV 接続がまたしても調子悪い。外の WWW を見るときに使う proxy server に 接続しようとするとしょっちゅう time out してしまう。

今晩来週水曜日の 0 時から 9 時まで月に一度の定期メンテナンスがあるので、この間に 改善されるといいのだが、どうなることやら。


2000/6/14(Wed)

FreeBSD

_ committer

jkh & imp 訪問で iwasaki さんが 10 人の方をまとめて 売ったcommmitter 候補として推薦したのだが、 全員完売となった全員 core に承認されたとのこと。 iwasaki さん自身も あまりの売れ行きの良さにびっくりあっさり承認されて驚いているようだ :-)。

推薦された方々の中にもあっさり通ると思ってなくて心の整理がついていない方が いらっしゃるようですが、 皆さん、よろしくお願いいたします。

それにしても、 この日の宴会は結果的に committer を作るために開いたようなものだったような。

_ IPv6 テスト

うちのサーバから外に出る IPv6 なトンネルを掘ってみるテスト。 無事出られるみたい。一つ重大な問題があるんだけど、 IPv6 な環境にすることも できそうだ。

Web 日記から

_ 記事

私も 同じく恥ずかしくて読めないです (笑)。今回は自己紹介がちょっと (削除) なので ますます読めない :-)


2000/6/15(Thu)

今日の出来事

_ ipfirewall の設定

おうちサーバの firewall の設定をきつめに直した。 \


2000/6/16(Fri)

新宿

紀伊国屋書店へ寄る。

妙に奇妙な取り合わせ :-)。

肉体会へ。帯に「うぐぅ」と大書している本とか、 和洋折衷とか。自分で日記に 書いてるし。

早めに解散。京王線で帰宅。


2000/6/18(Sun)

週末にやったこと

一昨日の日記を補完。

_ IPv6

おうち LAN が IPv6 reachable な環境になる。詳しくは後日補完予定。

_ お買い物

最後のは付録に DVD のチェックプログラムがついていたから。

_ PS 版 TH

1 回だけクリアしてからずっと放ってあったのを再開。マルチ、琴音、葵の順に クリア。葵ちゃんがとても良かった。

NetBSD

_ crypto 回り

1.4ZD になっている。 basesrc/crypto/dist 以下に openssl のソースが入って 以前のような作業をする必要がなくなった。でも IDEA まで有効になってしまうらしい のでちょっと難あり。

_ make build

1 回目は src/usr.sbin/rpc.bootparamd で fail。 bootparamd.c の該当部分 :

/*
 * Do NOT change the "%u" in the format string below to "%lu". If your
 * build fails update the "rpcgen" program and use "make cleandir" and
 * "make includes" in "src/lib/librpcsvc" afterwards.
 */
		errx(1, "unable to register BOOTPARAMPROG version %u, udp",
		    BOOTPARAMVERS);

commit logを読んでみると、ここのところでひっかかって何度も修正した形跡あり。 解決方法がわかっているんだったら rpc.bootparamd を build する前に rpcgen を update するように Makefile を書き換えるとかして欲しいぞ。

このあたり、 FreeBSD のほうが「間違いなく build できるように」という配慮が されていると思う。 chroot な環境を使ってbuild と install を別にしている点 *1も FreeBSD の長所。

訂正 : chroot 使ってるのは make release の時のみです。


*1:NetBSD だと /usr/include や /usr/lib の下を無条件で更新してしまうので、 build が途中で失敗してしまうようなケースの時にまでへッダやライブラリが 更新されてしまって悲しい。


2000/6/19(Mon)

NetBSD

_ make build

昨日の続き。 NetBSD にも DESTDIR という仕組みがあるのですが、

のですよね。 /usr/include や /usr/lib を入れ替えるのは build が成功してから にしたほうが安全なわけです。 NetBSD では userland 全体を頻繁に make する人が少ないのかな。


2000/6/22(Thu)

今日の出来事

_ 訂正

6/19 の日記の 一部を訂正。指摘ありがとうございました。

_ 税金と投票

県民税と町民税を納めに銀行へ。これらは 1 月 1 日現在の住所地で課税されるので 玉穂町への納税となる。

税金だけ納めるのはくやしいので、ついでに投票に行く。詳細は以下。

遠隔地投票への道

6/13 の日記の続き。投票日の 3 ヶ月以内に転居した私は、現住所では投票できない。

_ 6/16 (金)

玉穂町 (前住所) の選挙管理委員会から投票所入場券が郵送で届く。 電話で問い合わせてみると、遠隔地投票の手順は以下の通り。

  1. 現住所の選挙管理委員会に行き、投票用紙請求書をもらう。
  2. 必要事項を記入し、前住所の選挙管理委員会に郵送する。
  3. 前住所の選挙管理委員会から投票用紙等が郵送されてくる。郵送先は請求書に 書いた場所。
  4. 届いた投票用紙を持って、現住所の選挙管理委員会へ行き、投票を行う。
  5. 現住所の選挙管理委員会から前住所の選挙管理委員会へ投票用紙を郵送。

郵送というプロセスが 3 つも入ってるけど、当日までに間に合うのか。 電話をしたのが夕方だったので八王子市 (現住所) の選挙管理委員会は既にダメ。

_ 6/17 (土), 18 (日)

休日のため、選挙管理委員会の窓口は閉っている。

_ 6/19 (月)

八王子市役所に行って選挙管理委員会から投票用紙請求書をもらう。 玉穂町宛てに郵送。念のため、地域の集配局から速達で投函。

_ 6/22 (木)

玉穂町選挙管理委員会から配達証明つき速達で投票用紙が届く。 100 円切手が 10 枚と 80 円切手 1 枚が張ってあってちょっと壮観。

八王子市役所に行って投票。基本的には普通の不在者投票と同じ。 八王子市選挙管理委員会から玉穂町宛てに今日中に速達で投函するとのこと。

_ まとめ

遠隔地投票を行うには、以上の過程を行って投票日の午後 6 時までに前住所地の 選挙管理委員会に投票用紙が届く必要があるとのこと。届かなければ全てが 無駄となる。現住所地の選挙管理委員会に 2 度も行かなければならないから 普通の人が投票するにはかなり無理がある。第一、こういう投票方法があることが あまり知られていない。

先週の新聞によれば、自治体によっては選挙区外へ引っ越した有権者に対し、

を 投票所入場券に最初から同封して送るところもあるらしい。これだと手間が大幅に 省ける。こうした配慮を各選挙委員会に義務づけるべきだと思う。

Web 日記から

_ 久しぶり

に日記ぐるぐるしてみる。最近別のこと *1に時間取られてメール読み書きしたり日記見てなかった。

_ 写真

を見るために あの雑誌を買うというのは非常に無駄な気が。宴会の写真だからまともに写っていないし。


*1:IPv6 の作業をしていたのと、全年齢版の東鳩やってた :-)

東鳩

やっと全キャラ終了。最後はレミィだったが PC 版のほうが良かった気がする。 家族の描写がちょっとね。私が萌えたのは 綾香 と 葵。


2000/6/23(Fri)

IPv6 reachable への道

このところずっと作業していた IPv6 関係のまとめ。

おうち LAN は常時接続な環境なのだが private アドレスが振られている点が残念。 今回の目標は、トンネルを掘って IPv6 な global アドレスを使って外から自分の マシンにアクセスできるようにすること。FreeBSD 4.0 から KAMEがマージされて IPv6 が使えるようになったので、ちょうどいい機会でもある。

_ 準備

IPv6 over IPv4 トンネルは gif(4) を使う。 NAT を使った private IPv4 アドレスを 振られている私の場合、普通なら gif(4) は使えない *1のだが、接続中はある global IPv4 アドレスを使っているように外部からは見える *2のでこれを利用する。

一般論として、外からのアクセスを特定の private IPv4 アドレスに振る機能がある NAT box を使っているユーザならば私と同様の手順で接続できるはず。 global IPv4 アドレスをもらっている人の場合は手順が簡単になる。

_ テスト

まずは使えるかどうかテスト。 Freenet6.netでトンネルを無料で設定してくれるので、これを利用する。 FreeBSD 4.0 以降の場合は Freenet6.net で FreeBSD/KAME を選択すれば OK。

普通は Freenet6.net でくれる設定スクリプトを使えばトンネルが設定されるが、 うちは NAT 環境下なのでちょっと工夫する必要がある。 Freenet6.net では

という情報をくれるので、これを利用して

 # gifconfig gif0 <my private IPv4 address> <Freenet6 IPv4 address>
 # ifconfig gif0 inet6 <my IPv6 address> <Freenet6 IPv6 address> prefixlen 127
 # route add -inet6 default <my IPv6 address>

と設定した。 ping6 を試してみると無事外に出ている。テストは一応成功。

_ 問題点

がいくつか。

  1. Freenet6 によれば、 FreeBSD/KAME は prefixlen 127 での使用に問題がある *3とのこと。 FreeBSD 4.0-RELEASE で試したところ、 ifconfig を実行した際に マシンが reboot してしまう現象が何度か起きた。
  2. Freenet6 でのトンネルは接続が切れると設定解除されてしまう。いちいち Web で 設定しにいくのは面倒。
  3. IPv6 なアドレスを一つしかもらえない。やっぱり、おうち LAN の各マシンに IPv6 アドレスを振ってみたい。

1. の問題は global IPv6 アドレスを複数振ってもらう場合には prefixlen を 使わずに済むので自動的に解決できる。 2. がちょっと問題。外部から私のマシンに 振られているようにみえる IPv4 アドレスは時々変わる (DHCP と同様) ので、 その度に接続先のサーバの設定を変える必要が出てくるのだ。


*1:接続先から自分のマシンが見える必要があるため。
*2:これは undocumented な仕様らしい :-)。
*3:私が Freenet6 で設定した時はそういう記述が Web にあったのだが、今見ると なくなっている。問題解決したのかな?

IPv6 reachable への道 (2)

_ dtcp

IMASYの梅本さんにお聞きしたところ、 KAMEの SNAPKIT に含まれている dtcp を使えば自分の IPv4 アドレスが変わる場合にも 対応できるとのこと。 IPv6 接続も IMASY で引き受けてくださるとのことなので、 設定をお願いすることにした。

dtcp は、 dtcp サーバ (dtcps) に接続してユーザ認証を行った上で IPv6 over IPv4 トンネルを設定してもらうもの。

dtcp に以下のような改良を加えた:

dtcpc.rb の オリジナルパッチ。パッチの作成は 梅本さん高野さん、それに私。

なお、 FreeBSD 4.0-RELEASE ではさらに このパッチを当てる必要があった。

_ 実際の運用

現在のところ、以下のようなスクリプトを使って常時 IPv6 な環境にしている。 何らかの理由で接続が切れた場合に自動的に dtcpc を再起動するのだが、 そのうちこの機能を dtcpc 自体にマージするつもり。

#!/bin/sh
export PATH=/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin
export LANG=C

log=/var/log/dtcpc.log
host=servername.hoge.jp
user=username

while true
do
    echo ======== `date` >> $log
    ruby /usr/local/sbin/dtcpc -n -t tunnelroute -u $user $host >> $log 2>&1
    sleep 120
done

IPv6 reachable への道 (3)

_ アクセス制御

おうち LAN の各マシンが IPv6 reachable になったので、アクセス制御の設定。 dtcpc を動かしているマシンで options IPV6FIREWALL を指定して kernel を 再構築し、 IPv6 版の ipfirewall を有効にする。そして、 ip6fw(8) を ipfw(8) と同様に使って gif0 を経由する外部とのやりとりを制限する。

_ 各種プログラムの IPv6 化

FreeBSD 4.0-RELEASE のデフォルトでは IPv6 化されているものがまだ少ないので、 対応しているものに入れ替え。

sendmail は ftp://ftp.kyoto.wide.ad.jp/mail/sendmail/ にある WIDE パッチを あてれば OK。

注 : 今なら sendmail 8.10.2 を入れた方が良いと指摘をいただきました。

起動時に -6 を指定すれば IPv4 と IPv6 両方しゃべってくれる。sendmail.cf に

    O DaemonPortOptions=Family=inet
    O DaemonPortOptions=Family=inet6

と書けば IPv4 と IPv6 の両方をしゃべってくれる。 CF を使うなら

    DAEMON_OPTIONS='Family=inet,Family=inet6'

と指定。

sendmail の設定にちょっと問題あり。メールを送る際に、

ということができない。しょうがないので全部「MX で引いた先に直接送る」設定に しているのだが、 IPv4 な環境では逆引きしたホスト名とメールサーバ名が 異なるので、メール受取りを拒否される可能性がある。

_ DNS の設定

おうち LAN は IPv6 のみ global なアドレスなので、設定を工夫する必要がある。 幸い、知人と運営している bsdclub.org があるので、

foo.bar.jp	IN	MX  5	mx.foo.bar.jp
		IN	MX  10	bsdclub.org のサーバ
mx.foo.bar.jp	IN 	A	bsdclub.org のサーバ
		IN	AAAA	おうちサーバ

と設定する。これで IPv6 なメールはおうちサーバに直接届く。 IPv4 なメールと、 おうちサーバが落ちている時の IPv6 なメールは、 bsdclub.org に届く。 WWW サーバのホスト名なども、同様に A レコードを他のサーバに振るように設定すれば よい。

注 : メールについては、 IPv6 で接続できない場合は IPv4 に fallback するのでsecondary MX の設定は必要ないとのことです。

IPv6 で届くメールが非常に少ない (^_^;; のが残念。解決策としては、 IPv4/IPv6 両方使えるサーバでメールを受け取って、おうちサーバに forward する方法しか 思いつかない。

今日の出来事

_ 買い物

八王子駅前に出る。くまざわ書店地下のコミック売り場に行くと、まほろまてぃっく 2 巻が 20 冊以上山積みされていた。なかなか面白い品揃えだ :-)。

その後、東急スクエアの三省堂書店に行って買い物。


2000/6/24(Sat)

今日の出来事

よく寝た :-)

_ IPv6 のページ

rimに作ってみる。内容は今のところ日記へのリンクだけ。

_ ソニー損保

もうすぐ任意保険の更新なので見積もりとってみようと思い、 ソニー損保にアクセスしてみた。

本サイトでは [中略] 安定性と操作性を第一に考慮しております。その結果、 本サイトの動作環境を下記(OSおよびブラウザ―)に限定いたしております。 お客様にはご不便をおかけして誠に申し訳ございません。ご利用可能な環境で の再度のアクセスをお待ち申し上げております。[中略] OS Microsoft Windows95日本語版以降(Windows98日本語含む) Microsoft Windows NT4.0日本語版以降 下記ブラウザが動作するMacのOS ブラウザ Internet Expolorer 4.0 日本語版以降 Netscape Communicator 4.0 日本語版以降

どうやら PC UNIX 系のユーザは門前払いらしい。見る気なくした :-<

Web 日記から

_ dtcp のパッチ

dtcpc.rb のパッチはそういう 特殊な設定をした NAT 環境下のためのものです :-)。普通の NAT 環境の場合だと、 ppp over TCP でトンネル掘れるんじゃないでしょうか。

_ ソニー損保

あれ、 Netscape on FreeBSDで大丈夫でしたか。私は Netscape Communicator 4.7 on FreeBSD 4.0 で 蹴られてしまったです。


2000/6/25(Sun)

今日の出来事

_ 選挙

理解できないこと。与党が過半数確実なのになんで野党の幹部が笑顔で報道陣に コメントできるのだろうか。本来は過半数とれないイコール敗北なんだけど。 みんながみんな与党が過半数をとることを当然視しているということなのだろうな。 その範囲内で自分の党が勢力を伸ばすか減らすかを競っている。

要するに、政権を目指すとか公約していたけど、実際に自分が政権とれるとは全く 考えていないのね。そんな調子じゃ政権とれるわけないじゃない。

_ 野球

三連勝。久しぶりに良いニュース。


2000/6/26(Mon)

今日の出来事

_ ICANN

先日私も ICANNの一般会員登録を申し込んだのだが、今日郵便が届いたので登録を完了した。 わざわざ郵便で送ってくるのは一人で複数票登録されるのをできるだけ 防ぐためなのかな。ネットの限界が見えるようで興味深い。

参加方法は こちら

CVSup サーバの設定

某所で聞かれたので書いて *1みる。メールで埋もれさせるよりは公開しといたほうがいいからね。 そのうちどこかわかりやすい場所 *2に移そうかな。

_ 準備

  1. cvsup と cvsupd をインストール。
  2. cvsup, cvsupd というユーザとグループをそれぞれ作成する。

_ FreeBSD 編

Ports Collection の net/cvsup-mirror を使うのが簡単だが、使わずに設定してみる。 いろいろなデータを全部持ってくる設定を書いているので、必要ない分は適宜削る ように。 cvsupd を動かすのなら「cvsupd の設定ファイル」は必須。

 # mkdir /pub/FreeBSD
 # mkdir /pub/FreeBSD/ncvs           # CVS リポジトリ置き場
 # mkdir /pub/FreeBSD/cvs            # 日本の CVS リポジトリ置き場
 # mkdir /pub/FreeBSD/distrib        # cvsupd の設定ファイル
 # mkdir /pub/FreeBSD/jp-distrib     # cvsupd の日本の設定ファイル
 # mkdir /pub/FreeBSD/gnats          # GNATS データベース
 # mkdir /pub/FreeBSD/mail           # FreeBSD.org の ML アーカイブ
 # mkdir /pub/FreeBSD/www            # www.FreeBSD.org の公開データ
 # mkdir /pub/FreeBSD/jp-www         # www.jp.FreeBSD.org の公開データ
 # chown cvsup.cvsup /pub/FreeBSD/*

 # mkdir /local/cvsup
 # mkdir /local/cvsup/distrib
 # mkdir /local/cvsup/distrib/prefixes
 # cd /local/cvsup/distrib/prefixes
 # ln -s /pub/FreeBSD/ncvs       FreeBSD.cvs
 # ln -s /pub/FreeBSD/ncvs       FreeBSD-crypto.cvs
 # ln -s /pub/FreeBSD/cvs        FreeBSD-jp.cvs
 # ln -s /pub/FreeBSD/distrib    distrib.self
 # ln -s /pub/FreeBSD/jp-distrib jp-distrib.self
 # ln -s /pub/FreeBSD            FreeBSD-gnats.current
 # ln -s /pub/FreeBSD/mail       FreeBSD-mail.current
 # ln -s /pub/FreeBSD/www        FreeBSD-www.current
 # ln -s /pub/FreeBSD/jp-www     FreeBSD-jp-www.current
 # cd /local/cvsup/distrib
 # ln -s /pub/FreeBSD/distrib/sup       sup
 # ln -s /pub/FreeBSD/jp-distrib/sup-jp sup-jp
 # cd /local/cvsup
 # mkdir sup
 # chown cvsup.cvsup sup

以下のような内容のファイルを /local/cvs-supfile として作る。

*default host=cvsup.jp.FreeBSD.org
*default base=/local/cvsup
*default prefix=/pub/FreeBSD/ncvs
*default release=cvs
*default delete use-rel-suffix preserve
*default compress

cvs-all
cvs-crypto
distrib       prefix=/pub/FreeBSD/distrib    release=self
gnats         prefix=/pub/FreeBSD            release=current  # GNATS 関係
www           prefix=/pub/FreeBSD/www        release=current  # WWW 公開データ
mail-archive  prefix=/pub/FreeBSD/mail       release=current  # ML アーカイブ

jp-all        prefix=/pub/FreeBSD/cvs
jp-distrib    prefix=/pub/FreeBSD/jp-distrib release=self
jp-www        prefix=/pub/FreeBSD/jp-www     release=current  # 日本の WWW

後は cvsup ユーザ権限で

% cvsup -g -L 2 -r 2 -s -l /tmp/cvsup.lock /local/cvsup/cvs-supfile 

を実行すれば OK。全部のデータを自動的に持ってきてくれる。定期的に最新版を入手 するように cron で設定しておくとよい。

なお、初回実行時は非常に時間がかかるので、 CD-ROM などで CVS リポジトリ (古いものでも OK) を持っているのならあらかじめ /pub/FreeBSD/ncvs 以下に 展開しておくと時間節約できる。

_ cvsupd の立ち上げ

cvsupd ユーザ権限 *3

% cvsupd -b /local/cvsup/distrib -c sup:sup-jp -s /local/cvsup/sup &

とする。

_ NetBSD 編

日本のサーバから rsync でリポジトリを入手 *4してみる。

 # mkdir /pub/NetBSD
 # mkdir /pub/NetBSD/cvsroot
 # chown cvsup.cvsup /pub/NetBSD/cvsroot

あとは cvsup ユーザ権限 で *5

 % rsync -avr --delete rsync://rsync.jp.netbsd.org/anoncvs/main/ \
        /pub/NetBSD/cvsroot/

を cron で定期的に実行するだけ。

_ OpenBSD 編

cvsup.uk.OpenBSD.org から cvsup で入手してみる。 まずは準備。

 # mkdir /pub/OpenBSD
 # mkdir /pub/OpenBSD/cvs
 # chown cvsup.cvsup /pub/OpenBSD/cvs

以下のような内容を /local/cvsup/cvs-supfile-openbsd として用意。

*default host=cvsup.uk.OpenBSD.org
*default base=/local/cvsup
*default prefix=/pub/OpenBSD/cvs
*default release=cvs
*default delete use-rel-suffix preserve
*default compress

OpenBSD-all

後は FreeBSD の時と同様に cvsup を cron で回す。

% cvsup -g -L 2 -r 2 -s -l /tmp/cvsup.lock /local/cvsup/cvs-supfile-openbsd

_ NetBSD と OpenBSD 用の cvsupd の設定

設定ファイルの例を sup-local.tar.gzとして置いておくので入手する。

 # cd /local/cvsup/distrib/prefixes
 # ln -s /pub/NetBSD/cvsroot NetBSD.cvs
 # ln -s /pub/OpenBSD/cvs    OpenBSD.cvs
 # mkdir ../sup-local
 # cd ../sup-local
 # tar xzf /somewhere/sup-local.tar.gz
 # chown -R root.wheel .

後は cvsupd を起動し直すだけ。

% killall cvsupd
% cvsupd -b /local/cvsup/distrib -c sup:sup-jp:sup-local -s /local/cvsup/sup &

_ ちょっと改良

NetBSD のソースツリーを cvsup で更新するにはちょっとした工夫が必要。 cvsupd サーバの設定で

 # cd /local/cvsup/distrib/prefixes
 # ln -s /pub/NetBSD/cvsroot/basesrc        NetBSD-basesrc.cvs
 # ln -s /pub/NetBSD/cvsroot/cryptosrc-intl NetBSD-cryptosrc-intl.cvs
 # ln -s /pub/NetBSD/cvsroot/gnusrc         NetBSD-gnusrc.cvs
 # ln -s /pub/NetBSD/cvsroot/sharesrc       NetBSD-sharesrc.cvs
 # ln -s /pub/NetBSD/cvsroot/syssrc         NetBSD-syssrc.cvs

を行うと netbsd-cmp-* というコレクションが使えるようになる。このサーバに対して

*default host=cvsupd が走っているマシン名
*default base=/somwhere/you/want/to/put
*default prefix=/usr/src
*default release=cvs tag=.
*default delete use-rel-suffix preserve

netbsd-cmp-basesrc
netbsd-cmp-gnusrc
netbsd-cmp-sharesrc
netbsd-cmp-syssrc

という定義ファイルで cvsup を動かすと、 /usr/src 直下に NetBSD の ソースツリーが cvs checkout src したのと同じ状態で作成される。


*1:某誌に書いた原稿用のメモから。あの記事は予定していたページ数の関係で 大幅に書き直してある。
*2:NetBSD や OpenBSD の設定方法を jp.FreeBSD.org に置いてよいものかな?
*3:cvsupd は -l オプションで指定するログファイル以外に書き込む必要がない。
*4:CVSup を使っても良いだろう
*5:cvsup で入手するわけではないが :-)


2000/6/27(Tue)

今日の出来事

_ 三宅島

が噴火しそうとの報道。行政側の対応が非常に速く、もう自衛隊の艦船が沖合で 待機しているし物資の輸送も行われているとのこと。都知事 (災害時に自衛隊に 出動要請するのは知事) の対応が素早いということなんだろうな。

_ PS 版 TH

全員クリアした時に見られる CG が出てこないのでおかしいと思っていたら、 雅史エンドを見ていないことに気付いた。攻略方法が基本的に PC 版と同じなので 順調にクリアしてきたからなぁ (^_^;;。先輩をわざと振って全員終了。 CG も すべて 100% になった。

NetBSD

_ make build

して今日の -current に更新。妙にディスクが遅いなぁと思っていたら、 softdep が mount のオプションで指定するように変更されたのを忘れていた。 /etc/fstab を書き換え。

_ XFree86 4.0

を make World して NetBSD マシンの X を XFree86 4.0 ベースにする。 X サーバが 立ち上がらなくてちょっと悩んだが、 kernel config file の "options WSDISPLAY_COMPAT_*" をコメントアウトしていたのを元に戻して解決。

でも、 X を終了してコンソール画面に戻ったときの表示が変。新しく表示する分は ちゃんとしているのだが、 X 終了前からコンソールにあったはずの文字が全部 豆腐 (?) になる。何が原因なのかな。


2000/6/28(Wed)

NetBSD

_ 環境構築

昨日に引き続いて NetBSD マシンの環境構築。片手間でやってるからなかなか 進まない :-)。メールと Web の読み書きできる環境を作らねば。

_ pkgsrc

平行して、いつも使うプログラムを pkgsrc 化する。インストール手順を pkgsrc (FreeBSD だと ports) 化しておけばシステムを再インストールする羽目になった時に 再構築を半自動化できるので半ば習慣となっている。

そのうち汎用で使える Wnn6 ライブラリの pkgsrc は NetBSD に入れて欲しいと 考えて tech-pkg-ja ML で聞いてみる。 pkgsrc 化の作業手順は FreeBSD ports と ほぼ同じだから楽なんだけど、 NetBSD は複数バージョンの共存 *1の場合の処理がよくわからなかった。

メールの読み書きとエディタくらいは全部 pkgsrc で入れられるようにしたいと思う。 週末の BOF で何かぶちあげて見ようか :-)


*1:Wnn4 (FreeWnn) と Wnn6 ではへッダのファイル名が基本的に同じだが中身は異なる。 両方を共存させてインストールする必要があるのでちょっと面倒。


2000/6/29(Thu)

FreeBSD

_ mule 関係の packages

3.5-RELEASE に mule 関係の packages が入っていない件ですが、 packages 作成時にエラーがあって build に失敗した状態のまま リリースされてしまったのが理由のようです。

ports-currentでは既に修正されているのでこちらを使ってインストールするか、 3.4-RELEASE 用の packages を流用するかしていただければと思います。 3.5-RELEASE 用の packages を別の形で提供できないか、聞いてみます。


以上、18日分です。