С шаблонами, как и с отдельными пакетами, можно взаимодействовать двумя способами: непосредственно командой zypper и через модуль управления софтом системы YaST. И это тот самый нередкий случай, когда оба подхода не исключают друг друга, и даже не заменяют, а гармонично дополняют.

Начнём с первого. Очевидно, что прежде чем заниматься чем-то ещё, не худо выяснить, а какие шаблоны вообще существуют в природе. И делается это так:

$ zypper se -t pattern

где se, как мы знаем, — внутренняя команда поиска, опция -t — указание типа «пакета» (см. здесь), pattern — её значение.

Вывод команды будет весьма длинным:

С | Имя               | Заключение                          | Тип
--+-------------------+-------------------------------------+-------
  | 32bit             | 32-битная среда исполнения          | шаблон
  | apparmor          | AppArmor                            | шаблон
i | base              | Базовая система                     | шаблон
  | books             | Documentation                       | шаблон
...
i | yast2_install_wf  | Пакеты установки YaST               | шаблон

И нетрудно догадаться, что буковкой i в первой колонке маркированы установленные шаблоны. Список которых посмотреть тоже легко:

zypper se -it pattern

И выглядеть он будет примерно так:

i | base              | Базовая система                     | шаблон
i | enhanced_base     | Расширенная базовая система         | шаблон
i | fonts             | Шрифты                              | шаблон
i | imaging           | Графика                             | шаблон
i | kde4              | Среда рабочего стола KDE4           | шаблон
i | kde4_basis        | Базовая система KDE4                | шаблон
i | multimedia        | Мультимедиа                         | шаблон
i | non_oss           | Разные проприетарные пакеты         | шаблон
i | office            | Офисное программное обеспечение     | шаблон
i | sw_management     | Управление программным обеспечением | шаблон
i | x11               | Система X Window                    | шаблон
i | yast2_basis       | Администрирование системы с YaST    | шаблон
i | yast2_install_wf  | Пакеты установки YaST               | шаблон

Подробную информацию о любом (установленном или неустановленном) шаблоне можно получить командой

$ zypper if -t pattern [имя_шаблона]

Которая сначала выведет содержание резюме (summary), а потом — полный список входящих в него пакетов.

Например, для шаблона office «суммарная» часть будет выглядеть так:

Сведения — шаблон office:

Репозиторий: openSUSE-12.3-Oss
Имя: office
Версия: 12.3-7.10.1
Архитектура: x86_64
Производитель: openSUSE
Установлен: Да
Сводка: Офисное программное обеспечение
Описание:
Офисное программное обеспечение для вашей среды рабочего стола, включающее LibreOffice.

А список пакетов включает следующее:

Содержание:

С | Имя                            | Тип     | Зависимость
--+--------------------------------+---------+--------------
  | scribus                        | package |
  | patterns-openSUSE-lxde_office  | package |
i | abiword                        | package |
i | patterns-openSUSE-office       | package |
i | libgoffice-0_10-10             | package |
i | libgoffice-0_8-8               | package |
  | evolution                      | package |
  | libreoffice-icon-theme-oxygen  | package | Рекомендовано
  | epdfview                       | package |
  | evolution-ews                  | package |
  | libreoffice-icon-theme-tango   | package |
i | patterns-openSUSE-kde4_office  | package |
  | patterns-openSUSE-xfce_office  | package |
  | libreoffice                    | package | Рекомендовано
  | libreoffice-base-extensions    | package |
  | gnucash                        | package |
  | libreoffice-calc               | package | Рекомендовано
  | libreoffice-calc-extensions    | package |
  | libreoffice-draw               | package | Рекомендовано
  | libreoffice-draw-extensions    | package |
i | gnumeric                       | package |
  | libreoffice-gnome              | package |
  | libreoffice-impress            | package | Рекомендовано
  | libreoffice-impress-extensions | package |
  | grisbi                         | package |
  | libreoffice-kde4               | package | Рекомендовано
  | libreoffice-math               | package |
  | pinpoint                       | package |
  | libreoffice-writer             | package | Рекомендовано
  | libreoffice-writer-extensions  | package |
  | glabels                        | package |
  | planner                        | package |
  | libreoffice-converter          | package |
  | patterns-openSUSE-gnome_office | package |
  | libreoffice-languagetool       | package |

Обращаем внимание на строки с именами по маске pattern*:

zypper if -t pattern office | grep pattern                [alv]
  | patterns-openSUSE-lxde_office  | package |
i | patterns-openSUSE-office       | package |
i | patterns-openSUSE-kde4_office  | package |
  | patterns-openSUSE-xfce_office  | package |
  | patterns-openSUSE-gnome_office | package |

Это, так сказать, субшаблоны, установка которых предусмотрена в соответствующих графических средах. Получить сведения о них можно тем же образом, что и о основном шаблоне:

zypper if -t pattern kde4_office                          [alv]
Сведения — шаблон kde4_office:

Репозиторий: openSUSE-12.3-Oss
Имя: kde4_office
Версия: 12.3-7.10.1
Архитектура: x86_64
Производитель: openSUSE
Установлен: Да
Сводка: Офис KDE
Описание:
Офис KDE
Содержание:

С | Имя                           | Тип     | Зависимость
--+-------------------------------+---------+--------------
  | libreoffice-icon-theme-oxygen | package | Рекомендовано
  | libreoffice-kde4              | package | Рекомендовано
  | scribus                       | package |
i | patterns-openSUSE-kde4_office | package |

Обращаем внимание, что офисный субшаблон для KDE включает в себя не Calligra, как можно было бы предполагать, а универсальный LibreOffice. Как, впрочем, и в остальные субшаблоны. Просто в шаблоне gnome_office он дополняется компонентами мифического одноименного офисного пакета:

Содержание:

С | Имя                            | Тип     | Зависимость
--+--------------------------------+---------+------------
  | pinpoint                       | package |
i | gnumeric                       | package |
i | abiword                        | package |
  | grisbi                         | package |
  | evolution-ews                  | package |
  | libreoffice-icon-theme-tango   | package |
  | patterns-openSUSE-gnome_office | package |
  | libreoffice-gnome              | package |
  | planner                        | package |
  | evolution                      | package |
  | gnucash                        | package |
  | glabels                        | package |

Установка шаблонов выполняется точно так же, как и обычных пакетов:

# zypper in -t pattern [имя_шаблона]

В очередной раз повторю, что если для выполнения внутренних команд se и if достаточно прав обычного пользователя, то для установки шаблона необходимы административные привилегии. Что и символизируется видом приглашения командной строки — $ в первом случае и # во втором.

Выполнение команды in начинается с вывода списка пакетов, которые будут установлены, в том числе и тех, что выбраны автоматически — а это все пакеты, кроме пакета собственно шаблона, — а затем пакетов, которые в шаблон входят, но установлены не будут. Например, для шаблона books (разнообразная документация) это выглядит так:

# zypper in -t pattern books                                                        [alv]
root's password:
Загрузка данных о репозиториях...
Чтение установленных пакетов...
Разрешение зависимостей пакетов...

Будут установлены следующие НОВЫЕ пакеты:
  opensuse-kvm_en-pdf opensuse-reference_en-pdf opensuse-security_en-pdf opensuse-startup_en-pdf
  opensuse-tuning_en-pdf patterns-openSUSE-books

Будет установлен следующий НОВЫЙ шаблон:
  books

Следующие рекомендованные пакеты были выбраны автоматически:
  opensuse-kvm_en-pdf opensuse-reference_en-pdf opensuse-security_en-pdf opensuse-startup_en-pdf
  opensuse-tuning_en-pdf

Следующие предлагаемые пакеты не будут установлены:
  amavisd-new-docs apache2-doc apparmor-docs bind-doc dhcp-doc digikam-doc docbook-tdg gcc-info ... [длинный список]

6 новых пакетов для установки.
Полный размер загрузки: 25,3 MiB. После этой операции будет использовано дополнительно 28,0 MiB.
Продолжить? [y/n/?] (y):

Повлиять на то, какие пакеты из шаблона будут установлены, а какие — нет, средствами zypper нельзя. Можно только согласиться (или не согласиться) с его предложением.

Шаблон можно обновить независимо от остальной системы (не считая собственных зависимостей его пакетов). Делается это аналогичным образом:

# zypper up -t pattern office

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

А вот удаление шаблона целиком, как уже говорилось, невозможно. Ответом на такую попытку будет следующее сообщение:

# zypper rm -t pattern multimedia                                                   [alv]
root's password:
Удаление шаблона не определено и не реализовано.

Некоторые из ограничений zypper в деле обращения с шаблонами можно преодолеть с помощью модуля управления пакетами системы YaST, что мы и увидим на следующей странице.


К содержанию