xref: /titanic_44/usr/src/tools/scripts/onu.1 (revision dd49f125507979bb2ab505a8daf2a46d1be27051)
" CDDL HEADER START
"
" The contents of this file are subject to the terms of the
" Common Development and Distribution License (the "License").
" You may not use this file except in compliance with the License.
"
" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
" or http://www.opensolaris.org/os/licensing.
" See the License for the specific language governing permissions
" and limitations under the License.
"
" When distributing Covered Code, include this CDDL HEADER in each
" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
" If applicable, add the following below this CDDL HEADER, with the
" fields enclosed by brackets "[]" replaced with your own identifying
" information: Portions Copyright [yyyy] [name of copyright owner]
"
" CDDL HEADER END
"
"Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.

onu 1 "4th May 2010"
NAME
onu - Os/Net Update
SYNOPSIS
onu [opts] [-s <beName>] -t <beName>

onu [opts] -r

DESCRIPTION
"OS-Net build tools" "onu" "" "onu"

onu is a replacement for bfu used to update a system with the latest set of IPS packages for the ON (OS/Net) consolidation of Solaris, using beadm(1M) to create a new Boot Environment (BE) and pkg(1) to update the image.

After updating an image, onu can then be used to start repository depot servers, in preparation for using pkg to install additional packages and/or zones.

OPTIONS

The following global options are supported:

4 -d <dir> Specifies that <dir> contains repo.redist and repo.extra sub-directories; onu will stand up a depot for each and use them for the publisher and extra packaging repositories. Note that -d ignores -u, -U, -e, and -E, as well as the environment variables used by those options.

4 -e <URI> Specifies that <URI> should be used as the origin URI for the extra repository. See ONEXTRAURI below for default values.

4 -E <publisher> Specifies that <publisher> should be used as the publisher name for the extra repository. See ONEXTRAPUB below for default values.

4 -O Open mode, where the extra repository will not be used.

4 -u <URI> Specifies that <beName> should be used as the origin URI for the publisher packaging repository. See ONURI below for default values.

4 -U <publisher> Specifies that <publisher> should be used as the publisher name for the packaging repository. See ONPUB below for default values.

4 -v Verbose mode.

The first form of onu creates a new BE and then updates it, and takes the following options:

4 -s <beName> Specifies that <beName> should be used as the source Boot Environment to clone. The default is the active BE.

4 -t <beName> Specifies the target BE name. This argument is required; there is no default value.

4 -Z Do not update any installed zones.

The second form of onu takes the following option:

4 -r In the current BE, create the repository depot servers and configure the requested publishers appropriately, without updating. After onu exits, one or two pkg.depotd servers will be left running, allowing pkg operations using the related publishers to succeed.

EXIT STATUS

The following exit values are returned:

4 0 The command completed successfully. No errors or warnings were reported.

4 1 Incorrect usage.

4 2 One of the commands used by the script failed.

NOTES

Former users of bfu should note the following ways in which onu behaves differently from bfu. First, as noted above, onu creates a new BE, rather than updating an existing BE in-place. Second, onu will not install packages that are older than what is already installed in the source BE. Third, conflicts in system configuration files are automatically resolved according to the files' "preserve" attribute, as described in pkg(5).

If the -d option is given to specify a repository directory, the new publishers will not be available in the new BE. This can prevent correct zone installs or cause issues with installing additional packages sourced from the ON repositories. In both cases, the -r option can be used in the new BE to re-enable the publishers. See EXAMPLES.

Use of onu will prevent use of zone attach for ipkg-brand zones in the new BE, since the entire incorporation is removed.

By default, onu will attempt to update any ipkg-brand installed zones on the system; the -Z option may be used to disable this behavior.

EXAMPLES

Example 1 Installing latest ON nightly build

N +2 .NF # onu -t new-nightly-be .FI N -2

Example 2 Installing an ON build from a directory

N +2 .NF # onu -d /path/to/my/ws/packages/`uname -p`/nightly -t new-nightly-be .FI N -2

Example 3 Installing additional packages in the new BE

N +2 .NF # onu -d /path/to/my/ws/packages/`uname -p`/nightly -t new-nightly-be

# reboot

# onu -r -d /path/to/my/ws/packages/`uname -p`/nightly

# pkg install netcat

# .FI N -2

ENVIRONMENT

ONURI

If the -u option is not provided, and this variable is set, it will be used as the origin URI for the publisher packaging repository. If -u is not provided and this variable is not set, http://ipkg.sfbay/on-nightly will be used.

ONPUB

If the -U option is not provided, and this variable is set, it will be used as the publisher name for the packaging repository. If -U is not provided and this variable is not set, on-nightly will be used.

ONEXTRAURI

If the -e option is not provided, and this variable is set, it will be used as the origin URI for the extra repository. If -e is not provided and this variable is not set, http://ipkg.sfbay/on-extra will be used. Note: for external users where an extra repository does not apply, use the -O option.

ONEXTRAPUB

If the -E option is not provided, and this variable is set, it will be used as the publisher name for the extra repository. If -E is not provided and this variable is not set, on-extra will be used.

SEE ALSO
beadm "(1M), " bfu "(1), " pkg "(1), " pkg.depotd "(1M), " pkg "(5) "