xref: /illumos-gate/usr/src/tools/scripts/onu.1onbld (revision b934d23b)
" 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.
"Copyright 2010, Richard Lowe
"
ONU 1ONBLD "Aug 28, 2010"
NAME
onu - OS/Net Update
SYNOPSIS
onu [opts] [-s <beName>] -t <beName> [-- <pkg update args>]

onu [opts] -r

DESCRIPTION
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(8) to create a new Boot Environment (BE) and pkg(1) to update the image.
OPTIONS
The following global options are supported:

4 -c <consolidation> Specifies the consolidation being installed via onu , used to locate the publisher from which that consolidation is currently installed. This is almost always "osnet".

4 -d <dir> Specifies that <dir> contains the repo.redist sub-directory; onu will run a depot using this packaging repository. Note that -d ignores -u and -U as well as the environment variables used by those options.

4 -u <URI> Specifies that <URI> 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.

Additional arguments to be passed verbatim to pkg update can be specified on the command line following a -- delimiter.

The second form of onu takes the following option:

4 -r In the current BE configure the requested publisher appropriately, without updating.

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(7).

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

# onu -t new-nightly-be

Example 2 Installing an ON build from a directory

# onu -d /path/to/my/ws/packages/`uname -p`/nightly -t new-nightly-be

Example 3 Installing additional packages in the new BE

# 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

#

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.
SEE ALSO
beadm (8), pkg (1), pkg (7)