Шаблоны пакетов

Перейти к: навигация, поиск

Шаблоны

В данный момент в SUSE Linux 10.1 (и более ранних релизах) мы используем категории в YaST, чтобы группировать ПО и облегчить установку нужного программного обеспечения.

Наши разработчики доработали концепцию категорий и назвали их шаблонами.

Что такое шаблоны?

  • Шаблоны включают в себя список программного обеспечения для установки
  • Список пакетов содержит в себе следующие категории пакетов:
    • обязательные (must-have)
    • рекомендуемые (should-have)
    • не обязательные (may-have)
  • Шаблоны определяют функциональность, которой должна обладать система. Это достигается непосредственным именованием необходимых пакетов, группировкой подшаблонов или комбинацией вышеперечисленного. Шаблоны представляют собой огромный список установленных rpms, сгруппированных в блоки, которые по необходимости можно комбинировать или править. Перечисление всех rpm в шаблоны даёт rpms необходимую функциональность. Это, в свою очередь, даёт ответ на часто задаваемый вопрос "Зачем установлен этот пакет?"
  • В будущем мы хотим довести концепцию шаблонов до полностью готового, отлаженного состояния. Например, если вы выбираете шаблон LDAP server, процедура настройки конфигурации LDAP будет запущена автоматически в процессе инсталляции.
  • Шаблоны могут группироваться по назначению, например "Разаработка" или "Настольные приложения".
  • Шаблоны могут зависеть от других шаблонов. У них может быть одинаковый набор зависимостей. Также они могут замещать или конфликтовать с другими шаблонами или зависеть от конкретного языка.
  • Дополнительное ПО может содержать дополнительные шаблоны.
  • Шаблоны могут дифференцироваться от высокоуровневых/видимых пользователем до внутренних/невидимых пользователем шаблонов (одни шаблоны могут требовать другие, невидимые шаблоны). Это - детали реализации шаблонов.

От категорий к шаблонам

После выпуска 10.2 Alpha2 мы решили перейти на шаблоны. Вместо простого переименования категорий в шаблоны мы решили начать с простого определения, какие шаблоны следует сформировать.

Категории в 10.1

На данный момент существуют следующие категории:

  • Базовая система с ГИП
  • Среда KDE
  • Всё, содержащееся в KDE
  • Система GNOME
  • Справка и документация
  • Офисные приложения
  • Игры
  • Мультимедиа
  • VoIP
  • Виртуализация Xen
  • Простой web-сервер на Apache2
  • Сервер и инструменты LDAP
  • Сетевые средства и сервер
  • Ноутбук
  • Мобильные вычисления
  • Компиляция C/C++ и инструменты разработки
  • Разработка ядра
  • Разработка под KDE
  • Разработка под GNOME
  • Система разработки Tcl/Tk
  • Java
  • Опытный пользователь
  • LaTeX, SGML и XML
  • Шрифты
  • Mono/CLR
  • Пакеты Не-OpenSource

Шаблоны в 10.2

Начиная с Alpha5, в дистрибутиве используются следующие шаблоны:

  • Базовые технологии
    • 32-разрядные: 32-разрядная среда выполнения (только для ppc64, x86-64)
    • 64-разрядные: 64-разрядная среда выполнения (только для ppc)
    • apparmor: Novell AppArmor
    • основные: Базовая система openSUSE
    • консоль: Консольные инструменты
    • ноутбук: Ноутбук
    • x86: Среда выполнения x86 (только для ia64)
    • yast2_basis: Системное администрирование YaST
  • Графические среды
    • gnome: Среда GNOME
    • kde: Среда KDE
    • xfce: Среда XFCE [только на ftp/DVD]
    • x11: X Window System
    • шрифты: Шрифты
  • Рабочий стол GNOME
    • gnome_admin: Инструменты администрирования GNOME
    • gnome_basis: Базовая система GNOME
    • gnome_ide: Среда разработки GNOME
    • gnome_games: Игры GNOME
    • gnome_imaging: Графическое ПО GNOME
    • gnome_laptop: Подсистема для ноутбуков в GNOME
    • gnome_multimedia: Мультимедиа в GNOME
    • gnome_office: Офисное ПО в GNOME
    • gnome_utilities: Утилиты GNOME
    • gnome_xgl: Визуальные эффекты GNOME
  • Рабочий стол KDE
    • kde_admin: Инструменты администрирования KDE
    • kde_basis: Базовая система KDE
    • kde_ide: Среда разработки KDE
    • kde_edutainment: Образовательное ПО KDE
    • kde_games: Игры KDE
    • kde_imaging: Графическое ПО KDE
    • kde_internet: По для Интернета в KDE
    • kde_laptop: Подсистема для ноутбуков в KDE
    • kde_multimedia: Мультимедиа в KDE
    • kde_office: Офисное ПО в KDE
    • kde_system: Система KDE
    • kde_utilities: Утилиты KDE
    • kde_xgl: Визуальные эффекты KDE
  • Функции Рабочего стола
    • games: Игры
    • imaging: Графика
    • remote_desktop: Управление удалённым Рабочим столом
    • xml: Инструменты редактирования XML и LaTeX
  • Серверные функции
    • dhcp_dns_server: Сервер DHCP и DNS
    • directory_server: Сервер директорий (LDAP)
    • file_server: Файл-сервер
    • gateway_server: Интернет-шлюз
    • lamp_server: WEB- и LAMP-сервер
    • mail_server: Почтовый и новостной сервер
    • misc_server: Сервер для различных применений
    • network_admin: Администрирование сети
    • print_server: Принт-сервер
    • xen_server: Хост-сервер виртуальной машины Xen
  • Закрытое ПО
    • non_oss: Различные закрытые пакеты (только на носителе NON-OSS)
    • non_oss_java: Среда Java (только на носителе NON-OSS)
  • Разработка
    • devel_basis: Основные средства разработки
    • devel_C_C++: Разработка на C/C++
    • devel_gnome: Разработка под GNOME
    • devel_ide: Интегрированные Среды Разработки
    • devel_java: Разработка на Java
    • devel_kernel: Разарботка ядра Linux
    • devel_kde: Разработка под KDE
    • devel_mono: Разработка на .NET
    • devel_perl: Разработка на Perl
    • devel_python: Разработка на Python
    • devel_qt4: Разработка на Qt4
    • devel_rails: Разработка на Rails
    • devel_rpm_build: Среда сборки RPM
    • devel_ruby: Разработка на Ruby on Rails (не на CD)
    • devel_web: Web-разработка
    • devel_yast: Разработка под YaST


Здесь не хватает некоторых новых категорий и их описаний. Это только первый шаг к обсуждению. Мы хотели бы, чтобы вы поддержали наши идеи.

В обсуждении давайте не касаться темы "нам так нужны шаблоны!.." - давайте обсуждать основные вопросы и дальнейшее совершенствование концепции шаблонов.

У нас есть прекрасная возможность добавления новых закрытых шаблонов: обычно всё, что вам необходимо - иметь лёгкое дополнительное ПО, к которому есть шаблоны, но нет RPM. Поэтому каждый может создать коллекцию своих любимых пакетов и сделать их доступными в качестве дополнительного источника. Любой репозиторий может добавлять свои шаблоны.

Описание шаблонов

Сейчас используется способ описания шаблонов с помощью файлов .pat. Однако сейчас разрабатывается способ добавления описаний в стиле репозиториев YaST, бесполезный для описаний типа repomd.

В идеале, виды языка описания шаблонов должны быть

  • лёгкими для написания
  • лёгкими для чтения
  • лёгкими для обработки

Смотри язык описания шаблонов.

Содержимое шаблонов

Всё вышесказанное о шаблонах в openSUSE 10.2 не затрагивает их содержимого - пакетов.

Страница содержимое шаблонов пытается объяснить, как группировать пакеты в шаблоны.

Смотри также

  • Предложения по API