Windows PowerShell command on Get-command pkgsend
MyWebUniversity

Manual Pages for UNIX Operating System command usage for man pkgsend

User Commands pkgsend(1)

NAME

pkgsend - image packaging system publication client

SYNOPSIS

/usr/bin/pkgsend [options] command [cmd_options] [operands]

/usr/bin/pkgsend refresh-index

/usr/bin/pkgsend open [-en] pkg_fmri

/usr/bin/pkgsend add action arguments

/usr/bin/pkgsend include [-d basedir] ... [-T pattern] [manifest] ...

/usr/bin/pkgsend publish [-d basedir] ... [-T pattern] [--no-index]

[--fmri-in-manifest | pkg_fmri] [--no-catalog] [manifest] ...

/usr/bin/pkgsend close [-A | --no-index] [--no-catalog]

/usr/bin/pkgsend generate [-T pattern] [--target file] bundlefile ...

/usr/bin/pkgsend import [-T pattern] [--target file] bundlefile ...

DESCRIPTION

pkgsend allows the publication of new packages and new package

versions to an image packaging repository. Each publication is

structured as a transaction; multiple invocations of pkgsend

through a transaction allow the addition of resources and the transaction submission. To create or manage repositories, see pkgrepo(1). OPTIONS The following options are supported:

-s repo_uri A URI representing the location of the target

repository. Both HTTP and filesystem-based

publication are supported. The default value is http://localhost:10000/.

For filesystem-based publication, the repo_uri

should be specified as follows:

file://

See the NOTES section below for more information about restrictions or suggestions for publication.

--help or -?

Displays a usage message. SUBCOMMANDS The following subcommands are supported:

open [-en] pkg_fmri

Begin a transaction on the package and version specified by

pkg_fmri.

By default, or if the -e option is given, a successfully

opened transaction's ID will be published in a form suitable

for use with eval(1), to set the PKG_TRANS_ID environment

variable. This form can be convenient for delivering a package transaction from a shell script, for example. If the

-n option is given, the transaction ID is displayed as a

string; this may be more useful in situations where shell scripting is not an available option. add action arguments Add a resource associated with an action to the current transaction. Requires transaction context. See ACTIONS below.

import [-T pattern] [--target file] bundlefile ...

Add each given bundlefile into the current transaction. Supported bundle types are:

- filesystem format SVr4 packages

- datastream format SVr4 packages

- tar files

- directories

If the basename of files in the bundle match the pattern(s)

specified with -T, the timestamp of the file is added to the

action for that file. The pattern uses shell matching rules: * matches everything ? matches any single character [seq] matches any character in seq [!seq] matches any character not in seq When the bundle is a directory, there is no clear way to distinguish a file action from a hardlink action when there are multiple pathnames for a single inode. Normally, the first one found in the filesystem walk is treated as a file and the rest as hardlinks. This may be arbitrary, depending on the implementation of the filesystem. To specify which pathnames should be treated as files, pass each pathname as an argument to

the --target option. This option has no effect on other bundle

types, as they are capable of expressing which pathnames are files and which are hardlinks.

include [-d basedir] ... [-T pattern] [manifest] ...

Add resources associated with the multiple actions present in each manifest file to the current transaction. If no files are specified, the standard input is read. Each line in the file should be the string representation of an action. In particular, the "add" token as described above should not be present, nor should there be open and close tokens representing transaction boundaries. For those actions with datastreams, the path to the file containing the data should be the second word on the line; for file actions if this is set to "NOHASH" the value of the "path" attribute is used instead.

If the user specifies the -d option, basedir is prepended to

the search path when locating files in the manifest. Multiple

-d options have their directories searched in the order they

appear on the command line.

The -T option works as in the import command.

close [-A] [--no-index]

Close current transaction. With -A, abandon the current

transaction. With --no-index, do not update the

repository's search indices. With --no-catalog, do not add

to catalog which for now is only effective with file:// scheme repositories. This improves performance when publishing many packages at once; the repository will need to be

started with a --add-content flag (see pkg.depotd(1M) man

page) to catalog and index the new content.

publish [ -d basedir] ... [-T pattern] [--no-index]

[--fmri-in-manifest | fmri] [--no-catalog] [manifest] ...

Combines open, include and close in a single operation. -d

and --no-index options behave as described for include and

close subcommands. With --fmri-in-manifest, use the fmri

specified in the package manifest w/ a set action name of "pkg.fmri". Otherwise the fmri must be specified on the

command line. With --no-catalog (which has effect only w/

file:// scheme repositories), do not update the catalog with the new package. This improves performance when publishing many packages at once; the repository will need to be started

with a --add-content flag (see pkg.depotd(1M) man page) to

catalog and index the new content.

The -T option works as in the import command.

generate [-T pattern] [--target file] bundlefile ...

Read each given bundlefile (such as an SVR4 package, directory, tarfile, etc) and emit the manifest describing the bundlefile to

the stdout. The -T and --target options work as in the import

command. The repo argument or PKG_TRANS_ID is not used with this

subcommand. Once obtained, the manifest can be annotated, have dependencies analyzed, added, etc before being passed to the publish or import subcommands.

refresh-index

Update the repository's search indices. Should be used after

closing one or more transactions using --no-index.

ENVIRONMENT VARIABLES The following environment variables are supported:

PKG_TRANS_ID Identifier to use for this transaction.

If undefined (and no alternative means of specifying a transaction is given), subcommands requiring transaction context will fail. ACTIONS Each resource within a package must be associated with an action. See pkg(5) for a complete list of actions. If an action has an associated payload, the path to the payload must be the first argument after the action name. (At present, the file and license actions have payloads.) All other attributes are

specified as a list of name-value pairs, and may be given in any

order. An action must always have a key attribute; however, some actions may require additional attributes to work correctly. Arbitrary attributes, beyond those defined for a given action, may be included in the action. Such attributes are expected to follow defined conventions such that they carry appropriate meaning or avoid collision with attributes from other action providers; specific attributes that cause additional operations, known as "actuators", are documented in pkg(5).

depend type= fmri= [ property_list ]

Make this package version dependent on the give package FMRI.

Valid depend_types are require and optional.

dir mode= owner= group= path= \

[ property_list ]

Deliver a directory with the listed attributes into the transaction. driver name= perms= class= alias= \

[ property_list ]

Deliver driver configuration with the listed attributes into the transaction. Multiple alias entries may be given to record multiple device aliases.

file src_path mode= owner= group= \

path= [ property_list ]

Deliver a file with the listed attributes into the transaction.

group groupname= gid= [ property_list ]

Deliver a group definition as defined in group(4). If the group ID, or gid, is omitted, the first free group under 100 will be assigned at installation time. See pkg(5) for additional details, and relation to the user action below.

hardlink path= target= [ property_list ]

Deliver a link with given path, pointing to the given target. legacy category= desc= hotline= \

name= pkg= vendor= version= \

[ property_list ]

Deliver sufficient metadata, as given by the various fields,

to represent a System V package with name given by legacy_pkg.

license src_path license= \

[ property_list ]

Deliver, into the image packaging metadata, the license file

at src_path, labeled by the given license value.

link path= target= [ property_list ]

Deliver a symbolic link with given path, pointing to the given target.

set name= value= [ property_list ]

Deliver a "package property" defined by the given name and value. user username= password= uid= \

group= gcos-field= home-dir= \

login-shell= group-list= \

[ group-list= ... ] ftpuser={true|false} \

lastchng= min= max= \ warn= inactive= expire= \

flag= [ property_list ]

Deliver a user account, as defined in passwd(4), shadow(4), group(4), and ftpusers(4). If the user ID, or uid, is omitted, then the first free user ID under 100 will be assigned at installation time. The primary group, specified by group, must exist prior to the action's execution; this condition can be ensured by having a group action deliver the group definition in the same package as the user action, or by having a depend action that expresses a requirement on a

package possessing a group action. The group-list property

delivers one group to the group(4) entry for the specified user. Multiple groups are delivered by multiple assignments

to group-list. See pkg(5) for additional details.

EXAMPLES

Example 1: Create a trivial package.

$ eval `pkgsend open example@1.0-1`

$ pkgsend add file example mode=0555 owner=root group=bin \

path=/usr/bin/example

$ pkgsend close

Example 2: Publish a package using filesystem-based publication

and a pre-existing manifest:

$ pkgsend -s file:///tmp/example_repo -d /tmp/pkg_files \

/tmp/pkg_manifest

Example 3: Create a package that delivers two groups and a user.

$ eval `pkgsend open groups-and-user@1.0-1`

$ pkgsend add group groupname=maingrp

$ pkgsend add group groupname=auxgrp

$ pkgsend add user ftpuser=false gcos-field="Example User" \

group=maingrp group-list=auxgrp password=NP username=exuser

$ pkgsend close

EXIT STATUS The following exit values are returned: 0 Command succeeded. 1 An error occurred. 2 Invalid command line options were specified.

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

____________________________________________________________

| ATTRIBUTE TYPE | ATTRIBUTE VALUE |

|_____________________________|_____________________________|

| Availability | |

|_____________________________|_____________________________|

SEE ALSO

eval(1), pkgrepo(1), pkg.depotd(1M), ftpusers(4), group(4), passwd(4), shadow(4), attributes(5), pkg(5) NOTES

The image packaging system is an under-development feature.

Command names, invocation, formats, and operations are all subject to change. Development is hosted in the OpenSolaris community at:

http://hub.opensolaris.org/bin/view/Project+pkg/ Other package bundle formats can be created. Other forms of package publication, via the underlying Python API or via the web API, are also possible. When publishing individual package files that are greater than 128MB

in size, filesystem-based publication must be used due to publication

protocol limitations. It is also the recommended method of publication when access control for a repository is needed.

When using filesystem-based publication, any pkg.depot(1M) processes

serving the target repository must be restarted after publication is completed for the changes to be reflected in its web interface or search responses. See pkg.depotd(1M) for more information.




Contact us      |      About us      |      Term of use      |       Copyright © 2000-2019 MyWebUniversity.com ™