共有の場所にリポジトリを作成します。リポジトリのファイルシステムを作成する場合は、atime を off に設定します。ローカルの IPS パッケージリポジトリの作成および使用のベストプラクティスを参照してください。
$ zfs create -o atime=off rpool/export/IPSpkgrepos $ zfs create rpool/export/IPSpkgrepos/Solaris $ zfs get atime rpool/export/IPSpkgrepos/Solaris NAME PROPERTY VALUE SOURCE rpool/export/IPSpkgrepos/Solaris atime off inherited from rpool/export/IPSpkgrepos
システムインストールイメージをダウンロードした場所と同じ場所から Oracle Solaris IPS パッケージリポジトリ .zip ファイルをダウンロードするか、メディアパケットからリポジトリ DVD を見つけます。.zip ファイルとともに、install-repo.ksh スクリプトおよび .txt ファイル (README およびチェックサムファイル) をダウンロードします。
$ ls install-repo.ksh sol-11_2-ga-repo-3of4.zip README-zipped-repo.txt sol-11_2-ga-repo-4of4.zip sol-11_2-ga-repo-1of4.zip sol-11_2-ga-repo.txt sol-11_2-ga-repo-2of4.zip
$ chmod +x install-repo.ksh
リポジトリのインストールスクリプト install-repo.ksh は、各リポジトリの .zip ファイルを指定されたディレクトリに圧縮解除します。このスクリプトは、オプションで次の追加のタスクを実行します。
ダウンロードされた .zip ファイルのチェックサムを検証します。チェックサムを検証するための -c オプションを指定しない場合は、リポジトリのインストールスクリプトを実行する前に、チェックサムを手動で検証します。次の digest コマンドを実行して、.md5 ファイルの該当するチェックサムと出力を比較します。
$ digest -a md5 file
指定された宛先にリポジトリがすでにある場合は、リポジトリの内容を既存の内容に追加します。
最終的なリポジトリを確認します。リポジトリを検証するための -v オプションを指定しない場合は、リポジトリのインストールスクリプトを実行したあとに、pkgrepo コマンドの info、list および verify サブコマンドを使用して、リポジトリを検証します。
マウントおよび配布を行うために、ISO イメージファイルを作成します。-I オプションを使用して .iso ファイルを作成すると、.iso ファイルおよび .iso ファイルの使用方法を説明する README ファイルが、指定された宛先ディレクトリに作成されます。
前のステップで -v オプションを指定しなかった場合は、pkgrepo コマンドの info、list、および verify サブコマンドを使用して、リポジトリが正常にコピーされたことを確認します。pkgrepo verify コマンドでエラーが報告された場合は、pkgrepo fix コマンドを使用してそのエラーの修正を試みてください。詳細は、pkgrepo(1) のマニュアルページを参照してください。
$ zfs snapshot rpool/export/IPSpkgrepos/Solaris@sol-11_2_0
この例では、zip ファイルを展開するまで、リポジトリは存在していません。スクリプトには次のオプションを指定できます。
オプション。.zip ファイルがあるディレクトリへのフルパスを指定します。デフォルト: 現在のディレクトリ。
必須。リポジトリを作成するディレクトリへのフルパスを指定します。
オプション。このリポジトリを生成するために使用するファイルを指定します。ソースディレクトリには、複数のセットの .zip ファイルを含めることができます。デフォルト: ソースディレクトリで使用可能なもっとも新しいイメージ。
オプション。.zip ファイルのチェックサムと指定されたファイルのチェックサムを比較します。-c を引数なしで指定した場合、使用されるデフォルトファイルは、ソースディレクトリの -i のイメージの .md5 ファイルです。
オプション。最終的なリポジトリを確認します。
オプション。リポジトリの ISO イメージをソースディレクトリに作成します。また、ソースディレクトリに mkiso.log ログファイルを残します。
オプション。使用方法に関するメッセージを表示します。
$ ./install-repo.ksh -d /export/IPSpkgrepos/Solaris -c -v -I Comparing checksums of downloaded files...done. Checksums match. Uncompressing sol-11_2-ga-repo-1of4.zip...done. Uncompressing sol-11_2-ga-repo-2of4.zip...done. Uncompressing sol-11_2-ga-repo-3of4.zip...done. Uncompressing sol-11_2-ga-repo-4of4.zip...done. Repository can be found in /export/IPSpkgrepos/Solaris. Initiating repository verification. Building ISO image...done. ISO image and instructions for using the ISO image are at: /tank/downloads/sol-11_2-ga-repo.iso /tank/downloads/README-repo-iso.txt $ ls /export/IPSpkgrepos/Solaris COPYRIGHT NOTICES pkg5.repository publisher README-iso.txt
リポジトリの再構築および検証には時間がかかることがありますが、「Repository can be found in」というメッセージが表示されたら、リポジトリの内容を取得できます。
使用例 2-2 zip ファイルから既存のリポジトリへの追加この例では、リポジトリの zip ファイルの内容が、既存のパッケージリポジトリの内容に追加されます。
$ pkgrepo -s /export/IPSpkgrepos/Solaris info PUBLISHER PACKAGES STATUS UPDATED solaris 4764 online 2014-03-18T05:30:57.221021Z $ ./install-repo.ksh -d /export/IPSpkgrepos/Solaris -c -v -I IPS repository exists at destination /export/IPSpkgrepos/Solaris Current version: 0.175.2.0.0.35.0 Do you want to add to this repository? (y/n) y Comparing checksums of downloaded files...done. Checksums match. Uncompressing sol-11_2-ga-repo-1of4.zip...done. Uncompressing sol-11_2-ga-repo-2of4.zip...done. Uncompressing sol-11_2-ga-repo-3of4.zip...done. Uncompressing sol-11_2-ga-repo-4of4.zip...done. Repository can be found in /export/IPSpkgrepos/Solaris. Initiating repository rebuild. Initiating repository verification. Building ISO image...done. ISO image and instructions for using the ISO image are at: /tank/downloads/sol-11_2-ga-repo.iso /tank/downloads/README-repo-iso.txt $ pkgrepo -s /export/IPSpkgrepos/Solaris info PUBLISHER PACKAGES STATUS UPDATED solaris 4768 online 2014-06-02T18:11:55.640930Z