一言メモ

会社の先輩からもらったPowerBook 5300csにMac OS 7.6を導入することに成功。自宅の外付けSCSI CD-ROMドライブですんなりCD-ROMブートが可能だった。でもってPCMCIA Ethernetカードの認識に手間取ったものの何とかセットアップが完了し、手元のIE4.5とOffice 98をインストールして一丁上がり。この文章もセットアップしたばかりのPowerBookで打っている。

しかし俺は何台マシンをセットアップすれば気が済むのか。ついでにこの作業の間、BGMがずっと松浦亜弥なのはいかがなものか。最後にこんな作業のために無理な姿勢をして腰痛を悪化させてどうするのか。

まったく、自分の愚かさが身に染みたのでもう寝ます。ああ腰が痛い。

OS/2 WARP 導入大作戦

~前回までのあらすじ~

数少ない趣味が週末の秋葉原巡回という悲しいデブヲタのKou-shiくん、先週末も秋葉原を巡回していたところ、定価が10万円以上するかつてのサーバ用OS、OS/2 WARP Server Version 4が7,000円で売られているのを発見。以前からOS/2 WARP4を一度使ってみたいと思っていた彼は即Get。後でこのOSが実はWARP3という一つ前のバージョンをもとに作られた物だということを知ったが、そんなことはお構いなく、好奇心の赴くままに弄ぼうとしたKou-shiくん、しかしエミュレータ上ではうまく動かず、途方に暮れるのであった。

三週続けていってしまった秋葉原。今回の目的は、OS/2 WARPが動くマシンを探すこと(何やら本末転倒している気がするが)。一応ターゲットとしているのは適度に古い(486DX2~Pentiumぐらいまで)Thinkpad。予算は1万円。オークションでだいたい相場を見てからいざ出陣。

ところがなかなかこれはと思うマシンは見つからない。オークションの相場より高いんだよね。しかもあまり面白そうなものはない。せっかく来たのだからオークション相場より多少高くても買って帰ろうと思っていたのだが、古いマシンはどこも処分済みなのかね。

と思っていたら、ある場所でThinkPad530csを発見。これはA5サイズのサブマシンで、持ち帰るにも良い大きさ。値段も8,000円と、オークションの相場よりは高いが予算内。オークションは送料などもあるのでまあ良い勝負だろう。購入決定。店員の態度が微妙にむかつくが、まあ秋葉原の接客業なんてこんなものだ。他では使えないヤツなのだからしょうがない。と思いながら立ち去る。

さあ帰ろうと駅に向かって歩いているときにふと思い出す。このマシンをなぜオークションで購入しなかったのかを。そうだ、このマシンはFDDが外付けなんだ!FDDがないとOS/2はインストールできない。慌てて確認したが、やはりFDDはない。がーっ。一気に落ち込むが気を取り直して外付けFDDを探す。そこはやはり秋葉原。近くの露店であっさりThinkPad用の外付けFDDを発見。でも価格は4,000円。予算オーバーとのダブルショックで肩を落として帰る。

さて早速導入。細かいことは省略するが、とりあえずインストール用フロッピーを50枚用意するのは苦行だったということだけは記しておく。で、数時間後、やっとインストールできたThinkPadを見てふと思う。そういえばサーバー用のプログラム類が全く入ってない。どうやらインストール用フロッピーではWARP3部分しかインストールしてくれないらしい。うー、TCP/IPサポートなんかもサーバー関連に入っているのでこのままではインターネット接続すら出来ん。CDが、CDが読めなければ…。(来週に続く)

ついでに書くと、この後もう一度エミュレータへの導入を試みたところ今度は成功、サーバ関連のプログラムも導入できたので、実機への導入は必要なくなってしまった。またむだ遣いしてしまったよ母さん。あなたが「ボーナスが出たら仕送りぐらいしろ」と言った気持ちも少しわかったよ。

OS/2 WARPについて教えてください。

週末、暇だったのでbitchに電話を入れると、これから秋葉原に行こうかと思っていたと言われたので、俺も一緒にくっついていくことにした。んで、そのときの話。

dreamがいた

dreamって書いてもどれくらい認知されてるんだろうね。まあどうでも良いけど。

二人でぶらついていたら、石丸電気ソフトワンの所に少し人が集まっていた。見てみると、店内に貼ってあるdreamニューアルバムのポスターと同じ格好をした女の子が何人か。おもしろそうだったので観察をしに店内へ。

なんか軽いイベントっぽかったけど、二人はdreamそっちのけで周りにいるアイドルヲタクを観察。はっきり言ってそっちの方がおもしろい。うわー、こんなのをいつも相手にしてるなんて、アイドルって大変だなと思いながら見ていた。

ハンバーガー屋にて

名前は忘れたが、秋葉原っぽくないファストフード(ハンバーガー)屋があったのでそこで休憩。店内はカップル、女性一人、男二人組など、やっぱり秋葉原っぽくない落ち着いた雰囲気で、俺たちもほっとして休んでいた。すると、店員がにわかにあわただしく席をセッティングし始めた。次の瞬間現れたのは、これぞ「ジ・アキバ」な人たち7人組。店内の空気が本当に笑っちゃうくらい一気に変わる。思わずしみじみ観察しちゃったよ。おかげでここで体力を使い果たしてぐったり疲れた。

掘り出し物

帰り際、ほとんど何も買わなかった俺は何か掘り出し物がないかなとぶらぶら店をのぞいて歩く。そこで見つけたのが、「OS/2 WARP Server 日本語版 Version4」。さっきのハンバーガー屋でbitchに「OS/2 WARP4が欲しいんだよねえ」と話したばかりだったので、ナイスタイミングとばかりまじまじとチェック。定価114,000円の所、なんと7,000円。しかもどうも未使用新品っぽい。こりゃ買いでしょ、と、財布の中身は8,000円しかないにもかかわらず即買い。いやー、良い買い物だった。このあと秋葉原を離れ、新宿で飲んでいるときもずっとご満悦だった。

オチ

このOS/2 WARP Server V4、実はOSのコア部分はWARP3だと言うことが帰宅後に発覚。そんなオチかよ。名前が紛らわしすぎるぞIBM。まあTCP/IPが使えるし(素のWARP3はTCP/IPのサポートがないために敬遠していた)結構遊べることは確か。でも愛用のPCエミュレータ、VirtualPCにはうまく入れられないので(Mac版はインストール時の最初の再起動でフリーズ、Windows版はインストールはできるが、VirtualPCでエミュレートしているLANカードのドライバがない。WARP4なら入れられるのに…)、OS/2が使えるマシンを調達する予定。またマシンが増えるな…。誰かOS/2 WARP3の情報を持っている人、教えてください。

おまけ

月初めと言うこともあって、今週は忙しい。実は「慶応ボーイ計画」での例の志望理由書、まだ全部書いていないのだが、果たして今週中に無事書き終えられるのか。

ショック!

ローズ帰国!

ノーーーーーーーーー!!!!!!!!!

MicrosoftがConnectixからPCエミュレータのVirtual PCを買収

Virtual PCとはMacで動くAT互換機のエミュレータのこと(Windows版もあり)。このエミュレータ上でWindowsやLinuxを動かすことによって、Mac上でWindowsソフトを使うことができるという優れもののソフト(ただし、とっても遅い)。これを制作元のConnectixからMicrosoftが開発者ごと買い取ったというニュース。これを買う人のほとんどがWindowsを動作させることを目的に買うのだから、本家がこれからメンテナンスをすると言うことで単純に考えると喜ぶべきニュースなのだが、何しろ相手はマイクロソフト。ろくでもないアップデートをしてまともに使えなくなるんじゃないかとか、Windowsバンドル版のみにして(現在はWindows, MS-DOSのどちらかをバンドル)値段をバカ高くするんじゃないかとか、LinuxなどWindows以外のOSを使えないようにするんじゃないかとかネガティブな予想がばんばん飛び交っている状態。まあでも騒ぎを見ていると大方はアンチMSの過剰反応のような気がする。マックユーザーはアンチMSが多いみたいだしね。

ちなみに俺は、昨日ちょうどVer.6へのアップグレードを申し込んだばかりだったので、すごくタイムリーな話題だった。

愛用のハサミの柄が折れる!

「なんだよその超個人的な話題は。」って言われること請け合いだが、このハサミ、小学校に上がるときに支給された「おどうぐばこ」に入っていた物で、それから19年間、ずっと使い続けていたのだ。粘土からケツ毛までいろいろ切ったよ…。考えてみれば、今手元にあると言うことは、大学に入って上京するときも持ってきたってことなんだよな。……何故こんな物を持ってきたんだろ。

時代は移りゆくね!自分を慰めるために、これでも買って幸運でも呼んでみようか。

と言うわけで、今日もサーチストリームネタはお休みの方向で。

ちなみに引っかかったキーワードは「少女」だった。いったい何を見つけたかったのか、すっごく謎。

文字コード変換についての覚え書き

 今週、仕事の中で、ちょっと文字コードがらみではまったので、覚え書きとしてここにまとめてみる。

様々なシステムにおける文字コードの違い

世の中には様々なシステムがあり、そこには様々な文字コード体系が使われている。ざっと有名なところを挙げると、IBMの汎用機用1バイト文字コード体系であるEBCDIC、同じくアメリカで規格化された1バイトコードのASCIIなど。マルチバイトコードの場合は、JISで定められたJISコード、これをPCで扱いやすいようにマイクロソフトが変更したシフトJIS、同じくUNIXで扱いやすいようにAT&Tが変更したEUCなどがある。最近では、多国語を同一の文字コード体系で使用できるような文字コードとしてUnicodeの使用が進んでいる。

これらの文字コードを混在して使用することは原則としてできない(同一コードに異なる文字が割り当てられてしまうため)。そこで、文字コードを変換する作業が必要となってくる。

NEC ACOSシリーズ

さて、一般的な話はここまでにして、ここからが今回はまった問題。現在、俺が管理しているUNIXサーバ(OS:HP-UX 10.20)と、別会社が管理している汎用機、NEC ACOSシリーズ(詳しくは知らない)との間でテキストデータのやりとりをしている。

ACOSが使用している文字コード(2バイト)はJIPSというNEC独自のもの。一方HP-UXで使用している文字コードは、UNIXとしては珍しくShift-JISである。当然テキストデータのやりとりを行うには文字コードの変換を行う必要がある。

今までは文字コード変換ユーティリティを用いて自動的に行っていたのだが、顧客のシステム更新に伴い、そう簡単にはいかなくなってしまった。というのも、今までACOSから受け取っていたデータが、ACOSのバックにWindowsサーバが用意され、そこで作成したデータをACOS経由で受け取るという形に変更となったからだ。ACOSから受け取るという形は今までと変わらないため、プログラムの変更は行わなかった。そこまでは良かったのだが、次に挙げる問題のため、新たに作業を行う必要が発生したのだ。

文字変換の実際・トラブル編

実は、この変換ユーティリティ、JIS第一水準しかコード変換に対応していなかったのだ。第二水準以降や記号などは自分で変換テーブルファイルを用意しなければならない。今まではACOS側で第二水準の漢字を使用していなかったのだが、今回のシステム変更で、Windowsで使用している文字がそのまま流れてくるようになったため、第二水準もカバーする必要が出てきたのだ。

もちろんWindowsからACOSへのデータ送信もコード変換が必要となるため、最初はWindowsサーバを管理しているベンダーに頼んで変換テーブルをもらい、それをそのまま使用した。しかしこれがうまくいかない。同じユーティリティを使用しているのに。何度作り直してもだめ。何故だー!

文字変換の実際・解決編

実は、JIPSというコードには二種類あるらしい。内部的に使用しているJIPS(E)と、外部とのやりとりに使用するJIPSだ。先方からもらった変換テーブルにはJIPS(E)とShift-JISとの対応が書かれていたのだが、うちのシステムで使用しているユーティリティのバージョンではJIPS(E)には対応していなかったのだ。確かにマニュアルには「NECとのコード変換を記述するときにはJIPSをご使用ください」と書いてあったのだが、最初はJIPSが二種類あるとは知らずに「そんなの当たり前だろ」と読み飛ばしていたのだ。紛らわしい奴だ。

で、次に問題となるのはJIPS(E)からJIPSへの変換だ。こちらにはACOS関連の書類などほとんどないため、当然対応表なども存在しない。しかし、システム構築当時の資料を調べてみると、システム構築時、ユーティリティを作成した会社に質問をFAXで送信した記録が残っていた。どうやらシステム構築時も今回の俺と同じはまり方をしていたらしく、JIPSは対応しているがJIPS(E)は対応していないと言う旨の回答が書かれた後、変換手順としてEBCDIC(カナ)から8ビットJISへ1バイトずつ変換を行えばOKという回答が書かれていた。

そうなれば話は簡単、このユーティリティにも付属しているEBCDIC(カナ)→JIS8対応表を見て、1バイトずつ手で変換(2バイト文字なので1文字につき2回変換)していけばいいのだ。

文字変換の実際・攻略編

ところがこの対応表、あくまでもEBCDICとJIS8の対応表であるため、EBCDICで割り当てられていないコードには当然対応するJIS8のコードも書かれていないのだ。EBCDICは1バイトの領域全部(256種類)を使用しているわけではないので、結構隙間がある。その領域に出てきたコードはどう変換すればいいのだ。

というわけで、さくっとWeb上を調べてみると、やっぱりあった。EBCDICの変換ツールが。そのツールがこれ。各社のEBCDICコードを選ぶと対応するASCIIコード(カナ文字もあるので、正確にはJIS8。ASCIIは7ビットで定義されている)を教えてくれる。それにしても「各社」って。このソフトのreadme.txtにも書いてあったのだが、どうも元のコードを汎用機各社が独自拡張したおかげで、同じEBCDICを名乗っていても、ほとんど互換性はないようだ(互換性があるのは数字と英大文字、コントロールコードだけ)。迷惑な話だ。

このように試行錯誤を繰り返し、最終的には問題を解決することができた。その記念として、このように記録に残してみた。うーん勉強になったね。今後使うことはなさそうな知識だけど。

Windows Media 9 Series が出た

英語版はずいぶん前からあったけど今日日本語版が登場。

http://www.microsoft.com/japan/windows/windowsmedia/9series/default.asp

1.Windows MediaPlayer 9

たぶんメインがこれ。7.1や8と根本的には変わらないが細かい部分で進化しているのだろう。一番良くなったのは再生シークバーがかなり長くなったのと、シーク時に時間が表示されること。これにより目的のシーンが探しやすくなると思う。あと機動から再生までがやや早くなった気がする。

今のところ全画面表示で邪魔なのが残るという問題があるがこれはたぶん解決できるだろう。でもできれば自動で消えてほしかった。

2.Windows MediaEncoder 9

WMV9形式の動画を作成するツール。動画圧縮の一つの方法であり、現時点で一番いいのかもしれない。まだ現在使っているDivXとの比較はしていないがいずれやってみたい。

http://www.microsoft.com/japan/windows/windowsmedia/9series/codecs.asp

WMV8まではどちらかといえばストリーミングを目的とした動画作成用途だったが、WMV9からVODも視野に入れたツールになってるみたい。サンプル動画があるけどビットレートによってはかなりきれいな動画が作成できることがわかる。今後の標準になるかも。

http://windowsmedia.com/9series/DemoCenter/VideoQuality.asp?page=6&lookup=VideoQuality#

3.Windowsムービーメーカー2

直接WM9シリーズとは関係ないかもしれんが同じ日にリリースされた。OS標準のムービーメーカー1より色々できそう。

>http://www.microsoft.com/japan/windowsxp/moviemaker/

==========================================================

以上がめぼしいラインナップ。

あと今回から正式にWindows98がサポートされなくなった。

新しいのが出るのはいいが、これはこれで悲しい。

PCトラブル覚書き

リマインドのために使わせてもらいます

メモリ

メモリには最大積載容量が設定されている。それ以上のメモリをつむとハング。

32GBの壁

古いマザーボードのBIOSによっては32GB以上のハードディスクを認識できない。この場合はマザー製造元が配布しているBIOSアップデートファイルを適用するか、ATAカードなどを用いて対処する。

ただしBIOSをアップデートしても32GBを越えられない場合もある。そのときはHDDのジャンパを[Limit to 32Gbytes]のような設定にして、32GBのハードディスクとして使用するのもあり。

最近だとCP的に敢えて20GBのHDDを選ぶより、とりあえず80GBぐらいを購入して32GBで動かしておいて、容量が足りなくなったときに80GBに切り替えるのもいいのではないかと重う。

AMD系CPUで構成されるPCを組む場合の留意点

1.電源 

CPUに対応した電源かどうか。ケース付属のノーブランド電源では対応できないこともある。

2.CPUクーラー 

AMD系CPUはクーラーなしで稼動させると即死する可能性が高い。必ずCPUにクーラーを付けたあと、マザーとクーラーが接続されているか確認する。

ドライブ類

IDE-1

マスター:ハードディスク(システム含)

スレーブ:ハードディスク(データ)

IDE-2

マスター:DVDドライブ

スレーブ:CDRドライブ

のように、HDDとその他ドライブ類は分けたほうが良い。IDEケーブルはドライブのスピードに対応したものを用意する。

マザー選び

システムパネルコネクタがわかりやすいもの

メモリ周りと電源ケーブルが近くにないもの

CPUの近くになるべくコンデンサなどがないもの

ケース選び

前後にケースファンが付けられる

3.5インチにいくつかシャドウがあるのが望ましい

前面USB+サウンド 最近だとIEEE1394もあるといいかも

システムアップデート

OSをアップデートした後既存のドライバが正常に働かなかったり、不良になることがある。その場合は問題のあるドライバを全て削除し、新しいシステムの元で再度ドライバをインストールすると解決できることもある。

これは外部のドライバよりもOS標準のドライバインストール(汎用USBなど)で生じることがある。

【2003.01.28追加】デバイスドライバの誤認識

OSによる自動デバイスドライバの追加によると、本来あるべきドライバが追加されないことがある。

(例)USBマウスが汎用USBデバイスとして認識され、正常になんらかのドライバがインストールされていてもマウスは動かない。

この場合は「ドライバの更新」→「ドライバを選択する」を選ぶと、正常なドライバを入れることができる。

【2003.01.31追加】PCが突然起動しなくなった!

電源を入れてもディスプレイに信号がいかない!

まずPCを、マザーボード・メモリ・ビデオカードの最小構成にしてみる。その段階でビデオカードの生死が他の環境で確認できれば試してみる。それでビデオが死んでいればビデオの原因。

ビデオカードが試せない/ビデオは生きているという前提で、同じようにメモリも試してみる。メモリが死んでいる場合はビープ音による警告が出ることもある。

これでダメならば、マザーボードorCPUが死んでいる。電源は入ってファンも回るけどディスプレイが真っ黒という場合はマザーボード死亡の可能性が高い。

各種ブラウザに対応するということ

 昨日の日記(日付は今日になってしまっているが)を改めて読み返してみると、「ボクってこんなに斜に構えて『モーニング娘。』を見ているの。だからマジヲタと違ってキモくないんだよう!」と言うのを必死になってアピールしているようで、まことに趣深い。

 というわけで(?)、昨日に引き続いて訴求対象をかなり狭めた話題を書いてみる。分野は違うが。

 毎年恒例のMacWorldというMacintoshの展示会がサンフランシスコで行われたそうだ。私は当然そんな企業のイベントなどノーマークだったが、Macフリークの間ではこれらを(特にSteve Jobsの基調講演を)毎回細かくチェックする。新製品のお広めの場だからだ。

 で、今回の目玉はというと、新製品がでっかいPowerBookとちっちゃいPowerBook。新作ソフトが、今後Macの標準ブラウザとなる予定のSafariというWebブラウザ(ただしまだβ版)だった。PowerBookに関してはまだ買い替えの時期ではないのでとりあえずスルーして、問題はブラウザ。現在のMac標準ブラウザといえば、MicrosoftのInternet Explorer for Mac Ver. 5.2(Mac OS Xの場合)なのだが、このブラウザ、とにかくとてつもなく重い。おまけにかなりでかいバグ持ち。とどめにIEの名を冠しているのにWindows版IEとそんなに互換性が高くない。というまさに「ザ・クソブラウザ」。そんな訳で私もMacに関しては色々とブラウザを渡り歩き、現在のChimera Ver. 0.6にたどり着いた。

 そのような状況であるため、私も標準ブラウザがマシな物になるのには歓迎で、このSafariも早速ダウンロードして試用している(この日記もSafariから書いている)。使用感は上々。Webを巡回すると、続々と不具合が発見されているようだが、まだβ版ということを考えるとまずまずの出来ではないだろうか。一番問題である速度もIEに比べると雲泥の差だし(Chimeraに比べると同じ位かな)。

 で、ユーザーサイドとしては歓迎すべき新ブラウザだが、サイト製作者にとってはまたブラウザ間互換性問題に悩まされることになるのだろうと思う。というのも、このSafari、HTMLレンダリングエンジン(HTMLを解釈して画面に表示するソフトウェアの部分)に、KDEプロジェクトのKHTMLという物を使用しているのだ。

 現在、世間一般でもっともよく使用されているブラウザはInternet Explorer。この根幹をなすIEコンポーネント(当然レンダリングエンジンも含む)は現在のWindowsでは標準で入っており(というよりWindows全体の中核部分)、Windows向けのほとんどのタブブラウザもこれを使用している。と言う訳で、ブラウザの動作チェックにはまずIEを用いる。

 で、その他のブラウザだが、かつての王者、Netscapeは、旧ブラウザ(Ver.4以下)と新ブラウザ(Ver.6以上)でレンダリングエンジンが全く違っており、このどちらに対応させるか、もしくは両方対応させるか、はたまたどちらも切り捨てるのか、というのがWeb製作者の最初の関門となる。ちなみに、Linux方面で人気の高いMozillaやGNOME付属のブラウザGaleon、私のMacでのメインブラウザであるChimeraは新Netscapeと同じレンダリングエンジンであるGeckoを使用しているので、新Netscapeをフォローすればこれらもフォローできる。まあ開発順から行けば、まずGeckoを作成して開発者向けブラウザであるMozillaを作り、そのMozillaの体裁を整えてNetscapeが作成されているのだが。

 で、この関門を越えると次に対応すべきなのはMac版IEだと思うのだが、どうもMac版IEはWindows版と同じような物だと理解されている部分があるようで、Mac版IEに対応と銘打ってあるサイトはあまり見たことが無い。

 これらがカバーできれば、次は新興ブラウザであるOperaに対応させたいと思うのが人情だろう。Operaは最速ブラウザを謳うブラウザで、シェアウェアであるが、無料でも問題なく使用可能(ウインドウの一部分に広告が入る)であり、確かVer.6あたりから日本語版も出ているので、今までIEしか使用していなかった人は一度試してみるのもいいかも知れない。そんな訳でこのOpera、徐々にユーザー数を増やしているので、これに対応させるのも無駄ではないと思う。

 この他Mac用にOmniWebやiCabといったブラウザもあるのだが、これらを念頭に置くサイト作成者などいないと思うのでパス。で、今までならここまでが互換性の考慮範囲だったのではないだろうか。そこに登場したのがSafariだ。今までKHTMLを使用したブラウザは多分KDEのKonquerorのみ。レンダリングの正確さと早さについては以前もちらっと評判を聞いたことはあるが、何しろユーザーの規模が無視できるくらいの小ささ、おまけにこれを使うような人たちはいわゆる「わかっている」人が多いので(昨今のLinuxブームを考えればそうとも言えないかも知れないが)、特に問題にはならなかった。ところが、SafariがMacの標準ブラウザとなれば一気にユーザーベースが広がる。しかもショッピングサイトのヘビーユーザーになりそうなMacユーザーだ。商用サイト作成者はこの動作チェックも落とせなくなるだろう。そうなれば、工数を考えても今までチェックされてきたブラウザのどれかは対象から落とされることになりそうだ。真っ先に標的になるのは旧Netscapeだろうな、やっぱり。俺も仕事でやるとしたら落としたいし。CSS周りのバグが多いので。次はMac版IEかな。標準ブラウザの地位から落ちるだろうから。

 なんて書いてきて、結局何が言いたかったかというと、せっかくブラウザも大量にあることだし、このサイトもブラウザ表示チェックでもしようかなあと今考えています、ってことだ。かつて左側のコンテンツ欄にも「表示確認ブラウザ一覧」という項目を設けていたが、ページを作ることなく消してしまったしね。さて、まずはこの無駄に長い日記、ちゃんとSafariから登録できるかな(出来なかったら泣く)。

make world覚え書き

 普段このサイトを見ていただいている方には関係ないことだが、このサイトを表示しているWebサーバは、私の自宅にあるただのPCである。で、このPC、ネットワーク周りがどうにも調子が悪い。大量のデータを送ると止まったり、データを全く受け付けなくなってしまったりする。そこで、NIC(ネットワークカードのことね)を取り換えることにした。ついでに、サーバを組み立ててから全然アップグレードしていないOSも入れ替えることにした。以下はOS入れ替えのための備忘録である。

 このサーバに使用していたOSはFreeBSD 4.5-RELEASEである。確か今年の初めに出たバージョンだが、今年はクラッカーの活躍も目覚ましく、世界中のOSでやたらと脆弱性が見つかった年だった。FreeBSDも例外ではなく、やたらとパッチを連発した揚げ句、次のバージョン(4.6)がリリースできずに、パッチを当てたバージョン(4.6.1)に差し替えになるなど、開発者にとっては災難としか言い様の無い状況だった。そんな状態だったのだが、無精な俺はまともにパッチを当てることなく(やったことといえば、Open SSHをPortsの物に差し替えたくらい)4.5のままで通していた。さすがにそんな状況を続けるのも恐いので、この際一気にバージョンアップさせることにした。

 バージョンアップとして、cvsupとmake worldを利用して、一気に4.7-STABLEにするという手法をとることにした。実は、FreeBSDを使い始めてから4年は経つが、make worldをするのは初めてだったりする。今まではさくっとOSを消してから入れ直していたのだ。入れるのもRELEASEばかりだったし。ただ、今回はさすがに常時接続&Webサーバとして運用中であるため、なるべくダウンタイムを少なくしようと上記の手順を取ることにした。

 とりあえず、以下に手順を簡単にまとめてみる。さすがにここは日記スペースなので、詳しく書くのは止めて、いずれ別ページにまとめたいと思う。

1,cvsup stable-supfile 接続するcvsサーバは、単純にtracerouteしてホップ数が一番少なかったcvsup2.jp.freebsd.orgにした。

2,UPDATINGを読む。英語なのでさっぱりわからん。

3,/etcを/etc.oldにコピーしてバックアップ。これ重要。

4,/etcと/usr/src/etcを適当に見比べる。特にgroupとmaster.passwdを見て、追加されたグループやアカウントがないかを確認。今回は無かったので一安心。

5,/etc/defaults/make.confを/etc/make.confとしてコピーし、修正。今回はCFLAGSとNOPROFILEのコメントを外した。

6,/usr/srcに移り、make buildworld。

7,/usr/src/sys/i386/confに移動し、GENERICカーネルのコンフィグファイルをコピーし(今回はEPIAという名前にした)、修正。以下のオプションをつけた。

options NETGRAPH

options NETGRAPH_ETHER

options NETGRAPH_PPPOE

options NETGRAPH_SOCKET

options IPDIVERT

options IPFIREWALL

options IPFIREWALL_VERBOSE

options IPFIREWALL_VERBOSE_LIMIT=200

options IPFIREWALL_DEFAULT_TO_ACCEPT

これはPPPoEとファイヤーウォールを有効にするためのオプション。本当はGENERICが正常に動くことを確かめてからカーネルを再構築すべきだが、うちのマシンではこのオプションが動かなくては話にならないので最初からつけた。

8,/usr/srcに移り、make buildkernel。

9,先にカーネルをインストールする。シングルユーザモードにし(shutdown now)、make installkernel。

10,リブートし、シングルユーザモードで起動する。(boot -s)

11,パーティションのマウント。

fsck -p

mount -u /

mount -a -t ufs

swapon -a

(はっきり言って意味はわかっていない。/sbin/mount -aだけでもいい気がする)

12,/usr/srcに移り、make installworld。これでユーザーランドのインストールも完了する。ここからは/etc内のインストール。

13,/usr/sbin/mergemaster -svia これで/etcに新しくできたファイルをインストールする。

14,/usr/sbin/mergemaster -svir ここが正念場。新しいファイルを上書きするか、前のファイルを残すのかを決める。基本的には自分がいじらなかったファイルは上書き。上書きしなかったファイルは、group, master.passwd, rc.conf, hosts, ppp.confなど。特にmaster.passwdを上書きしたりすると確実に死ぬので十分に注意!ちなみにinetd.confは、いったん上書きしたあと手で修正した。

15,リブート。そしてコンソールの前で祈る。無事起動したら拍手。

 ここまではWebで調べればいくらでも出てくるので、この後で気になった点。

・dhcpsが起動しない。

 LANのために使用していたWide-DHCP-Serverが動かなくなった。Portsから再インストールすると起動するようになった(make clean; make; make install)。ライブラリに変更があったようなので(UPDATINGに書いていた)、それが原因のよう。

・TomcatがJava SDK1.2.2で動くようになった。

 このマシンにはJava SDKが、成り行き上1.1.8, 1.2.2, 1.3.1の3種類(正確には、1.2.2と1.3.1はLinux版も入っているので5種類)入っている。アップグレード前は1.3.1で動いていたのだが、アップグレード後は1.2.2で動くようになってしまった(最初のインストール時には1.2.2で動いていた)。これもTomcatとmod_jk(Apacheと連携させるためのツール)をportsから再インストールすることで復活した。ここでの注意点としては、mod_jkを先に入れること、/usr/local/etc/apache/mod_jk.confを修正すること、/usr/local/etc/apache/httpd.confを修正し、mod_jkを呼び出すようにすることの3点。

 これくらいかな。覚え書きといいつつ長くなりすぎた。あとはいずれまとめます。日も変わっちゃったしね(これは12/2(月)の夜に書いてます)。