> Zip Archive Packaging

Tribblix uses traditional Solaris SVR4 packaging, but this is largely hidden by a layer called ZAP - short for Zip Archive Packaging - and implemented by a command also called zap.

Because of the connection to packaging, zap is also used to manage zones and perform system upgrades.

In ZAP, packages are distributed as zip archives of SVR4 packages in filesystem format. This means that you don't need any special tools to access the package contents, and they're compressed for network distribution.

In general, though, Tribblix thinks about managing software suites or applications, not individual packages - the packages are an implementation detail that you should be able to ignore most of the time. The level of abstraction you should normally use are the overlays.

zap usage

To see which overlays are available, and whether they're installed, run:

zap list-overlays

To see a little more detail about a given overlay, run:

zap describe-overlay overlay-name

To install an overlay, as root run:

zap install-overlay overlay-name
Any dependent overlays will automatically be installed.

To make the system aware of new and updated packages and overlays, as root run:

zap refresh

To check that an overlay is correctly installed, run:

zap verify-overlay overlay-name
(if the overlay isn't installed, then it will just say so).

To update the packages in an overlay, to handle either updates to packages or overlays, or if something has got messed up, as root run:

zap update-overlay overlay-name
If you want to update all the installed overlays, it's:
zap update-overlay -a

While the preferred (and strongly recommended) mechanism is to always work with overlays, zap also supports operating on packages directly, using the following commands:

zap list-packages
zap describe-package package-name
zap install package-name
zap update package-name
zap uninstall package-name
(note, though, that dependency handling is ignored if you use zap to manipulate packages directly).

Downloads, cache management, and implementation

Installing packages requires them to be downloaded from a repository. Downloaded packages are kept in /var/zap/cache. If you remove a package, and need to later install it again, it will use the package in the cache if it finds it. If you want to install multiple machines and only download files once, then you can copy the package files into /var/zap/cache on other systems. If that directory uses too much space, it's perfectly fine to delete some or all of the files there.

If you use -O to add an overlay when installing a zone, the downloaded packages are cached in the global zone. Next time you install a zone with that extra overlay, it won't need to download the files again.

The overlay metadata is stored in the following directory:

The ovl files are the overlay metadata, the pkgs files contain the list of packages. Whether an overlay is installed or not is simply based on whether a file with the overlay's name exists in /var/sadm/overlays/installed.

The details of repositories and catalogs are stored under

The list files here list the available repositories and their preference. The files under /etc/zap/repositories are the repo details and their catalogs.