User Commands pkgtrans(1)
NAME
pkgtrans - translate package format
SYNOPSIS
pkgtrans [-inosg] [-k keystore] [-a alias] [-P passwd] device1 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 formato one file system format to another file system for-
mat OPTIONS The options and arguments for this command are:-a alias Use public key certificate associated with
friendlyName alias, and the correspondingprivate key. See KEYSTORE LOCATIONS and KEY-
STORE AND CERTIFICATE FORMATS in pkgadd(1M) for more information.-g Sign resulting datastream.
-i Copies only the pkginfo(4) and pkgmap(4)
files.-k keystore Use keystore to retrieve private key used to
generate signature. If it not specified, default locations are searched to find thespecified private key specified by -a. If no
alias is given, and multiple keys exist inthe key store, pkgtrans will abort. See KEY-
STORE 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 thehome directory of the user invoking pkgtrans.
SunOS 5.11 Last change: 30 Oct 2007 1
User Commands pkgtrans(1)
-n Creates a new instance of the package on the
destination 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 destina-
tion device. Package instance will be overwritten if it already exists.-P passwd Supply password used to decrypt the keystore.
See PASS PHRASE ARGUMENTS in pkgadd(1M) for details on the syntax of the argument to this option.-s Indicates that the package should be written
to device2 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. OPERANDSdevice1 Indicates the source device. The package or pack-
ages on this device will be translated and placed on device2. See DEVICE SPECIFIERS, below. device2 Indicates the destination device. Translatedpackages will be placed on this device. See DEV-
ICE SPECIFIERS, below. pkginst Specifies which package instance or instances on device1 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 theC-Shell, the * must be surrounded by single
quotes (') or preceded by a backslash (\). DEVICE SPECIFIERSSunOS 5.11 Last change: 30 Oct 2007 2
User Commands pkgtrans(1)
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. device Packages can be stored to a character orblock device by specifying the device iden-
tifier as the device. Common examples ofthis device type are /dev/rmt/0 for a remov-
able magnetic tape and /floppy/floppy0 for the first floppy disk on the system.pkgtrans can also produce regular file sys-
tem files in a stream format, which is suit-
able 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. Commonexamples of this type of device specifica-
tion are spool (the default package device location) and disk1. These names correspond to devices specified in /etc/device.tab directory Packages can be stored onto a directory by specifying an absolute path to a file system directory. The package contents reside in a directory within the specified 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.EXAMPLES
Example 1 Translating All Packages on the Floppy Disk The following example translates all packages on the floppy drive /dev/diskette and places the translations on /tmp:example% pkgtrans /dev/diskette /tmp all
Example 2 Translating Packages on /tmpSunOS 5.11 Last change: 30 Oct 2007 3
User Commands pkgtrans(1)
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
Example 3 Translating Packages on /tmp 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
Example 4 Creating a Signed Package The following example creates a signed package from pkg1 andpkg2, and reads the password from the $PASS environment
variable:example% pkgtrans -sg -k /tmp/keystore.p12 -a foo \
-p env:PASS /tmp /tmp/signedpkg pkg1 pkg2
Example 5 Translating a Package Datastream The following example translates a package datastream into a file system format package:example% pkgtrans /tmp/pkg1.pkg ~/tmp pkg1
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.SunOS 5.11 Last change: 30 Oct 2007 4
User Commands pkgtrans(1)
>0 An error occurred.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | package/svr4 ||_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
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), large-
file(5) Application Packaging Developer's Guide NOTESBy default, pkgtrans does not translate any instance of a
package if any instance of that package already exists onthe 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.Package commands are largefile(5)-aware. They handle files
larger than 2 GB in the same way they handle smaller files.In their current implementations, pkgadd(1M), pkgtrans and
other package commands can process a datastream of up to 4 GB.SunOS 5.11 Last change: 30 Oct 2007 5