pkgtrans(1)
NAME
pkgtrans - translate package format
SYNOPSIS
pkgtrans [-inosg] [-k keystore] [-a alias] [-P passwd] dev-
ice1 device2 [pkginst...]
DESCRIPTION
The pkgtrans utility translates an installable package from
one format to another. It translates:
o a file system format to a datastream
o a file system format to a signed datastream
o a datastream to a file system format
o one file system format to another file system format
OPTIONS
The options and arguments for this command are:
-i Copies only the pkginfo(4) and pkgmap(4) files.
-n Creates a new instance of the package on the destina-
tion device if any instance of this package already
exists, up to the number specified by the MAXINST
variable in the pkginfo(4) file.
-o Overwrites the same instance on the destination dev-
ice. Package instance will be overwritten if it
already exists.
-s Indicates that the package should be written to dev-
ice2 as a datastream rather than as a file system. The
default behavior is to write a file system format on
devices that support both formats.
-g Sign resulting datastream.
-k keystore
Use keystore to retrieve private key used to generate
signature. If it not specified, default locations are
searched to find the specified private key specified
by -a. If no alias is given, and multiple keys exist
in the key store, pkgtrans will abort. See KEYSTORE
LOCATIONS and KEYSTORE AND CERTIFICATE FORMATS in
pkgadd(1M) for more information on search locations
and formats.
When running as a user other than root, the default
base directory for certificate searching is
~/.pkg/security, where ~ is the home directory of the
user invoking pkgtrans.
-a alias
Use public key certificate associated with
friendlyName alias, and the corresponding private key.
See KEYSTORE LOCATIONS and KEYSTORE AND CERTIFICATE
FORMATS in pkgadd(1M) for more information.
-P passwd
Supply password used to decrypt the keystore. See PASS
PHRASE ARGUMENTS in pkgadd(1M) for details on the syn-
tax of the argument to this option.
OPERANDS
device1
Indicates the source device. The package or packages
on this device will be translated and placed on dev-
ice2. See DEVICE SPECIFIERS, below.
device2
Indicates the destination device. Translated packages
will be placed on this device. See DEVICE SPECIFIERS,
below.
pkginst
Specifies which package instance or instances on dev-
ice1 should be translated. The token all may be used
to indicate all packages. pkginst.* can be used to
indicate all instances of a package. If no packages
are defined, a prompt shows all packages on the device
and asks which to translate.
The asterisk character (*) is a special character to
some shells and may need to be escaped. In the C-
Shell, "*" must be surrounded by single quotes (') or
preceded by a backslash (\).
DEVICE SPECIFIERS
Packaging tools, including pkgtrans, pkgadd(1M), and
pkgchk(1M), have options for specifying a package location
by specifying the device on which it resides. Listed below
are the device types that a package can be stored to and
retrieved from. Note that source and destination devices
cannot be the same.
directory
Packages can be stored onto a directory by specifying
an absolute path to a file system directory. The pack-
age contents reside in a directory within the speci-
fied directory. The package directory name must be
identical to its PKG specification in the pkginfo(4)
file. An example device specification of this type is
/export/packages.
device
Packages can be stored to a character or block device
by specifying the device identifier as the device.
Common examples of this device type are /dev/rmt/0 for
a removable magnetic tape and /floppy/floppy0 for the
first floppy disk on the system. pkgtrans can also
produce regular file system files in a stream format,
which is suitable for storage on a character device,
web server, or as input to pkgadd(1M).
device alias
Devices that have been specified in /etc/device.tab
are eligible for being the recipient or source of a
package. Common examples of this type of device
specification are spool (the default package device
location) and disk1. These names correspond to devices
specified in /etc/device.tab
EXAMPLES
Example 1: Examples of the pkgtrans command
The following example translates all packages on the floppy
drive /dev/diskette and places the translations on /tmp:
example% pkgtrans /dev/diskette /tmp all
The following example translates packages pkg1 and pkg2 on
/tmp and places their translations (that is, a datastream)
on the 9track1 output device:
example% pkgtrans /tmp 9track1 pkg1 pkg2
The following example translates pkg1 and pkg2 on /tmp and
places them on the diskette in a datastream format:
example% pkgtrans -s /tmp /dev/diskette pkg1 pkg2
The following example creates a signed package from pkg1 and
pkg2, and reads the password from the $PASS environment
variable:
example% pkgtrans -sg -k /tmp/keystore.p12 -alias foo \
-p env:PASS /tmp /tmp/signedpkg pkg1 pkg2
ENVIRONMENT VARIABLES
The MAXINST variable is set in the pkginfo(4) file and
declares the maximum number of package instances.
EXIT STATUS
0 Successful completion.
>0 An error occurred.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
_____________________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|______________________________________|_____________________________|
| Availability | SUNWpkgcmdsu |
|______________________________________|_____________________________|
| Interface Stability: | |
| | Evolving |
| Command line | |
| | Evolving |
| Digitally signed stream package| |
|______________________________________|_____________________________|
SEE ALSO
pkginfo(1), pkgmk(1), pkgparam(1), pkgproto(1),
installf(1M), pkgadd(1M), pkgask(1M), pkgrm(1M),
removef(1M), pkginfo(4), pkgmap(4), attributes(5)
Application Packaging Developer's Guide
NOTES
By default, pkgtrans will not translate any instance of a
package if any instance of that package already exists on
the destination device. Using the -n option creates a new
instance if an instance of this package already exists.
Using the -o option overwrites an instance of this package
if it already exists. Neither of these options are useful if
the destination device is a datastream.
Man(1) output converted with
man2html