Solaris のシステム管理 (第 1 巻)

ディスクレスクライアントまたは AutoClient システムのルート (/) ファイルシステムにパッケージを追加する方法

ディスクレスクライアントまたは AutoClient システムにパッケージを追加する場合、クライアントはローカルにはシステムディスクしか持たないため、実際にはそのクライアントにパッケージをインストールすることにはなりません。代わりに、サーバー上にあるクライアントのルートファイルシステムにパッケージを追加します。ディスクレスクライアントまたは AutoClient システムのルートファイルシステムは通常、サーバーの /export/root/hostname にあります。


注 -

パッケージファイルが /usr ファイルシステムにインストールされる場合は、パッケージをサーバーにインストールする必要があります。同機種クライアント/サーバー環境で作業している場合は、表 17-2 を参照して、パッケージのインストール方法を判断してください。異機種クライアント/サーバー環境で作業している場合は、表 17-3 を参照して、パッケージのインストール方法を決定してください。


  1. サーバーにスーパーユーザーとしてログインします。

  2. すでにインストールされているパッケージの中で、追加しようとしているものと同じ名前のパッケージをすべて削除します。

    これによって、システムは、追加および削除されたソフトウェアの正しい記録を保持できます。同じアプリケーションの複数のバージョンをシステムで管理したい場合もあります。この方法の概要については 「パッケージの削除に関するガイドライン」を、手順については 「ディスクレスクライアントまたは AutoClient システムのパッケージを削除する方法」を参照してください。

  3. ソフトウェアパッケージをクライアントシステムのルート (/) ファイルシステムに追加します。


    server# pkgadd -R rootpath -d device-name pkgid...

    -R rootpath

    クライアントのルートファイルシステムのパス名を指定する。 

    -d device-name

    ソフトウェアパッケージの絶対パスを指定する。device-name は、デバイス、ディレクトリ、またはスプールディレクトリのいずれかへのパスにすることができる。パッケージのあるパスを指定しないと、pkgadd コマンドはデフォルトのスプールディレクトリ (/var/spool/pkg) をチェックする。パッケージがそこにない場合、パッケージのインストールは失敗する。

    pkgid

    (省略可能) インストールされる 1 つまたは複数のパッケージの名前を空白で区切って指定する。この引数を省略すると、pkgadd は、使用可能なすべてのパッケージを表示する。


    注意 - 注意 -

    パッケージのインストール中に、次のメッセージが表示されることがあります。WARNING: filename <not present on Read Only file system>

    これは、パッケージのファイルの一部がインストールされていないことを示します。クライアントが、ソフトウェアを正しく動作させるために必要なすべてのファイルへのアクセスをもっていない可能性があります。


  4. パッケージが正常にインストールされたことを確認するには、サーバーにログインしてスーパーユーザーになり、pkginfo コマンドを使用します。


    server# pkginfo -R rootpath | egrep pkgid
    

    pkginfo コマンドは、インストールされた pkgid に関する 1 行の情報を返します。pkgid がインストールされていない場合、pkginfo は何も表示しません。

  5. pkgchk コマンドを使用して、パッケージが正常にインストールされていることを確認します。


    server# pkgchk -R rootpath -v pkgid
    

    pkgchk はエラーがないと判断した場合は、インストールされたファイルのリストを返します。そうでない場合は、エラーについて報告されます。

例 - マウントされた CD からディスクレスクライアントのルートファイルシステムへパッケージをインストールする


注 -

今回の Solaris リリースの名称は「Solaris 7」ですが、コード、パス名、パッケージパス名などには、「Solaris 2.7」または「SunOS 5.7」という名称が使用されていることがあります。コード、パス、パッケージパスなどを実際に入力または使用するときには、必ずマニュアル中に記述されている名前に従ってください。


次の例は、サーバーからディスクレスクライアントのルートファイルシステムに SUNWadmr (システムおよびネットワーク管理をサポートするソフトウェア) パッケージをインストールするためのコマンドを示しています。この場合、ディスクレスクライアントのルートファイルシステムは、/export/root/client-1 です。この例では、SUNWadmr パッケージが、マウントされた SPARC 版 Solaris CD (/cdrom/cdrom0/s0/Solaris_2.7/Product) から使用できるものと想定しています。pkginfopkgchk を使用して、パッケージのファイルが正しくインストールされていることを確認する方法も示しています。


server# pkgadd -R /export/root/client-1 -d /cdrom/cdrom0/s0/Solaris_2.7/Product SUNWadmr
			.
			.
			.
Installation of <SUNWadmr> complete.
server# pkginfo -R /export/root/client-1 | egrep SUNWadmr
system			SUNWadmr			System & Network Administration Root
server# pkgchk -v -R /export/root/client-1 SUNWadmr
/etc
/etc/init.d
/etc/init.d/autoinstall
/etc/init.d/sysid.net
/etc/init.d/sysid.sys
/etc/rc2.d
/etc/rc2.d/S30sysid.net
/etc/rc2.d/S71sysid.sys
/etc/rc2.d/S72autoinstall
/sbin
/sbin/bpgetfile

例 - マウントされた CD からディスクレスクライアントのルートファイルシステムへパッケージをインストールする

次の例は、サーバーからディスクレスクライアントのルートファイルシステムへ SUNWcg6 パッケージをインストールする方法を示しています。この場合、ディスクレスクライアントのルートファイルシステムは /export/root/client-2 です。この例では、SUNWcg6 パッケージが、ネットワーク上のパッケージサーバー (/net/package-server/latest-packages) から使用できることを前提としています。


server# pkgadd -R /export/root/client-2 -d /net/package-server/latest-packages SUNWcg6
		.
		.
		.
Installation of <SUNWcg6> complete.