SPARSE(7) Standards, Environments, and Macros SPARSE(7)

sparsezone brand for running a reduced copy of OmniOS with linked packages

The sparse brand uses the brands(7) framework to provide an environment for running a small copy of Omnios, with system software packages linked to those installed in the global zone.

A sparse zone is an lipkg(7) zone where several of its filesystems are directly shared with the global zone. This makes a sparse zone very small indeed (and quick to build) but they are only suitable for software packages that do not need to install files under shared filesystems such as /usr; those being read-only within the zone. Like ipkg(7) zones, sparse zones can have multiple boot environments, created either locally within the zone or managed automatically from the global zone as BEs are created/destroyed there.

Given their small size, low overhead and ease of maintenance, it is common to use sparse zones for running individual services such as an NTP, DHCP or DNS server.

Persistent network configuration (including DNS resolver information) can be configured using zonecfg(8). An example zone configured with VNIC "vnic0" using a static IP address is below:

create -t sparse
set zonepath=/zones/testzone
set autoboot=true
add net
    set physical=vnic0
    set allowed-address=
    set defrouter=
    set global-nic=auto
add attr
    set name=dns-domain
    set type=string
add attr
    set name=resolvers
    set type=string
    set value=,

Within a sparse zone, the /usr, /lib and /sbin directories are read-only.

sparse zone boot environments are linked to the global zone boot environment under which they were created. This means that rolling back the global zone to a previous boot environment will also roll back the zone. For this reason, zone data which should be shared across boot environments should be allocated to a dedicated dataset.

brands(7), ipkg(7), privileges(7), resource_controls(7), zones(7), zfs(8), zoneadm(8), zonecfg(8)

March 25, 2019 OmniOS