Last Modified : | 02/01 17:53 |
Access : | |
tds mode : | [static,site,cache:on] |
新年は吉祥寺にて迎えたのだった。初詣したのも久々かも。
やはり面白いゲームだ〜
ネタバレサイトを見ながらやっても正月中に終わりませんですた。
新年早々 ONU の電源が入らないトラブル発生。別に何をした訳でもないのだが…2回線引いていたので生きている方に両方つないで復旧完了。 このへんは回線とプロバイダが分離していて便利だ。
ただし1回線あたり2セッションのためフレッツスクウェアへの接続が止まっている。せっかく両面接続にしていたのに。
推察通りONUの交換で終了。今週のガンダムは総集編であった。
mkisofs はデフォルトだと指定したディレクトリをCDROMのルートとして扱おうとするので、-graft-points を付けた上でバックアップしたい各ディレクトリを = の両側に記述したものを pathspec として指定する。
mkisofs -v -d -D -N -R -T -V "BACKUP20030102" -o /home/tmp/all.iso \ -graft-points \ -x /home/tmp \ var/qmail/control=/var/qmail/control \ etc=/etc \ home=/home \ usr/local=/usr/local \ var/local=/var/local \ BACKUP=/BACKUP
単純なバックアップ目的だったらTRANS.TBLを作る -T はウザいかも。
7200回転だが60GB以下のモデルはアイドル時電力が5Wと今までの5400回転モデルと同じぐらいでちょっぴり地球に優しい。
mimori.org のVerisignアカウントがどーにも分からない *1 ため困ってたけど、これでまた管理方法が変わるのかな。とりあえず今月は放置だ。しかしNICハンドルとかの扱いってどうなるんじゃろ。
大晦日ライブで聴いてよかった *1 のでAmazonで注文してみた。最近Amazonを見に行くとVPN関係の本を勧められまくるのだが、他にこのCDを買った人が出てきたらやっぱりVPN関係の本を勧められるのであろうか?
リンク元はここじゃったか。mpdと戦ってる丁度その時期に話が進んでたんやね。 ngctl shutdown fxp0: が収穫。あとここ由来のマルチセッション用パッチが公式に採用される模様。 すっかりNetBSDな気分なのでもはやどーでもいいが。
インストーラの1周目は空のHDDのようにパーティション/スライス設定させられるのに、途中で突然FreeBSDの
パーティションを認識して「古いpartitionIDだぞゴラ」というメッセージ。
その状態からパーティションIDを変更しようとしてもいまいちうまくいかない。
スライス
CDROMなしフロッピー起動なため、LiveCDによるシステム起動ともいかずそのまま断念して、シェルから自分でfdisk,disklabelをたたくための調査をしてみる。
なんとなくSolaris育ちなためか、fdiskパーティションを「パーティション」、その先の細切れを「スライス」と呼んでいたが FreeBSD用語では逆 らしい。確かにSolarisだとディスクデバイスは c0t0d0s1 とスライス番号が最後 *1 になっているが、FreeBSDは ad0s1a とスライスはパーティション記号の前だ。
20030106: p3 FreeBSD-SA-02:44.filedesc Correct a reference counting bug in fpathconf(2).
最近出回っている pine 関係由来のパッチらしい。こんなシステムコール初めて見たので他にどういうアプリケーションが使ってるのかは不明。
帯域制限するにはここのサンプルを参考にした /etc/altq.conf を書いて、rc.conf に altqd=YES 1行足すだけらしい。
hfscが LinuxでやったHTB みたいな奴だけど、階層名に数字だけじゃなくてシンボルが使えて管理が楽そげ。何よりNetBSD1.6デフォルトの状態で使えるのがいい。 FreeBSD+ipfilter+dummynetが恐ろしかったことやLinuxであれこれ収集していたのを考えるとすごく楽。FreeBSDでもoption ALTQというのを見た記憶あったけど、あれって3.x時代のkameパッチか…
NetBSD の man には -t オプションがない。 manの印刷の仕方をすこし探したけど見つからずroff系コマンドを直接叩いた。troff -Tps -mdoc /usr/share/man/man5/altq.conf.5 | grops でPSファイルを作成。
デバイスファイルがなかったので cd /dev; ./MAKEDEV altq が必要。
カーネルオプションに以下のものを追加。ほとんどは config コマンドをすると作られる opt_altq.h ファイルの中に書いてあるのをパクった。
# ALTQ options ALTQ options ALTQ_DEBUG options ALTQ_NOPCC options ALTQ_PRIQ options ALTQ_CDNR options ALTQ_HFSC options ALTQ_LOCALQ options ALTQ_RIO options ALTQ_FLOWVALVE options ALTQ_BLUE options ALTQ_RED options ALTQ_FIFOQ options ALTQ_WFQ options ALTQ_CBQ options ALTQ_IPSEC
ALTQ_IPSECはドキュメントを読む限りは関係なさそうな気もする。まだ成功してない。
マシンが1台あれば、停電しないところのBfletsにぶらさげて、停電するところのIDで接続してやれば同じIPでサービス続行のはず。 運用中のBSDマシンでグローバルアドレス2セッションに挑戦の方が面白いけど、他の会社のマシンでやるのはちょっと…
ここまで別の製品にしてくるとは思わなんだ。買いだー
本日19時にとあるクライアント証明書が失効。
以下のようなMakefileを利用。make clientcsrを実行するとCSRが出来るのでそれをCAに送って、出来上がったCERを make pkcs12 に食わせるとブラウザがインポート可能な形式になる。
CLIENT=www.mimori.org-client-2003 clientcsr:: openssl req -new -nodes -newkey rsa:1024 -sha1 -keyform PEM -keyout ${CLIENT}.key -outform PEM -out ${CLIENT}.csr chmod 600 ${CLIENT}.key pkcs12:: openssl pkcs12 -export -noiter -nomaciter -inkey ${CLIENT}.key -in ${CLIENT}.cer -out ${CLIENT}.p12 -name ${CLIENT}
…はずなのだが実は次のような問題により結局使わなかった。OpenSSLなCAの場合は役に立つはず。未確認。
テンプレートをWebサービスにするとIEのクライアント認証として使えないし、 ユーザや管理者として送信すると元のCSRの中身を無視してIEのログインユーザに書き換えられてしまう。 どーにもこーにも。
拡張属性を指定したテンプレートを作成して CertReq.exe にCSRを食わせればよさげなのだが、昨年はこんなに苦労してないはずだよなあと調べたら、 証明書発行専用のユーザがActiveDirectory内に作ってあった。がっくし。 *1
Netscapeより *2 http://証明書サーバ/certsrv/ にアクセスして、Basic認証のID/パスワードとして証明書発行専用のユーザを指定する。あとは普通のユーザとして証明書を発行した。
しかしPKCS#7形式から更新することが可能なようなフォームがあるのに、IEがエクスポートしたPKCS#7ファイルはバイナリのため古いキーの更新が出来ないってどうよ。 IISの事しか考えてないのかと思ってIISで更新作業をしようとしたら普通にCSRが出てきただけだった。
いつの間にこんなものが。しかも無料。
本実験にご参加いただくことにより、地域IP網内(閉域)においてIPv6アドレスを利用した通信が可能となります。
グローバルIPv6ではないのだが、今度こそ無料VPNトンネルを IPv4overIPv6といういつもと逆のスタックで形成できる予感。ただ対応OSがWindowsXP SP1限定で専用の接続ツールなところに一抹の不安が。
44KBしかないツールでダウンロード失敗したかと一瞬思った。 ipv6 install; ipv6 -p gpu UseAnonymousAddress no を実行するだけ。しかも説明書によるとその後の接続は フツーにインターネットまたは「フレッツスクウェア」に接続するだけなので勝手にデュアルスタックで接続するらしい。ちなみにIPv4なフレッツスクウェアのDNSサーバに向かって flets.net のアドレスを聞くと2001:c90:0:1::1:1 と返してくる。 なんかBSDからでも接続できそうだぞ。
NetBSDもpppdならサポートしてるんだが、pppoeはどうなっとるんだろ。 NetBSD Problem Report #19303 のログを見ると ifconfig pppoe0 debug とやるとデバッグメッセージに現れるようだ。
うちでやった結果、一応IPV6CPを送っているようだが接続しない…
Jan 8 00:04:29 asahifw /netbsd: pppoe1: pap success Jan 8 00:04:29 asahifw /netbsd: pppoe1: phase network Jan 8 00:04:29 asahifw /netbsd: pppoe1: ipcp open(initial) Jan 8 00:04:29 asahifw /netbsd: pppoe1: ipv6cp open(closed) Jan 8 00:04:29 asahifw /netbsd: pppoe1: ipv6cp output <conf-req id=0x11 len=14 xx-xx-xx-xx-xx-xx> Jan 8 00:04:29 asahifw /netbsd: pppoe1: ipcp up(starting) Jan 8 00:04:29 asahifw /netbsd: pppoe1: ipcp output <conf-req id=0xa len=10 xx-xx-xx-xx-xx-xx> Jan 8 00:04:29 asahifw /netbsd: pppoe1: ipcp input(req-sent): <conf-req id=0x1 len=10 xx-xx-xx-... Jan 8 00:04:29 asahifw /netbsd: pppoe1: ipcp parse opts: address Jan 8 00:04:29 asahifw /netbsd: pppoe1: ipcp parse opt values: address 0.0.0.1 [ack] send conf-ack Jan 8 00:04:29 asahifw /netbsd: pppoe1: ipcp output <conf-ack id=0x1 len=10 xx-xx-xx-xx-xx-xx> Jan 8 00:04:29 asahifw /netbsd: pppoe1: lcp input(opened): <proto-rej id=0x1 len=20 xx-xx-xx-... Jan 8 00:04:29 asahifw /netbsd: pppoe1: lcp: RXJ+ (proto-rej) for proto 0x8057 (ipv6cp/req-sent) Jan 8 00:04:29 asahifw /netbsd: pppoe1: ipv6cp close(req-sent) Jan 8 00:04:29 asahifw /netbsd: pppoe1: ipv6cp output <term-req id=0x12 len=4> Jan 8 00:04:29 asahifw /netbsd: pppoe1: ipcp input(ack-sent): <conf-nak id=0xa len=10 xx-xx-xx-... Jan 8 00:04:29 asahifw /netbsd: pppoe1: ipcp nak opts: address [wantaddr 172.26.181.xx] [agree] Jan 8 00:04:29 asahifw /netbsd: pppoe1: ipcp output <conf-req id=0xb len=10 xx-xx-xx-xx-xx-xx> Jan 8 00:04:29 asahifw /netbsd: pppoe1: ipcp input(ack-sent): <conf-ack id=0xb len=10 xx-xx-xx-... Jan 8 00:04:29 asahifw /netbsd: pppoe1: ipcp tlu Jan 8 00:04:29 asahifw /netbsd: pppoe1: ipv6cp TO(closing) rst_counter = 2 Jan 8 00:04:29 asahifw /netbsd: pppoe1: ipv6cp output <term-req id=0x13 len=4> Jan 8 00:04:30 asahifw /netbsd: pppoe1: ipv6cp TO(closing) rst_counter = 1 Jan 8 00:04:30 asahifw /netbsd: pppoe1: ipv6cp output <term-req id=0x14 len=4>
XPでの接続の様子をキャプチャせんと分からんな。
VPNみたいな機能をそもそも用意してたんだな。都道府県を越える必要がないならものすごくお得。どっかで使ってみたいな。 フレッツ・グループアクセス ライトでIPを指定できないのは別にかまわんが、範囲ぐらい教えてくれてもいいような…
グループアクセス プロの注意書きに「10.128.0.0 〜 10.145.255.255 は利用できません」とあるので、この領域をライトに割り当ててある可能性大。
WindowsXPの設定がほとんど何もないつーことは router advertisement で飛んでくる *1 んじゃないかと風呂に入っていて思い浮かんだので、rtsold(8) の引数にBフレッツのつながってるインターフェースを追加した。 2001:c90:2881:0: なアドレスが付いた。 2001:c90::/32 ぐらいでルーティングしてやればよさげ。IPv4なpppセッションはそのまんま作業してすぐにアドレスが付いたので、pppは全く関係なかったようだ。 XPでの接続実験はしていない。こういうのはゼルダの謎解きみたいなもんだよなー
zebra.confへのルーティング追加。ipv6 route 2001:c90::/32 fxp1 …ではうまくいかない。point-to-pointじゃないんだから当たり前か。 ipv6 route 2001:c90::/32 fe80::20a:xxxx:xxxx:xxxx%fxp1 でもうまくいかない。 結局普通のrouteコマンドで追加した。
route add -inet6 -net 2001:c90:: -prefixlen 32 fe80::20a:xxxx:xxxx:xxxx%fxp1
rtsol -d
このコマンドを実行するには sysctl -w net.inet6.ip6.forwarding=0 をやっておく必要がある。IPv6ルータになっているマシンだとちと不都合。
2001:c90:2881:1: なアドレスが付いた。
申し込みをするとBflets回線に対して/64なネットワークアドレスが割り振られるようだ。しかもHUBを介して複数台直接ぶらさげてよい。(ホストIDの発行は5台まで) フレッツ網側がIPv6ルータ機能を持ってくれている訳で、自力でトンネル掘って云々に比べるとかなり簡単でいいすな。これなら普通のユーザでも使えるかも。
あ、PPPoEじゃないからMTUは1500のまんまだ。IPsecする時もちょっとお得。
GBAが横型になった話の中で、LRボタンの位置について
「モニター下とか(笑)」「それいいじゃない!」
ここにGBASPのスタートが見えたような。確かにモニター下にLRボタンがあるとプレイ中もコンパクトになっていい感じ。
やっとFireWire 800 になったか。Windows陣営はUSB2.0にいっちゃったからこいつの普及はちと厳しそうだなあ。下位モデルには付いてないし。
ただのWebDAVらしい。.MacはiDiskだけだと値段に見合わないが、IMAP4なメールサーバとかウィルススキャンも含めると悪くない値段設定かも。 ちょっと余裕できたらフリートライアルしてみやう。OSXのライセンス数x60日はフリーで過ごせるんかな(笑)
200MB以上とか容量が必要だったら インターネットディスク だろう。
リンクローカルからのアクセスを許可する設定。インターフェースを指定しても無視してしまう雰囲気。
ALL : [fe80::/10] : allow
FreeBSDでは以下のように書いていたので prefixlen を角カッコの中にするというのが分かるまで時間がかかってしまった。
ALL : [fe80::%fxp0]/10 : allow ALL : [fe80::%fxp1]/10 : deny ALL : [fe80::%fxp2]/10 : allow ALL : [fe80::]/10 : deny
通勤途中の読み物に最適!
1月9日現在 累計999日目と表示されている。
正月休み電池切れのままほおっておいた後、電源を入れた直後に少しメールを受けたらそれからメールが届かなくなってしまった。 電源入れるのと前後して大量の監視エラーメール(200通ぐらい?)がskywalker宛てに送られてしまったのが一因だと思われるが…
サポートにメールを出して復旧。
外向けv6ルータになってるFreeBSDマシンにも接続。rtsolが文句言うので手でアドレスを付けた。2回線分確保したので相互にping6が通るのを確認。
要するに正引きDNSにIPv6アドレスを登録する機能で、 グローバルな世界からも検索可能。DNSがIPv6経由で引けない影響と思われる。「インターネットまたはフレッツスクウェアに接続して使え」ってそういうことなんだな。
あとホストID機能に登録するとWebDAVな雰囲気のディスクスペースをもらえるのだが、 1GBまで無料とは太っ腹! *1 しかしWindowsXPからのWebDAVへのアクセス(Webフォルダー)はプロキシを無視してつなごうとする。IPv6アドレスの時に無視するような仕様なのかもしれん。 apacheプロキシのProxyPassかなんかで中継してやらんとダメかな。
mpd化してないのが1台残っていたのでやってみた。起動中のpppプロセスに対して行うには rtprio 5 -`head -1 /var/run/tun0.pid` 。 nice(1) とどういう関係にあるんだろとtopを起動して調べたら、NICE値が -47 になっていた。 nice(1)では-20 *1 までしか指定できないのでそれより優先順位を上げたい時に rtprio ということか。
ネットワーク設定にデフォルトルートを書くところがないので直接接続しているマシンからしかつなげないのかと悩む。 DHCPにしたら外に出れるようになった。
制御用ポートを指定することになるが *1 、ストリーム通信用のポートは動的に割り当てられる *2 ためNATする場合はftpみたいにプロトコル内部を解析しないとだめそげ。 NATよりはスループット10Mbps以上のVPNを構成だ〜こんなもん通信路は暗号化せんでもいいけど。
累計1000日目に突入。日数は4桁以上であることが確認できた。表示場所的にはもう1桁いけそうだけど…
ifconfig fxp1 link0した。
fxp1: Microcode loaded, int_delay: 1000 usec bundle_max: 6
と出てくる。sysctl -a で調べると hw.fxp0.int_delay, hw.fxp0.bundle_max といったカーネル変数にこれらの値が入っているのが確認できた。
FreeBSD-3.5.1Rの時点では実装されていない。
man fxp より引用。こっちのが詳しい。細かいパケットがばかすか飛んでくるような環境で割り込み回数を減らす効果があるということかな。
Certain versions of the i8255x support loading microcode which implements a receive interrupt mitigation function, known as ``CPUSaver''. Use of this option can improve performance in some situations by reducing inter- rupt load on the host. This option is available on the following chip versions: o i82558 step A4 (rev 4) o i82558 step B0 (rev 5) o i82559 step A0 (rev 8) o i82559S step A (rev 9) o i82550 (rev 12) o i82550 step C (rev 13) This option is enabled by setting the ``link0'' option with ifconfig(8).
NetBSDの方に先に実装された雰囲気濃厚。
12月24日の状態そのままで通信できるようになってた。great!
MR104DVから複数地点へのトンネル作成はできない模様だが、3万円なんだからそこまで要求するのは酷だ。スループットの計測はこれから。 置いてあるのが自分とこじゃないので最初の試験としては不便だ…
IC35L040AVVNの仕様を調べるのにAKIBAWatchからIBMに飛んだら「Hitachiに統合されたぜよ」というツレナイページに。
FAQにパーティションidを165から169にしろ、とは書いてあるがインストールの時点での作業については書いていない。
Warning:'DOS' is reserved. DOS パーティションテーブルを消すには、ディスクの先頭セクターを消去します dd if=/dev/zero of=/dev/wd0d bs=512 count=1
を実行してまっさらなところからはじめないとどうにもならなかった。インストーラからshに落ちるとddコマンドが使える。
香港のホテルに備え付けの高速インターネット接続。途中のNATに仕掛けがあって認証しないと外に出れないシステム。240kbps だった。 HUBで接続したマシンも別途認証が必要だったが、sshでhttp/pop3/smtpトンネルを作って1台で済ませた。
当初は昔のようにiPassで接続しようと思ってたんだけど、 iPass 接続用ソフトウェア を日本でダウンロードし忘れていてどうしたもんかと飛行機の中で悩んでいたのだった。
いつもの銅羅湾店に行ってみると店がなくなっていた! 尖沙咀店に行ってみると日本人が3グループぐらいいて狭い店内が混みあっている。 それほど高くない鉄観音とプーアルを調達した。
ドキュメントやmanによると自動再接続することになっているのだが、突然接続が落ちてそのまんまになることがある。 以下のようなスクリプトを5分ごとに起動するようにしてみた。
#!/bin/sh PATH=/sbin:/usr/bin:/bin:/usr/sbin iface=pppoe0 ifconfig $iface | fgrep -q 'inet 0.0.0.0' case $? in 0) ifconfig $iface down ifconfig $iface up ;; esac
いわゆるブラックリストでメールを遮断する仕組みらしいのだがやたら範囲が広いつーかダイアルアップ回線は全部ダメ〜みたいな。エラーメールに含まれるのは以下の通り。
rcpt to: <xxxxxx@xxxxxxxx.co.jp> 553 Dynamic IP range listed by Wirehub! Internet DynaBlock - http://dynablock.wirehub.net/errors.html
日本のサイトに関してはかなり大雑把に登録しているようで指定されると届かないサイト多数かと…
but a typo in the zonefile got it blocked anyway. Solved now.
NSレコードの片割れがdjbdnsキャッシュ移行の時に返事しなくなってた。 修正しつつ、そもそも削除すべきネームサーバーアドレスだったのでJPNICに申請…しようと思ったけどもはやJPNICそんなのしてないね。回線業者に頼むしかないんか。
SpamCopが有料になっとる。ぬぬー
VLIWに最適化された暗号化ルーチン搭載できたら結構いいかも。これでNetBSDベースのOpenBlocksみたいな奴作ってくれないかしらん。
dd if=/dev/zero of=/dev/wd0d bs=512 count=1 してからのインストールでインストール作業自体は完了したのにブートしない問題でずーっと悩む。 自力で fdiskやら cd /usr/mdec; ./installboot -f biosboot.sym /dev/rwd0a やらを使ってブートコードの書き込みをしても直らず。
BIOS起動画面をよく見るとPrimaryHDDが CHSモード、SecondaryHDDが LBAモードで認識されている。どっちも設定はautoなのだが BIOS設定画面からLBA固定に指定したら動いた。 ある意味BIOS画面をロゴ表示にしていたのが敗因。
BSDに触れられていないのは残念だが情報は豊富で便利。
BSDのパーティションも切れる…と書いてあるがよー分からん。LinuxはDOSパーティションと不可分なだけにLinuxのパーティションツールが一番進化している模様。
あいかわらずfdiskは分からなかったので、最初のディスクのMBRをそのままコピー。dd if=/dev/wd0d of=/dev/wd1d bs=512 count=1
さらに最初のディスクのディスクラベルを取り出して sudo disklabel wd0 > wd1.label 、cパーティションと同じ数値の aパーティションを作って *1 c,dのみ残して書き込み。
a: 80418177 63 RAID 0 0 # (Cyl. 0*- 79779) c: 80418177 63 unused 0 0 # (Cyl. 0*- 79779) d: 80418240 0 unused 0 0 # (Cyl. 0 - 79779)
raidctl -C raid0.conf raid0; raidctl -I YYYYMMDD raid0; raidctl -iv raid0 はドキュメント通り。最後の初期化のところでは raid0: Error re-writing parity! という エラーメッセージが出てくるが気にしない。
raid0 に対して以下のように書き込みたかったが、どういうわけか disklabel -R による復旧モードではうまくいかず disklabel -i raid0 で対話的に作成した。
a: 523264 1024 4.2BSD 1024 8192 86 b: 524288 524288 swap 0 0 0 c: 80417985 63 unused 0 0 0 d: 80418048 0 unused 0 0 0 e: 6291456 1048576 4.2BSD 2048 16384 86 f: 4194304 7340032 4.2BSD 2048 16384 86 h: 68883712 11534336 4.2BSD 2048 16384 86
newfs -b 16384 -f 2048 /dev/raid0e; newfs -b 16384 -f 2048 /dev/raid0f; newfs -b 16384 -f 2048 /dev/raid0h
移行用のコピーをするためにマウントする時には mount -o softdep を忘れずに。
fstabを編集するところは、 raid側のfstab、すなわち /mnt/etc/fstab を編集しないといけない。/etc/fstab を編集してしまってどはまり。 *2 raidctl -A no raid0 を実行して再起動するとraidは無効になっているので、raidctl -c raid0.conf raid0 でRAIDframeを起動する。
wd0 をraidの片割れにするには元々 wd1 用に利用した disklabelのテンプレートがあるのでそれを利用する。disklabel -R -r wd0 ./wd1.label; raidctl -a /dev/wd0a raid0。 この時点で raidctl -s raid0 を実行すると以下のような表示でスペアとして wd0a が登録され、 wd9a が component1 という名前になっているのが分かる。 *3
Components: /dev/wd1a: optimal component1: failed Spares: /dev/wd0a: spare Component label for /dev/wd1a: Row: 0, Column: 0, Num Rows: 1, Num Columns: 2 Version: 2, Serial Number: 20030115, Mod Counter: 171 Clean: No, Status: 0 sectPerSU: 128, SUsPerPU: 1, SUsPerRU: 1 Queue size: 100, blocksize: 512, numBlocks: 80418048 RAID Level: 1 Autoconfig: Yes Root partition: Yes Last configured as: raid0 component1 status is: failed. Skipping label. /dev/wd0a status is: spare. Skipping label. Parity status: DIRTY Reconstruction is 100% complete. Parity Re-write is 100% complete. Copyback is 100% complete.
とここまでやって再起動したら カーネルが読み込めずブートしない。RAIDパーティションを設定するときにオフセットを1008にするというところにヒミツがあるんかー?
Re: Installing onto raid1 を改めて読むと disklabel -I を確実にやれというようなことが書いてあるのでインストールCDROMで起動してやってみたけど復旧せず。最初からやりなおしか?
MBRに書き込まれているfdiskパーティションを disklabel の形式で出力するツール。 NetBSDにおけるfdiskパーティションは BIOSからのブートの時にのみ利用していて、disklabelとは独立している。関連はかなり薄い。disklabel -i -I wd0d とかやってdisklabelを作成した後、 ルートパーティションの位置を fdisk パーティションに書けばブートしてくれる。fdiskで書き込まれているパーティションサイズはほとんど関係がない。 LBAモードで起動する限りはシリンダの境界にこだわる必要もあんまりないかも。(DOSと共存するときはいろいろ考えないといけないけど)ということらしい。
fdiskの設定でRAIDの設定の書いてあるセクター分を足してあげないといけないのかなーと調べてみたら /usr/src/sys/arch/i386/stand/lib/biosdisk.c にこんなのが書いてある。
if (lp->d_partitions[partition].p_fstype == FS_RAID) d->boff += RF_PROTECTED_SECTORS;
少なくともRAIDの先頭に a パーティションを作っておけば、BIOS的にはRAIDパーティションを指定してブートしてくれる模様。
フレッツグループアクセスが都道府県越えられたら確かに商売上がったりだよなあ。 距離に応じた課金のシステムがないというのはそれはそれで悩ましい。
/usr/mdec/installboot -b 16 /usr/mdec/biosboot.sym /dev/rwd1d
の意味するところは、第16セクターにブートプログラムを配置して fdiskも書き換えてしまう。fdiskパーティションサイズはかなり変だが、他のOSとの共存を考えないのであればブートするようにはなるはず。
disklabelも書き換えてしまうらしい。特にcパーティションの開始セクターが重要。wd0c等の場合のデフォルトの開始セクターは63だが、 RAIDframe化した場合のwd0cの開始セクターは0でないとダメ。disklabel -r wd0d で何度も確認する。 *1
再起動すると必ずParityがDIRTYになる原因はミラー化されたボリュームにswapパーティションのせいではないかと推察。
ミラー化されたボリュームにswapパーティションがあるのも無駄なのと、swapパーティションをミラーの外にしておけば ドライブ毎の容量の微妙な差異を吸収できるはず *1 なので、wd0的には RAID+swap の2パーティションで構成することにする。 またディスクの先頭の方が読み書きが速いため、raid0の中は / → /var → /home → /usr の順でパーティションを切った方がちょっとだけいいような気がする。
この構成でParityがDIRTYになる問題は解決した。
起動時に savecore が raid0b がdumpデバイスに指定されてるけどそんなんないぞ、と文句を言う。
swapctl -D /dev/wd0b とやると一時的に設定されるようだが保存してくれない。savecore 実行する前にやらないとダメかな。
primaryHDDにつながっているコネクタをsecondaryHDDに刺して、secondaryなし状態で起動すると無事そのまま立ち上がった。 *2
そのままprimaryHDDにコネクタを戻してsecondaryなし状態で起動しても立ち上がった。
更にsecondryを元に戻すと何事もなかったかのように起動したが、同期が取れてなくてまずいはずなので、 raidctl -R /dev/wd1a raid0 コマンドを実行。これだけで wd1a 側をマスターとして再構築を開始してくれた。 ちなみに40GB弱で16分前後で再構築が完了する。ずいぶん速いなあ。
FreeBSDではできなかったルートパーティション含めてのミラーリングがこれで完了。どっちのディスクが故障してもすぐに復旧できるぞ。素晴らしい。
細田守 演出、香港に行っている間の放映であったか。
手を温めるシーンなんか涙腺直撃ですよ。ぐわー。 みんなで音楽演奏するというストーリーは若干ずるいという印象を持ちながら見てたけど、それを補って余りあるええ話でした。
価格comで5万円弱。HDTVをiLink経由でデジタル録画するためだけのマシン。アナログVHSには期待できないらしい。SVHSじゃないし。
NBAオールスターの放映までにはなんかHDTV録画できるメディアを調達する予定。とりあえずハードディスクを40GBばかし埋めてもいいんだけどね…
間もなく後継機種が出る模様。2月上旬に間に合うかどうかは微妙。1週間ぐらい待ってみるか。
うーん危険だ。少し頑張ればRecPotからもホエホエできそーな気がする。
ログイン後IP逆引きに失敗するまで待っていた。
IPv6逆引きの設定で ipv6.int → ip6.arpa の移行をしていなかったのが原因だったので named.conf にエントリを追加して完了。 IPv6逆引きのゾーンファイル作成は面倒なことこの上ないので支援ツールが欲しい。
MACアドレスで自動生成される奴は登録しないでサービス用IPだけ書くのがいいような気もするが。それだったら連番にすればいいのか。 ns0.v6.ntt.net は 2001:218::53 とかになっている。
RELEASE_5_0_0 タグが打たれていた。
NICを追加すると、追加したNICがfxp0で、従来のfxp0,fxp1→fxp1,fxp2 とインターフェース名が変わってしまう。これぐらいは以前からあった現象なのでともかく、 どういうわけか内蔵の2つ目fxp2がたまに認識に失敗する。エラーメッセージは NetBSD unable to map device registers
PnP周りくさいのでman pcibios に書いてある通りにカーネルオプションを追加してみた。 BIOS設定画面でPnP OSがYESになっているとそうなるらしいが、このマシンでは選択肢がない。
日本のサーバからはどーにもひっぱってこれそうにないので、ドイツから取得開始。ローカルにCVSupサーバ上げないといかんなこりゃ。 別にcurrentを追いかける気はないんだけど、セキュリティパッチ出た時にすぐに持ってきて複数マシンに展開する体制が現在の悩みどころ。
FTPサイトにある /pub/NetBSD/NetBSD-release-1-6 の下をもってきてそれでインストールすればセキュリティパッチの当たった状態になる。 インストール用tarballならこれを使うのがよさげ。
wget -m ftp://ring.asahi-net.or.jp/pub/NetBSD/NetBSD-release-1-6/ してみたがFTPでファイルをばらばらに持ってくるのはちょっと無駄を感じる。 …って ftp://ring.asahi-net.or.jp/pub/NetBSD/NetBSD-release-1-6/tar_files/src が塊りなんやん。しまったー。 あとは pkgsrc だけだな。
現在 ring.asahi-net.or.jp に置いてある pkgsrc.tar.gz がこいつ適用前のものらしく以下のようなエラー出しまくり。
make: Unclosed variable specification for PKG_TOOLS_BIN make: Unknown modifier ''
cvsupもなかなかうまくいかんし、12月のもので作業してしまおう。
NetBSDだとここのが最速。 cvs -d :pserver:anoncvs@cvs.plathome.co.jp:/cvs/netbsd checkout -P pkgsrc でやっと取れた。 *1
pkgsrcのリポジトリを引っこ抜くのだと rsync -vrzt --delete rsync://rsync.plathome.co.jp/pub/NetBSD-cvs/main/pkgsrc/ /var/ncvs/cvsroot/pkgsrc/ かな? pkgsrc.tar.gz がまともならそれでいいんじゃが…
pkg_chk -u で、FreeBSDの portupgrade -a と同じような感じ。動作が速いのは単にpkgsrcに収録されているソフトが少ないせいだろうな…
IDEミラーリングユニット。Macだとブートしたりするのかなー。 ここからダウンロードした User's ManualにはMacOS9でも動作すると書いてあるが、内蔵型と共用のためちと不安。
ただの外付け型 はIDEケーブルを外に出すという強引技。ちなみにHDDデュプリケータとしても動作するらしい。
Q:HTML 4.01 において 慣習的に使われている alt 属性による「画像を説明する為のポップアップ」が なぜ Nestcape 7で表示されず、title 属性でテキストを指定するとポップアップで表示されるようになったかを詳細に述べよ。
確かに Phoenix0.5 だと表示されないぞ。
Netscape7以上だったらHTML中にあるすべてのIMGタグのalt属性の文字列をtitle属性に設定する奴でも作ろうかと一瞬JavaScriptのドキュメントを読み始めたが、 うぇぶでざいなー方面にこんなの出回ったらHTML文法オタに刺されそうなので止めた。 *1
ADSLもない田舎に就職するので壊れにくいノーパソでも就職祝いにしようかという話が親からあり価格調査。ThinkPadしか眼中にないけど。
kakaku.comにて A30p 2653-65J の値段が強烈。今買うんだったらこれしかないすな。某所の「ThinkPad R31-1HJお買い上げの先着20名様に、ThinkPad 701Cのプラモデルを進呈中」も捨てがたいが… どーせメール・うぇぶ・Word・Excelマシンと思われるので R31 で十分なんだろうけど液晶がへぼいノートは嫌だしなあ。
FireWire起動に対応してないという話をどっかで読んだはずなんだけどどこだったかなあ…ググっても見つからず。
一応 加賀電子の製品情報 でFireWire HDDのMacOS起動条件 対応機種を見ると以下のようなリストは得られる。
PowerMac G4(AGPバス搭載モデル),PowerMac G4 Cube, PowerBook G4,PowerBook G3(2000年モデル), iBook(Dual USBモデル以降),iMac DV以降,eMac
Xserveが抜けてるけどサーバーには使って欲しくないのであろう。
個人的ポイントはこんなところ
IPv6/transport IPsec(認証は証明書)/NFS とssh/rsyncのスループット比較とかしてみたい。
ssh_config の Ciphers のところ、最近のOpenSSHは aes128-cbc が最優先になっている。ssh -v すると確かに aes128-cbc hmac-md5 でネゴしてた。知らんうちにAES使いまくってたのかー。 Rijndaelの読み方は「ラインダール」
この記事結構よい。
週末の停電に備えて新しくFreeBSDマシンを立て、/homeの転送を実行…していると突然調子がおかしくなった。ハードディスクからの読み出しに失敗しているような感じで、 vinum ls とやるとこんなだったはず。
var_g.p0.s0 State: up var_g.p1.s0 State: faulty home_h.p0.s0 State: crash home_h.p1.s0 State: faulty
「crash と言ってるんだから home_h.p0.s0 の領域が悪者なんだろう *1 、とりあえずデータの吸い上げしないとな〜」と思って vinum start home_h.p1.s0 *2 したところ、 crashしたディスクを元に修復作業を開始しやがった。なんじゃそらーー。
かくして /home は永遠に失われたのだった。教訓: ミラーの復旧作業において 最初にやるべき作業はクラッシュしたHDDの隔離である。 とにかく抜け。vinumはマニュアル翻訳した経緯もあって愛着があったのだがなんかユーザ数少ないみたいだし、RAIDframe(かハードウェアRAID)への移行もなんとなく決意。
しかし絶大なる信頼をしていたBarracuda ATA IVもついに1台逝ったことになる。
/homeをrsyncで転送した先で ls -l とかやると大体正しいファイルが出来ていそうなのに中身が全部 \0 だったのはショックだったよ…
SSI関連でエラー出てるのを追うぐらいならtDiaryに移行するざんす。26日の停電復旧にあわせて新システムに移行じゃー。 ああでも diary/ ディレクトリ復旧の後 make all でスタティックHTMLが全部出来たのにちょっと喜び。
日記のcvsリポジトリは実は失われてしまったのだが、最新版があれば特に問題なかろう。やはり 自分の努力の成果は最低3箇所ぐらいに置けが鉄則。あわてふためいた時に残っている「唯一のバックアップ」というものは壊してしまうものだ。
今回クラッシュしたのは最近戦ってるNetBSDと同じ1Uベアボーンなのだが、実はNetBSD側でも以下のようなエラーが頻発している。
pciide0:0:0: lost interrupt type: ata tc_bcount: 2048 tc_skip: 0 pciide0:0:0: bus-master DMA error: missing interrupt, status=0x60 pciide0:0:0: device timeout, c_bcount=2048, c_skip0 wd0a: device timeout writing fsbn 57484196 of 57484196-57484199 (wd0 bn 57485204; cn 57028 tn 15 sn 35), retrying wd0: soft error (corrected)
1Uという狭いところに押し込めた1本のケーブルに2台の高速HDDをぶらさげるのが危険なのかもしれんなあ…転送レートをATA33に落とすオプションとかないんかしら。
というかATA66以上はIDEケーブルのスレーブ端子使わない方がいい気がする。死んだのがマスター側なのが腑に落ちないが。
WSH + VBScript は確かに文法のベースがVBではあるけれど。ActiveRubyScriptだったらすごく綺麗に書けると思うぞよ。
良くも悪くもTV向きの演劇だったのかもしれない。パルコ劇場に座ったのは初めてで、小さくて舞台の近い劇場だなーと開演前には思っていた、にもかかわらずライブ感の無さに驚いた。
劇団新感線の話にちょっとツマラナイと思うことがあったとしても、 お金を払って足を運ぶなら断然劇団新感線だ。やはりそのへんのこだわりはすごいんだなと改めて感じた。
utmp/utmpxまわりの処理に失敗してコンパイルできん。
sudo mv /usr/include/utmpx.h /usr/include/utmpx.h.orig で一時的に utmpx を使えなくしたらうまくいった。
#!/bin/sh sudo mv /usr/include/utmpx.h /usr/include/utmpx.h.orig env CFLAGS="-O2 -pipe" ./configure --prefix=/local --localstatedir=/var sudo mv /usr/include/utmpx.h.orig /usr/include/utmpx.h make
エラーだしまくるベアボーンに搭載されているHDDの転送レートをATA33(DMA2)に設定。 ついでに Quiet Seek Mode にしてみた。いろんなところが微妙にHitachiと書いてあって気持ち悪い。そのうち慣れるんだろうけど。
rsyncで大量にデータ転送してみたけど、エラーは出なくなった模様。
ATA33 40GBだと17分ぐらいだったのが40分ぐらいの見積もりに増加。
/usr/src と /usr/pkgsrc を同時進行でrsyncしたらやっぱりエラー出た。うむう…
/usr/pkgsrc/sysutils/cdrecord からインストールすると入っている。mkisofsで作成したトラックイメージのマウントについてはFreeBSDと同じで vnconfig を利用する。
man 4 gif するとちゃんと書いてあったのだが、 gif0自体にトンネルの始点アドレスを振っておくのが重要。そうしておかないと受信パケットを捨ててしまうらしい。(送信はしていた)
gifトンネルがIPv6デフォルトルートの場合の /etc/ifconfig.gif0
create inet トンネルの始点アドレス netmask 0xffffffff tunnel トンネルの始点アドレス トンネルの終点アドレス up !route add -inet6 :: default -ifp $int
MR104FHに関してはかなーり叩かれまくってたけど、やっとアップデートすると 発表しましたな。MR104DVも対象だけど、あんまり期待しないで待つことにする。
で会社のサーバが全部止まってる間に韓国でワームの嵐。
セキュリティーパッチはまめに当ててるつもりだけどSQL2000SP3を全マシンに展開する前だったのでちと怖かった。
去年このサービスがあれば紙に書き込むなんつー無駄な作業せんでよかったのにー。 今年は年末調整で戻ってきてるので確定申告しない予定。
ここで入力されたデータに番号振っといてあとで参照可能とかにしてるのかなあ。
A1-2 国税庁のサーバーに記録されません。入力された内容は、一時的にサーバー上に記録されますが、ご利用後に自動的に削除される仕組みとなっています。 したがって、一度操作を終了された場合には、改めて、始めから入力していただくことになります。
まー情報漏えいしたら激しくやばいのは確かだが…
ZDNetのApple Remote Desktop記事 を読みつつクライアントソフトもMacだけかーとググって調べてたらここに。さっきIPsecで見たとこやん。
Share My Desktop がすごいよさそうなのに、MacOSX 10.2限定でさびしい気持ちになった。もう10.2買うしかないんかなー。 iMac用の10.2なら別にいいけど、XServeの10.2Serverを買うのはあまりにくやしい。…が、Apple Remote Desktopに3万円払うよりはましか。
Bombich Softwareのソフト一覧 っていちいち濃いソフトばっか。もうちょっとOSXをまじめに使ってたら全部世話になるかも。
IIS関連の管理はこいつでやるのがいいんか。ファイル名悪すぎ。 内部的にはADSI経由で IIS Admin Objects をいじくっているということらしい。
AdminSamplesディレクトリはインストール直後に抹殺してたので発見に手間取る…
cscript adsutil.vbs ENUM /P W3SVC とやると定義されているWebサイトの列挙(Webサイトは数字で管理されている。)
cscript adsutil.vbs ENUM /P W3SVC/1/Root とやるとWebサイト内に存在するアプリケーションの列挙
cscript adsutil.vbs APPUNLOAD W3SVC/1/Root/hogeapp とやるとアウトプロセスアプリケーションのアンロード
マシンを通常運用環境に移行。細かい設定はいろいろ残ってるが…
ほぼ身内用チャットにどういうわけかネットカフェ内のリンク集からリンクが張られていてウザイのを拒否するルール。 チャットのディレクトリにある .htaccess に以下のような奴を記述。
RewriteEngine on RewriteCond %{HTTP_REFERER} ^http://www\.tako/.*$ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://www\.ika/.*$ [NC] RewriteRule .*$ - [F]
とりあえず1つでよかったんだけど複数になるかもしれないのでORの使い方の勉強がてら2行にしてみた。 以前はmod_rewriteが分からなかったのでDirectoryIndexに対してrubyスクリプトをかましていたけど、 *1 汎用になってこっちのが便利。
%N (1<=N<=9) でRewriteCondの後方参照ができるらしいので、 Host拒否 を参考にしてこんなのを考えてみた。
RewriteEngine on RewriteMap hosts-deny txt:/path/to/hosts.deny RewriteCond %{HTTP_REFERER} ^http://([^/]+)/.*$ [NC] RewriteCond ${hosts-deny:%1|NOT-FOUND} !=NOT-FOUND RewriteRule ^/.* - [F]
CN(CommonName)を "mimori CA" に設定した証明機関で発行した証明書のみ通すディレクトリの設定をするために ssl.confに書いたルール
SSLCACertificateFile /etc/ssl/certs/ca-bundle.crt SSLVerifyClient require SSLVerifyDepth 10 <Location "/hoge"> SSLRequire %{SSL_CLIENT_I_DN_CN} eq "mimori CA" \ or %{REMOTE_ADDR} =~ m/^192\.168\.[0-9]+\.[0-9]+$/ </Location>
SSLVerifyClient require の影響で 相手が 192.168.0.0/16 だったら、ca-bundle.crt *1 に書いてある証明機関で発行した証明書が必要(あんまり意味なし)。
これで証明機関にぎっておけば複数アカウントの管理ができる〜ユーザー証明書のCNかメールアドレスをログに出すとなおよし。
apache-2.0.44 だったら別に何もしなくてもデフォルト状態でWebDAVが使える。上記 証明書認証とあわせてこんなのを書いた。
# WebDAV DAVLockDB logs/DAVLock_SSL DAVMinTimeout 600 Alias /webdav "/home/hoge/webdav" <Directory "/home/hoge/webdav"> DAV On SSLRequire %{SSL_CLIENT_I_DN_CN} eq "Mimori CA" \ or %{REMOTE_ADDR} =~ m/^192\.168\.[0-9]+\.[0-9]+$/ <Limit GET OPTIONS> Order allow,deny Allow from all </Limit> <Limit HEAD PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK> Order allow,deny Allow from all </Limit> <LimitExcept GET OPTIONS HEAD PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK> Order deny,allow Deny from all </LimitExcept> </Directory>
DAVLockDB に指定したファイルを最初に生成するのは httpd で、しかも実際にできるファイルは *.dir, *.pag とdbmなファイル。 なので、httpdの実行ユーザが読み書きできるパーミッションを与えるのは、 /home/hoge/webdav ディレクトリだけでなく DAVLockDB に指定されているディレクトリにも必要だった。 あと Alias の行は Apacheデフォルトについてくる icons の例だと最後に/がついているが、webdavの場合は最後に / がついていると失敗する。
WindowsXPのネットワークプレースの追加から https://hoge/webdav で証明書を要求しつつ読み書きできるのが確認できた。 これで共有ストレージへの暗号化アクセスが楽になったぞ。ユーザ証明書のインストールを除いて。
ちなみにログを確認したらいきなりIPv6経由だった。
Pentium無印-133MHz時代から愛用している自作アクセスカウンタ(apacheの mod_includeにパッチあて)、 apache2.xへの対応が面倒だし、もはやマシンリソースの心配をせんでもいいだろう…と世間のアクセスカウンタをググってみる。
が、ディレクトリのパーミッションを777にしろ、とか書いてあるカウンタは使いたくないなあ、とか悩むよりアクセスカウンタぐらい自作した方が速い気がしてきた。 Ruby/GDの仕様を見てたらPNGの画像連結さくっとできそうだし。Ruby/GD の公式ホームページは現在閉鎖中のようなので ports より作成。
database/db4, textproc/diffutils, www/neon を portinstall で入れてから以下の configure で作成
#!/bin/sh apachesrc=../httpd-2.0.44 apachedest=/usr/local/apache2 env CFLAGS='-O2 -pipe -fomit-frame-pointer' ./configure \ --prefix=$apachedest \ --with-apxs=$apachedest/bin/apxs \ --with-apr=$apachesrc/srclib/apr \ --with-apr-util=$apachesrc/srclib/apr-util \ --with-berkeley-db=/usr/local/include/db4:/usr/local/lib \ --with-neon=/usr/local \ --with-diffutils=/usr/local \ make
とりあえずの利用は大体CVSと同じなんだけど、設定ファイルの書き方 *1 に関するドキュメントが全然見つからないのが辛い。
システム管理に利用するにはインストールまでの道のりが長いかなーと思ったが、最新データ持ってくるだけなら普通のHTTPなので fetch や wget でok。
でも cvs pserver でいいような気がしてきたので chroot 環境での cvs pserver を作る支援ソフト。/usr/ports/devel/cvsd で作ってREADMEの通りにやれば出来そうな雰囲気だ。
/usr/local/sbin/cvsd-buildroot で必要なchroot環境を作ってくれるのが楽。
chmod 755 log cache cache_static で777なディレクトリを落としておく。
.htaccess の変更。
Options +Includes +ExecCGI DirectoryIndex index.html # AddHandler server-parsed .html XBitHack full
ファイアウォールをNetBSD化してそこのntpを基準にしようとしたからだろうか、clockspeedでの時計合わせで 時計がどんどん狂う。TAIとUTCの差で悩むのも面倒になってきたのでntpでの時計合わせに戻した。