Skip to Content

Solaris 10 Files and SVR4 Packages

The page explains how to match system files and the packages they belong to in Solaris 10.

How to find the Solaris 10 Package a File belongs to?

An example: You want to know which package /usr/ucb/whoami belongs to?

Option 1: Using the pkgchk Command

The pkgchk command will reveil all details about the file-

bash-3.00$ /usr/sbin/pkgchk -l -p /usr/ucb/whoami

NOTE: Couldn't lock the package database.

Pathname: /usr/ucb/whoami

Type: regular file

Expected mode: 0755

Expected owner: root

Expected group: bin

Expected file size (bytes): 5708

Expected sum(1) of contents: 49676

Expected last modification: Jan 23 03:03:26 2005 Referenced by the following packages:

           SUNWscpu

Current status: installed

The note about the non locked database arises from the fact that the command hasn't been called with root privileges.

Option 2: The quick and dirty Approach

The non API way to find a SVR4 package a file belongs to seams to be the system file /var/sadm/install/contents. This is the place Solaris 10 tracks all installed files. Using grep on the file /var/sadm/install/contents is quite comfortable for bulk searches since the pkgchk command takes significant more time.

bash-3.00$ which whoami

/usr/ucb/whoami

bash-3.00$ grep /usr/ucb/whoami /var/sadm/install/contents

/usr/ucb/whoami f none 0755 root bin 5708 49676 1106445806 SUNWscpu

The answer is  SUNWscpu!

bash-3.00$ pkginfo SUNWscpu system SUNWscpu Source Compatibility, (Usr)

The file contents is normally readable by any user. No special privileges are required.

Warning: The file contents is the package database of the system. A corruption of this file will not allow anymore to install packages!



page | by Dr. Radut