Local IPS Server Configuration in Solaris 11.3 with NFS Share


The Image Packaging System (IPS) is a framework that enables software lifecycle management, such as installation, upgrade and removal of packages. IPS also enables users to create their own software packages, create and manage package repositories, and copy and mirror existing package repositories. Packages can be installed only into file systems that are part of a boot environment (BE). For example, on a default Oracle Solaris 11 installation, only datasets under rpool/ROOT/BEname/ are supported for package operations.

Using IPS, you can perform the following tasks:

  • Create and manage images.
  • Search the IPS packages on your system and in IPS repositories.
  • Copy, mirror, create, and administer package repositories.
  • Create and publish IPS packages to a package repository.

IPS is the packaging system for the Oracle Solaris 11 operating systems as SVR4 is the packaging system for the Oracle Solaris 10 operating systems. A key component of IPS is the package repository. A package repository is a location where software packages are stored and from where packages are retrieved by client systems. You can even clone an entire package repository, such that any package repository that the client can access has everything they need to proceed.

ZFS File System Create Command:
# zfs create -o mountpoint=/export/repoSolaris11 -o quota=75G rpool/export/repoSolaris11
# zfs set atime=off rpool/export/repoSolaris11
# zfs get atime rpool/export/repoSolaris11
# zfs set compression=on rpool/export/repoSolaris11

IPS Repository (35.6.0) Installation Command:
* Repository Assembly Script (install-repo.ksh)
* SHA256 Digest (sol-11_4-repo_digest.txt)
* Oracle Solaris 11.4 Repository (Part 1) (2.0 GB)
* Oracle Solaris 11.4 Repository (Part 2) (1.8 GB)
* Oracle Solaris 11.4 Repository (Part 3) (1.8 GB)
* Oracle Solaris 11.4 Repository (Part 4) (2.1 GB)
* Oracle Solaris 11.4 Repository (Part 5) (1.9 GB)

# cd /var/tmp/IPS-Repository-35.6.0
# unzip p28355395_1100_Solaris86-64.zip
# ./install-repo.ksh -c -v -d /export/repoSolaris11
# pkg update –accept
# init 6

IPS Server Conf Command:
# svccfg -s application/pkg/server setprop pkg/port=443
# svccfg -s application/pkg/server listprop |grep pkg/port
# svccfg -s application/pkg/server setprop pkg/inst_root=/export/repoSolaris11
# svccfg -s application/pkg/server setprop pkg/readonly=true
# svcprop -p pkg/inst_root application/pkg/server
# svccfg -s pkg/server:default setprop pkg/threads=500
# svcadm refresh pkg/server:default
# svcadm restart pkg/server:default

Enable and Restart Command:
# svcadm enable application/pkg/server
# svcadm refresh application/pkg/server
# svcadm restart application/pkg/server
# svcs -a | grep pkg/server
# pkgrepo refresh -s /export/repoSolaris11

Publisher Set Command:
# pkg set-publisher -G ‘*’ -g /export/repoSolaris11 solaris

Checking Command:
# pkg list entire
# pkg list -af entire
# pkgrepo info -s /export/repoSolaris11
# pkgrepo list -s /export/repoSolaris11 entire
# pkg list -af entire@0.5.11-

LSU (36.13.0 & 36.15.0 & 36.18.0 ) Installation Command:
# ./install-repo.ksh -c -v -d /export/repoSolaris11
# pkg update –accept
# init 6

NFS Share Command:
# zfs set share=name=ipsrepo,path=/export/repoSolaris11,prot=nfs rpool/export/repoSolaris11
# zfs set sharenfs=on rpool/export/repoSolaris11
# grep repo /etc/dfs/sharetab
# dfshares
# svcs -a | grep nfs

Final Check:
# pkg list -af entire
# pkg list -af entire
entire 0.5.11- i–
entire 0.5.11- —
entire 0.5.11- —
entire 0.5.11- —

Extra Commands to move any version:
# pkg update –be-name solaris-36.15 –accept entire@0.5.11-