Building a Solaris 11 repository without network connection
By user12611852 on Nov 11, 2011
Solaris 11 has been released and is a fantastic new iteration of Oracle's rock solid, enterprise operating system. One of the great new features is the repository based Image Packaging system. IPS not only introduces new cloud based package installation services, it is also integrated with our zones, boot environment and ZFS file systems to provide a safe, easy and fast way to perform system updates.
My customers typically don't have network access and, in fact, can't connect to any network until they have "Authority to connect." It's useful, however, to build up a Solaris 11 system with additional software using the new Image Packaging System and locally stored repository. The Solaris 11 documentation describes how to create a locally stored repository with full explanations of what the commands do. I'm simply providing the quick and dirty steps.
The easiest way is to download the ISO image, burn to a DVD and insert into your DVD drive. Then as root:
- pkg set-publisher -G '*' -g file:///cdrom/sol11repo_full/repo solaris
Now you can to install software using the GUI package manager or the pkg commands. If you would like something more permanent (or don't have a DVD drive), however, it takes a little more work.
- After installing Solaris 11, download (on another system perhaps) the two files that make up the Solaris 11 repository from our download site
- Sneaker-net the files to your Solaris 11 system
- Cat the two files together to create one large ISO image. The file is about 6.9 GB in size
- mount -F hsfs sol-11-11-repo-full.iso /mnt
You could stop here and set the publisher to point to the /mnt/repo location, however, this mount will not be persistent across reboots. Copy the repository from the mounted ISO image to a permanent, on disk location.
- zfs create -o atime=off -o compression=on rpool/export/repoSolaris11
- rsync -aP /mnt/repo /export/repoSolaris11
- pkgrepo -s /export/repoSolaris11/repo refresh
- pkg set-publisher -G '*' -g /export/repoSolaris11/repo solaris
You now have a locally installed repository for adding additional software packages for Solaris 11. The documentation also takes you through publishing your repository on the network so that others can access it.