OS template metadata

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search


Warning.svg Warning: The rest of this document is obsoleted and is kept here for historical purposes only. Template utilities (vzpkg/vzyum) are no longer supported. Use precreated templates.

OS template metadata is a set of a few files containing the following information:

  • List of packages that form this OS template
  • Locations of package repositories
  • Scripts needed to be executed on various stages of template installation
  • Public GPG key(s) needed to check signatures of packages
  • Additional OpenVZ-specific packages

Using OS template metadata and vzpkg tools, an OS template cache can be created.


(Incomplete) Based off the centos-4 vztmpl:

  • addons/vzdev is a static list of most commonly used /dev entries. Provides dev package. Uses MAKEDEV.spec
  • addons/MAKEDEV-3.3.13-1.3.swsoft is generated from a copy of fedora core 2's MAKEDEV-3.3.13. Uses MAKEDEV.spec which is a customized version to install only the essential devices and depend on vzdev
  • dummy-centos-4 is a placeholder for kernel, module-init-tools, modutils, mingetty, kernel-utils, ethtool, and kernel-drm packages. Uses dummy.spec
  • default.list, minimal.list, *.list are list of packages for a flavor of the template. Must contain dummy-centos-4, vzdev, and MAKEDEV packages
  • config/yum.conf.in template for yum.conf with tokens replaced during build.
  • config/install-pre or install-post is executed by cache-os which is executed by vzpkgcache when creating a template cache
  • config/update-pre or update-post is executed when updating a template cache
  • config/gpgkeys are the keys for the packages to be cached
  • config/rpm contains the rpm version
  • vztmpl.spec.in is template for the vztmpl package
  • make.defs is the common variables for the make process

Download the vztmpl-centos-4*.src.rpm. Install it. Modify it.

To generate the OS template metadata rpm run "make rpms" inside the /usr/src/redhat/SOURCES/centos-4 dir. You will need gcc, rpmbuild, and createrepo packages.


See also[edit]