MoonPoint Support Logo


Shop Amazon Warehouse Deals - Deep Discounts on Open-box and Used ProductsAmazon Warehouse Deals

Advanced Search
Sun Mon Tue Wed Thu Fri Sat
25 26 27 28
29 30          

Thu, Jun 25, 2009 6:18 pm

Determinining the Version of a Package

To determine the version number for an installed package on Solaris, the pkginfo command can be used. If I wanted to check the version number for the Apache Portable Runtime Libraries utilities package, apr-util, I could issue the pkginfo command with no options and grep for apr to determine the package name.
# pkginfo | grep apr
application SMCapr         apr
application SMCapru        aprutil

I can then check the version number using the command pkginfo -l SMCapru:

# pkginfo -l SMCapru
   PKGINST:  SMCapru
      NAME:  aprutil
  CATEGORY:  application
      ARCH:  sparc
   VERSION:  1.2.2
   BASEDIR:  /usr/local
    VENDOR:  Apache Software Foundation
    PSTAMP:  Steve Christensen
  INSTDATE:  Jun 25 2009 17:11
    STATUS:  completely installed
     FILES:     49 installed pathnames
                12 shared pathnames
                 8 directories
                 3 executables
              5750 blocks used (approx)

The version number listed is 1.2.2

[/os/unix/solaris/commands] permanent link

Sun, Feb 03, 2008 7:36 pm

Determing the Package to Which a File Belongs

If you wish to determine what package a file belongs to under Solaris, you can use the command pkgchk -l -p /path/file. E.g. to determine the package to which the openssl program located in /usr/sfw/bin belongs, the following command could be used:

# pkgchk -l -p /usr/sfw/bin/openssl
Pathname: /usr/sfw/bin/openssl
Type: regular file
Expected mode: 0555
Expected owner: root
Expected group: bin
Expected file size (bytes): 318668
Expected sum(1) of contents: 16493
Expected last modification: Jan 26 21:01:01 2006
Referenced by the following packages:
Current status: installed

From the above information, I can see the file belongs to the package SUNWopenssl-commands. I can get further information on that package, such as the date the package was installed with the command pkginfo -l SUNWopenssl-commands.

# pkginfo -l SUNWopenssl-commands
   PKGINST:  SUNWopenssl-commands
      NAME:  OpenSSL Commands (Usr)
  CATEGORY:  system
      ARCH:  i386
   VERSION:  11.10.0,REV=2005.
   BASEDIR:  /
    VENDOR:  Sun Microsystems, Inc.
      DESC:  OpenSSL Commands (Use)
    PSTAMP:  on10-patch-x20060126144406
  INSTDATE:  Jul 08 2006 23:31
   HOTLINE:  Please contact your local service provider
    STATUS:  completely installed
     FILES:        5 installed pathnames
                   3 shared pathnames
                   3 directories
                   2 executables
                 634 blocks used (approx)


  1. Solaris find out a package which a file belongs to
    nixCraft - Insight Into Linux Admin Work

[/os/unix/solaris/commands] permanent link

Fri, Feb 01, 2008 9:41 pm

Removing a Package

Removing a package that has been installed on a Solaris system is handled by the pkgrm command, which must be run from the root account. E.g. pkgrm SMCx11vnc would remove the previously installed x11vnc package from a system. The output produced from running the command appears below.

# pkgrm SMCx11vnc

The following package is currently installed:
   SMCx11vnc  x11vnc
              (sparc) 0.7

Do you want to remove this package? [y,n,?,q] y

## Removing installed package instance <SMCx11vnc>
## Verifying package <SMCx11vnc> dependencies in global zone
## Processing package information.
## Removing pathnames in class <none>
/usr/local/share <shared pathname not removed>
/usr/local/doc <shared pathname not removed>
/usr/local/bin <shared pathname not removed>
## Updating system information.

Removal of <SMCx11vnc> was successful.


  1. Remove a Solaris package with pkgrm
    November 28, 2005
    tech-recipes - Your cookbook of tech-tutorials

[/os/unix/solaris/commands] permanent link

Fri, Feb 01, 2008 8:40 pm

Pkginfo Command

On Solaris systems, the pkginfo command can be used to obtain information on installed packages. It is somewhat aking to the rpm and similar commands on Linux systems.

pkginfo [-q] [-pi] [-x|l] [options] [pkg ...]
pkginfo -d device [-q] [-x|l] [options] [pkg ...]
  -q #quiet mode
  -p #select partially installed packages
  -i #select completely installed packages
  -x #extracted listing
  -l #long listing
  -r #relocation base
and options may include:
  -c category, [category...]
  -a architecture
  -v version

If you just issue the command pkginfo, you will see list of all of the installed packages on the system with a one-line listing per package.

# pkginfo
system      CADP160                          Adaptec Ultra160 SCSI Host Adapter
application CFWWine                          WINE
system      HPFC                             Agilent Fibre Channel HBA Driver
system      NCRos86r                         NCR Platform Support, OS Functional
ity (Root)
system      SK98sol                          SysKonnect SK-NET Gigabit Ethernet
Adapter SK-98xx
system      SKfp                             SysKonnect PCI-FDDI Host Adapter
application SMChtdig                         htdig
<text snipped>
system      SUNWzlib                         The Zip compression library
system      SUNWzoner                        Solaris Zones (Root)
system      SUNWzoneu                        Solaris Zones (Usr)
system      SUNWzsh                          Z shell (zsh)
system      SYMhisl                          Symbios 895A, 896 and 1010 SCSI driver

If you are just interested in a particular package, you can use pkginfo pkgname where pkgname is the relevant package. But you need to bear in mind that the name assigned to the package may have SUNW in front of it or may not otherwise be exactly what you expect. E.g., suppose I want to know whether the zlib package is installed, because I want to install some other package that lists the zlib software as a dependency. If I use the command pkginfo zlib, I see the following:

# pkginfo zlib
ERROR: information for "zlib" was not found

Using pkginfo | grep -i pkgname will likely be better, unless you are certain of the package name.

# pkginfo | grep -i zlib
system      SUNWzlib                         The Zip compression library

Now I see the package name for the zlib package is SUNWzlib and I could use that command with the pkginfo command, but I want see any more information unless I use the -l option to get a long listing.

# pkginfo SUNWzlib
system      SUNWzlib The Zip compression library
# pkginfo -l SUNWzlib
      NAME:  The Zip compression library
  CATEGORY:  system
      ARCH:  i386
   VERSION:  11.10.0,REV=2005.
   BASEDIR:  /
    VENDOR:  Sun Microsystems, Inc.
      DESC:  The Zip compression library
    PSTAMP:  sfw10-x20050108014620
  INSTDATE:  Jul 08 2006 23:00
   HOTLINE:  Please contact your local service provider
    STATUS:  completely installed
     FILES:       13 installed pathnames
                   4 shared pathnames
                   4 directories
                   2 executables
                 424 blocks used (approx)

The long listing shows me the version of zlib installed, which in this case is version 11.10.0. I also see the installation date was July 8, 2006 at 11:00 P.M.


  1. Solaris: list installed packages with pkginfo
    November 28, 2005
    tech-recipes - Your cookbook of tech-tutorials

[/os/unix/solaris/commands] permanent link

Once You Know, You Newegg AliExpress by

Shop Amazon Local - Subscribe to Deals in Your Neighborhood

Valid HTML 4.01 Transitional

Privacy Policy   Contact

Blosxom logo