コンピュータ

ThinkPad X60s の不満

X22からX60sにかえて,ハード的な不満が一つだけあった。
Windowsキーがある。
いらねー。
いやMS嫌いとかじゃなくて,ALT押そうとして押してしまうのが駄目。

Catalystを使ってみようとしたらSQLiteでハマる件

Catalyst::Manual::Tutorial とか見ながら Catalyst をいじっていたところ,

$ script/hoge_create.pl model CDBI CDBI dbi:SQLite:/hoge/hoge.db

とかやったあたりで、

DBD::SQLite::db prepare failed: unsupported file format(1) at dbdimp.c line 269 (以下略)

プギャー。
原因は,db 作るのに使った sqlite (最新)が

$ sqlite3 -version
3.3.4

Catalyst で使ってる DBD::SQLite (1.11; 最新のはず) の中身が,

$ perl -e 'use DBD::SQLite;print "$DBD::SQLite::sqlite_versionn";'
3.2.7

で,http://www.sqlite.org/ によれば,

2006-Jan-10 – Version 3.3.0 alpha
(中略)
The file format for version 3.3.0 has changed slightly in order provide a more efficient encoding of binary values. SQLite 3.3.0 will read and write legacy databases created with any prior version of SQLite 3. But databases created by version 3.3.0 will not be readable or writable by earlier versions of the SQLite. The older file format can be specified at compile-time for those rare cases where it is needed.

でまあ、逆なら読めるんだけど、今回の場合はダメ。
以上,Google 先生に訊いてもわからなかったので一応メモ。
SQLite 2 と 3 の非互換の話はよくあるんだけれども。
えーと,それで対応は,
1. sqlite3.2.x をインストール
2. DBD::SQLite の中身を 3.3.x に置き換える
3. 他のDBを使う
4. 寝る
とりあえず 4. で。

Solaris で pkgsrc/devel/gettext-tools 作れない件

/usr/pkg/bin/libtool が死ぬのが原因。というか Solaris の ksh が悪い?
shells/bash あたりをインストールして,/usr/pkg/bin/libtool の先頭行が #! /bin/ksh とかになってるのを #!/usr/pkg/bin/bash に直してやるとうまくいく。
直接編集はイクナイという向きは /etc/mk.conf に,

CONFIG_SHELL=${LOCALBASE}/bin/bash
WRAPPER_SHELL=${LOCALBASE}/bin/bash

とか書き足して,devel/libtool-base を make update とかしてやるとよい。かもしれない。

Mac mini で NetBSD/macppc

PowerPC の旧型 Mac mini が某電器で叩き売られていたのでつい買ってしまう。
通販サイトの過去の再安値(kakaku.com調べ)より安い。
早速電源をいれると画面が映らないとか。
別のディスプレイつないだりいろいろ調べた結果,付属のDVI-I→VGA変換アダプタが壊れてた。店に交換に行くのも面倒なので手持ちのアダプタで続行。
そんなわけでさくっと NetBSD/macppc (3.0) の ISO CD-R など焼いて入れてみましたが,起動しない。
うーん,sysinstで普通に入れたんじゃダメですか。NetBSDに初心者ふれんどりーなインストーラはいらないと思うけど,supportedとうたってるハードウェアに正しくインストールされないのはどうなのか。
結局手でHFSパーティション切ったりとかいろいろやって起動。
2007-07-24追記: いろいろというのはこんなかんじ
http://est.sblo.jp/article/1127559.html

インストールに関するドキュメントはとても立派なのがあるんだけれど,太古のPowerMacから全部網羅されているせいで私のような新参者にはちょっと読みにくかった。
とりあえず一通り終わって,あとは setenv auto-boot? true にするだけなんだけど,そうするとハマるという事例があるらしい。まあ,OpenFirmware に落として false に戻せばいいんだけど,専用キーボードがないと起動時に落とすというのができないらしい。キーボード(US)は取り寄せ中なので見送り。
そんなこんなでいろいろ微妙だし,内蔵無線LANとか使えないし,MacOSXに戻すかどうか悩ましい。OSXでも目的は達成できるんだけど、某所のネットワークに繋ぐときに「有償のウィルス対策ソフトを入れないと繋いじゃダメ」とか言われるのがアレ。

家鯖昔話と今後

家のサーバが稀に死ぬ。8年間も停電以外一切止めずに動かしてるんで,そろそろ限界なんだろうとは思うけど,月一回あるかないかくらいの低頻度なので,即買い替えねば!という気にもならないあたりが微妙。
うんともすんとも言わずに固まっているケースと,カーネルdbに落ちてるケースがある。まあカーネルのバグとかじゃなくて,ハードウェアがどこか逝ってるせいだと思う。
マザーボード: FIC VA-503+ (VIA MVP3 チップセット)
CPU: AMD K6-2 400MHz (100MHz x 4)
メモリ: 256MB (64MB SIMM x 4)
ディスク: IBM DTTA-350840
ビデオカード: Diamond Viper550 (PCI)
箱がミニタワー(?)ATで電源だけ(ATのが死んだので)ATXのものに交換済
これの前に,ASUS T2P4にPentiumの遅い奴積んだのを譲り受けて,CPUを Winchip か何かに換えてしばらく使っていたらマザーボード共々逝ってしまって(動くことは動くが不安定という状態だったので欲しいという人にあげた),今のものに買い換えることに。
AT(ATXでない)の箱やらSIMMやらが使いまわせてるのはほぼこのマザーボード一択だった。この世代の後(SocketからSlotになった頃)のVIAのチップセットはあまりいい思い出がないけれども(特にナントカ133),これは良かった。
ビデオカードはもっとショボいのを積んでいたけれども,他のマシンでゲームとかに使っていた Viper550 が「酷使すると熱暴走する」「付属の3Dのデモ動かしてるとわりと死ぬ」「止まる場所の再現性がない」というアレな状態だったためサーバ用に降格。文字表示だけなら安定。昔 i486 マシンで使ってた ViperVLB が非常に良い出来だったので選んだのだけれども,これは大外れだった。
まあ,さすがにもう部分的に使いまわせるパーツもないし,パーツ一式買ってきて組むという元気もないので,何かお手軽に買ってきてポンと置き換えたいわけですが。
ちなみに先代サーバは Sun3/80 でした。:-)
要望としてはこんな感じ。
・安定連続稼動
・できれば今のものより小型
・BSD系のOSが動く
・何かネタになる
・安ければ言うことなし
ということで,いまのところこの辺が候補。できれば年度内になんとかしたい。
・IBMとかDELLのサーバ (今のものより大きくなるのが難点)
・普通にそのへんのメーカーPCとかベアボーンPC (ネタとしていまいち)
・Mac mini (連続稼動がやや不安)
・LANDISK のような NAS箱 (どの程度いけるかいじってみないとわからない)
置き換えが済んだら廃棄する予定ですが,部品とりに欲しいとかいう人いますかねえ?

IBM PC のページの変遷

ThinkPadの買い替えを検討していて度々IBMのページをチェックしていたけれど,
IBMのPC関係の部門がLenovoになった後,
– デザインそのままでIBMのロゴが外され ThinkPad & ThinkCentre に
(このときは「ThinkPad がお勧めする Windows(R) XP」とか謎の表現あり)
– デザインそのままでlenovoのロゴに変わる(いろいろまともになる)
– 配色などデザイン変更
– IBMのトップページからLenovoの販売ページへ直接飛ぶリンクがなくなる

などなど,段階的な変更がなされている模様。
(そんなに頻繁に見てるわけではないので,もっと細かく変更されてるかも。)
まあ身近にも「(売却されちゃって)IBMのPCももう駄目だよね」なんて言う人がいるくらいなので,そういう風説を食い止めるのにかなり丁寧にやってるんでしょうね。
とりあえず,さっさとX60の詳細(モデル)を発表してください。:-)

NetBSD/amd64 MPACPI

これまでのあらすじ:
仕事に自腹PCを使っていたものを置き換えるため,今年度予算の残り使途に安サーバを一台ねじ込んだ。
で,本日モノが届いた。
IBM e-Server xSeries 100 の一番安い奴。
Intel製のAMD64互換CPU(笑)でしかもデュアルコア(まあ,Celeron D 326ですが)つーことで,NetBSD/amd64 とか突っ込んでみる。
Celeronのくせに64bitx2。128bit級(間違い
MPBIOS経由だとCPUを一個しか認識しないようなのでMPACPIでカーネルを作り直したらうまく認識。
メモリもHDも少ないけれど,実験用サーバなのでこんなもんで十分。

NetBSD-3.0リリース

http://www.netbsd.org/Releases/formal-3/NetBSD-3.0.html
1.xから2.0リリースまでの長さを考えると,えらくあっさり3.0になりました。単に,バージョン番号のつけ方が変わったせいですが。
個人的に嬉しい新機能とかいうのはないのですが,対応ハードウェアが増えたおかげで,手持ちの余った部品がいろいろ流用できるようになりました。

Tomcat-5.5 on NetBSD-2.1

仕事の関係でTomcatをいじる。
最近のJava→最近のLinux(エミュレーション)が必要→NetBSD-1.xでは動かない
ということで NetBSD-2.1 をいれるところから。(そろそろ 3.0 が出そうですが)
OSのインストール後,pkgsrc/www/jakarta-tomcat55 を入れる。
インストール後の作業を指示通りにほげほげして /etc/rc.d/tomcat start しても起動しない。ログにエラーが吐かれている。

Java HotSpot(TM) Client VM warning: Can't detect initial thread stack location - find_vma failed
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

1行目の find_vma failed は procfs をマウントしてないとこのエラーがでるらしい。そこで /etc/fstab に以下を追加。BSD の procfs だけでも一応動いたけど,念のため Linux 用も。

procfs /proc procfs rw
procfs /emul/linux/proc procfs rw,-o=linux

これで,エラーの1行目は消えたものの残りはそのまま。
メモリが足りないということなので ulimit でいろいろいじった結果 data seg size が足りないらしい。デフォルトで 131,072kbytes もあるんですが。
とりあえず /etc/rc.d/tomcat の中に ulimit -d unlimited とか(てきとう)書いてやると起動。
Google先生に聞くと似たようなエラー話は出てくるけれど,スタックが足りないとかいう話が多いような。こっちはスタックは足りてるんだけど。
まあとりあえず自作サンプルとかも動いたので,あとは JSP+Servlet のプログラミングを人に教えるだけです。教えるほど詳しくはないんだけど。というか,こういうゴテゴテしたの触りたくない… :-)