前回まではAlphaマシンについて紹介を行いました。Alphaマシンに関しては、まだまだ話したりないところもあるのですが、今回は趣向を変えて、最近中古ワークステーション市場でも見掛けることが多くなったHPマシンについて紹介したいと思います。
HPマシンの入手方法から始めて、hp-uxのインストールまでを説明していきましょう。
簡単にHPマシンの紹介をしておきましょう。
HPマシンはHewlett-Packard(以下業界の慣習に沿ってHPと略します)社が製造、販売を行っているPA-RISCというCPUを搭載したマシンで、現在はNEC、日立等にもOEMされています。
元々がCAD専用マシンのApollo Domainなどを吸収合併して大きくなってきた経緯もあってCAD専用マシンとして利用されている他は、非常に大規模なシステムのサーバ機や端末という形で、業務システムの一部に組み込まれて利用されている例が多いように感じます。
販売自体もいわゆる「売りきり」は一切行わず、基本的に「保守契約(注1)」を前提とした体系となっているため、個人ユーザは全く考慮されていないといってよいでしょう。そのため、商用UNIXハードウェアの業界ではSunと並んで双壁と称される割には、あまり一般のUNIXユーザの方には馴染みがないかも知れません。
そうした事情もあってか、古くなっても何かと潰しがきくSunのワークステーションと異なり、研究室などでも持て余している例が多いようです。HPマシンに関する情報は、HP社のWebページ(注2)からも入手できますが、
http://www.jpn.hp.com/biz/products/manual/index.html (日本語)
http://docs.hp.com/hpux/hw/ (英語)
古い機種の情報
古い機種の情報については、以下のthe parisc projectのページ(注3)にあるシステム一覧を参照するのが良いでしょう。
技術情報やパッチ等については、以下のURLから参照できるITリソース・センタより入手可能です。保守契約がない場合でも無償のアカウントを作成することである程度の部分は参照することが可能です。
筆者が知る限りHPマシン上では以下のようなOSが動作します。
手元に余っているHPマシンがない場合は、まずマシンを入手しないと話が始まりません。数年前まではHPマシンの中古はほとんど市場に流通しておらず、入手すること自体が困難でしたが、ここ数年急に流通するようになりました。
現在のところ、新規にHPマシンを入手する方法としては、大きく以下の4つがあります。
1は論外として(注4)(^^;;、2についてもHP社に問い合わせたところ、大体1世代前のマシンが定価の3割引き程度ということですので、保守契約などの価格を考えますと一般のユーザが購入できる金額ではないでしょう。HPマシンについてはオークションへの出品もそれほど多くはないので、3の方法での入手を検討するのが妥当だと思います。
筆者が中古ショップなどでよく見掛けるHPマシンの代表的なものを表5に示します。
機種名 | 大きさ | CPU | ディスクI/F(メイン/サブ) | メモリ |
---|---|---|---|---|
HP9000 712/xx | 薄型 | PA-RISC 7100LC | SE | 独自 |
HP9000 715/xx | 大型 | PA-RISC 7100(LC) | SE (FWD/SE) | 独自 |
HP9000 735/xx | 大型 | PA-RISC 7100(LC) | FWD/SE | 独自 |
B132L / B160 | 小型 | PA-RISC 7300LC | FWD/SE | ECC EDO DIMM(独自?) |
B132L+ / B180 | 小型 | PA-RISC 7300LC | UWS/SE | ECC EDO DIMM(独自?) |
C100 / C110 | 大型 | PA-RISC 7200 | FWD/SE | ECC SIMM(独自?) |
C132L / C160L | 大型 | PA-RISC 7300 | FWD/SE | ECC SIMM(独自?) |
(*)FWD = Fast Wide Differential / SE = Single End / UWS = Ultra Wide Single End の略です
これ以外の機種や、対応しているOSなどの詳細情報については http://www.openpa.net/systems/ を参照してください。
HPマシンの難点の一つに「巨大」で「重い」ということがあります。715シリーズとCシリーズは基本的に横置きのデスクトップマシンですが、大きさ自体はミドルタワー以上ある上、かなり重いですので、はっきりいって日本の一般家庭では厳しいと思います。712シリーズは小スペースではあるのですが、さすがに古いので性能的にはかなり厳しいものがあります。比較的小スペースで性能もそこそこのB132などのBシリーズという系列が狙い目でしょう。
価格については、表5に示した機種であれば大体10000円から40000円以下で入手することができると思います。
入手したHPマシンにディスクやメモリの増設を行いたい場合も多いでしょうが、HPマシンの場合、メモリ、ディスクともに一般的でないものを利用している場合が多いので、注意が必要です。
メモリは特に問題で、ECC SIMMについては、中古ショップやオークションで、そこそこの頻度で出品されていますが、独自仕様のメモリについてはオークションで稀に出品される他は、事実上入手は期待できないでしょう。
メモリ程ではありませんが、ディスクの入手も問題です。表5に示したHPマシンのほとんどは、メインの内蔵ディスクのインタフェースがFast Wide Differentialという規格になっています。この中でも特に曲者なのは電気特性を示すDifferentialになります。
実は通常のPCやワークステーションで用いられるSCSIは、ほぼすべてSingle Endという電気特性のものです。Differentialの方が品質は良いのですが、高価なためほとんど普及していません。更に物理形状がWide SCSIの68pinコネクタになっているのも問題です。そうでなくてもDifferentialのディスクはサーバ用で高価かつ一般にほとんど販売されていない上、現在販売しているDifferentialディスクはほぼ例外なく80pinコネクタのSCAになっています。中古のWide Differentialのディスクを見付けるには地道に秋葉原などを歩き回るしかないと思います。ただし、どうしてもディスクの調達ができない場合は、内蔵CD-ROM用のSingle-End SCSIのケーブルを無理矢理延長して通常のディスクを接続するか、外付のSingle-Endのコネクタに外付ディスクを装着することで、とりあえず通常のディスクの接続が行えますので、ディスクに関しては最悪何とかなります。
表5にあげた機種のCD-ROM、キーボード、マウス、ディスプレイについては通常のPC用のものが利用でき、PC用の切替機経由で利用することも可能です(注6)。
ただし、古いサーバ機などでは、そもそもディスプレイのコネクタ自体が存在しない機種もありますので(注7)、特にサーバ機を購入する場合は注意した方がよいでしょう。
入手したら、早速機器をつないで起動してみましょう。前述したようにPC用のキーボード、マウス、ディスプレイを接続しても良いのですが、他のワークステーションと同様、キーボードが接続されていない場合は、自動的にCOM1がコンソールとなりますので、シリアル接続を行なうことも可能です(注8)。実際に作業を行なう場合は普通にディスプレイを接続した方が何かと便利ですが、画面イメージなどを取得する関係上、本の記事ではシリアル経由で接続を行なっています。
接続が終ったら、早速電源をいれましょう。画面に図9のような起動画面が表示されれば、とりあえず動作確認成功です。この画面から、CPUのクロックや、搭載メモリ量など各種の情報を確認できます。
図9: HPマシンの起動画面例
Firmware Version 1.3 Duplex Console IO Dependent Code (IODC) revision 0 ------------------------------------------------------------------------------ (c) Copyright 1990-1996, Hewlett-Packard Company, All rights reserved ------------------------------------------------------------------------------ Processor Speed State CoProcessor State Cache Size --------- -------- --------------------- ----------------- ---------- 0 120 Mhz Active Functional 256 KB Central Bus Speed (in mhz) : 120 Available Memory (bytes) : 67108864 Good Memory Required (bytes): 16535552 Primary boot path: core.FWSCSI.6.0 Alternate boot path: core.SCSI.6.0 Console path: GRAPHICS3 Keyboard path: core.PS2 Processor is booting from first available device. To discontinue, press any key within 10 seconds. (以下略) 画面から CPUクロックが120MHz、搭載メモリが64MBであることなどが読みとれます。
すでにインストールされていたOSをそのまま利用するという手もありますが、可能であれば新たなマシンとして再生させる意味でも、OSを再インストールしたいところでしょう。
HPマシンに搭載可能なOSは、デフォルトのhp-uxを始めとして幾つかあります。特にLinuxはHP社自身が積極的に支援していることもあって、多機種に対応しており、Debian などHPマシン用のバイナリを用意しているディストリビューションもあります。とはいえ、Linuxをインストールしてしまっては、ある意味ただのLinuxマシンになってしまいますので、今回はhp-uxのインストールとこれだけはやっておきたいという環境構築について解説していきたいと思います。
なおOSのインストール先として、2GB程度のディスクが必要です。頑張れば1GB程度のディスクでも何とかインストールできますが、その場合はインストールする際に細かい作業が必要になりますので、ここでは解説しません。
まずは、hp-uxのライセンスとメディアの調達です。HPマシンの場合、基本的にハードウェアの新規購入時には必ずOSのライセンスも付属しています。
メディアについては保守契約が継続している限り、サポートされている任意バージョンのものが入手できます。本原稿の執筆時点では、サポートされているバージョンは10.20、11.00、11iですが、10.20のサポートは2002年6月いっぱいですので、今からインストールするのであれば、基本的に11.00以上になるでしょう。
中古品を購入する場合、必ず問題となるのがOSのライセンスになります。そこでOSのライセンスに関してHP社の方に問い合わせてみましたところ、以下のような回答を頂きましたので、HP社の了解を頂いて原文のまま掲載致します。
Q1. 中古販売店、オークション等で購入した製品の活用事例を紹介して良いか(転売を公式には認めないスタンスなのかどうか)
A1. 弊社では特に転売を公式に認めていない事はありません。公式に認めている訳でも
ありませんが、基本的には問題ないと考えています。ただし、弊社開発のOSについてです。
Q2. 購入したマシンにOSが付属していた場合、使用しつづける事は問題ないか
A2. 問題ありません。
Q3. マシンにOSが付属していない場合、OSの入手方法としてどのような形態がのぞましいのか
A3. 弊社販売代理店などにお問い合わせ頂く事になります
現在販売しているのはサーバとワークステーションをあわせると以下の三つになります。
とりあえず、中古品のOSを使い続けることに関してはOKが出たので、安心して利用ができます。また気になるのは、A3の関連で販売代理店経由で購入する際の価格になりますが、これについても「9万円(要問い合わせ)」という回答を頂きました。
個人で購入するにはやや高いことは否めませんが、Windows 2000 Serverなどと比較すれば、特に高い価格ではないでしょう。実際の購入に当たっては、ライセンスの取得代行を行っているところ(注10)もありますので、そちらに相談する手もあります。
コラム: HPマシンの起動メニュー HPマシンの起動メニュー(注11)には本文で紹介した以外にも知っておくと便利なコマンドが幾つかあります。知っておくと便利なコマンドを幾つか紹介しておきましょう。
注11: 実際のhp-uxが起動するまでのプロセスはPDC、ISL、hpuxという3段階からなっていますが、ここでは説明しません。詳細についてはpdc(1M)、isl(1M)、hpux(1M)といったマニュアルページなどを参照して下さい。
|
hp-uxのメディアを入手したら、早速インストールを行ってみましょう。
以下、筆者がインストール可能なhp-ux 11.00を例にとって具体的なインストール方法を解説します。もっともhp-uxのインストール方法自体はバージョンによる差異はほとんどありませんので、他のバージョンであっても同様の方法でインストールが可能な筈です(注12)。
OSをインストールするには、
To discontinue, press any key within 10 seconds.
と画面に表示されている時点で何かキーを押してブート処理を中断させます。
「Main Menu Enter command or menu」というプロンプトが現れますので、ここで「SEA」と入力してください(注13)。「SEA」はsearchの略で起動可能なデバイスの一覧が検索されます。
ここでCore OSという印刷があるメディアを挿入したCD-ROMドライブを選択して、bootコマンドを発行ます。IPLで作業を行なうかという質問にNを入力することで、CD-ROMからの起動が開始されます。なお、入力するコマンドは大文字小文字いずれでも構いません。詳細は図14を参照してください。
図14: hp-uxのインストール開始
To discontinue, press any key within 10 seconds. ← 何かキーを押す Boot terminated. ------- Main Menu ------------------------------------------------------------- Command Description ------- ----------- BOot [PRI|ALT|%lt;path>] Boot from specified path PAth [PRI|ALT|CON|KEY] [%lt;path>] Display or modify a path SEArch [DIsplay|IPL] [%lt;path>] Search for boot devices COnfiguration menu Displays or sets boot values INformation menu Displays hardware information SERvice menu Displays service commands DIsplay Redisplay the current menu HElp [%lt;menu>|%lt;command>] Display help for menu or command RESET Restart the system ------- Main Menu: Enter command or menu > sea Searching for potential boot device(s) This may take several minutes. To discontinue search, press any key (termination may not be immediate). Path Number Device Path Device Type --------------------------------------------------------------------------- P0 core.FWSCSI.6.0 SEAGATE ST32171W P1 core.SCSI.2.0 TOSHIBA CD-ROM XM-5901TD Main Menu: Enter command or menu > bo P1 Interact with IPL (Y or N)?> n Booting... Boot IO Dependent Code (IODC) revision 0 HARD Booted. ISL Revision A.00.38 OCT 26, 1994 ISL booting hpux (;0):INSTALL Boot : disk(8/16/5.2.0.0.0.0.0;0):INSTALL 6541804 + 409600 + 286144 start 0x1df6e8 (以下略)
少しすると、キーボードの選択画面が出ます。キーボードのタイプや好みに応じて
などを選択するとよいでしょう。 なお筆者の環境だけかもしれませんが、これ以降のインストールではキーボードからEnterキーが押せず、代わりにCtrl+mを押していく必要がありました(注16)。図15のように確認の画面が現れますので、再度Enterを押して次に進みます。
図15: キーボード入力時の確認画面
Enter the number of the language you want: 46 You have selected the keyboard language PS2_DIN_US_English. Please confirm your choice by pressing ENTER or enter a new number: >Enter<
引き続いて、インストールを行なうのかインストール済システムを行なうのかを選択する画面(図17)が現れますので、当然「Install HP-UX」を選択します。
図17: インストール開始画面
以下、基本的にはTABキーを押してメニューを選択し、矢印キーでメニュー中のアイテムを選択して、Enterもしくはスペースを押して確定という操作を繰り返してインストールに必要な設定を行っていきます(注18)。順に説明を行っていきましょう。
図19: Advanced Modeのインストール画面
ここではファイルシステムの形式を
の中から選択します。LVMを利用すると、パーティションを利用したり、複数のディスクを仮想的に1つのディスクとして扱ったり、後からパーティションサイズを増減させたりすることが可能です。またVxFS(Veritas File System)を利用すると、4GB以上のファイルが扱えたり、耐障害性に優れたジャーナリング機能が利用可能になるなどのメリットがあります。
しかし、ディスクが1つしかなく、ディスク容量も少ない環境では、細かくパーティションを分けたりする必然性も低いと思いますので、ここでは一番簡単な「Whole disk (not LVM) with HFS」を選択した場合を想定して説明していきます。必要であれば、LVMを利用してパーティション設定を行なってください。別のUNIXでパーティション分割を行なった経験があれば、やること自体はほぼ同等ですので、それほど難しくはないでしょう。
図20: 言語選択画面
なお、HP-UXの日本語環境はShift_JIS(ja_JP.SJISロケール)がデフォルトの文字コードになっています。EUC-JPにしたい場合は、図20の「Default Language... 」というメニューを選択した上で、図21のように一覧から明示的にja_JP.eucJPを選択する必要があります。
図21: EUC-JPの選択
Linuxなど他のUNIXとの接続性を考えるとEUC-JPの方が良い場合も多いですが、PCとの接続性や、HP-UX用のアプリケーションの利用などを考えると、Shift_JISのままが良いかも知れません。後から変更することも可能なので迷ったら、デフォルトのままでよいでしょう。
パッケージのインストールが完了すると再起動後システムの最終設定を行なう画面が現れます(注22)ので、順に設定を行なっていきます。
これ以降は、設定によって現れる画面が異なってきますし、UNIXマシンのネットワークの設定ができるスキルがあれば特に問題なく設定ができると思いますので、詳細は省きますが、タイムゾーンの設定やIPアドレス、ホスト名、DNSの設定、rootパスワードの設定などを行なっていきます(注22)。なおここで行なった設定は、インストール完了後に/sbin/set_parmsコマンドを実行することでインストール時と同様のインタフェースで再設定することが可能ですので、あまり神経質になることはないでしょう。set_parmsコマンドについては図23を参照して下さい。
# /sbin/set_parms Usage: set_parmsWhere can be: hostname timezone date_time root_passwd ip_address addl_netwrk or initial (for entire initial boot-time dialog sequence)
図23: set_parmsコマンドのオプションの表示
オプションを付けずに実行すると、オプションの一覧が表示されます。
設定が完了すると、図24のようなCDEのログイン画面が現れます。とりあえずrootのパスワードを使ってログインしてCDEのデスクトップ画面が表示されれば、インストールは成功です。
図24: hp-ux のログイン画面
以下、運用や設定を行なっていく上で最低限これだけは行なっておいた方が……というシェル環境の設定やポイントについて説明します。
他のUNIXやWindowsからhp-uxを利用していていると真っ先に問題となるのがhp-ux特有の端末タイプ(注25)になると思います。
xtermやktermなど、ほとんどの端末タイプはvt100という形式と上位互換になっていますので、あまり凝ったことをしない限りは端末タイプの違いを意識する必要はないのですが、hp-uxのデフォルトの端末(hpterm)の端末タイプであるhpは基本的な部分にvt100との互換性がないため、そのままでは画面が化けるなどの問題が多発してしまいます。Tera TermなどでWindowsから接続したり、Linuxなど他のUNIX系OSからtelnetなどで接続して利用する場合は、以下のようにして端末タイプを無難なvt100にしておきましょう。
sh系$ TERM=vt100; export TERM csh系 %setenv TERM vt100
また、Ctrl-Cキーが効かない、BSキーを押してもカーソルが戻らないといった事象も良くあります。その場合は、図26のようにして明示的にキーの設定を行ってください。
# stty erase ^h ← BSキーを1文字削除に割り当てる # stty intr ^c ← Ctrl-Cキーで処理の中断ができるようにする
図26: キーバインドの設定
gzipは標準で同梱されていますので、とりあえずアーカイブの展開ができなくて困ることはありません。gzipのパスは/usr/contrib/bin/gzip
になりますので、うっかりここをPATH環境変数から外さないように注意して下さい。
なお、perlも標準でインストールされていますが、バージョンが4.036と古く最近のperl5用のスクリプトは動作しませんので、注意して下さい。
hp-uxのデフォルトはshが拡張された POSIX shになっています。このため、例えばESCでファイル名の補完ができるなどshと比べると便利な点もありますが、bashやtcshと比べると、使いにくいことは否めないでしょう。どうしてもという場合以外はbashやtcshをインストールして通常作業に利用するアカウントのシェルを変更することをお勧めします(注27)。
デフォルトのシェル(POSIX sh)を利用する場合は、行編集機能を覚えておきましょう。escキーを押すことで、コマンドラインの編集モードになり、viと同様のキー操作でコマンド行を編集できます。またhistoryコマンドとfcコマンドを利用することで、図28のように、過去に発行したコマンドを編集して再度実行させることも可能です。
$ export FCEDIT=vi ← 行編集時に起動するエディタをviに設定 $ history 13 ls 14 man ksh 15 man sh 16 man sh-posix $ fc 15 ← "man sh" という文字列を vi で編集後実行
図28: shの行編集機能
Linuxなどと違って、単純にdfコマンドを実行すると、図29のような出力が行なわれてしまいますので、と迷いを感じる方も多いと思います(注30)。LinuxやFreeBSDなどと同様の形式の出力を得るには、bdfというコマンドを実行します。
# df / (/dev/dsk/c0t6d0 ): 1214228 blocks 254266 i-nodes # bdf Filesystem kbytes used avail %used Mounted on /dev/dsk/c0t6d0 1795431 1008773 607114 62% /
図29: dfコマンドとbdfコマンドの出力
hp-uxはSystem V系のUNIXですので、psコマンドの文法がLinuxやFreeBSDとは異なっています。例えばプロセスの一覧を列挙するにはps axではなくps -efと入力します。この他にも細かいオプションが異なっているコマンドはいろいろあります。
この他にも商用UNIXらしく?普段あたり前のようにして使っているlessやnkfといったツールがないので、しばらくは足りないツールを見付けてはインストールといった作業が必要でしょう。
hp-uxの特徴に、SAM(System Administration Manager)というツールの存在があげられるでしょう。SAMはしっかりしたツールで、SAMだけを利用することでも通常の範囲であれば充分hp-uxの管理が行なえます。
hp-uxもUNIXですので、当然テキストファイルを直接修正して各種設定が行なえますが、パッケージのインストールなどhp-ux独自の機能の部分は、コマンドを覚えるよりはSAMから行なった方が簡単かつ安全ですので、覚えておいて損はないでしょう。
なおSAMは通常図31のようにGUIから起動されますが、図32のようにコマンドラインから起動して利用することもできます。両者の機能的な違いはありませんので、リモートからHPマシンを管理する場合でもSAMが役立つ場面は多いと思います。
図31: GUI版のSAM
本格的にHPマシンを管理する場合は、時間のある時に一度SAMからたどれるメニューを一通りさらっておくことをお勧めします。
図32: コマンドライン版のSAM
管理作業の一貫として良く行われるパッケージのインストール方法について説明しておきます。hp-uxのパッケージは通常depotという拡張子のついたファイルとして配布されます。depot形式にパッケージは通常swinstallコマンドでインストールします(注33)。
swinstallコマンドの呼び出し方には幾つかありますが、通常は
# swinstall -s
のように-sオプションでパッケージファイル名を指定して呼び出すのが簡単で良いでしょう。
オプションなしでswinstallコマンドを起動すると、depotファイル名をフルパスで指定するところから始めないといけないのですが、これが結構面倒です。
図34のようにパッケージファイルに含まれるパッケージからどれをインストールするかを選択する画面が表示されますので、インストールしたいパッケージをスペースで選択してから、[Actions]-[Install...]でインストール処理を開始してください。ディスク容量などを確認するAnalyze 処理が行われ、成功すると本当にインストールを開始して良いかの最終確認が行われますので、OKを押すことでインストールが開始されます。
図34: swinstall
なお、パッケージの一覧はswlist、削除はswremoveコマンドで行います。詳細は各コマンドのマニュアルページなどを参照してください。
hp-uxに関するパッチは冒頭でも紹介したITリソースセンタ
より入手が可能です(注35)。
必要なパッチIDがわかっている場合は、「個別パッチ」というメニューからパッチの検索と取得が可能です。システムのセキュリティを保つ上で必要なパッチを適用したいという場合は、
から(注36)、「download」というリンクを選択することで、最終的に図37のような画面からパッチの入手が可能です。なおファイルの容量が100MB以上になりますので、不用意にダウンロードを開始しないように気をつけて下さい。
図37: swinstall
ファイルは、通常のHPのパッケージ形式になっていますので、ダウンロードが完了したら、swinstallコマンドでインストールします。パッチはシステム(OS)に対するものとアプリケーション用のものとに分かれていますので、ここでは「Gold Base Patches for HP...」の方をインストールするようにしてください。
他のUNIXと同様、hp-ux上でもさまざまなフリーソフトウェアが有志の手でパッケージ化されています。最もポピュラーなサイトとしてはHP-CUAが配布している「Software Porting And Archive Centre For HP-UX(注xx38)」というサイトがあげられるでしょう。ここで配布されているパッケージはswinstallでインストールができるようにパッケージ化されていますので、導入しやすいでしょう。
----- 注xx38: URLはhttp://hpux.cs.utah.edu/などになります。なお会津大学にもhttp://hpux.u-aizu.ac.jp/というミラーサイトがある筈なのですが、記事執筆時点では機器の故障で停止中との事で、アクセスできませんでした。 -----
なお、上記から取得できるパッケージのインストール先は、一般的な/usr/localではなく、hp-uxのポリシーに基づき/opt/<パッケージ名> というディレクトリになりますので、適宜PATH環境変数を設定するか、シンボリックリンクなどを張って標準のパスで参照できるようにしておく必要があります。
/tmpに存在するgccとbinutilsのパッケージをインストールする場合の例を図xx39に示します。前述したようにメニュー画面から対話的にインストールを行っても良いのですが、これらのパッケージファイルは、1パッケージ1ファイルという構成になっていますので、単にインストールすればよいだけの場合はコマンドラインから直接インストールを行った方が簡単でしょう。
----- 図xx39: swinstallを利用したパッケージのインストール #swinstall -s /tmp/binutils-2.11.2-sd-11.00.depot binutils #swinstall -s /tmp/gcc-2.95.4-sd-11.00.depot gcc -----
-sに続いてファイル名をフルパスで指定し、更にインストールするパッケージ名としてファイル名の先頭部分を指定します。なおインストールしたパッケージを削除する時は
#swremove <パッケージ名>
とします。
最後にhp-uxの開発環境について説明しておきましょう。
hp-uxには標準でも/usr/bin/ccというCコンパイラが付属していますが、これはカーネルの再コンパイルを行なうための必要最低限の機能を持つコンパイラという位置付けになっています。実際ANSIの構文を解析できないため、ほとんどのフリーソフトウェアはccではコンパイルできません。そのため、通常はgccの導入が必須です(注xx40)。
----- 注xx40: もちろん製品版のANSI-Cパッケージを導入することも可能ですが。 -----
手軽に開発環境を構築するには、図xx39のようにしてgccとbinutilsのパッケージをインストールするのがお勧めです。binutilsをインストールするのは、hp-ux版のgccはOSに付属する/usr/ccs/bin/as(アセンブラ)を利用できないため、gccを機能させるために、asを含むbinutilsのインストールが必要なためです。なおこのままではパスが通っていないため、図xx41のようにしてパスを通しておくのを忘れないで下さい。
なお、最近は、hp-ux 社から提供されている Redhat GNUProを利用した方がよいでしょう。
----- 図xx41: gccとbinutilsにパスを通す設定例 #cd /usr/local/bin #ln -s /opt/gcc/bin/* . #ln -s /opt/binutils/bin/* . -----
なお、ccで必要なgccを含むプロダクトをコンパイルして、自力で開発環境を構築することも不可能ではないと思いますが、いろいろと落し穴がありますので、自力でgccをコンパイルしたいという場合も、まずはバイナリのgccを入れてから行なった方がよいでしょう(注xx42)。
以下、わたなべさんから提供いただいた hp-ux 上での gcc のビルド例です。なお一部わたしの方で表記などを修正しています。
hp-ux で gcc などを構築するには、Redhat GNUProをダウンロードして、インストールします(HP-UX11/11i用には、32ビット版と64ビット版とがあります)。 更にhp-uxでは、「hp-ux developer's toolkit」をダウンロードする必要があります(これで、gccからX11R6やMotif2.1などが利用できるようになります)。
以下、順にビルド方法を示します。
%tar xzvf binutils-2.13.tar.gz %cd binutils-2.13 %./configure△--host=hppa1.1-hp-hpux11.00 --target=hppa1.1-hp-hpux11.00 %make %su #make install
%tar xzvf binutils-2.13.tar.gz %cd binutils-2.13 %./configure --host=hppa64-hp-hpux11.00 \ --target=hppa64-hp-hpux11.00 \ --prefix=/usr/local/pa20_64 --enable-64-bit-bfd %make %su #make install
%tar xzvf gcc-3.2.2.tar.gz %cd gcc-3.2.2 %./configure --host=hppa1.1-hp-hpux11.00 \ --target=hppa1.1-hp-hpux11.00 \ --enable-languages=c,c++,f77,objc,java \ --prefix=/usr/local \ --with-gnu-as --with-as=/usr/local/bin/as \ --with=/usr/ccs/bin/ld --disable-nls \ %make bootstrap %su #make install
%tar xzvf gcc-3.2.2.tar.gz %cd gcc-3.2.2 %./configure --host=hppa64-hp-hpux11.00 --target=hppa64-hp-hpux11.00 \ --enable-languages=c,c++,f77,objc,java \ --prefix=/usr/local/pa20_64 \ --with-gnu-as --with-as=/usr/local/pa20_64/bin/as \ --with-gnu-ld --with-ld=/usr/local/pa20_64/bin/ld \ --disable-nls %make bootstrap %su #make install
といった手順で、gcc-3.2.2の32ビット版と64ビット版の構築が成功しました(いずれも、gcc/g++/g77/objc/javaの構築に成功しました)。
今回はHPマシンとhp-uxについて駆け足ですが解説しました。HPマシンについては端末回りを中心にかなり癖があって、普段SolarisやLinux、FreeBSDなどを使い慣れている人からみると使いにくいというのが筆者の回りでの定評になっています。ただ逆にいうと、それだけ未知の発見があって、面白いと言えるかも知れません。
最近面白いものがなくなったと感じていらっしゃる方は、これを機会にHPマシンの中古を触ってみるのもよいのではないでしょうか?(^_^;