前回の予告通り、今回はSGIマシンを紹介します。SGIマシンも最近は中古市場で良く見掛けるようになりました。マシンの入手方法からはじめて、IRIXのインストールまでを解説していきましょう。
この記事をお読みになる方で、SGIマシンについて知らないという方はいらっ しゃらないと思いますが、簡単に紹介をしておきましょう。
SGIマシンはSilicon Graphics Inc.ことSGIが販売している、いわずと知れたグラフィックワークステーションで、CPUとしてはPlayStation 2などと同じ MIPS系のものを採用しています(注1)。
企業などではイメージ処理アプリケーションを動かす専用マシンとして利用されている形態が多いと思いますが、大学などでは汎用のUNIXマシンとしても利用されていることも、それなりに多いようです。
SGIマシンのハードウェアに関する情報は、SGI社のWebページからも入手できますが、サポートが終了した古いマシンの情報はほとんどないため、インターネット上の各種リソースを参照した方がよいでしょう。
ここでは、比較的情報がまとまっている日本語のサイトとして
を紹介しておきます。
筆者が知る限りSGIマシン上では以下のようなOSが動作します。
手元に余っているSGIマシンがない場合は、まずマシンを入手しないと話が始まりません。数年前まではそこそこ高価だったSGIマシンですが、現在はかなり安く入手できます。現在のところ、新規にSGIマシンを入手する方法としては、大きく以下の3つがあります。
1は価格面から論外として、SGIマシンに関しては秋葉原などでも常時在庫がありますし、インターネットオークションでもそれなりに出品がありますので、モノを選ばなければ、入手に困ることはないでしょう。
4もはっきりいって割高な上、かなり品薄ですが、どうしてもサポートが欲しいといった場合などは考慮する価値があるかも知れません。
中古ショップなどでよく見掛けるSGIマシンの代表的なものを表1に示します。ここでは性能面についてはあまり考慮していないのでまとめてしまっていますが、CPUスペックやグラフィックカードなどでさまざまなバリエーションがあり、価格もさまざまですので、注意して下さい。特にIndyやIndigo2には多種多様なバリエーションがあります。
機種名 | 大きさなど | CPU | アーキテクチャ | メモリ | ディスク |
---|---|---|---|---|---|
Indy | 薄型 | R4000PC - 100MHz 〜 R5000SC - 180MHz | IP22 | 72p (最大256MB) | 50pin Fast SCSI-2 |
Indigo2 (Indigo2 IMPACT) | 大型 | R4000SC - 100MHz 〜 R4400SC - 200MHz | IP22 | 72p (最大384MB) | 50pin Fast SCSI-2 |
Indigo2 / POWER Indigo2 (Indigo2 IMPACT) | 大型 | R8000 - 75MHz 〜 90MHz / R10000SC - 175MHz 〜 195MHz | IP28 | 72p (最大 640MB or 1GB?) | 50pin Fast SCSI-2 |
O2 | 箱型 | R5000PC - 180MHz 〜 R10000 - 195MHz / R10000SC - 175MHz | IP32 | 独自(ECC SDRAM DIMM 278pin) (最大1GB) | SCA Ultra Wide SCSI |
Octane | 箱型 | R10000 - 175MHz 〜 R12000 - 300MHz | IP30 | 独自? | Ultra SCSI |
Indigo2はかなり大型ですので、スペースに余裕がある人以外は避けた方が無難でしょう。世代的にはO2やOctaneがIndyやIndigo2よりも1世代新しいため、価格差を考慮しても狙い目といえるかも知れません。
ただし、これらの新しい機種ではディスクやメモリがPCとは異なる規格になっているため、パーツの入手が難しくなります。またOctaneあたりになると発熱と騒音が家庭で許容できるレベルを越えていますので(^^;、そのあたりも悩ましいところだと思います。
なお、今回は紹介しませんが、NetBSDやLinuxといったOSを動かす場合は、IndyやIndigo2の方が安定しています。いろいろ書きましたが、とりあえず
というあたりの選択になると思います。
入手したSGIマシンにディスクやメモリの増設を行いたい場合も多いと思います。前述したようにIndyやIndigo2については、メモリ、ディスクともに標準的なパーツを利用しているため、それほど入手に困ることはないでしょう。
O2以降のマシンについても、SCAのディスク自体は秋葉原などで比較的安く売られていますので、何とかなると思います。問題はメモリで、専用規格のため専用の製品を購入するしかありません。中古ショップでも売られていますが、それなりの価格がしますので、本体の購入時に予めメモリについても考えておいた方がよいでしょう。
キーボード、マウスについてはPC用のものが流用でき、切替え機経由での利用も可能です。
ディスプレイについては注意が必要です。まずコネクタの物理形状は古いSunと同様の13W3という規格のコネクタになっていますので、PC用のディスプレイを利用する場合は、2,500程度で売られている13W3からVGAへの変換コネクタを利用する必要があります。また出力がSync on Green(注3)のため、対応したディスプレイや切替え機を利用しないと物理的に接続できても表示が行なえません。
Sync on GreenについてはPCでは無関係な機能のため、ディスプレイの仕様書を丹念に確認する必要があります(注4)。
なお、Indyや古いIndigo2ではCD-ROMが内蔵されていないため、OSのインストールを行なう場合はCD-ROMドライブを別途調達する必要がありますが(注5)、これが意外と厄介です。基本的にはSCSIのCD-ROMであればよいのですが、いろいろ癖があるようで、読み書きはできてもOSインストールには利用できないものが多いようです。SGI純正品と同じ東芝製のものであれば比較的問題が少ないようですので、中古ショップなどで幾つか調達しておくとよいでしょう。
毎度同じ言葉の繰返しになってしまいますが(^^;(注6)、可能であれば新たなマシンとして再生させる意味でも、OSを再インストールしたいところです。
前述したように、SGIマシンに搭載可能なOSは、デフォルトのIRIX以外にLinuxなどフリーのOSが幾つかあります。とはいえ、Linuxをインストールしてしまっては、ただのLinuxマシンになってしまいますので、ここではIRIXについてのインストール方法と環境構築について解説していきます。
前回同様、SGIに対して中古品の利用に関する方針を確認しました。その結果
という回答を頂いていますので、とりあえずはOKといったところでしょうか。
なお新規にライセンスを購入する場合は、定価(税別)で147,000円とのことでした。
IRIXのメディアを確保したら、早速インストールを行ってみましょう。以下、筆者が所有しているIRIX 6.2を例にとって具体的なインストール方法を解説しますが、IRIXのインストール自体は機種やバージョンによる違いはほとんどない筈ですので、他のバージョンであっても同様の方法でインストールが可能だと思います。
OSのインストールに最低限必要なメディアは、CDに「IRIX 6.2」と書かれたもの2枚になります。IRIXには多数のCD-ROMが含まれていますが、各CD-ROMにはSequence No.という番号が振られていて、番号の小さいメディアから順に差し替えていくことでインストールが完了するようになっています。IRIX 6.2では、OSのメディアの番号は、それぞれ200と201になっています。
それでは、早速IRIXのインストール開始、といきたいところですが、IRIXのインストーラは予めディスクのパーティションが作成が行なわれていることを前提としているため、以前IRIXで利用していたディスクを再利用する場合を除き(注7)、インストール開始前に予めパーティションを作成しておく必要があります(注8)。
bootfile not set, using default. dks0d1s8: volume header not valid. swap partition(0) is not a valid swap area. Press <Enter> to return to the menu:
図9: パーティションが存在しないディスクにインストールしようとした際のメッセージ
別のIRIXマシンがある場合は、そちらのマシンにディスクを接続してパーティション作成を行なうのが簡単ですが、ここではSGIマシンが1台でも可能な方法を紹介します。
まずは、マシンを起動します。起動途中に「Starting up the system...」というダイアログが表示されている時に、右下の「Stop for Maintenance」というボタンを押すと現われる図10の画面から「Enter Command Monitor」を選択してプロンプトを表示させます。
図10: メニュー画面
ここでhinvと入力することで、図11のように接続している機器の一覧や、そのデバイス名が表示されますので、それらをメモしておいて下さい。
図11: hinv の実行結果
次に1枚目のOSのCD-ROM(Sequence No. 200)を挿入した上で、図12のようにしてfxというフォーマッタを起動します(注13)。
boot -f dksc(0,6,8)sashARCS dksc(0,6,7)stand/fx.ARCS ~ ~ ~ ~ ← CD-ROMのSCSI ID
図12: フォーマッタの起動
無事fxが起動したら、ディスクのパーティション作成を行なってください。図14は、安直にすべて自動で行なう際の操作になります。もちろんautoコマンドの代わりに手作業でパーティションの作成を行なっても構いません。
>> boot -f dksc(0,6,8)sashARCS dksc(0,6,7)stand/fx.ARCS ... Do you require extended mode with all options available? (no) yes ← extended mode を選択すること ... fx: "device-name" = (dksc) [enter] fx: ctrl# = (0) [enter] fx: drive# = (1) 1 [enter] ... ----- please choose one (? for help, .. to quit this menu)----- [exi]t [d]ebug/ [l]abel/ [a]uto [b]adblock/ [exe]rcise/ [r]epartition/ fx> auto ← 自動で設定を行なうオプション ... about to destroy data on disk dksc(0,1,0)! ok? y ... ----- please choose one (? for help, .. to quit this menu)----- [exi]t [d]ebug/ [l]abel/ [a]uto [b]adblock/ [exe]rcise/ [r]epartition/ fx> exit ← fx を終了させる
図14:フォーマットの様子
なお機種やバージョンによって多少メニューが異なります。
パーティション作成が完了したら、fxを終了します。図10の画面に戻りますので、ここから「Install System Software」を選択してIRIXのインストールを開始します。
「Install System Software」という画面で、どこからインストールを行なうか聞かれますが、通常は「Local CD-ROM」を選択して「Insert the Installation CD-ROM now.」という画面で「Continue」を押せば良いでしょう。「Copying Installation tools to disk」というダイアログがでてスワップパーティションにミニルートをインストール後、いよいよインストールが開始されます。
fxで新規にパーティションを作成したディスクの場合は、ここでフォーマットが行われますので、図15を参考にして処理を行っていってください。
IRIX Release 6.2 ... Make new file system on /dev/dsk/dks0d1s0 [yes/no/sh/help]? yes About to remake (mkfs) file system on: /dev/dsk/dks0d1s0 This will destroy all data on disk partition: /dev/dsk/dks0d1s0. Are you sure? [y/n] (n): y Do you want an EFS or an XFS filesystem? [efs/xfs]: xfs Block size of filesystem 512 or 4096 bytes? 4096 Doing: mkfs -b size=4096 /dev/dsk/dks0d1s0 ...
図15: IRIXのインストール
以下、基本的には Enter を押してデフォルト値をそのまま受け入れていって構いません。
最終的に図16のような「Inst Main Menu」が現れます。
Inst Main Menu 1. from [source] Specify location of software to be installed (省略) 11. admin ... Go to the Administrative Commands Menu 12. quit Terminate software installation Inst> go ← go を入力する
図16: Inst Main Menu
なお、既にフォーマット済のディスクの場合は、「Copying Installation tools to disk」というダイアログが表示された後、そのまま待っていると「Inst Main Menu」の画面が表示されます。
ここで単に「go」もしくは「inst default」を選択することで、標準的な構成で実際のインストールが始まります(注17)。
しばらくすると、インストールが完了して「Inst>」というプロンプトが現れますので、更に図18のようにSequence Np. 201の2枚目のCD-ROMに差し替えてインストールを続行します。
To install from another CD, change the CD in the drive and enter command "from". Inst> from Previous Installation sites: 1 /CDROM/dist 2 none (no distribution, view installed products) 3 quit (no action) Install software from:[/CDROM/dist] [return] Reading distribution .. 100% Done. Checking dependencies .. 100% Done. Calculating sizes .. 100% Done. Inst> go
図18: 2枚目以降のCD-ROM
多少時間が掛かりますが、最終的にはインストールが完了して、「Inst>」というプロンプトに戻ります。「exit」を入力してインストーラを終了させて下さい(注19)。
再起動して良いかを聞いてきますので、図20のように「y」を入力して下さい。
Ready to restart the system. Restart? { (y)es, (n)o, (s)hell, (h)elp }:
図20: インストールの完了
正常にインストールが完了していれば、再起動後IRIXが起動する筈です。途中ネットワーク設定が完了していないことを示すウインドウが表示されますが、とりあえず無視して下さい。最終的にログイン画面が現れますので、root でログインしてみましょう。
デフォルト状態ではパスワードは設定されていません。図22のような画面が現れたら、インストール完了です。
図22: IRIXのデスクトップ
ここまででOSのインストールは一通り終りましたが、ネットワークの設定などは、まだまだほとんど行なわれていませんので、引き続き設定を行なっていきましょう。
基本的に、IRIXでは画面の右上にある図23のようなツールチェスト(ToolChest)というメニューの「System」から起動する図24のような「System Manager」を利用して管理作業を行います。
図23: ツールチェスト
図24: IRIX 6.5のSystem Manager
図24-2: IRIX 6.2のSystem Manager
IRIX 6.5では、大半の設定がここから行えるのでよいのですが、筆者の手元にある古いIRIX 6.2などでは、特にネットワーク回りの設定項目が不十分で結局ファイルを直接修正したり、コマンドを直接実行したりする必要があります。そのため、以下こうした古いIRIXを利用する際の便を考慮して、IRIX 6.2をベースにGUIを利用しない設定方法を解説します。なお更に古いIRIX 5.3などの場合もほぼ同様の手順で操作ができるはずです。
IRIXのデフォルト設定は、セキュリティがかなり甘いため、ネットワーク接続前に最低限以下で説明する設定は行うようにしてください。なおIRIX 6.5ではGUIからもこれらの設定をおこなうことが可能です(注25)。
まずは何はともあれパスワードの設定です。IRIXの場合デフォルトでrootアカウントがパスワードなしですので、まずはパスワードを設定して下さい。また図26のようにして/etc/passwdを確認すると、パスワードのない一般ユーザのアカウントが幾つか存在します。
$ cat /etc/passwd | grep :: lp::9:9:Print Spooler Owner:/var/spool/lp:/bin/sh nuucp::10:10:Remote UUCP User:/var/spool/uucppublic:/usr/lib/uucp/uucico EZsetup::992:998:System Setup:/var/sysadmdesktop/EZsetup:/bin/csh demos::993:997:Demonstration User:/usr/demos:/bin/csh OutOfBox::995:997:Out of Box Experience:/usr/people/OutOfBox:/bin/csh guest::998:998:Guest Account:/usr/people/guest:/bin/csh
図26: パスワードのないアカウントの確認
これらのアカウントに付いては、パスワードを設定するか、/etc/passwdファイルを直接図27のように修正して、アカウントのログオンを禁止するようにして下さい。
guest:*:998:998:Guest Account:/usr/people/guest:/bin/csh ~ ← パスワード欄に「*」を設定する。
図27: アカウントのログオンを禁止する
IRIXのデフォルトでは、shadowパスワードが利用されていないため、システムにログインできるユーザは誰でも暗号化されたパスワード文字列を確認できます。このパスワード文字列は、最近のマシンの性能だと簡単に解析を行なわれてしまいますので、セキュリティ上危険です。
#pwconv
のようにpwconvコマンドを実行して、shadowパスワードの設定にしておくことを強く推奨します。なお、pwconvコマンドを実行すると、ログインすることができないアカウントまでもが図xx21の画面に現れてしまいますので、図27のように、改めて/etc/passwdのパスワード欄を「*」にしておいてください。
IRIXのデフォルトでは、ネットワーク上からrootアカウントでログインすることが可能ですが、セキュリティ上は好ましくありません。これを禁止するには、Solarisなどと同様に、/etc/default/login ファイル中の
CONSOLE=/dev/console
という行を有効にしてください(注28)。それ以外にも幾つかのオプションが設定可能です。詳細はlogin(1)のマニュアルページを参照して下さい。
IRIXには、一般的なuseraddコマンドがありません。アカウントの作成や削除といった作業は、直接/etc/passwdや/etc/shadowといったファイルを修正するか、GUIのSystem Managerから行う必要があります(注29)。
次にいよいよネットワークの設定です。IRIXのネットワーク関連の設定は、全体的に昔のままのため、これが意外と面倒です(注30)。
なお、筆者の手元にはIRIX 6.5とIRIX6.2のマシンとがあるのですが、両者ではGUIから操作可能な設定がかなり異なっています。IRIX 6.5では「System Manager」の「ネットワークの設定の変更」メニューから大半の設定を行うことが可能ですが、IRIX 6.2ではコマンドラインでの作業が欠かせません。
初期状態のIRIXは、IRISというホスト名でIPアドレスは192.0.2.1に設定されています。このIPアドレスの場合、IRIXは「standalone mode」という特殊な状態になっていて、外部からのIPアクセスは一切できないようになっています。なお、DHCPサーバが存在する時は、DHCPサーバからIPアドレスを取得しますが、IRIX 6.5.15までは、IPアドレスやホスト名など一部のオプション以外は取得は可能なもののOSの設定に反映されないという中途半端な仕様になっていますので(注31)、
#chkconfig autoconfig_ipaddress off
と入力して、DHCPによる自動設定を無効にしてから静的に設定を行なっていくのが簡単でしょう。
domain <ドメイン名> nameserver <DNSサーバのIPアドレス>という基本的な設定だけで充分でしょう。詳細はresolv.confのマニュアルページを参照して下さい。
$ROUTE $QUIET add -net default <デフォルトゲートウェイのIPアドレス>と書き込むことで起動時にデフォルトゲートウェイが有効になります(注32)。
IRIX 6.2以前では自分で図33のような/etc/init.d/network.localという名前のスクリプトを作成して(注34)、
#! /bin/sh case "$1" in 'start') /usr/etc/route add -net default <デフォルトゲートウェイのIPアドレス> ;; 'stop') /usr/etc/route delete -net default <デフォルトゲートウェイのIPアドレス> ;; *) echo "Usage: $0 {start|stop}" ;; esac
図33: network.local
#ln -s /etc/init.d/network.local /etc/rc0.d/K39network #ln -s /etc/init.d/network.local /etc/rc2.d/S31network
のようにリンクを行なっておく必要があります。
また、デフォルトでは動的ルーティングのためのroutedというプログラムが動いていますが、通常利用しませんので、以下のようにして停止させておいたほうがよいでしょう。
#chkconfig routed off
#TZ=PST8PDT ← コメントにする TZ=JST-9 ← この行を追加
日常的にIRIXを利用していく上で、これだけは知っていた方がよいという点を幾つか説明します。IRIXも基本的にはSolarisなどと同様のSystem V系UNIXですので、ここでは一般的なUNIX管理との共通点は省略して、IRIX特有の注意事項のみに解説を絞りました。
IRIXでは、Linuxと同じchkconfigというコマンドで、マシン起動時に各種サービスを起動するかを制御します(注36)。単にchkconfigと実行すると、図35のように現在の状態が表示されますので不要なサービスは停止させるようにしてください。
# chkconfig Flag State ==== ===== autoconfig_ipaddress off desktop on (中略) windowsystem on xdm on # chkconfig autoconfig_ipaddress off ← IPアドレスの自動構成を無効にする
図35: chkconfigコマンドの実行例
IRIXの場合、パッケージのインストールは図37のような「Software Manager」というGUIツールから行うのが簡単です。SGI社のCD-ROMの場合は、CD-ROMを挿入した上で、インストール元を「/CDROM/dist」を参照することで、CD-ROM中に含まれるパッケージの一覧が表示されますので、後は必要なパッケージをインストールすることが可能になっています。
図37: Software Manager
基本的には画面にある「Default Intallation」を選択すればよいですが、「Customize Installation」を選択してインストールするパッケージを細かく選択することも可能です。
なお、同様の機能を持つコマンドとして「inst」というものがあります。-f オプションをつけてと入力することで図xx13と同じ画面が表示されますので、以下GUIの場合とほぼ同様にしてインストールを行なうことが可能です。
#inst -f <インストール元のディレクトリ>パッケージが存在するディレクトリ> ... Inst Main Menu 1. from [source] Specify location of software to be installed 2. list [keywords] [names] Display information about software subsystems 3. go Perform software installation and removal now 4. install [keywords] [names] Select subsystems to be installed 5. remove [keywords] [names] Select subsystems to be removed 6. keep [keywords] [names] Do not install or remove these subsystems 7. step [keywords] [names] Interactive mode for install/remove/keep 8. conflicts [choice ...] List or resolve installation conflicts 9. help [topic] Get help in general or on a specific word 10. view ... Go to the View Commands Menu 11. admin ... Go to the Administrative Commands Menu 12. quit Terminate software installation Inst> inst default ← デフォルトのインストールを行なう
IRIXのパッチは、他の商用UNIXと同様、入手にサポート契約が必要なものとセキュリティ関連のパッチを中心とした誰でも入手可能なものとに分かれています。
パッチの一覧は Supportfolio Online (注38)から検索することが可能で、個別のセキュリティパッチについては、SGIのftpサイト(注39)から入手することも可能になっています。
IRIX 6.4以前のパッチについては、個別のパッチを取得する他、PacthSetという形で取得することが可能です(注40)。
ただし、SGI社のサポートポリシ上(注41)、セキュリティホールの問題であったとしても、1年以上前にリリースされたプロダクトのリリースについては原則として対応が行なわれないため、IRIX 6.4以前のセキュリティが要求される場面での利用は、避けざるを得ないでしょう。
IRIX 6.5については、Maintainance Releaseという形で随時セキュリティの修正を含むOSのマイナーリリースが行なわれており、記事執筆時点での最新版はIRIX 6.5.16となっております。Supportfolio Onlineの登録(無償)(注42)を行なっておけば無償でダウンロード出来ますので、IRIX 6.5を利用しているのであれば、是非入手しておきたいところです。
IRIX上でもさまざまなフリーソフトウェアがパッケージ化されています。
SGIが運営する SGI Freeware (http://freeware.sgi.com/) よりそれぞれ
からインストールすることが可能です。ソフトウェアはtar形式になっていますので、展開した上、Software Managerで展開したディレクトリをインストール元として指定することでインストールが可能です。/usr/freeware以下の各ディレクトリにインストールされますので、適宜パスを通しておいて下さい。
その他 SGI Anonymous FTP list (http://www.hendersonzone.net/bill/sgi/)にリンクされている各種サイトからも、さまざまなパッケージが取得可能です。
また、フリーソフトウェアではありませんが、IRIX版のJVMやNetscape Communicatorなど、無償で利用できるソフトウェアがSGI社のDownload Cool Software (注43)で公開されていますので、こちらも一通り確認しておくとよいでしょう。
最後に開発環境について触れておきます。IRIXの場合、デフォルトではコンパイラはおろか、ヘッダファイルなどもインストールされていない場合があります。そのためコンパイラをインストールする前に、まずはヘッダファイルなどをインストールする必要があります。
IRIX 6.5以降ではOSに同梱されていますが、それ以前のOSではバージョンに応じて、
からたどれる
から自分のOS用のものをダウンロードの上インストールする必要があります。なおIRIX 5.3のものにはコンパイラも付属していますが、IRIX 6.2以降のものにはコンパイラは付属していないため(注44)、別途gccなどをインストールする必要があります。