Solaris SVR4 package tools

Note

The SVR4 packaging commands are legacy, superseded by IPS since Solaris 11, but still shipped and supported on Oracle Solaris 11.4, whose support runs through 2037.

ID

sun-tools

Link

Home page

Platforms

⨂ Unix (illumos, Solaris only)

Operations

installed · remove

purl types

pkg:sun-tools/

CLI name

pkginfo

Extra search paths

/usr/sbin

Issues and PRs

📦 manager: sun-tools

Source

sun_tools.py

Solaris’ legacy System V Release 4 packaging tools.

The suite spans several binaries: pkginfo (the read-only query tool, used as the main CLI), pkgadd and pkgrm. The other two have a man page of their own: pkgadd(1M) and pkgrm(1M).

SVR4 packages come from local media or datastream files, not a network repository: there is no catalog to search, refresh or diff against.

What mpm adds to sun-tools

mpm reaches across every manager at once, not sun-tools alone: mpm installed and mpm outdated cover sun-tools alongside every other manager you run in one table, mpm upgrade --all updates them together, and mpm sbom exports the whole machine as one bill of materials.

Every mpm command also gains --dry-run and --plan previews, cross-scheme version comparison and purl identifiers. See manager augmentations for how each one is built.

Operations

Operation

Supported

Notes

installed

✅

outdated

❌

There is no repository to diff against.

orphans

search

❌

Packages come from local media or datastream files, so there is no catalog to search.

install

❌

The pkgadd command installs a specific local artifact rather than resolving a name.

upgrade

upgrade_all

remove

✅

sync

❌

There is no catalog to refresh.

cleanup

doctor

Configuration

  • Ignore sun-tools on the mpm CLI by passing the --no-sun-tools option.

  • Ignore it for every run in your configuration:

    [mpm]
    sun-tools = false
    
  • Raise the timeout of all sun-tools calls:

    [mpm.overrides.sun-tools]
    timeout = 900
    
  • Run mpm config-template sun-tools to print all overridable settings for your configuration file:

    [mpm.overrides.sun-tools]
    cli_names = [
        "pkginfo",
    ]
    cli_search_path = [
        "/usr/sbin",
    ]
    dry_run = false
    ignore_auto_updates = true
    plan = false
    post_args = []
    pre_args = []
    pre_cmds = []
    stop_on_error = false
    unmaintained = false
    version_cli_options = [
        "-r",
    ]
    version_regexes = [
        "(?P<version>[\\d.]+)",
    ]
    

Recipes

A few jobs you would otherwise script around sun-tools, one mpm command each:

  • Snapshot and clone a machine: mpm --sun-tools dump sun-tools.toml, then mpm restore sun-tools.toml on the next one.

  • Export a compliance SBOM: mpm --sun-tools sbom (CycloneDX by default, --spdx for SPDX).

Privilege escalation

System-wide manager: mpm wraps its privileged operations in sudo out of the box. Instead of letting the tool prompt mid-run, mpm primes the credential cache up-front, with a single branded password prompt at most. Turn escalation off for rootless setups with --no-sudo or the per-manager sudo override.

Its privileged operation is remove.

See privilege escalation for the full policy.

Cooldown

State of Solaris SVR4 package tools’s release-age gating, from the cooldown support table:

A cooldown only pays off where a compromised release can be withdrawn while the clock runs, and can only be emulated where the registry dates its releases. From the retraction table:

  • Registry: No registry of their own

  • Retraction: ➖ Not applicable: these managers either delegate to whichever manager they front (pkcon, topgrade) or wrap a retired project or a discontinued platform

Reference traces

A collection of raw native outputs captured from the manager’s own CLI and recorded in the manager source. If you know Solaris SVR4 package tools well and a transcript below looks wrong, or a newer release changed its output format, report it.

$ pkginfo -l
  PKGINST:  SUNWcar
      NAME:  Core Architecture, (Root)
  CATEGORY:  system
      ARCH:  i386.i86pc
   VERSION:  11.10.0,REV=2005.01.21.16.34
   BASEDIR:  /
    VENDOR:  Oracle Corporation
    STATUS:  completely installed

Version check

The version is probed by running:

$ uname -r
5.11

and extracted with:

r"(?P<version>[\d.]+)"

Changelog

  • 8.0.0 (2026-09-20)

    • Activate on illumos as well as Solaris, and report each package’s human-readable name, which was parsed from pkginfo -l and then dropped.

    • Fix mpm crashing on every illumos host, where the platform probe matched Solaris too and the i86pc machine string went unrecognized.

  • 7.2.0 (2026-07-09)

    • Add Solaris’ SVR4 package tools (pkginfo/pkgrm) with installed and remove support: SVR4 packages come from local media, so there is no repository to search, install from or upgrade against.