本日の「ガイアの夜明け」

今日の「ガイアの夜明け」では、kakaku.com の事件について取り上げていました。内容としては、


・サイバー攻撃にあってしまいました。
・アプリケーションを全て見直し、つくりかえることにしました。
・社員は休日出勤や徹夜が続きとても苦労しました。
・何とか再開にこぎつけました。やれやれ。


というような感じでした。スパイウェアのデモなどもあって、一般の人(?)に対してはサイバーセキュリティの重要性に目を向けさせる効果はあるかも知れません。


ただ、自分としては正直ものたりなく、どちらかというと閉鎖に至るまでの経過をドキュメンタリーにして欲しかったです。結局、何が問題だったのかも詳細は明かされず、アプリケーションを作り直して対処したことと、それによって(社員の体感では)動作が重くなったことぐらいしかわかりませんでした。

Solaris 10 と Cygwin/X

さて、ビデオカードの無い Sun 280R なのですが、Cygwin/X と組み合わせて使うことにしました。Windows の上で Cygwin/X を動かし、この Windows が動いている PC をいわゆる X端末として使うのです。


まず、Sun 280R 側の設定をします。フォントサーバ (xfs) とディスプレイマネージャ (xdm) を動かしますが、インストールした直後だと日本語フォントの設定が抜けているので、/usr/openwin/lib/X11/fontserver.cfg を編集します。


具体的には ‘catalogue = ‘ の部分に以下のパスを追加します。


/usr/openwin/lib/locale/ja/X11/fonts/TT/
/usr/openwin/lib/locale/ja/X11/fonts/TTbitmaps/
/usr/openwin/lib/locale/ja/X11/fonts/75dpi/
/usr/openwin/lib/locale/ja/X11/fonts/UTF8/


この修正を行ってから xfs 、xdm を動かします。xfs の方は Solaris 10 から SMF (Service Management Facility) で管理され、また Upgrade インストール後は自動起動するようになっていました。なので、”svcadm refresh xfs” とすれば設定ファイルを読み直してくれるはずです。 (私の場合、安易に OS 再起動してしまいました…) xdm の方は root になってコマンドラインから引数なしで実行します。


Solaris 側の準備はこんなところで、次はWindows の方ですが Cygwin/X をインストールしてから、以下のようなバッチファイルを作ります。この内容は Cygwin/X に含まれる startxwin.bat を参考にしています。
SET CYGWIN_ROOT=\cygwin
SET PATH=.;%CYGWIN_ROOT%\bin;%CYGWIN_ROOT%\usr\X11R6\bin;%PATH%
start XWin -clipboard -emulate3buttons -fullscreen -query solarishost -fp tcp/solarishost:7100


ここで solarishost は Solaris サーバのホスト名(あるいは IP アドレス)です。このバッチファイルを起動すると Windows 上に Solaris のログイン画面が表示されるようになります。


本来設定はここまですれば良いのですが、この先ちょっとした問題にハマりました。


この環境をつくってからしばらくは CDE を使いログインしていたのですが、せっかくなので Java Desktop System (JDS) を使いたくなりました。JDS をインストールし、ログイン画面のオプションでセッションを JDS としてログインします。


すると、次のようなエラーが出て、キーボードが効きません。
XKB 構成をアクティブ化しているときにエラーが発生しました。
おそらく、libxklavier または gnome-settings-daemon の内部的な問題であると思われます。
(中略)
この状況をバグとして報告する場合は、次の結果も報告してください。:
– xprop -root | grep XKB の結果
– gconftool-2 -R /desktop/gnome/peripherals/keyboard/xkb の結果


「Java と言っても gnome なんだよな。ここら辺の知識はないし、日本語環境ってこともあるからなんか難しそうだ…」と思いながら、あちこちを検索してみました。


心配したものの解決策は思いの他簡単で SunSolveからパッチ 119542-01 を入手して当てるとエラーはそのまま出力されるもののキー入力はできるようになりました。このパッチの情報に “Problem Description: 6239595 keyboard does not work when remote logged in from linux to sparc” とあります。ただし、このパッチは SPARC 版用で “This patch available for x86 as 119543” だそうです。


XKB のエラーはそのままですが、どこか(すみません。場所はなくしてしまいました。英語の掲示板と Sun のドキュメントの両方で見たような記憶があるのですが…)にこのエラーは気にしなくて良いというようなことを書いてあったので気にしていません。


教訓としては、「きちんとパッチを当てよう」ということですね。

「スケッチ」なんだよなあ

最近目にした中で最も腑に落ちた言葉:



「私が好んだやりかたは、紙の前ではなく、コンピュータの前に座ってプログラミングすることだった。もっと悪いことに、辛抱強く全てのプログラムを書き上げて正しいことを確認するなんてことはせずに、私はめちゃくちゃなコードをおっぴろげて、それを次第に形にしてゆくのだった。
(中略)
他のものを創る人々、画家や建築家がどうやっているかを見れば、私は自分のやっていることにちゃんと名前がついていると気づいていただろう。スケッチだ。」


の「スケッチだ」という表現。


そう、「スケッチ」なんですよ。言ってることわかります。新しいソフトウェアはこういうやり方でないと生まれないと思います。多分このやり方と最も遠いところにあるのがオフショア開発でしょう。きっちりした設計書を書いて人件費の安い所でコーディングを行おうとするオフショア開発からは面白いものは絶対に生まれないでしょう。


もちろん面白いこととビジネスとして成り立つかは別でしょうし、オフショア開発で新しいものや面白いものを創ろうとしているわけでもないのでしょうが、いつまでも「ものを創る」感覚は失いたくないものです。私自身については、最近かなり怪しいですが…
関係ないですが「腑に落ちる」は誤用と感じる人が多そうですね。個人的にはオッケーなのですが。

Sun シリアル接続用 UTP クロスケーブル

イメージ 1

今回も仕事の話です。


仕事で Sun のサーバを使いました。何故か同じ機種でなく、280R、V100、V120 をそれぞれ1台ずつ、しかもケチってビデオカードなし、というような構成であるプロジェクトで使われていました。(きっと運用のことを考えなかったのでしょう。)


それらが理由あって余剰品となったので、280R をゲットして使ったのですが、シリアル端末を使うのにはまりました。


Sun のサーバ付属品として写真のようなシリアル接続用のアダプター& UTP ストレートケーブルが手にはいりました。(写真右=アダプターA、写真左=アダプターBと呼ぷことにします。) これらを使って、
280R Serial A ポート (Dsub25) – [アダプターA] – 付属 UTP ストレートケーブル – [アダプターB] – パソコン (Dsub9)


とつないで、ターミナルエミュレータソフト (TeraTerm) を起動したのですが、反応がなく使えません。


マニュアルを良く読むとアダプターA、Bは 280R の RSC のコンソール用 RJ-45 ポートや V100、V120 のコンソール用 RJ-45 ポートに付属 UTP ケーブルを挿した時、反対側のもう一端に挿して使うようです。


「ということはストレート結線じゃあ、まずいんじゃない?」


結局、そういうことでした。クロスケーブルを作って挿すと動作しました。ただし、LAN 用クロスケーブルとは結線が違うので、注意が必要です。RJ-45 ポートのピンアサインは次の通りです。


Pin 1 RTS
Pin 2 DTR
Pin 3 TXD
Pin 4 GND
Pin 5 GND
Pin 6 RXD
Pin 7 DSR
Pin 8 CTS


以下のように 1 ~ 8 を逆に結線するようケーブルを作ります。


Pin 1 Pin 8
Pin 2 Pin 7
Pin 3 Pin 6
Pin 4 Pin 5
Pin 5 Pin 4
Pin 6 Pin 3
Pin 7 Pin 2
Pin 8 Pin 1


これで無事にシリアル端末が使えました。シリアルコンソールを使うことは少ないかも知れませんが、参考情報ということで。


今日は休日出勤の代休を取っています。けして会社から書いているのではありません。

関連記事
Sun SPARC サーバの RSC、ALOM 用ポートをシリアルコンソールとして使う

ハードディスクに磁気は問題なし

昔、どこかのプロジェクトリーダーがホワイトボードにフロッピーディスクをマグネットで留め、ディスクのデータを壊し格を下げたという話を聞いたことがあります。その頃はフロッピーディスクやテープに磁気はまずいとうるさく言われました。


時は流れ、いつの頃からか SOHO 用 (というか家庭用かも) の小さな Ethernet の HUB は、底面に磁石がつくものが多くなってきました。ただ、磁石はついていてもこれをコンピュータケースの横にピタッとくっつけるのははばかれました。何故なら磁気の影響でハードディスクのデータが飛んだりしないか心配だったからです。


でも、それはどうやら杞憂だったのです。


ちょっと古いですが、「ITにまつわる15の俗説・都市伝説を斬る」という記事を見つけて読みました。これによると、ハードディスクのデータを磁気でどうにかするには研究所でしか使わないような強力なものが必要なようです。


1つの情報源だけだと不安なので、他にも情報が無いか調べるとこのような記事もありました。HUB についている磁石をコンピュータケースにくっつけても全然問題なさそうですね。このように思い込みと実態が異なることはよくあることなのかも知れません。気をつけねば。

デスクトップPC強化:追加の買い物

後日談ですが、追加で、


・ノーブランド PC3200 (CL=2.5) 512MB メモリー×2
  (相性問題発生時の交換保証 \500/枚をつけて計 \10,324 、3/31 に秋葉原で購入)
・Windows XP Home Edition (Upgrade 版)


も買ってしまいました。ちなみにメモリのチップは M&S で Web 検索すると評価は今ひとつですが、しっかり DDR400 (Dual Channel Mode) で動いています。
(実は手持ちのメモリーが ECC Registered なもので使えませんでした。ちょっとボケ)


見込みより費用がかかりましたが、とても快適に動作するようになったので良しとします。

最近 (?) のPC事情

先に書いた通り、もともとはデスクトップPC環境を ThinkPad R40e に移すつもりだったのですが、ちょっと方針を変えて、デスクトップ環境も強化することにしました。というのも DVD-R ドライブを使いたくなったのです。これまでメインで使っているデスクトップ PC は自作の Celeron 400MHz のもので、これだと全然ドライブの推奨動作環境に足りません。


で、結局デスクトップPC強化のために、以下を買いました


・Intel Pentium 4 3EGHz (Socket 478, Prescott)
AOpen AX4SG-UL(P)(マザーボード)
SkyHawk GM-370PC(電源)


久々にマザーボードを買い換えたのですが、すっかり最近のPC事情に疎くなっていたので、(特に CPU について) いろいろ知ることがありました。知っている人は知っているでしょうが、今回それをまとめておきます。ちなみにメモリーは PC2100 1GB 分ただ同然で譲り受け、グラフィックボードはゲームをしないので、オンボードのもので間に合わせます。DVD-R ドライブは先に買っていました。


1. Pentium 4 対応電源
まず、電源の話です。最初は電源等買い換えることになると思いませんでした。CPU とマザーボードを買ったときに店の人が「できれば 350W 以上の電源が良いですよ」と言ったのを聞き流していたのですが、その後調べると、


・Pentium 4 は以前の CPU に比べるとやたら電力を喰う。
・ATX 12V なる規格ができていて、最近の製品はこれに準拠している。

ということがわかり、電源も買い換えることにしました。昔は単品売りの電源でも 250W が主流だった気がしますが、今は最低でも 350W 、大容量のものでは 600W なんてのも普通に店に置いてあるのですね。


2. Hyper-Threading Technorogy
これは最近の Pentium 4 に搭載されている機能で、この機能を ON にすると CPU 2つ分に見えるというものです。実際に恩恵を受けるには Windows 系 OS だと XP にしなければならないのですが、現状 Windows 2000 しか持っていません。今のところ負荷の高い処理をする予定はないので、当面はこの機能は OFF で良いかと思っています。


3. CPU のステッピング
これは買った後知ったのですが、Pentium 4 3EGHz には C0、D0、E0 とステッピング (バージョン) があり、C0 は「爆熱」なので掴まされると悲劇、という情報がありました。最近の掲示板の書き込みでも、E0 は入手が難しいというような話があったので、戦々恐々としながら自分の買った CPU のステッピングを確認したのですが、無事 E0 でした。ちなみに今回入手したパーツは全て都内の BIC カメラ某店で購入しました。


4. DDR メモリーと DDR2 メモリーは互換性がない (こんなことも知らなかった…)
5. 最近は I/O シールドがマザーボードパッケージに添付されるのが一般的
6. 最近は「オーバークロックしやすい」というのがマザーボード売り文句になるらしい。
 (少なくとも昔は「EzClock 機能でリブートせずにクロックを変更できます!」みたいな宣伝文句
 も機能もありませんでした。)
自作コンピュータのアップグレードは最近のPC情報を知る良い機会ですね。
ちなみにまだ組み立てが済んでいません…

ThinkPad R40e のハードディスク換装 (苦労談編)

さて、予告通り今回はリカバリー CD を用いたリカバリーの苦労談です。HPA (リカバリー用保護エリア) を戻すのにどれだけ苦労したかを書きます。


まず、最初にインストールした時には、何故かリカバリーのできない HPA ができてしまいました。初回なので、油断していてどのような操作をやったかはっきり覚えていないのですが、コピー実行がことごとく失敗しエラーメッセージを出していた覚えがあります。具体的にどのような状態かと言うと、FWDIR コマンドで見ると “Rec Data” というエリア (PSA) があるのですが、これを FWMOUNT でドライブにマウントしても、中身がないのです。正確に言うと CC.BAT というファイルが一つのみでこれだけではリカバリーできません。
(FW~ コマンドを実行するにはリカバリーのメニューが表示されているところで、F3 キーを押してDOS のプロンプトを表示させ、実行します。FW~ コマンドについては参考 URL 参照)


ちなみにリカバリー実行時のエラーメッセージは 「”D:\COUNTRY\RECOVCC.DEF” がありません(意訳)」といってコマンドプロンプトで止まりリカバリーメニューが表示されません。


仕方ないので FWDELETE (FWDELETE ALL) を実行して、再度やり直します。このとき BIOS Security メニューの “IBM Predesktop Area” の設定は “Normal” でした。(本来 “Disabled” であるべき)


やり直したときは「Product Recovery プログラムの再インストール」メニューで「Product Recovery プログラムの再インストールをしますか?(Y/N)」”Y” と答え進んで行ったのですが、処理が進んでリブートした後、何故か再度「Product Recovery プログラムの再インストールをしますか?(Y/N)」と聞かれます。もう一度 “Y” とするとまたまたリブート後同じ質問が。そこで今度は “N” とすると先に進んで
HPA は戻せたようなのですが、”IBM Access” ボタンを押したときに表示されるメニューの項目のうち、


・”Create diagnostic disks”
・”Run diagnostics”
・”Restore your backups”
・”Recover to factory contents”


の4つがダブって2つずつ表示されています。2回 “Y” を押してしまったのがまずいようです。「実用上問題ないかも知れないけど、いまいちだよなあ…」ということで再度やり直すことに。


またまた FWDELETE しやり直します。そうすると、今度は、起動時に “Authentication of system services failed. Press to Resume” と表示され、HPA を使ったリカバリーはできない状態になりました。仕方ないので更に FWDELETE してリカバリー CD から起動しても「Product Recovery プログラムの再インストール」メニューが表示されなくなりにっちもさっちも行かなくなりました。ハードディスクが論理的に相当変な状態になってしまったようです。
ここからはいろいろ試行錯誤したのですが、そのあたりはいちいち書くと長いので割愛し結論だけ書くと、結局 “IBM Predesktop Area” を “Disabled” にして一旦 FWCREATE を実行して PSA を作成してから再度 FWDELETE することで、無事「Product Recovery プログラムの再インストール」メニューを表示することができました。FWCREATE は下のコマンドのようにかなり適当に実行しました。


> FWCREATE size=1024m id=0x8888 icon=0 flags=0 label=test


その後は前回の手順で無事 HPA リストア完了です。
何故こんなに苦労しなければならないんだか…


【前回分も合わせて参考情報】
ThinkPad X31 メモ – FW~ コマンドについて詳しい情報があります。
ThinkPad R40e (2684-42J)
Cubase VST 5 – 既に2世代ぐらい前のソフトなので Win 版の URL が見当たりませんでした。
Fedora Core

ThinkPad R40e のハードディスク換装 (リストア編)

この R40e (2684-42J)、実は Cubase VST 5 用に買ってこれをインストールし、それ以外は入れない、ネットワーク接続も基本はしない、なのでパッチも当てないという使い方だったのですが、子供の世話で Cubase などをいじる暇もなく、放置されてしまったのでした。 (子供の世話だけかい?という突っ込みは置いておいて…)


このように買ってからこれまで十分に活用できていなかった R40e だったのですが、思い立ってハードディスクを容量の大きいものに換装し、有効活用しようと考えました。具体的には 80 GB のハードディスク (に換え、以下の3つの OS を導入、現在デスクトップ PC で用いているアプリケーションを Windows XP と Fedora Core 3 の部分に持ってくるという計画です。


Windows XP (プレインストール) : 雑用
Windows 2000 : Cubase 用
Fedora Core 3 : 雑用


まず、手始めに購入済リカバリー CD を用いて Windows XP をプレインストール状態にしようとしました。リカバリー CD を購入していたので、簡単に終わるはずだったのですが、意外に苦労してしまいました。これについて書きたいと思います。


なお、話が長くなりそうなので、今回は基本知識と「正しい」リカバリーCD の用い方をお伝えし、苦労の詳細は次回にしたいと思います。


基本知識
・最近の ThinkPad はハードディスクの一部をリカバリーデータ用に隠して保護し、
 このエリアからのデータを用いて初期状態にリストアできるようになっている。
 なのでリカバリー CD は付属しない(別売りで購入可)。この保護エリアを
 HPA (Hidden Protected Area) と呼び、ここのデータから直接リカバリーする
 機能を Disk to Disk 機能と呼ぶ。
・HPA は BIOS によって保護され、通常 OS からアクセスできない (見えない)。


リカバリー CD の使い方
・BIOS により HPA の保護をはずしておきます。BIOS メニューで “Security” –

“IBM Predesktop Area” – “Disabled”。

・リカバリー CD で起動します。”Product Recovery プログラムの再インストール”
 メニューが表示されます。このメニューを進んで、再インストールを開始します。
 ”Product Recovery プログラムの再インストール” は HPA が存在しない(恐らく
 かつパーティションが存在しない)ときのみ表示され、HPA が存在すると
 ”メインメニュー” というメニューが表示されます。
・インストール完了後、再起動時に F1 を押し、BIOS メニューに入ります。
 BIOS の設定を元に戻し、一旦電源を落とします。
・再度電源を入れ、”Access IBM” ボタンを押し、表示されるメニューから

“Recover to factory contents” を選びます。

・画面が進みメニューが表示されたら F3 を押し、DOS のコマンドプロンプトへ。

fdisk でプレインストールの Windows XP 用の基本 MS-DOS 領域を作成します。

・続いて残りを拡張 MS-DOS 領域としておきます。これをしておかないと OS のリカ
 バリー中にディスク全体が C ドライブになってしまうらしいです。
・領域を設定したら一旦電源を落とします。
・電源を入れ再度 “Recover to factory contents” を選び今度は OS のリカバリー
 を開始します。
・リカバリー処理中1回目の再起動時に一旦電源を落とします。これをしないで電源
 入れっぱなしだと、”Windows 製品のライセンス認証” 画面になってしまい、先に
 進めなくなりました。
・電源を入れるとリカバリー処理が続行されます。


これで C ドライブの容量を任意に設定したプリセット環境ができあがります。


なお、ネットにはリカバリー CD を使わない手順がいろいろな方々の手によって
公開されています。こちらの方法を採用するのが大多数のようです。