oz-examples - Online in the Cloud

This is the command oz-examples that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


oz-examples - example TDL files for Oz.

DESCRIPTION


The oz-install(1) , oz-customize(1) , and oz-generate-icicle(1) man pages explain the
command-line usage of the Oz commands. One of the required input parameters to all of the
above commands is a TDL (Template Description Language) file, which describes the OS the
user wants to install, where to get the media from, and any additional packages or actions
the user wants to take on the operating system. This man page describes a number of TDL
examples and what happens when they are used. Since the TDL is XML, standard XPath
notation is used to describe various elements of the XML.

EXAMPLE 1 - Minimal guest


Assume we want to install a minimal Fedora 13 x86_64 operating system from a Fedora 13 DVD
ISO located at http://example.org/fedora-13-x86_64.iso

To do this install we first build a TDL XML file, then feed it to oz-install. The TDL file
would look like:

<template>
<name>fedora13_x86_64</name>
<os>
<name>Fedora</name>
<version>13</version>
<arch>x86_64</arch>
<install type='iso'>
<iso>http://example.org/fedora-13-x86_64.iso</iso>
</install>
</os>
<description>My Fedora 13 x86_64 template</description>
</template>

/template/name is a user-defined name. This can be anything the user wants, but must be
unique among all TDLs the user wants to build.

/template/os/name is the name of the operating system we want to install,
/template/os/version is the version we want, and /template/os/arch is the architecture we
want. A full list of supported operating systems can be obtained by running:

# oz-install -h

/template/os/install tells Oz where to get the installation media from. In this example,
we set type to 'iso' which means that we need an <iso> element in the XML pointing to the
ISO install media (install methods other than ISO are supported, and described in other
examples).

/template/description is an optional, human-readable description of the template. This
can be anything the user wants, and is ignored by Oz.

That's all of the input that Oz needs. To actually do the installation, save the above to
a file (say fedora13.tdl), and then run oz-install:

# oz-install /path/to/fedora13.tdl

Running this command will download and prepare the installation media, then run an
automated install in a KVM guest. Assuming the install succeeds, the minimal operating
system will be installed on a file in /var/lib/libvirt/images/fedora13_x86_64.dsk (by
default, the output location can be overridden in the configuration file).

EXAMPLE 2 - Guest with additional packages


Assume we want to install a Fedora 14 x86_64 operating system from a Fedora 14 DVD ISO
located at http://example.org/fedora-14-x86_64.iso

Additionally assume we want to install the postgresql-server package on the operating
system. To do this install, we first need to build a TDL XML file and then feed that to
oz-install. The TDL file would look like:

<template>
<name>fedora14_postgres</name>
<os>
<name>Fedora</name>
<version>14</version>
<arch>x86_64</arch>
<install type='iso'>
<iso>http://example.org/fedora-14-x86_64.iso</iso>
</install>
</os>
<description>Fedora 14 x86_64 with postgres</description>
<packages>
<package name='postgresql-server'/>
</packages>
</template>

Notice that this is very similar to Example 1, except we specified an additional package
to be installed in the /packages/package portion of the TDL. Multiple packages can be
specified here, and they will all be installed on the operating system. In this example,
all packages are downloaded and installed from the default operating system package
repositories. Running the installation is done the same way as in Example 1, except we
have to add a command-line parameter to actually do the customization:

# oz-install -u /path/to/fedora14.tdl

Running this command will download and prepare the installation media, then run an
automated install in a KVM guest.

Assuming the initial install succeeds, Oz will then boot the operating system and run
native commands to install the additional packages. For more information about why this
approach is used, please see the Oz Architecture document at
http://github.com/clalancette/oz/wiki/Oz-architecture.

Assuming this final step succeeds, the operating system with the additional packages will
be installed on a file in /var/lib/libvirt/images/fedora14_postgres.dsk (by default, the
output location can be overridden in the configuration file).

EXAMPLE 3 - Generate a package manifest (ICICLE) after installation


Assume we want to install a RHEL-5 x86_64 operating system from a RHEL-5 DVD ISO located
at http://example.org/rhel-5-x86_64.iso

Additionally assume we want to get a package manifest out of the operating system after
the install is done. To do this install, we first need to build a TDL XML file and then
feed that to oz-install. The TDL file would look like:

<template>
<name>rhel5_x86_64</name>
<os>
<name>RHEL-5</name>
<version>U6</version>
<arch>x86_64</arch>
<install type='iso'>
<iso>http://example.org/rhel-5-x86_64.iso</iso>
</install>
</os>
<description>RHEL-5 x86_64</description>
</template>

This is essentially the same as Example 1, except we want to install RHEL-5 instead of
Fedora-13.

Running the installation is done the same was as in Example 1, except we have to add a
command-line parameter to generate the manifest at the end:

# oz-install -g /path/to/rhel5.tdl

Running this command will download and prepare the installation media, then run an
automated install in a KVM guest.

Assuming the initial install succeeds, Oz will then boot the operating system and run
native commands to query all of the packages in the system. It will then output an XML
document (called an ICICLE) describing the entire manifest.

Assuming this step succeeds, the minimal operating system will be install on a file in
/var/lib/libvirt/images/rhel5_x86_64.dsk (by default, the output location can be
overridden in the configuration file).

EXAMPLE 4 - Install a package from an alternate repository


Assume we want to install a RHEL-6 x86_64 operating system from a RHEL-6 DVD ISO located
at http://example.org/rhel-6-x86_64.iso

Additionally assume that we want to install the ccache package from the EPEL-6
repositories on the operating system. To do this install, we first need to build a TDL
XML file and then feed that to oz-install. The TDL file would look like:

<template>
<name>rhel6_ccache</name>
<os>
<name>RHEL-6</name>
<version>1</version>
<arch>x86_64</arch>
<install type='iso'>
<iso>http://example.org/rhel-6-x86_64.iso</iso>
</install>
</os>
<description>RHEL-6 x86_64 with ccache</description>
<repositories>
<repository name='epel-6'>
<url>http://download.fedoraproject.org/pub/epel/6/$basearch</url>
<signed>yes</signed>
</repository>
</repositories>
<packages>
<package name='ccache'/>
</packages>
</template>

Notice that this is very similar to Example 2, except we have specified an additional
repository from which to download packages. The /repositories/repository section of the
TDL specified the URL to the package repository along with whether the packages in the
repository are signed. Running the installation is done the same way as in Example 2:

# oz-install -u /path/to/rhel6_ccache.tdl

Running this command will download and prepare the installation media, then run an
automated install in a KVM guest.

Assuming the initial install succeeds, Oz will then boot the operating system and run
native commands to setup the additional repositories and install the additional packages.
For more information about why this approach is used, please see the Oz Architecture
document at http://github.com/clalancette/oz/wiki/Oz-architecture.

Assuming this final step succeeds, the operating system with the additional packages will
be installed on a file in /var/lib/libvirt/images/rhel6_ccache.dsk (by default, the output
location can be overridden in the configuration file).

EXAMPLE 5 - Install a custom file from information in the TDL


Assume we want to install a RHEL-6 x86_64 operating system from a RHEL-6 DVD ISO located
at http://example.org/rhel-6-x86_64.iso

Additionally assume that we want to write some data to the file /etc/test.out inside the
guest. To do this install, we first need to build a TDL XML file and then feed that to
oz-install. The TDL file would look like:

<template>
<name>rhel6_testout</name>
<os>
<name>RHEL-6</name>
<version>1</version>
<arch>x86_64</arch>
<install type='iso'>
<iso>http://example.org/rhel-6-x86_64.iso</iso>
</install>
</os>
<description>RHEL-6 x86_64 with test.out</description>
<files>
<file name='/etc/test.out'>THIS=extra_data</file>
</files>
</template>

Multiple files can be specified here, and they will all be installed on the operating
system in the specified locations. Files can be specified inline in raw text in the TDL,
as base64 encoded data in the TDL, or as URLs. We need to run the installation with
customization for this to work:

# oz-install -u /path/to/rhel6_testout.tdl

Running this command will download and prepare the installation media, then run an
automated install in a KVM guest.

Assuming the initial install succeeds, Oz will then boot the operating system and run
native commands to upload the files specified in the TDL. For more information about why
this approach is used, please see the Oz Architecture document at
http://github.com/clalancette/oz/wiki/Oz-architecture.

Assuming this final step succeeds, the operating system with the additional files will be
installed on a file in /var/lib/libvirt/images/rhel6_testout.dsk (by default, the output
location can be overridden in the configuration file).

EXAMPLE 6 - Install a custom file from base64-encoded information in the TDL


Assume we want to install a RHEL-6 x86_64 operating system from a RHEL-6 DVD ISO located
at http://example.org/rhel-6-x86_64.iso

Additionally assume that we want to write some data to the file /etc/test.out inside the
guest. Since this data may be binary, we want to base64 encode it first. To do this
install, we first need to build a TDL XML file and then feed that to oz-install. The TDL
file would look like:

<template>
<name>rhel6_testout</name>
<os>
<name>RHEL-6</name>
<version>1</version>
<arch>x86_64</arch>
<install type='iso'>
<iso>http://example.org/rhel-6-x86_64.iso</iso>
</install>
</os>
<description>RHEL-6 x86_64 with test.out</description>
<files>
<file name='/etc/test.out' type='base64'>VEhJUz1leHRyYV9kYXRhCg==</file>
</files>
</template>

Multiple files can be specified here, and they will all be installed on the operating
system in the specified locations. Files can be specified inline in raw text in the TDL,
as base64 encoded data in the TDL, or as URLs. We need to run the installation with
customization for this to work:

# oz-install -u /path/to/rhel6_testout.tdl

Running this command will download and prepare the installation media, then run an
automated install in a KVM guest.

Assuming the initial install succeeds, Oz will then boot the operating system and run
native commands to upload the files specified in the TDL. For more information about why
this approach is used, please see the Oz Architecture document at
http://github.com/clalancette/oz/wiki/Oz-architecture.

Assuming this final step succeeds, the operating system with the additional files will be
installed on a file in /var/lib/libvirt/images/rhel6_testout.dsk (by default, the output
location can be overridden in the configuration file).

EXAMPLE 7 - Install a custom file from a URL


Assume we want to install a RHEL-6 x86_64 operating system from a RHEL-6 DVD ISO located
at http://example.org/rhel-6-x86_64.iso

Additionally assume that we want to write some data to the file /etc/test.out inside the
guest. We want to fetch this data from a URL and upload into the guest. To do this
install, we first need to build a TDL XML file and then feed that to oz-install. The TDL
file would look like:

<template>
<name>rhel6_testout</name>
<os>
<name>RHEL-6</name>
<version>1</version>
<arch>x86_64</arch>
<install type='iso'>
<iso>http://example.org/rhel-6-x86_64.iso</iso>
</install>
</os>
<description>RHEL-6 x86_64 with test.out</description>
<files>
<file name='/etc/test.out' type='url'>http://example.org/orig.out</file>
</files>
</template>

Multiple files can be specified here, and they will all be installed on the operating
system in the specified locations. Files can be specified inline in raw text in the TDL,
as base64 encoded data in the TDL, or as URLs. We need to run the installation with
customization for this to work:

# oz-install -u /path/to/rhel6_testout.tdl

Running this command will download and prepare the installation media, then run an
automated install in a KVM guest.

Assuming the initial install succeeds, Oz will then boot the operating system and run
native commands to upload the files specified in the TDL. For more information about why
this approach is used, please see the Oz Architecture document at
http://github.com/clalancette/oz/wiki/Oz-architecture.

Assuming this final step succeeds, the operating system with the additional files will be
installed on a file in /var/lib/libvirt/images/rhel6_testout.dsk (by default, the output
location can be overridden in the configuration file).

Use oz-examples online using onworks.net services



Latest Linux & Windows online programs