Шаблоны операционных систем (шаблоны ОС) — наборы образов диска и скриптов установки, состоящие из дистрибутива и других необходимых для установки операционной системы данных. Используются для удобства установки операционных систем на серверы.
В статье описаны принципы создания собственного репозитория шаблонов ОС.
Директория на сервере, используемая в качестве репозитория, должна содержать следующие файлы:
- файл metadata.xml — основной файл описания репозитория. Используется для получения информации о шаблонах;
- файлы с архивами шаблонов в формате tar.gz, включающими в себя также файл описания шаблона metainfo.xml.
metadata.xml — XML-файл, содержащий в себе элементы elem на каждый шаблон. Каждый элемент elem содержит упрощённое описание из metainfo.xml от самого шаблона.
Необходимые элементы внутри элемента elem:
- osname — имя шаблона;
- support — группа элементов elem с именам программных продуктов, для которых подходит этот шаблон;
- tags — теги шаблона;
- version — минимально требуемая версия панели, в которой будет работать шаблон. Это технический параметр и чаще всего его значение будет 5;
- filename — имя файла шаблона;
- utcmtime — время модификации шаблона.
Пример файла metadata.xml:
<?xml version="1.0" encoding="utf-8"?>
<doc>
<elem>
<osname>FreeBSD-9-amd64</osname>
<support>
<elem>VMmgr</elem>
<elem>DCImgr</elem>
</support>
<tags>freebsd,unix,freebsd9</tags>
<version>5.57</version>
<type>ostemplate</type>
<filename>FreeBSD-9-amd64-5.57.tar.gz</filename>
<utcmtime>2016-12-27 05:12:25</utcmtime>
</elem>
<elem create-metainfo="yes">
<osname>Ubuntu-16.04-x86_64</osname>
<support>
<elem>VEmgr</elem>
</support>
<tags>ubuntu,linux,unix,ubuntu1604,xenial</tags>
<version>5</version>
<externals>
<elem>
<url>http://mirror.yandex.ru/mirrors/download.openvz.org/template/precreated/ubuntu-16.04-x86_64.tar.gz</url>
</elem>
</externals>
<utcmtime>2016-11-27 05:08:59</utcmtime>
</elem>
<osname>Windows-Server-2008-R2</osname>
<support>
<elem>VMmgr</elem>
</support>
<tags>windows,windows2008r2</tags>
<version>5</version>
<type>ostemplate</type>
<filename>Windows-Server-2008-R2-Web.tar.gz</filename>
<utcmtime>2016-07-14 03:48:32</utcmtime>
</elem>
<elem>
<osname>Windows Server 2012 R2 Clean</osname>
<support>
<elem>DCImgr</elem>
</support>
<tags>windows,windows2012r2</tags>
<version>5</version>
<type>ostemplate</type>
<filename>WindowsServer-2012-R2-Clean.tar.gz</filename>
<utcmtime>2016-08-23 04:58:23</utcmtime>
</elem>
<elem>
<osname>CentOS-7-amd64</osname>
<support>
<elem>VMmgr</elem>
<elem>DCImgr</elem>
</support>
<tags>centos,linux,unix,centos7</tags>
<version>5.57</version>
<type>ostemplate</type>
<filename>CentOS-7-amd64-5.57.tar.gz</filename>
<utcmtime>2016-12-27 06:44:33</utcmtime>
</elem>
</doc>