| PKGREPO(1) | User Commands | PKGREPO(1) |
pkgrepo — Image
Packaging System repository management utility
pkgrepo |
[--version ver]
uri_or_path |
pkgrepo
|
-s repo_uri_or_path
publisher ... |
pkgrepo
|
[-n] [--synchronous]
-s repo_uri_or_path
publisher ... |
pkgrepo |
[-F format]
[-H] [-p
publisher]... -s
repo_uri_or_path [--key
ssl_key --cert
ssl_cert] [section/property
...] |
pkgrepo |
[-F format]
[-H] [-p
publisher]... -s
repo_uri_or_path [--key
ssl_key --cert
ssl_cert] |
pkgrepo |
[-F format]
[-H] [-p
publisher]... -s
repo_uri_or_path [--key
ssl_key --cert
ssl_cert] [pkg_fmri_pattern
...] |
pkgrepo |
[-m] [-t
action_name[,action_name]...]
... -s repo_uri_or_path
[--key ssl_key
--cert ssl_cert]
[pkg_fmri_pattern ...] |
pkgrepo |
[-p publisher]...
-s repo_uri_or_path
[--key ssl_key
--cert ssl_cert]
[--no-catalog]
[--no-index] |
pkgrepo |
[-p publisher]...
-s repo_uri_or_path
[--key ssl_key
--cert ssl_cert]
[--no-catalog]
[--no-index] |
pkgrepo |
[-n] [-d
YYYYMMDD] [-p
publisher]... -s
repo_uri_or_path pkg_fmri_pattern
... |
pkgrepo |
[-p publisher]...
-s repo_uri_or_path
section/property=([value])
... |
pkgrepo |
[-p publisher]...
-s repo_uri_or_path |
pkgrepo |
[-v] [-p
publisher]... -s
repo_uri_or_path |
pkgrepo |
[-vq] [--strict]
[--parsable] [-p
publisher]... -s
first_repo_uri_or_path
[--key ssl_key
--cert ssl_cert]
-s second_repo_uri_or_path
[--key ssl_key
--cert ssl_cert] |
pkgrepo |
pkgrepo |
pkgrepo provides the ability to create and
manage pkg(7) package repositories.
Package repositories are a predefined set of directories and files that
permit the storage and retrieval of package data by
pkg(1) and publication clients such as
pkgsend(1) or
pkgrecv(1). In addition, when
network-based access to a package repository is needed,
pkg.depotd(8) can provide clients
access to the repository to store and/or retrieve package data.
The following global options are supported:
-? |
--helppkgrepo create
[--version ver]
uri_or_path
This sub-command can only be used with filesystem-based repositories.
--versionpkgrepo
add-publisher -s
repo_uri_or_path publisher
...
This sub-command can only be used with version 4 filesystem-based repositories.
-s
repo_uri_or_pathpkgrepo
remove-publisher [-n]
[--synchronous] -s
repo_uri_or_path publisher
...
If the default publisher is removed, and only one publisher remains in the repository, that remaining publisher becomes the default. The publisher/prefix property of the repository is set to that remaining publisher.
If the default publisher is removed, and multiple publishers remain in the repository, or if the last publisher is removed from the repository, the publisher/prefix property is unset.
This sub-command can only be used with version 4 filesystem-based repositories.
-n-s
repo_uri_or_path--synchronouspkgrepo get
[-F format]
[-H] [-p
publisher]... -s
repo_uri_or_path [--key
ssl_key --cert
ssl_cert] [section/property
...]
By default, each property and its value are printed on separate lines. Empty ASCII string values are represented by a pair of double quotation marks (“”). The following Bourne shell metacharacters, and newline, space, and tab, in ASCII string values must be escaped by backslash characters (\)
; & ( ) | ^ < > \ " ' `
See the Examples section for examples displaying publisher and repository properties.
For a list of properties and the purpose and value of each
property, see the set subcommand below.
-F
formattsv (Tab Separated Values),
json (JavaScript Object Notation as a single
line), or json-formatted (JavaScript Object
Notation, formatted for readability).-H-p
publisherall displays the properties for all
publishers. This option can be specified multiple times.-s
repo_uri_or_path--key
ssl_key --cert
ssl_cert--key option to specify a client SSL key
file to use for package retrieval from an HTTPS repository. Use the
--cert option to specify a client SSL certificate
file to use for package retrieval from an HTTPS repository. This option
pair can be specified multiple times.publisher/prefix or
repository/version. See the
set subcommand for a complete list of
properties.pkgrepo info
[-F format]
[-H] [-p
publisher]... -s
repo_uri_or_path [--key
ssl_key --cert
ssl_cert]
-p
publisherFor descriptions of all other options, see the
pkgrepo get get command
above.
pkgrepo list
[-F format]
[-H] [-p
publisher]... -s
repo_uri_or_path [--key
ssl_key --cert
ssl_cert] [pkg_fmri_pattern
...]
In the default output, the first column contains the name of the publisher of the package. The second column contains the name of the package. The third column is a flag that shows the status of the package. A value of o in the status column indicates the package is obsolete. A value of r in the status column indicates the package has been renamed, which is a form of obsoletion. A value of l in the status column indicates that the package is legacy, meaning that it will be removed in the future. The fourth column contains the release and branch versions of the package. See pkg(7) for information about release and branch versions.
-p
publisherFor descriptions of all other options, see the
pkgrepo get get command
above.
pkgrepo contents
[-m] [-t
action_name[,action_name]...]
... -s repo_uri_or_path
[--key ssl_key
--cert ssl_cert]
[pkg_fmri_pattern ...]
-m-t
action_name-t option can be specified multiple times, or
multiple actions can be specified as the argument to one
-t option by separating the action names with
commas. The value of action_name is one of the actions listed in
Actions
in the pkg(7) man page, such as
file, dir,
driver, depend, or
set.For descriptions of all other options, see the
pkgrepo get get command
above.
pkgrepo rebuild
[-p publisher]...
-s repo_uri_or_path
[--key ssl_key
--cert ssl_cert]
[--no-catalog]
[--no-index]
-p
publisherall is specified, the operation
is performed for all publishers. This option can be specified multiple
times.--no-catalog--no-indexFor descriptions of all other options, see the
pkgrepo get get command
above.
pkgrepo refresh
[-p publisher]...
-s repo_uri_or_path
[--key ssl_key
--cert ssl_cert]
[--no-catalog]
[--no-index]
--no-catalog or
--no-index options of
pkgsend(1)).
-p
publisherall is specified, the operation
is performed for all publishers. This option can be specified multiple
times.--no-catalog--no-indexFor descriptions of all other options, see the
pkgrepo get get command
above.
pkgrepo remove
[-n] [-d
YYYYMMDD] [-p
publisher]... -s
repo_uri_or_path pkg_fmri_pattern
...
Note; all search index data for related publishers is removed. This subcommand can be used only with file system based repositories.
Caution; this operation is not reversible and should not be used while other clients are accessing the repository since it might cause them to fail during retrieval operations.
-d
YYYYMMDD-n-p-s
repo_uri_or_pathpkgrepo set
[-p publisher]...
-s repo_uri_or_path
section/property=([value])
...
This subcommand can be used only with file system based repositories.
-p
publisherall is specified, the operation
is performed for all publishers.-s
repo_uri_or_pathProperties and values can be specified using one of the following forms:
==value=(value1
valueN )For repository versions 3 and 4, the following properties can be set for the repository:
publisher/prefixFor repository versions 3 and 4, the following properties can be
set for individual publishers in the repository. Use the
-p option to specify at least one publisher when you
set these properties:
publisher/aliasrepository/check-certificate-revocationpkgrepo
verify and pkgrepo
fix commands attempt to contact any CRL
distribution points in the certificates used for signature verification to
determine whether the certificate has been revoked since being issued. The
default value is False. This property is only used by the verify and fix
subcommands to validate the contents of the repository. This property does
not affect client settings. This value should be the same as the
corresponding pkg(1) property
value.repository/collection_typeThe core type indicates that the repository contains all of the dependencies declared by packages in the repository. The core type is primarily used for operating system repositories.
The supplemental type indicates that the repository contains packages that rely on or are intended to be used with packages located in another repository.
repository/descriptionrepository/detailed_urlrepository/formatascii which is the legacy format and should not be
changed unless the repository will be accessed solely by updated clients.
The other available value is utf8 which allows
clients to parse the catalogues faster and with less memory overhead.repository/legal_urisrepository/mirrorsrepository/namerepository/originsrepository/refresh_secondsrepository/registration_urirepository/signature-required-namesrepository/trust-anchor-directoryProperties not documented here, but listed in the output of the
get subcommand, are reserved for internal use and
should not be set.
pkgrepo verify
[-p publisher]...
-s repo_uri_or_path
Package manifest signatures are calculated based on the values
of the repository/signature-required-names,
repository/trust-anchor-directory, and
repository/check-certificate-revocation
properties.
Errors are emitted to stdout. The command exits with a non-zero return code if any errors are emitted.
This subcommand can be used only with version 4 file system based repositories.
-p
publisherall is specified, the operation
is performed for all publishers. This option can be specified multiple
times.-s
repo_uri_or_pathpkgrepo fix
[-v] [-p
publisher]... -s
repo_uri_or_path
If repository errors are found, a repository rebuild is automatically performed. If any errors are found, a message is emitted to stdout showing which packages must be re-imported using pkgsend(1) or pkgrecv(1) in order to restore the repository contents.
This subcommand can be used only with version 4 file system based repositories.
-v-p
publisherall is specified, the operation
is performed for all publishers. This option can be specified multiple
times.-s
repo_uri_or_pathpkgrepo diff
[-vq] [--strict]
[--parsable] [-p
publisher]... -s
first_repo_uri_or_path [--key
ssl_key --cert
ssl_cert] -s
second_repo_uri_or_path [--key
ssl_key --cert
ssl_cert]
A - symbol in the beginning of an output line indicates the item was found only in the first repository, while a + symbol indicates the item was found only in the second repository. No symbol at the start of a line means that it is a common item.
-v--strict--parsable-p
publisherall is specified, the operation
is performed for all publishers. This option can be specified multiple
times.-s
repo_uri_or_path--key
ssl_key --cert
ssl_cert--key option to specify a client SSL key
file to use for package retrieval from an HTTPS repository. Use the
--cert option to specify a client SSL certificate
file to use for package retrieval from an HTTPS repository. This option
pair can be specified multiple times.pkgrepo help
pkgrepo
version
$ pkgrepo create /my/repository
Display a summary of publishers and the number of packages in a repository.
$ pkgrepo info -s /my/repository
PUBLISHER PACKAGES STATUS UPDATED
example.com 5 online 2011-07-22T18:09:09.769106Z
$ pkgrepo info -s https://pkg.omnios.org/r151038/core/
PUBLISHER PACKAGES STATUS UPDATED
omnios 863 online 2021-11-17T09:27:46.600621Z
Rebuild the repository's catalogs and search data.
$ pkgrepo rebuild -s /my/repository
Refresh the repository's catalogs and search data.
$ pkgrepo refresh -s /my/repository
$ pkgrepo refresh -s http://example.com/repository
$ pkgrepo get -s /my/repository
SECTION PROPERTY VALUE
publisher prefix ""
repository version 4
$ pkgrepo get -s https://pkg.omnios.org/r151040/core/
SECTION PROPERTY VALUE
publisher prefix omnios
repository check-certificate-revocation False
repository signature-required-names ()
repository trust-anchor-directory /etc/ssl/pkg/
repository version 4
$ pkgrepo get -s https://pkg.omnios.org/r151040/core/ -p all
PUBLISHER SECTION PROPERTY VALUE
omnios publisher alias
omnios publisher prefix omnios
omnios repository collection-type core
omnios repository description Packages for OmniOS r151040
omnios repository legal-uris ()
omnios repository mirrors ()
omnios repository name OmniOS r151040 core
omnios repository origins ()
omnios repository refresh-seconds
omnios repository registration-uri ""
omnios repository related-uris ()
$ pkgrepo set -s /my/repository publisher/prefix=example.com
$ pkgrepo set -s /my/repository -p example.com \ repository/origins=http://example.com/repository
$ pkgrepo add-publisher -s /my/repository example.com
The command line interface of pkgrepo is
Uncommitted.
The output of pkgrepo is
Not-An-Interface
and may change at any time.
pkg(1), pkgrecv(1), pkgsend(1), glob(3C), pkg(7), pkg.depotd(8)
| November 29, 2021 | OmniOS |