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

ソフトウェア管理の問題解決における新しい機能

以前の Solaris リリースでは、ソフトウェアパッケージを作成するときに、シンボリックリンクのリンク先を pkgmap ファイルに指定できませんでした。そのため、pkgadd コマンドでパッケージを追加する場合、パッケージまたはパッチ関連のシンボリックリンクには、シンボリックリンクのリンク先ではなくシンボリックリンクのソースが使用されていました。したがって、パッケージやパッチパッケージのアップグレードの際にシンボリックリンクのリンク先を別のものに変更する必要があるという問題がありました。この Solaris リリースでは、パッケージのシンボリックリンクのリンク先を変更する必要がある場合、デフォルトで、シンボリックリンクのソースの代わりにリンク先が pkgadd コマンドによって調べられます。

しかしながら、パッケージによっては pkgadd のこの新しい動作に準拠していない場合があります。

pkgadd シンボリックリンクの新旧動作に対応するために PKG_NONABI_SYMLINKS 環境変数が使用できます。この環境変数が真に設定されていると、pkgadd はシンボリックリンクのソースを使用します。

pkgadd コマンドを使ってパッケージを追加する前に管理者がこの変数を設定すれば、新しい動作に対応していないパッケージを以前の動作で処理できます。

pkgadd コマンドを使って既存のパッケージを追加する場合、pkgadd シンボリックリンクの新しい動作が原因でパッケージを追加できないことがあります。その場合には、次のエラーメッセージが表示されます。


unable to create symbolic link to <path>

この問題のためにパッケージをインストールできない場合は、次の手順に従います。

  1. Sun 提供のパッケージの場合は、ご購入先に新動作に対応していないパッケージ名をお知らせください。

  2. PKG_NONABI_SYMLINKS 環境変数を設定し、pkgadd コマンドを使ってパッケージを再び追加してください。


    # PKG_NONABI_SYMLINKS=true
    # export PKG_NONABI_SYMLINKS
    # pkgadd pkg-name