For an Organization to keep the Solaris 11 x86 and SPARC servers updated with latest OS patches a Solaris 11 IPS repository is required. Please note that the instructions below are for setting up local repositories and are not related to JetPatch functionality.
Setting up the repository has 3 phases:
- Building the base repository (est. 1-2 hours.)
- Applying the support incremental patch-set (est. 1-2 hours)
- Publish the repository and configure a client (est. 10-20 minutes)
Preconditions:
Create a ZFS file system/repo with sufficient space to host the repository
root@titan:~# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
rpool 63.5G 11.2G 52.3G 17% 1.00x ONLINE -
root@titan:~# zfs create -o mountpoint=/repo -o quota=25G rpool/repo
root@titan:~# df -h /repo
Filesystem Size Used Available Capacity Mounted on
rpool/repo 25G 31K 25G 1% /repo
Step 1: Download the base repository files:
1. First download the repository files and setup the base repository
- Link to download base repository files: https://www.oracle.com/solaris/solaris11/downloads/local-repository-downloads.html
- Download these files:
2. Copy the files to one of the Solaris11 x86 or SPARC servers where you wanted to configure the repository.
Create /var/repository/s11u4 and copy the files.
root@titan:~# mkdir -p /var/repository/s11u4
Copy the files from your desktop to /var/repository/s11u4 of the repository server.
Verify all files are copied
root@titan:/var/repository/s11u4# ls -lrt
total 18817566
-rw-r--r-- 1 root root 1814619737 Jan 11 10:03 sol-11_4-repo_2of5.zip
-rw-r--r-- 1 root root 1968246581 Jan 11 10:13 sol-11_4-repo_1of5.zip
-rw-r--r-- 1 root root 2132702935 Jan 11 10:38 sol-11_4-repo_4of5.zip
-rw-r--r-- 1 root root 1772147401 Jan 11 10:52 sol-11_4-repo_3of5.zip
-rw-r--r-- 1 root root 1939943920 Jan 11 11:01 sol-11_4-repo_5of5.zip
-rw-r--r-- 1 root root 12262 Jan 11 11:13 install-repo.ksh
-rw-r--r-- 1 root root 495 Jan 11 11:13 sol-11_4-repo_digest.txt
Step 2: Setting up the base repository:
Set execute permissions to script install-repo.ksh
root@titan:/var/repository/s11u4# chmod 755 install-repo.ksh
Note: Ensure file sol-11_4-repo_digest.txt is available in the same directory. This is required when compering the checksum of zip files
Install the repository:
root@titan:/var/repository/s11u4# ./install-repo.ksh -d /repo
Using sol-11_4-repo download.
Uncompressing sol-11_4-repo_1of5.zip...done.
Uncompressing sol-11_4-repo_2of5.zip...done.
Uncompressing sol-11_4-repo_3of5.zip...done.
Uncompressing sol-11_4-repo_4of5.zip...done.
Uncompressing sol-11_4-repo_5of5.zip...done.
Repository can be found in /repo.
Step 3: Applying the support incremental updates
The next step is to apply the incremental patch-set update. Oracle will release incremental patch-set updates regularly.
Downloaded Oracle Patches from http://myoraclesupport.com/
Login > Go to > Patches and Updates> Patch Search > Search for the latest update
Download the latest incremental IPS repository patch-set
Create a directory /var/repository/s11incr in the repository server
#mkdir /var/repository/s11incr
Copy the patch-set files to /var/repository/s11incr
Copy the install-repo.ksh file which you have downloaded along with base repository files to /var/repository/s11incr/
root@titan:~# cd /var/repository/s11incr/
root@titan:/var/repository/s11incr# cp -p ../s11u4/install-repo.ksh .
Create digest file sol-11_4-repo_digest.txt for all the zip files
root@titan:/var/repository/s11incr# ls -lrt
total 10083540
-rwxr-xr-x 1 root root 12262 Jan 11 11:13 install-repo.ksh
-rw-r--r-- 1 root root 1564502926 Jan 11 12:34 p28932200_1100_Solaris86-64_3of3.zip
-rw-r--r-- 1 root root 1864407149 Jan 11 12:48 p28932200_1100_Solaris86-64_2of3.zip
-rw-r--r-- 1 root root 1730048283 Jan 11 12:49 p28932200_1100_Solaris86-64_1of3.zip
root@titan:/var/repository/s11incr# digest -v -a sha256 p28932200_1100_Solaris86-64_3of3.zip > sol-11_4-repo_digest.txt
root@titan:/var/repository/s11incr# digest -v -a sha256 p28932200_1100_Solaris86-64_2of3.zip >> sol-11_4-repo_digest.txt
root@titan:/var/repository/s11incr# digest -v -a sha256 p28932200_1100_Solaris86-64_1of3.zip >> sol-11_4-repo_digest.txt
Step 4: Install the support updates to the base repository
root@titan:/var/repository/s11incr# ./install-repo.ksh -d /repo
Using p28932200_1100_Solaris86-64 files for sol-11_4-repo download.
IPS repository exists at destination /repo
Current version: 11.4.0.0.1.15.0
Do you want to add to this repository? (y/n)[n]: y
Uncompressing p28932200_1100_Solaris86-64_1of3.zip...done.
Uncompressing p28932200_1100_Solaris86-64_2of3.zip...done.
Uncompressing p28932200_1100_Solaris86-64_3of3.zip...done.
Repository can be found in /repo.
Initiating repository rebuild.
Step 5: Publish the repository locally
root@titan:/var/repository/s11incr# pkg set-publisher -G '*' -M '*' -g /repo solaris
root@titan:/var/repository/s11incr# pkg publisher
PUBLISHER TYPE STATUS P LOCATION
solaris origin online F file:///repo/
Step 6: Update the OS to latest patch-set
root@titan:/var/repository/s11incr#pkg update --license --accept
Packages to install: 35
Packages to update: 317
Mediators to change: 1
Create boot environment: Yes
Create backup boot environment: No
DOWNLOAD PKGS FILES XFER (MB) SPEED
Completed 352/352 15216/15216 277.7/277.7 --
PHASE ITEMS
Removing old actions 7847/7847
Installing new actions 13592/13592
Updating modified actions 4613/4613
Updating package state database Done
Updating package cache 317/317
Updating image state Done
Creating fast lookup database Done
Updating package cache 1/1
A clone of solaris exists and has been updated and activated.
On the next boot the Boot Environment be://rpool/solaris-1 will be
mounted on '/'. Reboot when ready to switch to this updated BE.
Updating package cache 1/1.
Step 7: Publish Solaris 11 IPS repository using HTTP service
To publish the repository, you need to configure and enable /application/pkg/server service in the repository server.
Set the inst_root for http server as repository file system, in our case it is /repo
root@titan:~#svccfg -s application/pkg/server setprop pkg/readonly=true
Set the server port as 8080
root@titan:~# svccfg -s application/pkg/server setprop pkg/port=8080
Refresh and Enable the application/pkg/server
root@titan:~# svcadm refresh application/pkg/server
root@titan:~# svcadm enable svc:/application/pkg/server:default
Verify the service is online
root@titan:~# svcs -a|egrep application/pkg/server
online 15:09:07 svc:/application/pkg/server:default
Choose a different Solaris server to have access to the remote publisher and set its publisher:
root@atlas:~# pkg set-publisher -G '*' -M '*' -g http://[SERVER-IP]:8080/ solaris
Update the OS (Optional)
root@atlas:~# pkg update --license --accept
Comments
0 comments
Please sign in to leave a comment.