Sun Software Package Management
Introduction
Notes on how to query the status of sun software packages. This includes the vendor software Sun provides
and the open source initiative
Blastwave.
Typographical conventions in this document
We shall use the
font
for actual command output or command names and
italic type for man pages.
To indicate a shell prompt we shall use
$
to indicate a
non-root user prompt and
#
for a
root user prompt.
Man Pages
The pertinent man pages are
pkginfo(1),
pkgmk(1),
pkgparam(1),
pkgproto(1),
pkgtrans(1),
installf(1M),
pkgask(1M),
pkgrm(1M),
removef(1M),
admin(4),
attributes(5).
Querying Package States
Suppose we want to list all installed packages on the system. We run
pkginfo
without any options. The second column is the package name as is confirmed by
querying a single package:
$ pkginfo SUNWspl
system SUNWspl Spell Checking Engine - Base Release (English)
<snipped the rest of the output>
Querying a particular package (along with the
-l
option) more info.
pkginfo -l SUNWspl
PKGINST: SUNWspl
NAME: Spell Checking Engine - Base Release (English)
CATEGORY: system
ARCH: sparc
VERSION: 3.3.1,REV=10.1999.12.02
BASEDIR: /usr
VENDOR: Sun Microsystems, Inc.
DESC: Spell Checking Engine - Base Release (English)
PSTAMP: togos19991202021047
INSTDATE: May 24 2004 16:22
HOTLINE: Please contact your local service provider
STATUS: completely installed
FILES: 13 installed pathnames
3 shared pathnames
5 directories
1 executables
1834 blocks used (approx)
We are told there are various types of files installed but we are not told what they are. How to list
them? For this one uses the
pkgchk
command. For example, for the
SUNWspl
package
$ pkgchk -l SUNWspl
Pathname: /usr/dt
Type: directory
Expected mode: 0775
Expected owner: root
Expected group: bin
Referenced by the following packages:
SUNWfdl SUNWeusru SUNWeuezt SUNWeudmg SUNWeudlg
SUNWeudiv SUNWeudis SUNWeudhs SUNWeudhr SUNWeudda
SUNWeudbd SUNWeudba SUNWdtct SUNWdtcor SUNWdticn
SUNWdthez SUNWdtim SUNWdtjxt SUNWdtdst SUNWdtwm
NSCPcom SUNWsregu SUNWscgui SUNWwsrv SUNWdtezt
SUNWspl SUNWj2pi SUNWjmfp SUNWdtbax SUNWdtdem
SUNWdtmaz SUNWdtnsc SUNWmfdev SUNWpdas SUNWdtdte
SUNWxwfa
Current status: installed
Pathname: /usr/dt/config
Type: directory
Expected mode: 0775
Expected owner: root
Expected group: bin
Referenced by the following packages:
SUNWeudmg SUNWeudlg SUNWeudhs SUNWdtdmn SUNWdtdst
SUNWdtwm SUNWsregu SUNWdthe SUNWdthed SUNWscgui
SUNWspl SUNWdtbas SUNWdtdte
Current status: installed
Pathname: /usr/dt/config/sdtdict
Type: directory
Expected mode: 0775
Expected owner: root
Expected group: bin
Referenced by the following packages:
SUNWspl
Current status: installed
<snipped the rest>
Not quite as compact as one would like. It's important to realize that
pkgchk
actually checks the integrity
of files and will fix them. All the data is stored
/var/sadm/install/contents
file. Hence running
as non-root seems sensible.
The CSW packages
These are the packages provides by the
Blastwave project. All of these
are installed primarily in
/opt/csw
and are prefixed by
CSW
. On
core.cs we have
application CSWaudiofile audiofile - Silicon Graphics Audio File Library
application CSWbdb4 berkeleydb4 - Embedded database libraries and utilities
application CSWbdb43 berkeleydb43 - BerkeleyDB 4.3 libraries and utilities
application CSWbonobo2 libbonobo2 - GNOME component and compound document system
application CSWbzip2 bzip2 - a high-quality block-sorting file compressor
system CSWcommon common - common files and dirs for CSW packages
application CSWddd ddd - GNU DDD (Data Display Debugger)
application CSWdtopfutils desktopfileutils - utilities for working with desktop entries and .menu files
application CSWesound esound - EsounD, The Enlightened Sound Daemon
application CSWexpat expat - XML Parser Toolkit
system CSWfam fam - File Alteration Monitor, daemon and interface library
application CSWfconfig fontconfig - A library for configuring and customizing font access.
application CSWfirefox firefox - mozilla.org browser
application CSWfreeradius freeradius - radius server
application CSWftype2 freetype2 - The free and portable high quality font engine
application CSWgcc3corert gcc3corert - GNU C Compiler Run Time
application CSWgcc3g++rt gcc3g++rt - GNU C++ Compiler Run Time
application CSWgconf2 gconf2 - GNOME configuration database system
system CSWgd gd - libgd, Graphics creation library and utilities
system CSWgdbm gdbm - GNU dbm
system CSWggettext ggettext - GNU gettext
application CSWglib2 glib2 - Low-level core library that forms the basis of GTK+
application CSWgnomemime2 gnomemime2 - MIME type database for GNOME
application CSWgnomevfs2 gnomevfs2 - GNOME Virtual File System
application CSWgs ghostscript - GPL Ghostscript, a PostScript and PDF interpreter for previewing, conversion and printing
application CSWgsed gsed - The GNU non-interactive text Stream-oriented EDitor (sed)
system CSWgsfonts gsfonts - Fonts and AFMs for use with GhostScript
application CSWgtk2 gtk2 - GTK+, The multi-platform toolkit for GUI development
system CSWiconv libiconv - GNU iconv library
application CSWjasper jasper - An image data software toolkit for JPEG-2000 codec standard
system CSWjbig2dec jbig2dec - decoder implementing JBIG2 bi-level image compression
system CSWjpeg jpeg - lib and tools for JPEG image format
application CSWkrb5lib krb5_lib - MIT Kerberos 5 core libraries
application CSWlibatk libatk - Accessibility toolkit for GNOME
application CSWlibcairo libcairo - The Cairo 2D Graphics Library
application CSWlibcups libcups - Library and Header Files for the Common UNIX Printing System
application CSWlibgnome libgnome - The main GNOME library
application CSWlibidl libidl - Library for handling CORBA IDL
system CSWlibnet libnet - the libnet packet construction library
application CSWlibpopt libpopt - Command line option parsing library
application CSWlibtool libtool - Generic library support script
application CSWlibxft2 libxft2 - FreeType-based font drawing library for X
application CSWlibxml2 libxml2 - XML Parser Library
application CSWlibxrender libxrender - fontconfig.org Xrender library
application CSWncurses ncurses - ncurses library and utilities
application CSWoldap openldap - OpenLDAP standalone server and update replication daemons (oldap)
application CSWoldapclient openldap_client - OpenLDAP client executables (oldapclient)
application CSWoldaprt openldap_rt - OpenLDAP runtime libraries (oldaprt)
application CSWorbit2 orbit2 - ORBit 2.x CORBA tools and libs
application CSWossl openssl - The Open Source toolkit for SSL and TLS.
application CSWpango libpango - Library for laying out and rendering text
application CSWperl perl - A high-level, general-purpose programming language.
system CSWpkgget pkg_get - CSW version of automated package download tool
system CSWpmtk pm_tk - a Graphical User Interface ToolKit perl module
system CSWpng png - library for Portable Network Graphics format (PNG)
system CSWreadline readline - library to enable interactive line editing
application CSWrenderdev render_dev - fontconfig.org render development files
application CSWsambalib samba_lib - Tools to access a server's filespace and printers via SMB (lib)
application CSWsasl sasl - Simple Authentication and Security Layer
system CSWsunmath libsunmath - Sun maths library
application CSWt1lib t1lib - Type1 font renderering library
system CSWtcpwrap tcpwrappers - (ipv6.4 patched) lib and tools for pre-screening tcp connections
application CSWtetex tetex - A complete TeX distribution
application CSWtexinfo texinfo - The GNU Documentation System
application CSWthunderbird thunderbird - Mozilla Thunderbird Mail Client
system CSWtiff tiff - lib and tools for Tag Image File Format
application CSWtransfig transfig - facility for translating fig code
application CSWunixodbc unixodbc - ODBC access to data sources
application CSWwget wget - A network utility to retrieve files from the Web
system CSWxaw3d xaw3d - Xaw3d, Three-D Athena Toolkit
application CSWxfig xfig - Xfig is an interactive drawing tool
system CSWxpm xpm - library for X11 PixMap format (libXpm.so.4.11)
application CSWzlib zlib - Zlib Data Compression Library
which (as of August 21, 2006) gives 73 packages. The beauty of this collection of packages is the
command
pkg-get
will download the package and it's dependencies. It's inspired by the famous
apt-get
command of Debian. It is important to realize that
pkg-get
runs the vendor tool
pkgadd
to install the packages. These are not Debian packages!
How to list files in Sun Package
The simplest way seems to run
pkgchk -l packagename |grep '^Pathname:' | sed -e 's|^Pathname:||'
where the list of packagenames are as above.