xref: /illumos-gate/usr/src/tools/scripts/onu.1onbld (revision cd61ae21816e53b94bc1673f3f1aa651fc3115e8)
" 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>

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

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

# 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 "(1M), " pkg "(1), " pkg "(5) "