Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




OpenSolaris 2008.11 Image Packaging System Guide
Previous Next

The Publication Client pkgsend(1)

The image packaging system publication client, pkgsend, allows the publication of new packages and new package versions to an image packaging repository. Each publication is structured as a transaction. Transactions may contain actions as described in the section Actions in IPS.

The pkgsend(1) command supports the following subcommands :

Note - The default repository server is https://localhost:10000. To specify a different repository server, use the -s repository-server option with the pkgsend subcommands.

Table 3-1 pkgsend(1) Subcommands




Begins a transaction on the package specified by pkg_fmri. A transaction_id is outputted when the command executes successfully.

Syntax : pkgsend open -en pkg_fmri

  • -e– Use this option to prepend export PKG_TRANS_ID= to the transaction_id. This can be used by the shell to evaluate the output and set the environment variable PKG_TANS_ID. This environment variable can be used when executing future pkgsend commands within the same transaction.

For information about FMRI, see the Solaris Basic Administration Guide.


Adds an action to the current transaction.

Syntax : pkgsend add actions pkg_fmri


Adds multiple actions present in each manifest file to the current transaction. Each line in the file should be the string representation of an action. Do not use this sub command with the add, open or close sub-commands.

Syntax : pkgsend include [-d basedir] filename

import bundlefile

Adds each given bundlefile into the current transaction. An SVR4 package is an example of a bundlefile.

Syntax : pkgsend import [-T pattern] bundlefile

Use the following shell matching rules with the pattern option to add the timestamp of the file to the action of that file, if the basename of the files in the bundle match the optional pattern(s).

Note - The basename refers to the last component of a pathname. For example, in the path /usr/bin/ls, the basename is ls.

  • * – Matches everything.

  • ? – Matches any single character.

  • [seq] – Matches any character in sequence.

  • [!seq] — Matches any character not in sequence.

Note - When a timestamp is added to a file's actions, the file will be installed with precisely that timestamp, regardless of the actual time of installation. This is particularly useful in cases where the software requires a particular timestamp on the files it reads. For instance, python wants the executable files .py that are installed to have the same timestamp on the filesystem as is recorded in the compiled versions (.pyc) of those files.


Close the current transaction.

Syntax : pkgsend close [-A]

The -A option abandons the current transaction.

Limitations of the pkgsend(1) Command

Note the following limitations of using the pkgsend command:

  • Use the pkgsend command only if one or two packages at a time are being published to the repository.

  • The pkgsend command does not resolve dependencies. If more than one package is being published to the repository, the user must manually resolve all package dependencies.

Note - When you are publishing a newer version of a package to the repository, specify the FMRI of the package correctly. The new version of the package will coexist with any prior version already in the repository.

Previous Next

  Published under the terms fo the Public Documentation License Version 1.01. Design by Interspire