Skip to main content
Last updated March 07, 2013 17:17, by Shawn Walker


pkg(5) Frequently Asked Questions

A. General questions

  1. What is image packaging? A software delivery system. That is, image packaging is a set of programs that allow the definition and installation of related, versioned sets of information, generally containing software components and their associated data and configuration.
  2. What's pkg(5)? pkg(5) is the informational manual page describing the image packaging system. It's also a useful name for the project to produce the image packaging system.
  3. What's IPS? An acronym for Image Packaging System. Stephen doesn't like it very much, and prefers pkg(5).
  4. Where do I learn about image packaging? Beyond this FAQ, you can read more at
  5. Where can I ask questions? is a Mailman-managed mailing list.
  6. Where's the source? The pkg(5) source is available from the main Mercurial repository. You can check a copy out via
    hg clone

B. Usage questions

  1. How do I update to a specific build? As of build 147, you can simply say
    pkg install entire@0.5.11-0.<buildid>
    You may want to use the --be-name option to pkg install, or it will choose a name for the new boot environment for you. Prior to build 147, you have to do all the boot environment manipulation yourself. The canonical method is
    pkg install SUNWipkg
    beadm create newbe
    beadm mount newbe /mnt
    pkg -R /mnt install entire@0.5.11-0.<buildid>
    bootadm update-archive -R /mnt
    beadm unmount newbe
    beadm activate newbe
    Note that for builds 133 and later, the name of the package delivering the packaging system has changed from SUNWipkg to package/pkg, so the latter should replace the former in the command sequence above and the discussion below.

    Adding the entire package is necessary to keep your packages on versions that have been tested together; entire contains a series of constraint relationships that pkg(5) uses to make sure mutually compatible packages are installed on your system.
  2. Why does SUNWipkg have to be installed first? Doesn't the fact the command "pkg" can be used tell us SUNWipkg is already installed? Although pkg(5) may already be installed on your system, there are occasions where the locally installed version itself must be updated before it can update the system as a whole. We expect the frequency of these updates to decrease as the project nears completion.
  3. Why does the install tell me no updates are necessary? Installing SUNWipkg upgrades the packaging system only to the newest version appropriate for your system. It does not (and cannot) upgrade it to the version present in the build of the operating system to which you wish to upgrade. In development builds, the packaging system is very rarely republished with bugfixes. Newer versions are much more likely to show up when you're using the released builds.
  4. What happens if I've removed entire? You may have removed entire if you're installing the latest nightly builds (or your own builds) of consolidations like ON, so that they can move farther forward than the other consolidations. In this case, you'll have to replace the installation of entire in the directions above with the installation of each of the consolidation incorporations. The package names can be found with pkg list -H "consolidation/*-incorporation" and you may get the appropriate install command by running
    pkg install $(pkg list -H "consolidation/*-incorporation" | awk '{print $1 "@0.5.11-0.<build>"}')
Please Confirm