top of page
Writer's pictureHanh Nguyen

How to Create and Upgrade a Solaris 11 Local Repository Server on Solaris 11.2












Solution


Where to find S11.2 update images

Support Repository Updates (SRU) are delivered as patches. Tables with listing of SRU numbers and patch numbers for S11 releases are contained in MOS documents:

Document 1372094.1 Oracle Solaris 11.0 Support Repository Updates (SRU) Index Document 1501435.1 Oracle Solaris 11.1 Support Repository Updates (SRU) Index Document 1672221.1 Oracle Solaris 11.2 Support Repository Updates (SRU) Index

Solaris 11.2 provides a script install-repo.ksh to build/update a local repository. This script is included in the  “Installation Guide” downloads in the “IPS Repository” column of the Oracle Solaris 11.2 Support Repository Updates (SRU) Index Document 1672221.1

Content of the “Installation Guide”  zip files:

install-repo.ksh readme-11_2_XX_X_X.html readme-11_2_XX_X_X.txt README-zipped-repo.txt sol-11_2_XX_X_X-incr-repo_md5sums.txt

Download file structure changed in s11.2. For 11.2 GA and SRU’s you need to create separate subdirectories  ( one per GA and SRU each ) and place the downloaded parts into these subdirectories.

Update the local repository using the mentioned install-repo.ksh then.


Installing a local repository from pkg.oracle.com

When installing a local repository from pkg.oracle.com please bear in mind that the default value for the option ‘-m’ changed between Solaris 11.1 and Solaris 11.2

Default behavior ( if the -m option is not specified)  for Solaris S11.1  and Solaris S11.2

Solaris s11.1 default value is  -m latest ‘*’ Solaris s11.2 default value is  -m all-timestamps ‘*’

So, in case you want to have only ‘latest’ timestamps, you might consider to use   -m latest ‘*’ for pkgrecv command for all Solaris 11 versions

Example with option -m latest ‘*’ :

# zfs create -o mountpoint=/export/repoSolaris11 rpool/export/repoSolaris11 # zfs set atime=off rpool/export/repoSolaris11 # pkgrepo create  /export/repoSolaris11/# pkgrecv -s http://pkg.oracle.com/solaris/support/ -d /export/repoSolaris11 –key /var/pkg/ssl/Oracle_Solaris_11_Support.key.pem –cert /var/pkg/ssl/Oracle_Solaris_11_Support.certificate.pem -m latest ‘*’

Processing packages for publisher solaris … Retrieving and evaluating 5864 package(s)… PROCESS                                         ITEMS    GET (MB)   SEND (MB) Completed                                   5864/5864   8159/8159 26468/26468

# pkgrepo list -s /export/repoSolaris11 entire PUBLISHER NAME                                          O VERSION solaris   entire                                          0.5.11,5.11-0.175.2.13.0.6.0:20150810T161629Z

Please note: the name of the certificate and key file has changed to pkg.oracle.com.certificate.pem and pkg.oracle.com.key.pem in year 2015


Detailed information for install-repo.ksh

The script install-repo.ksh needs to be in the same directory as the 11.2 GA or the SRU zip files  along with the sol*-md5sums.txt ( i.e. sol-11_2_1_5_0-incr-repo-md5sums.txt ) file.

The script looks for existing *.zip files in the directory and checks it’s md5 checksum against the sol*-repo-md5sums.txt in the same directory.

If this test has been passed, it will unzip the *.zip files in the given local repository

USAGE: install-repo.ksh -d dest [-s zipsrc] [-i image-name] [-c] [-v] [-I]

Example:


// build the local publisher with the 11.2 GA repo first

# cd /space/zipped-repo_GA/ # ls -l -rw-r–r–   1 root  root        3160 Jan 18  2015 README-zipped-repo.txt -rwxr-xr-x   1 root  root        5594 Dec 22  2014 install-repo.ksh -rw-r–r–   1 root  root  1771800121 Jan 18  2015 sol-11_2-repo-1of4.zip -rw-r–r–   1 root  root  1889867782 Jan 18  2015 sol-11_2-repo-2of4.zip -rw-r–r–   1 root  root  1902167161 Jan 18  2015 sol-11_2-repo-3of4.zip -rw-r–r–   1 root  root  1790358735 Jan 18  2015 sol-11_2-repo-4of4.zip -rw-r–r–   1 root  root         228 Jan 18  2015 sol-11_2-repo-md5sums.txt

# zfs create -o mountpoint=/export/sol11.2 rpool/export/sol11.2 # zfs set atime=off rpool/export/sol11.2 # ./install-repo.ksh -d /export/sol11.2 -I -v -c

Comparing checksums of downloaded files…done. Checksums match.

Uncompressing sol-11_2-repo-1of4.zip…done. Uncompressing sol-11_2-repo-2of4.zip…done. Uncompressing sol-11_2-repo-3of4.zip…done. Uncompressing sol-11_2-repo-4of4.zip…done. Repository can be found in /export/sol11.2. Initiating repository verification. Building ISO image…done. ISO image and instructions for using the ISO image are at: /space/zipped-repo_GA/sol-11_2-repo.iso /space/zipped-repo_GA/README-repo-iso.txt

# pkgrepo list -s /export/sol11.2 entire PUBLISHER NAME                                          O VERSION solaris   entire                                          0.5.11,5.11-0.175.2.0.0.42.0:20140624T193832Z

// add a SRU repo on top of this

# cd /space/zipped-repo_sol-11_2_13_6 # ls -l -rw-r–r–   1 root     root        4031 Aug 11 04:47 README-zipped-repo.txt -rwxr-xr-x   1 root     root       11612 Aug 11 04:47 install-repo.ksh -rw-r–r–   1 root     root        6549 Aug 11 04:47 sol-11_2_13_6_0-incr-install_guide.zip -rw-r–r–   1 root     root  1323586748 Aug 11 04:56 sol-11_2_13_6_0-incr-repo_1of3.zip -rw-r–r–   1 root     root  1372479560 Aug 11 05:02 sol-11_2_13_6_0-incr-repo_2of3.zip -rw-r–r–   1 root     root  1207557708 Aug 11 05:08 sol-11_2_13_6_0-incr-repo_3of3.zip -rw-r–r–   1 root     root         207 Aug 11 05:08 sol-11_2_13_6_0-incr-repo_md5sums.txt

# ./install-repo.ksh -d /export/sol11.2 -I -v -c Using sol-11_2_13_6_0-incr-repo download. IPS repository exists at destination /export/sol11.2 Current version: 0.175.2.0.0.42.0 Do you want to add to this repository? (y/n)[n]: y

Comparing checksums of downloaded files…done. Checksums match.

Uncompressing sol-11_2_13_6_0-incr-repo_1of3.zip…done. Uncompressing sol-11_2_13_6_0-incr-repo_2of3.zip…done. Uncompressing sol-11_2_13_6_0-incr-repo_3of3.zip…done. Repository can be found in /export/sol11.2. Initiating repository rebuild. Initiating repository verification. Building ISO image…done. ISO image can be found at: /space/zipped-repo_sol-11_2_13_6/sol-11_2_13_6_0-incr-repo.iso Instructions for using the ISO image can be found at: /export/sol11.2/README-repo-iso.txt

# pkgrepo list -s /export/sol11.2 entire PUBLISHER NAME                                          O VERSION solaris   entire                                          0.5.11,5.11-0.175.2.13.0.6.0:20150810T161629Z solaris   entire                                          0.5.11,5.11-0.175.2.0.0.42.0:20140624T193832Z

 

Download location for Solaris 11.2_GA ( Generally Available )

Oracle Solaris 11.2 Repository Organizations that want to keep a stricter control on what Oracle Solaris packages are being used on their systems, should consider setting up their own repository. This can be done by directly with Oracle’s hosted repository, or using the downloads below.

To set up the repository, follow the instructions in the README by downloading the assembly script, MD5 checksums and 4 repository parts. The repository will contain both SPARC and x86 packages.

Download README Instructions Download Repository Assembly Script (install-repo.ksh) Download MD5 Checksums Download Oracle Solaris 11.2 Repository (Part 1) (1.7 GB) Download Oracle Solaris 11.2 Repository (Part 2) (1.8 GB) Download Oracle Solaris 11.2 Repository (Part 3) (1.8 GB) Download Oracle Solaris 11.2 Repository (Part 4) (1.6 GB)

The install-repo.ksh script is available along with four zip archives of Solaris 11.2 plus a checksum file sol-11_2_1_5_0-incr-repo-md5sums.txt All of these files need to be downloaded into a specific directory

You can check a local repository with pkgrepo

 /usr/bin/pkgrepo info  -s <repo_uri_or_path>

If not already present, then you can create a new local repository using this

 /usr/bin/pkgrepo create  <uri_or_path>

Please bear in mind that you need Solaris 11.2 GA in your repository first. SRUs are incremental.

 

Excerpt from Install_guide for Solaris 11.2.2.5.0 SRU  ( 11.2 SRU2.5.0 )

Managing the Repository

This SRU is provided in two parts: Oracle Solaris IPS Repository Installation Guide and Oracle Solaris IPS Repository. The Oracle Solaris IPS Repository Installation Guide contains the install script and readme files. The Oracle Solaris IPS Repository contains the zip files of the repository. You must download both the parts from MOS to add the packages to an existing repository. The zip file associated with this README must be used in conjunction with an existing local copy of the Oracle Solaris support repository. It is necessary to have a valid solaris publisher set before performing an update. For instructions to create an Oracle Solaris 11.2 package repository, see Copying and Creating Oracle Solaris 11.2 Package Repositories. Managing the Repository

Some important points to consider before applying or installing the repository zip file:

* The minimum OS level required for the system to run this repository is Oracle Solaris 11.1. * The repository is provided as zip files. They contain only the latest revision of IPS packages that have been added or changed since the initial release of Oracle Solaris 11.2. * This SRU is provided in two parts: Oracle Solaris IPS Repository Installation Guide and Oracle Solaris IPS Repository. The Oracle Solaris IPS Repository Installation Guide contains the install script and readme files. The Oracle Solaris IPS Repository contains the zip files of the repository. You must download both the parts from MOS <https://support.oracle.com/rs?type=doc&id=1672221.1&gt; to add the packages to an existing repository. * The zip file associated with this README must be used in conjunction with an existing local copy of the Oracle Solaris support repository. * It is necessary to have a valid |solaris| publisher set before performing an update. For instructions to create an Oracle Solaris 11.2 package repository, see Copying and Creating Oracle Solaris 11.2 Package Repositories <http://docs.oracle.com/cd/E36784_01/html/E36805/index.html&gt;.

The example commands listed in this section should be executed with |root| privileges or by using |sudo|(1M) or |pfexec|(1) commands.

How to Update an Oracle Solaris 11.2 Package Repository

Download the SRU’s IPS Repository Installation Guide and IPS Repository patches from MOS.

Perform the following steps to update an existing Oracle Solaris 11.2 package repository with the contents of the SRU zip file.

1. Become an administrator. For more information, see How to Use Your Assigned Administrative Rights in Securing Users and Processes in Oracle Solaris 11.2 <http://docs.oracle.com/cd/E36784_01/html/E37123/rbactask-28.html#OSSUPrbactask-28&gt;.

2. Run the |install-repo.ksh| script that is included in the IPS Repository Installation Guide patch to update your existing repository. $ install-repo.ksh [-c] [-v] -d full_path_to_existing_s11_2_repo

For example: $ install-repo.ksh -c -v -d /export/support-repo

3. If the repository is managed by |pkgserv|, restart the appropriate service. $ svcadm restart svc:/application/pkg/server:your_repo_instance

For more information about using the |install-repo.ksh| script, see the |README-zipped-repo.txt| file.

For more information about managing your repository, see the following resources: * Updating and Maintaining Oracle Solaris 11 <https://support.oracle.com/rs?type=doc&id=1559737.2&gt; * Oracle Solaris 11 Image Packaging System (IPS) Frequently Asked Questions (FAQ) <https://support.oracle.com/rs?type=doc&id=1433186.1&gt;

How to Update Your Local System

Perform the following steps to update your local system by using the SRU zip file.

1. Become an administrator.

For more information, see How to Use Your Assigned Administrative Rights in Securing Users and Processes in Oracle Solaris 11.2 <http://docs.oracle.com/cd/E36784_01/html/E37123/rbactask-28.html#OSSUPrbactask-28&gt;.

2. Run the |install-repo.ksh| script that is included in the IPS Repository Installation Guide patch to update your existing repository. $ install-repo.ksh [-c] [-v] -d full_path_to_existing_s11_2_repo

For example: $ install-repo.ksh -c -v -d /export/support-repo

3. If the repository is managed by |pkgserv|, restart the appropriate service. $ svcadm restart svc:/application/pkg/server:your_repo_instance

4. If an existing repository is not set, add the repository to the system. $ pkg set-publisher -g file:///full_path_to_existing_s11_2_repo solaris

5. Update the packages. $ pkg update

For more information about using the |install-repo.ksh| script, see the |README-zipped-repo.txt| file.

 

SMF mirror service  svc:/application/pkg/mirror:default is available to update a local repository by cronjob

How to Automatically Copy a Repository From the Internet By default, the svc:/application/pkg/mirror SMF service performs a periodic pkgrecv operation from the solaris publisher origins defined in this image to /var/share/pkg/repositories/solaris. This pkgrecv operation starts at 2:30am one day each month. To change this default behavior, configure the service as described in this procedure. At the end of each successful run of this service, the repository catalogs are refreshed. You do not need to refresh the repository to build a search index.

 

Note: ensure you set locale to ‘C’ before starting the install-repo.ksh script


ensure to set locale to ‘C’


# LC_ALL=C # export LC_AL # ./install-repo.ksh  [ .. options .. ]

0 views0 comments

Recent Posts

See All

LDOM BASIC

1)How to Enable the Logical Domains Manager Daemon # svcadm enable ldmd # /opt/SUNWldm/bin/ldm list 2)Upgrading a System That Is Already...

Change hostname in Solaris 11

Change homename to dev svccfg -s system/identity:node setprop config/nodename=”dev” svccfg -s system/identity:node setprop...

Comments


bottom of page