Solaris 11.2 setting up IPS repo

Setting up IPS (Package Repository)

Show current repo location and the publisher name. assuming that you already created 2 separate IPS for base repo and SRU.
root@cdmu1 # pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F file:///var/share/pkg/SRU/
solaris                     origin   online F file:///var/share/pkg/repositories/

root@cdmu1 # pkgrepo info -s /var/share/pkg/SRU
PUBLISHER PACKAGES STATUS           UPDATED
solaris   221      online           2014-09-27T04:28:07.951747Z

root@cdmu1 # pkgrepo info -s /var/share/pkg/repositories
PUBLISHER PACKAGES STATUS           UPDATED
solaris   4870     online           2014-06-25T03:55:23.627994Z

Option1: Share the repo via NFS

root@cdmu1 # zfs share -o share.nfs=on rpool/VARSHARE/pkg/repositories%ipsrepo
root@cdmu1 # cat /etc/dfs/sharetab
-       IPC$    smb     -       Remote IPC
/var/share/pkg/repositories     ipsrepo nfs     sec=sys,rw

root@cdmu1 # dfshares
RESOURCE                                  SERVER ACCESS    TRANSPORT
  cdmu1:/var/share/pkg/repositories     cdmu1  -         -
root@cdmu1 # dfshares cdmu1
RESOURCE                                  SERVER ACCESS    TRANSPORT
  cdmu1:/var/share/pkg/repositories     cdmu1  -         -
To un-share
root@cdmu1 # dfshares
RESOURCE                                  SERVER ACCESS    TRANSPORT
  cdmu1:/var/share/pkg/repositories     cdmu1  -         -
root@cdmu1 # zfs unshare /var/share/pkg/repositories

Option2: setup Depot server that uses HTTP

Please double check on the listening port before proceeding. Default is using TCP80
We will multiple depot server that listens on different port.
root@cdmu1 # svcadm enable system-repository

root@cdmu1 # netstat -an | grep -i listen  | grep *.80
root@cdmu1 # svccfg -s pkg/server add solaris
root@cdmu1 # svccfg -s pkg/server:solaris setprop pkg/inst_root=/var/share/pkg/repositories
root@cdmu1 # svccfg -s pkg/server:solaris setprop pkg/readonly=true
root@cdmu1 # svccfg -s pkg/server:solaris setprop pkg/port=80
root@cdmu1 # svcprop -p pkg/inst_root application/pkg/server:solaris
/var/share/pkg/repositories
root@cdmu1 # svcadm enable application/pkg/server:solaris
root@cdmu1 # svcadm restart application/pkg/server:solaris
root@cdmu1 # netstat -an | grep -i listen  | grep *.80
      *.80                 *.*                  0      0  128000      0 LISTEN

root@cdmu1 # netstat -an | grep -i listen  | grep *.81
root@cdmu1 # svccfg -s pkg/server add SRU
root@cdmu1 # svccfg -s pkg/server:SRU setprop pkg/inst_root=/var/share/pkg/SRU
root@cdmu1 # svccfg -s pkg/server:SRU setprop pkg/readonly=true
root@cdmu1 # svccfg -s pkg/server:SRU setprop pkg/port=81
root@cdmu1 # svcprop -p pkg/inst_root application/pkg/server:SRU
/var/share/pkg/SRU
root@cdmu1 # svcadm enable application/pkg/server:SRU
root@cdmu1 # svcadm restart application/pkg/server:SRU
root@cdmu1 # netstat -an | grep -i listen  | grep *.81
      *.81                 *.*                  0      0  128000      0 LISTEN

Try to load the localhost IP with port 80 and 81

On the client

Point to the repo server IP and the publisher name
root@dbsu1:~# pkg set-publisher -G '*' -M '*' -g http://172.30.8.35:80/ solaris
root@dbsu1:~# pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F http://172.30.8.35:80/


No comments: