I have read the docs and PDF's from Oracle on the matter but they were too broad and too much analytic for me to understand.

Could someone provide me an overview (as he/she understands it) of the Solaris Image Packaging System the most important commands and repositories?

And also what is the connection between SYSV & IPS.


You might start by reading that page: http://www.oracle.com/technetwork/articles/servers-storage-admin/o11-083-ips-basics-523756.html

There is no connection between SYSV and IPS outside the fact Solaris is derived from the System V release 4.0 Unix branch but Solaris 11 deprecated the System V packaging commands (pkgadd, pkgrm, pkginfo, ...) to the new IPS ones (pkg install, pkg uninstall, pkg list, pkg info, ...)

Unlike the SVR4 packaging system which was file centric, IPS is network centric. Dependency handling is also automatic with the latter.

  • so you wouldnt say that there is any other kind of connection between them? (SYSV & IPS) – Sir. Hedgehog Jun 10 '16 at 9:28
  • That depends on what kind of connection you are talking about. solaris 11 still include the pkgadd command. After you install a SVR4 package on Solaris 11 with pkgadd, the IPS client commands are aware of that package and report it. Reciprocally, if you use the pkginfo command, it will show the IPS installed packages with SVR4 compatible names. On the other hand, the IPS server side (repository) has no provision/method to serve SVR4 packages. The latter might be retrieved through the net, pkgadd accepting an http or https URL as parameter. – jlliagre Jun 10 '16 at 13:06
  • Thats a hell of a situation man..... I guess things are much less confusing if the repository is locally stored.... – Sir. Hedgehog Jun 10 '16 at 13:08
  • Not sure about what makes you believe there is a situation here. Supporting the legacy commands for a while is a common approach to ease the transition for users and avoid breaking programs that rely on old interfaces. – jlliagre Jun 10 '16 at 13:23
  • 2
    No, hopefully nothing needs to be removed from a system providing IPS in order for it to be used effectively. As I wrote, Solaris 11 is a SVR4 based operating system but several components have been replaced by newer ones. Another well known example is the SVR4 inittab/rc.d handling which has been obsoleted by smf (Service Management Facility). – jlliagre Jun 10 '16 at 14:09

As one of the primary authors of the Image Packaging System, I think I can answer this question. I've written about this topic before, so here's a quick summary:

pkg(5), the image packaging system (IPS), is a software delivery system with interaction with a network repository as its primary design goal. Other key ideas are: safe execution for zones and other installation contexts, use of ZFS for efficiency and rollback, preventing the introduction of incorrect or incomplete packages, and efficient use of bandwidth.

SYSV packaging, as others have mentioned (which we generally refer to as SVr4 packaging), is the legacy package management system that was used for the operating system prior to Solaris 11.

With IPS, the most important command is simply 'pkg' -- it is the primary utility for managing any software that is installed on a Solaris 11+ system.

The primary differences between IPS and SVr4 packaging are:

  • network-based repository support (no, the support for file retrieval offered by SVr4 doesn't count)
  • safe, deterministic updates
  • cryptographically-secure package manifests
  • extensive, native integration with ZFS
  • extensive dependency management capability (unlike SVr4, IPS has a variety of dependency types) that make it possible to manage sets of packages together
  • portable (the glassfish web server historically used IPS as its distribution mechanism on OS X, Linux, and Windows)

You can find more information about it in these blog posts from current and former colleagues of mine:

Rethinking Patching

Observations on Packaging

  • Thank you very much for the reply. I will take your words for granted and I will ask one question. Lets say that you dont work for Oracle and you have your own software house and you can choose to use either SVR4 or IPS packaging for distributing your software. Which one would you use and why? Please answer with honesty :) – Sir. Hedgehog Jun 14 '16 at 6:32
  • My take on this, is the SW being build for Solaris 10? If so then SVR4 since Solaris 10 does not have IPS. Otherwise, just go with IPS. Better yet is that once you build your software you can make it depend on other packages and have IPS taking care of that for you during the installation. Nothing says that Oracle will keep SRV4 with Solaris 12. – BitsOfNix Jun 17 '16 at 13:18
  • 1
    It doesn't really matter that I work for Oracle now; I worked on the Image Packaging System before I ever worked for Sun or Oracle since it was (and still is) an open source project. With that said, the answer depends on what your target is. If you're providing packages for users on Solaris 10, you need to provide SVr4-format packages. If your users have Solaris 11+ systems, then the best option is to provide an IPS-format package. It makes it much easier for the users to deploy and manage the packages. The SVr4 packages work for now on S11, but may not for future Solaris releases. – Shawn Walker-Salas Jun 20 '16 at 0:25
  • You are mistaken, the svr4 packaging system supported cryptographic verification before IPS exists. – schily Jun 20 '16 at 17:15
  • Schily, while Svr4 provided for a signed datastream format, once an SVr4 package was installed, there was no further cryptographic verification of its contents. In other words, it only checked when using pkgadd. With IPS, the signed package manifest is installed w/ the package contents and is verified during every image-modifying operation (and verify operation) using the information in that package manifest. – Shawn Walker-Salas Jun 22 '16 at 18:02

The Solaris image packaging system is unrelated to the SysV packaging system that is used by several UNIX variants and that was enhanced over the last 35 years.

IPS was developed recently after the Sun people made the SysV packaging system network aware on my request and after the SysV packaging system got a major speed thrust from a new data base cache daemon.

The SysV packaging is package based and a package contains several files.

IPS is file based and wraps nano-packages around each file and thus suffers from a latency problem. There have been reports that a Solaris install from a DSL line in Bangalore or from a DVD takes one week due to the TCP connection latency or due to the seek times of the DVD drive.

So the theoretical advantage from IPS (it contains a ELF specific hash code generator that only looks at the loadable parts of a binary) does not help.

When IPS was created, it was named Internet Packet Lottery by some Swiss Banks that tried to install several hundreds of PCs at the same time but got many different installations because the package repository was updated continuously.

So you see another important issue to look at: Installing from the network may cause "stability" problems if you cannot control the content of the repository.

  • Thank you very much for your answer it helped me a lot as well!!!!!! – Sir. Hedgehog Jun 10 '16 at 14:18
  • 4
    Most packaging systems would suffer from the same inconsistency issue if the repository is updated while installations are performed, even SVR4 packages with network support (pkgadd -d http://server/package.pkg). You would also have the same issue if someone updates your local file system based repository. Finally, note that IPS supports "incorporations" that allow restraining what versions will be picked at package installation time. – jlliagre Jun 10 '16 at 15:11
  • 1
    What you describe may have been added to IPS after making the named experiences and you are right that inconsistencies woud be a result on any system if the depot is modified. But at that time, people did usually use pkgadd with a DVD as source. – schily Jun 10 '16 at 17:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.