| Current File : //usr/man/man1/pkgrecv.1 |
'\" te
.\" Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
.TH pkgrecv 1 "21 Nov 2013" "SunOS 5.11" "User Commands"
.SH NAME
pkgrecv \- Image Packaging System content retrieval utility
.SH SYNOPSIS
.LP
.nf
/usr/bin/pkgrecv [-aknrv] [-s (\fIsrc_path\fR|\fIsrc_uri\fR)]
[-d (\fIdest_path\fR|\fIdest_uri\fR)] [-c \fIcache_dir\fR]
[-m \fImatch\fR] [--raw]
[--key \fIsrc_key\fR --cert \fIsrc_cert\fR]
[--dkey \fIdest_key\fR --dcert \fIdest_cert\fR]
(\fIfmri\fR|\fIpattern\fR) \&.\&.\&.
.fi
.LP
.nf
/usr/bin/pkgrecv [-s (\fIsrc_path\fR|\fIsrc_uri\fR)] --newest
.fi
.LP
.nf
/usr/bin/pkgrecv [-nv] [-s (\fIsrc_path\fR|\fIsrc_uri\fR)]
[-d (\fIdest_path\fR|\fIdest_uri\fR)] [-p \fIpublisher\fR]\&.\&.\&.
[--key \fIsrc_key\fR --cert \fIsrc_cert\fR] --clone
.fi
.SH DESCRIPTION
.sp
.LP
\fBpkgrecv\fR retrieves all versions of each matching \fIfmri\fR or \fIpattern\fR from the \fBpkg\fR(5) repository or package archive specified by the \fB-s\fR option and optionally republishes the retrieved packages to the package repository or package archive specified by the \fB-d\fR option\&. By default, packages are retrieved in package repository format suitable for use with \fBpkg\fR, \fBpkg\&.depotd\fR, and package publication tools\&.
.sp
.LP
Packages that have not changed are not republished\&. Therefore, the time to update an existing repository depends on the number of new and changed packages\&.
.sp
.LP
Use the \fB-m\fR option to specify whether to retrieve all versions of each matching package, or only the newest version of each matching package\&.
.sp
.LP
If you do not specify \fB\'*\'\fR to be retrieved, you might want to specify the \fB-r\fR option to be sure to retrieve all the dependencies of the specified packages\&.
.LP
Note -
.sp
.RS 2
.sp
.LP
Do not use multiple instances of \fBpkgrecv\fR simultaneously to republish packages to the same destination repository or archive\&. In this case, newly received packages could contain duplicate actions\&.
.RE
.sp
.LP
After a \fBpkgrecv\fR operation that retrieves packages into a \fIdest_uri\fR, if the \fIdest_uri\fR repository must support \fBpkg search\fR operations, run \fBpkgrepo refresh\fR on that repository to update search indexes\&.
.SH OPTIONS
.sp
.LP
The following options are supported:
.sp
.ne 2
.mk
.na
\fB\fB-h\fR\fR
.ad
.br
.sp .6
.RS 4n
Display a usage message\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fB-a\fR\fR
.ad
.br
.sp .6
.RS 4n
Store the retrieved package data in a \fBpkg\fR(5) archive at the location specified by the \fB-d\fR option\&. The file specified by \fB-d\fR cannot already exist\&. The \fB-a\fR option can be used only with file system based destinations\&. Although not required, using a file extension of \fB\&.p5p\fR (for example, \fBarchive\&.p5p\fR) is strongly suggested\&. The \fB-a\fR option cannot be combined with the \fB--raw\fR option\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fB-c\fR \fIcache_dir\fR\fR
.ad
.br
.sp .6
.RS 4n
Specify the path to a directory that will be used to cache downloaded content\&. If this directory is not supplied, the client automatically selects a cache directory\&. In the case where a download is interrupted, and a cache directory was automatically chosen, use this option to resume the download\&. See the "Environment Variables" section below for details about how to set the location used for temporary data storage\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fB-d\fR (\fIdest_path\fR|\fIdest_uri\fR)\fR
.ad
.br
.sp .6
.RS 4n
Specify the file system path or URI where the retrieved packages should be republished\&. If \fB-a\fR is specified, this destination must be a package archive that does not already exist\&. If \fB-a\fR is not specified, this destination must be a package repository that already exists\&. Use the \fBpkgrepo\fR command to create a new package repository\&. If \fB-d\fR is not specified, the value of \fBPKG_DEST\fR is used\&. See "Environment Variables" below\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fB-k\fR\fR
.ad
.br
.sp .6
.RS 4n
Keep the retrieved package content compressed\&. This option is ignored when republishing\&. Compressed package content should not be used with \fBpkgsend\fR\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fB-m\fR \fImatch\fR\fR
.ad
.br
.sp .6
.RS 4n
Control which versions of packages are retrieved if \fIpattern\fR is specified or if \fIfmri\fR is not fully specified\&. For this description, the following four example packages exist in the source specified by the \fB-s\fR option\&. In these FMRI, the characters between the \fB@\fR and the \fB:\fR denote the numbered package version, and the characters from the \fB:\fR to the end denote the timestamp portion of the version string\&.
.sp
.in +2
.nf
pkg://solaris/package/pkg@0\&.5\&.11,5\&.11-0\&.175\&.1\&.0\&.0\&.24\&.0:20120904T180335Z
pkg://solaris/package/pkg@0\&.5\&.11,5\&.11-0\&.175\&.1\&.0\&.0\&.24\&.0:20120903T170234Z
pkg://solaris/package/pkg@0\&.5\&.11,5\&.11-0\&.175\&.1\&.0\&.0\&.23\&.0:20120820T165108Z
pkg://solaris/package/pkg@0\&.5\&.11,5\&.11-0\&.175\&.1\&.0\&.0\&.23\&.0:20120819T155007Z
.fi
.in -2
.sp
.sp
.ne 2
.mk
.na
\fB\fBall-timestamps\fR\fR
.ad
.br
.sp .6
.RS 4n
Retrieve all versions of each matching \fIfmri\fR or \fIpattern\fR (implies \fBall-versions\fR)\&. This is the default behavior if the \fB-m\fR option is not specified\&. In the example above, all four packages are retrieved\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fBall-versions\fR\fR
.ad
.br
.sp .6
.RS 4n
Retrieve the latest timestamp for each version of each matching \fIfmri\fR or \fIpattern\fR\&. In the example above, the following two packages are retrieved:
.sp
.in +2
.nf
pkg://solaris/package/pkg@0\&.5\&.11,5\&.11-0\&.175\&.1\&.0\&.0\&.24\&.0:20120904T180335Z
pkg://solaris/package/pkg@0\&.5\&.11,5\&.11-0\&.175\&.1\&.0\&.0\&.23\&.0:20120820T165108Z
.fi
.in -2
.sp
.RE
.sp
.ne 2
.mk
.na
\fB\fBlatest\fR\fR
.ad
.br
.sp .6
.RS 4n
Retrieve only the newest version of each matching \fIfmri\fR or \fIpattern\fR\&. In the example above, only the following package is retrieved:
.sp
.in +2
.nf
pkg://solaris/package/pkg@0\&.5\&.11,5\&.11-0\&.175\&.1\&.0\&.0\&.24\&.0:20120904T180335Z
.fi
.in -2
.sp
.RE
.RE
.sp
.ne 2
.mk
.na
\fB\fB-n\fR\fR
.ad
.br
.sp .6
.RS 4n
Perform a trial run with no changes made\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fB-p\fR \fIpublisher\fR\fR
.ad
.br
.sp .6
.RS 4n
Only clone the specified publisher\&. This option can be specified multiple times\&. The \fB-p\fR option is valid only with the \fB--clone\fR option\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fB-r\fR\fR
.ad
.br
.sp .6
.RS 4n
Recursively retrieve all dependencies for each matching \fIfmri\fR or \fIpattern\fR\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fB-s\fR (\fIsrc_path\fR|\fIsrc_uri\fR)\fR
.ad
.br
.sp .6
.RS 4n
Specify the file system path or URI of a \fBpkg\fR(5) repository or package archive from which to receive package data\&. If \fB-s\fR is not specified, the value of \fBPKG_SRC\fR is used\&. See "Environment Variables" below\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fB-v\fR\fR
.ad
.br
.sp .6
.RS 4n
Display verbose output, including the number of packages retrieved and their full FMRIs, the number of files retrieved, and the estimated size of the transfer\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fB--key\fR \fIsrc_key\fR\fR
.ad
.br
.sp .6
.RS 4n
Specify a client SSL key file to use for package retrieval from the source HTTPS repository\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fB--cert\fR \fIsrc_cert\fR\fR
.ad
.br
.sp .6
.RS 4n
Specify a client SSL certificate file to use for package retrieval from the source HTTPS repository\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fB--dkey\fR \fIdest_key\fR\fR
.ad
.br
.sp .6
.RS 4n
Specify a client SSL key file to use for package publication to the destination HTTPS repository\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fB--dcert\fR \fIdest_cert\fR\fR
.ad
.br
.sp .6
.RS 4n
Specify a client SSL certificate file to use for package publication to the destination HTTPS repository\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fB--clone\fR\fR
.ad
.br
.sp .6
.RS 4n
Make an exact copy of the source repository\&. By default, the clone operation succeeds only if publishers in the source repository are also present in the destination\&. To limit the clone operation to specified publishers, use the \fB-p\fR option\&. Publishers specified by using the \fB-p\fR option are added to the destination repository if they are not already present\&. Packages that are in the destination repository but not in the source repository are removed\&. The clone operation leaves the destination repository altered if an error occurs\&. Therefore, the destination repository should be in its own ZFS dataset, and a snapshot should be created prior to performing the clone operation\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fB--newest\fR\fR
.ad
.br
.sp .6
.RS 4n
List the most recent versions of the packages available from the repository specified by the \fB-s\fR option\&. All other options are ignored\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fB--raw\fR\fR
.ad
.br
.sp .6
.RS 4n
Retrieve and store the raw package data in a set of directory structures by stem and version at the location specified by \fB-d\fR\&. The \fB--raw\fR option can be used only with file system based destinations\&. This package data can be used to conveniently modify and republish packages, perhaps by correcting file contents or providing additional package metadata\&. The \fB--raw\fR option cannot be combined with \fB-a\fR\&.
.RE
.SH EXAMPLES
.LP
\fBExample 1\fR List Newest Packages
.sp
.LP
List the newest packages available from the repository on the system named \fBtest\fR\&.
.sp
.in +2
.nf
$ \fBpkgrecv -s http://test --newest\fR
pkg://solaris/system/library/c++-runtime@0\&.5\&.11,5\&.11-0\&.175\&.0\&.0\&.0\&.2\&.1:20120921T190358Z
pkg://solaris/system/library/freetype-2@2\&.4\&.8,5\&.11-0\&.175\&.1\&.0\&.0\&.7\&.1234:20120109T215840Z
pkg://solaris/system/library/math@0\&.5\&.11,5\&.11-0\&.175\&.0\&.0\&.0\&.2\&.1:20120921T190432Z
.fi
.in -2
.sp
.LP
\fBExample 2\fR Retrieve Raw Package Data
.sp
.LP
Receive the \fBc++-runtime\fR package from Example 1 in a format suitable for use with \fBpkgsend publish\fR\&.
.sp
.in +2
.nf
$ \fBpkgrecv -s http://test \e\fR
\fB-d /local/repo --raw \e\fR
\fBc++-runtime@0\&.5\&.11,5\&.11-0\&.175\&.0\&.0\&.0\&.2\&.1:20120921T190358Z\fR
Processing packages for publisher solaris \&.\&.\&.
Retrieving and evaluating 1 package(s)\&.\&.\&.
PROCESS ITEMS GET (MB) SEND (MB)
Completed 1/1 3\&.5/3\&.5 0\&.0/0\&.0
$ \fBls /local/repo\fR
pkg5\&.repository publisher system%2Flibrary%2Fc%2B%2B-runtime
.fi
.in -2
.sp
.LP
\fBExample 3\fR Retrieve Dependencies From a System
.sp
.LP
Receive the package \fBeditor/vim\fR and all of its dependencies from the system named \fBtest\fR\&.
.sp
.in +2
.nf
$ \fBpkgrecv -s http://test -d /local/repo -r editor/vim\fR
.fi
.in -2
.sp
.LP
\fBExample 4\fR Retrieve Only the Latest Version
.sp
.LP
Receive only the latest version of the package \fBeditor/vim\fR from the system named \fBtest\fR\&.
.sp
.in +2
.nf
$ \fBpkgrecv -s http://test -d /local/repo -m latest -v \e\fR
\fBeditor/vim\fR
Processing packages for publisher solaris \&.\&.\&.
Retrieving and evaluating 1 package(s)\&.\&.\&.
Retrieving packages \&.\&.\&.
Packages to add: 1
Files to retrieve: 1557
Estimated transfer size: 9\&.21 MB
Packages to transfer:
editor/vim@7\&.3\&.600,5\&.11-0\&.175\&.1\&.0\&.0\&.24\&.0:20120904T172128Z
PROCESS ITEMS GET (MB) SEND (MB)
Completed 1/1 9\&.2/9\&.2 25\&.4/25\&.4
.fi
.in -2
.sp
.LP
\fBExample 5\fR Retrieve All Versions and Republish Remotely
.sp
.LP
Receive all versions of the package \fBlibrary/zlib\fR from the system named \fBtest\fR and republish it to a remote repository on the system named \fBremote\fR\&.
.sp
.in +2
.nf
$ \fBpkgrecv -s http://test -d http://remote:10000 \e\fR
\fB-m all-versions library/zlib\fR
.fi
.in -2
.sp
.LP
\fBExample 6\fR Retrieve Dependencies From a Repository
.sp
.LP
Receive the package \fBeditor/gnu-emacs\fR and all of its dependencies from the repository located at \fB/export/repo\fR\&.
.sp
.in +2
.nf
$ \fBpkgrecv -s /export/repo -d /local/repo -r editor/gnu-emacs\fR
.fi
.in -2
.sp
.LP
\fBExample 7\fR Retrieve Additional Packages and Changed Content
.sp
.LP
Receive all packages that do not already exist and all changed content from the repository located at \fBhttp://pkg\&.oracle\&.com/solaris/release/\fR to the repository located at \fB/export/repoSolaris11\fR\&.
.sp
.in +2
.nf
$ \fBpkgrecv -s http://pkg\&.oracle\&.com/solaris/release/ \e\fR
\fB-d /export/repoSolaris11 -m all-timestamps \'*\'\fR
.fi
.in -2
.sp
.sp
.LP
Receive all packages that do not already exist and all changed content from the secure repository located at \fBhttps://pkg\&.oracle\&.com/solaris/support/\fR to the repository located at \fB/export/repoSolaris11\fR\&.
.sp
.in +2
.nf
$ \fBpkgrecv -s https://pkg\&.oracle\&.com/solaris/support/ \e\fR
\fB-d /export/repoSolaris11 -m all-timestamps \e\fR
\fB--key /var/pkg/ssl/Oracle_Solaris_11_Support\&.key\&.pem \e\fR
\fB--cert /var/pkg/ssl/Oracle_Solaris_11_Support\&.certificate\&.pem \'*\'\fR
.fi
.in -2
.sp
.LP
\fBExample 8\fR Create a Package Archive
.sp
.LP
Create a package archive containing the package \fBeditor/gnu-emacs\fR and all of its dependencies from the repository located at \fBhttp://example\&.com:10000\fR\&.
.sp
.in +2
.nf
$ \fBpkgrecv -s http://example\&.com:10000 -d /my/emacs\&.p5p -a \e\fR
\fB-r editor/gnu-emacs\fR
.fi
.in -2
.sp
.LP
\fBExample 9\fR Copy Packages From an Archive to a Repository
.sp
.LP
Copy all of the packages in a package archive to an existing repository located at \fB/export/repo\fR\&.
.sp
.in +2
.nf
$ \fBpkgrecv -s /my/archive\&.p5p -d /export/repo \'*\'\fR
.fi
.in -2
.sp
.SH ENVIRONMENT VARIABLES
.sp
.LP
The following environment variables are supported:
.sp
.ne 2
.mk
.na
\fB\fBPKG_DEST\fR\fR
.ad
.RS 12n
.rt
The path of a directory to save the retrieved package to, or the file system path or URI of a repository or package archive where the packages will be copied\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fBPKG_SRC\fR\fR
.ad
.RS 12n
.rt
A URI or file system path representing the location of a \fBpkg\fR(5) repository or package archive from which to retrieve packages\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fBTMPDIR\fR\fR
.ad
.RS 12n
.rt
The absolute path of the directory where temporary data should be stored during program execution\&. If not set, the default is to store temporary data in \fB/var/tmp\fR\&.
.RE
.SH EXIT STATUS
.sp
.LP
The following exit values are returned:
.sp
.ne 2
.mk
.na
\fB\fB0\fR\fR
.ad
.RS 6n
.rt
Command succeeded\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fB1\fR\fR
.ad
.RS 6n
.rt
An error occurred\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fB2\fR\fR
.ad
.RS 6n
.rt
Invalid command line options were specified\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fB3\fR\fR
.ad
.RS 6n
.rt
Multiple operations were requested, but only some of them succeeded\&.
.RE
.sp
.ne 2
.mk
.na
\fB\fB99\fR\fR
.ad
.RS 6n
.rt
An unanticipated exception occurred\&.
.RE
.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(5) for descriptions of the following attributes:
.sp
.TS
tab(
) box;
cw(2.75i) |cw(2.75i)
lw(2.75i) |lw(2.75i)
.
ATTRIBUTE TYPE
ATTRIBUTE VALUE
_
Availability
\fBpackage/pkg\fR
_
Interface Stability
Uncommitted
.TE
.SH SEE ALSO
.sp
.LP
\fBpkgrepo\fR(1), \fBpkgsend\fR(1), \fBpkg\fR(5)
.sp
.LP
\fICopying and Creating Package Repositories in Oracle Solaris 11\&.3\fR
.sp
.LP
\fBhttps://java\&.net/projects/ips/pages/Home\fR
.SH NOTES
.sp
.LP
When using a file system based destination repository, any \fBpkg\&.depotd\fR processes that are serving that repository must be restarted after package transfer is completed for the changes to be reflected in its web interface or search responses\&. See \fBpkg\&.depotd\fR(1M) for more information\&.