HPマシンの入手とhp-uxのインストール

前回まではAlphaマシンについて紹介を行いました。Alphaマシンに関しては、まだまだ話したりないところもあるのですが、今回は趣向を変えて、最近中古ワークステーション市場でも見掛けることが多くなったHPマシンについて紹介したいと思います。
HPマシンの入手方法から始めて、hp-uxのインストールまでを説明していきましょう。

HPマシンとは

簡単にHPマシンの紹介をしておきましょう。

HPマシンはHewlett-Packard(以下業界の慣習に沿ってHPと略します)社が製造、販売を行っているPA-RISCというCPUを搭載したマシンで、現在はNEC、日立等にもOEMされています。

元々がCAD専用マシンのApollo Domainなどを吸収合併して大きくなってきた経緯もあってCAD専用マシンとして利用されている他は、非常に大規模なシステムのサーバ機や端末という形で、業務システムの一部に組み込まれて利用されている例が多いように感じます。

販売自体もいわゆる「売りきり」は一切行わず、基本的に「保守契約(注1)」を前提とした体系となっているため、個人ユーザは全く考慮されていないといってよいでしょう。そのため、商用UNIXハードウェアの業界ではSunと並んで双壁と称される割には、あまり一般のUNIXユーザの方には馴染みがないかも知れません。

注1: 購入後も毎年一定料金をHP社に支払い続けることで、障害時の対応や、バージョンアップ製品や技術情報などのサービスが受けられるという契約です。
HP社の場合、基本的に各種サービスを単体で契約することはできず、すべてこの契約の締結が前提となっています。サポートに手厚いともいえますが、半面サポートが不要な場合でもサポート契約を結ぶ必要が発生してしまいますので、最低コストがかなり割高になってしまいます。

そうした事情もあってか、古くなっても何かと潰しがきくSunのワークステーションと異なり、研究室などでも持て余している例が多いようです。HPマシンに関する情報は、HP社のWebページ(注2)からも入手できますが、

注2: HPマシンの情報源

http://www.jpn.hp.com/biz/products/manual/index.html (日本語)
http://docs.hp.com/hpux/hw/ (英語)

古い機種の情報

http://www.hp.com/workstations/support/archive/ (英語)

古い機種の情報については、以下のthe parisc projectのページ(注3)にあるシステム一覧を参照するのが良いでしょう。

注3: the parisc project のページ
http://www.openpa.net/systems/

技術情報やパッチ等については、以下のURLから参照できるITリソース・センタより入手可能です。保守契約がない場合でも無償のアカウントを作成することである程度の部分は参照することが可能です。

ITリソース・センタのURL
http://us-support.external.hp.com/index.html

稼働OS

筆者が知る限りHPマシン上では以下のようなOSが動作します。

HPマシンの入手

手元に余っているHPマシンがない場合は、まずマシンを入手しないと話が始まりません。数年前まではHPマシンの中古はほとんど市場に流通しておらず、入手すること自体が困難でしたが、ここ数年急に流通するようになりました。

現在のところ、新規にHPマシンを入手する方法としては、大きく以下の4つがあります。

1は論外として(注4)(^^;;、2についてもHP社に問い合わせたところ、大体1世代前のマシンが定価の3割引き程度ということですので、保守契約などの価格を考えますと一般のユーザが購入できる金額ではないでしょう。HPマシンについてはオークションへの出品もそれほど多くはないので、3の方法での入手を検討するのが妥当だと思います。

注4: 最も安い構成でも、50万円以上はしますし、ちょっとオプションを付加すると簡単に100万円を越えてしまいます。

筆者が中古ショップなどでよく見掛けるHPマシンの代表的なものを表5に示します。

表5: 現在入手可能な主なHPマシン
機種名大きさCPUディスクI/F(メイン/サブ)メモリ
HP9000 712/xx 薄型PA-RISC 7100LCSE独自
HP9000 715/xx大型PA-RISC 7100(LC)SE (FWD/SE)独自
HP9000 735/xx大型PA-RISC 7100(LC)FWD/SE独自
B132L / B160小型PA-RISC 7300LCFWD/SEECC EDO DIMM(独自?)
B132L+ / B180小型PA-RISC 7300LCUWS/SEECC EDO DIMM(独自?)
C100 / C110大型PA-RISC 7200FWD/SEECC SIMM(独自?)
C132L / C160L大型PA-RISC 7300FWD/SEECC 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)。

注6: 筆者のところで実績があるのは、CS-124という1:4の切替機です。

ただし、古いサーバ機などでは、そもそもディスプレイのコネクタ自体が存在しない機種もありますので(注7)、特にサーバ機を購入する場合は注意した方がよいでしょう。

注7: 筆者が以前購入した HP9000 E35というマシンがそうで、専用のハードウェアを経由してRS232-C経由でシリアルコンソールに接続する必要がありました。

とりあえず起動

入手したら、早速機器をつないで起動してみましょう。前述したようにPC用のキーボード、マウス、ディスプレイを接続しても良いのですが、他のワークステーションと同様、キーボードが接続されていない場合は、自動的にCOM1がコンソールとなりますので、シリアル接続を行なうことも可能です(注8)。実際に作業を行なう場合は普通にディスプレイを接続した方が何かと便利ですが、画面イメージなどを取得する関係上、本の記事ではシリアル経由で接続を行なっています。

注8: 通信速度などは、事実上の標準である9600 8N1です。

接続が終ったら、早速電源をいれましょう。画面に図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であることなどが読みとれます。

hp-uxの入手とインストール

すでにインストールされていた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)もありますので、そちらに相談する手もあります。

注10: 筆者が知る限り、UNIX本舗さんでは昔からライセンス取得代行を行っています。詳細は http://www.unixhonpo.com/OS.HTM を参照してください。

コラム: HPマシンの起動メニュー

HPマシンの起動メニュー(注11)には本文で紹介した以外にも知っておくと便利なコマンドが幾つかあります。知っておくと便利なコマンドを幾つか紹介しておきましょう。

注11: 実際のhp-uxが起動するまでのプロセスはPDC、ISL、hpuxという3段階からなっていますが、ここでは説明しません。詳細についてはpdc(1M)、isl(1M)、hpux(1M)といったマニュアルページなどを参照して下さい。
  • ハードウェア情報を表示する
    Main Menu: Enter command or menu >
    
    と表示されている時点で、順に IN -> ALL と入力することでハードウェアに関する詳細情報が取得できます。
  • 複数OSを起動する
    複数のディスクを接続している場合は、sea コマンドにより表示される
       Path Number      Device Path                   Device Type
    ---------------------------------------------------------------------------
       P0               core.FWSCSI.6.0               SEAGATE ST32171W
       P1               core.FWSCSI.5.0               SEAGATE ST32171W
       P2               core.SCSI.2.0                 TOSHIBA CD-ROM XM-5901TD
    
    という画面から起動するディスクを選択することにより、起動するOSを選択することが可能です。
  • シングルユーザモードで起動する
    Interact with IPL (Y or N)?>
    
    で N を選択した上で、
      ISL> hpux -is
    

    と入力します。なおこの他 ISL> のプロンプトで入力可能なコマンドについては

      ISL>?
    

    で一覧が表示されます。

  • 自動起動の設定
    自動起動の設定は、OSが起動している状態でsetbootコマンドから行なうのが簡単で良いでしょう。
    自動起動を有効/無効にするには、以下のように入力します。
    # setboot -b [on|off]
    
    その他、OSを起動するディスクの変更なども行なえます。詳細はsetboot(1M)のマニュアルページを参照して下さい。

hp-uxのインストール

hp-uxのメディアを入手したら、早速インストールを行ってみましょう。

以下、筆者がインストール可能なhp-ux 11.00を例にとって具体的なインストール方法を解説します。もっともhp-uxのインストール方法自体はバージョンによる差異はほとんどありませんので、他のバージョンであっても同様の方法でインストールが可能な筈です(注12)。

注12: 筆者はhp-ux 10.20、11.00、11iをインストールしたことがありますが、その限りではインストール手順にほとんど差異はありませんでした。

OSをインストールするには、

To discontinue, press any key within 10 seconds.

と画面に表示されている時点で何かキーを押してブート処理を中断させます。
「Main Menu Enter command or menu」というプロンプトが現れますので、ここで「SEA」と入力してください(注13)。「SEA」はsearchの略で起動可能なデバイスの一覧が検索されます。

注13: あらかじめ起動したいデバイスのDevice Pathが分かっていれば、SEAコマンドを実行せず、直接core.FWSCSI.6.0といったDevice Pathを指定して起動することも可能です。

ここで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を押して次に進みます。

注16: PC用のCPU切替え機経由で接続しているのが原因かも知れないとは思っていますが、確認していません。

図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)。順に説明を行っていきましょう。

注18: メニュー下部にあるCancelを押すことで、Wizardを利用しないadvanced modeでインストールを行なうことも可能です。advanced modeの画面を図19に示します。このように一覧表示された各種パラメータの中から設定したいものを選んで設定を行なっていきます。


図19: Advanced Modeのインストール画面

パッケージのインストールが完了すると再起動後システムの最終設定を行なう画面が現れます(注22)ので、順に設定を行なっていきます。

注22: advanced modeでインストールを行なった場合は、再起動前のインストール中に事前設定することも可能です。

これ以降は、設定によって現れる画面が異なってきますし、UNIXマシンのネットワークの設定ができるスキルがあれば特に問題なく設定ができると思いますので、詳細は省きますが、タイムゾーンの設定やIPアドレス、ホスト名、DNSの設定、rootパスワードの設定などを行なっていきます(注22)。なおここで行なった設定は、インストール完了後に/sbin/set_parmsコマンドを実行することでインストール時と同様のインタフェースで再設定することが可能ですので、あまり神経質になることはないでしょう。set_parmsコマンドについては図23を参照して下さい。

# /sbin/set_parms
Usage: set_parms 
   Where  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)になると思います。

注25: 端末タイプは、xtermやktermといった端末エミュレータ毎の画面制御の特性を定義したものになります。UNIXでは通常TERM環境変数で端末タイプを設定します。

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とperl

gzipは標準で同梱されていますので、とりあえずアーカイブの展開ができなくて困ることはありません。gzipのパスは/usr/contrib/bin/gzipになりますので、うっかりここをPATH環境変数から外さないように注意して下さい。

なお、perlも標準でインストールされていますが、バージョンが4.036と古く最近のperl5用のスクリプトは動作しませんので、注意して下さい。

シェルの選択

hp-uxのデフォルトはshが拡張された POSIX shになっています。このため、例えばESCでファイル名の補完ができるなどshと比べると便利な点もありますが、bashやtcshと比べると、使いにくいことは否めないでしょう。どうしてもという場合以外はbashやtcshをインストールして通常作業に利用するアカウントのシェルを変更することをお勧めします(注27)。

注27: ただし、rootのシェルは絶対に変更しないでください。rootのシェルを不用意に変更すると、起動スクリプトが動作しないなどの致命的な問題が発生してしまいます。

デフォルトのシェル(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の行編集機能

dfコマンド

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コマンドの出力

注30: これは、System V系のdfコマンドの仕様になります。Solarisなどもデフォルトはhp-uxと同様の出力ですが、-kオプションによりbdfと同様の出力になります。

psコマンド

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)。

注33: swinstallコマンドはSAMから呼び出すことも可能です。

swinstallコマンドの呼び出し方には幾つかありますが、通常は

# swinstall -s 

のように-sオプションでパッケージファイル名を指定して呼び出すのが簡単で良いでしょう。

オプションなしでswinstallコマンドを起動すると、depotファイル名をフルパスで指定するところから始めないといけないのですが、これが結構面倒です。

図34のようにパッケージファイルに含まれるパッケージからどれをインストールするかを選択する画面が表示されますので、インストールしたいパッケージをスペースで選択してから、[Actions]-[Install...]でインストール処理を開始してください。ディスク容量などを確認するAnalyze 処理が行われ、成功すると本当にインストールを開始して良いかの最終確認が行われますので、OKを押すことでインストールが開始されます。


図34: swinstall

なお、パッケージの一覧はswlist、削除はswremoveコマンドで行います。詳細は各コマンドのマニュアルページなどを参照してください。

パッチの入手と適用方法

hp-uxに関するパッチは冒頭でも紹介したITリソースセンタ

より入手が可能です(注35)。

注35: ただし保守契約を結んでいない場合、取得可能なパッチに制限があります。

必要なパッチIDがわかっている場合は、「個別パッチ」というメニューからパッチの検索と取得が可能です。システムのセキュリティを保つ上で必要なパッチを適用したいという場合は、

から(注36)、「download」というリンクを選択することで、最終的に図37のような画面からパッチの入手が可能です。なおファイルの容量が100MB以上になりますので、不用意にダウンロードを開始しないように気をつけて下さい。

注36: ITリソースセンタのトップからは、「メンテナンス/サポート」メニューから「標準パッチバンドル(support plus)」-「HPソフトウェアデポからのSupport Plusバンドルの入手」- 「quality pack bundles」を順に選択することで、上記のURLに到達できます。


図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)。

注42: 本来は GNU make, bison, binutilsなどが動作すれば、gccもコンパイルできる筈なのですが、実際に試してみたところ、どうやってもコンパイル途中でエラーになってしまいました。メーリングリストなどをみると古い環境では成功した例もあるようですし、筆者も昔は成功した覚えがあるのですが、現状ではちょっと敷居が高いようです。

補足: hp-ux 上で gcc をビルドする例

以下、わたなべさんから提供いただいた hp-ux 上での gcc のビルド例です。なお一部わたしの方で表記などを修正しています。

hp-ux で gcc などを構築するには、Redhat GNUProをダウンロードして、インストールします(HP-UX11/11i用には、32ビット版と64ビット版とがあります)。 更にhp-uxでは、「hp-ux developer's toolkit」をダウンロードする必要があります(これで、gccからX11R6やMotif2.1などが利用できるようになります)。

以下、順にビルド方法を示します。

  1. ソースの入手
    関連するソースを入手します。今回は各々以下のものを利用しました。
  2. 32ビット版binutils のビルド
    通常通り行います。
    %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
    
  3. 64ビット版binutils のビルド
    通常通り行います。
    %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
    
  4. 32ビット版 gcc のビルド
    %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
    
  5. 64ビット版 gcc のビルド
    %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マシンの中古を触ってみるのもよいのではないでしょうか?(^_^;

注記・補足

  1. 「補足: hp-ux 上で gcc をビルドする例」については、わたなべさんからご提供いただいた情報を元に記述しています。
  2. 本文書は、UNIX USER 2002年7月号の「甦れ!UNIXワークステーションたち」に掲載された「HPマシンの入手とhp-uxのインストール」の草稿の一部を筆者の方で HTML 化して掲載しているものです。


Copyright (C) 1998-2009 TAKAHASHI, Motonobu
Last update: 2003-05-21 03:04:23 JST
webmaster@monyo.com