При установке системы с помощью Anaconda, когда вы выбираете пакеты, которые хотите поставить, в режиме просмотра (тоже самое окно просмотра пакетов можно вызвать в уже установленной системе из меню: >Applications>Add/Remove Software, оно называется Менеджер пакетов), вы отмечаете пакеты в группах, которые, в свою очередь, принадлежат категориям. Каждая группа содержит обязательные и дополнительные пакеты, дополнительные пакеты в каждой группе могут быть выделены или нет для установки по-умолчанию. Некоторых пакетов вообще нет ни в одной категории, и они не могут быть установлены из этой иерархии.
Иерархия пакетов строится в связи с XML-файлом, расположенным по адресу /var/cache/yum/*/comps*.xml — каждый репозиторий имеет свой XML-файл. Файл этот имеет следующий вид: <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE comps PUBLIC "-//Red Hat, Inc.//DTD Comps info//EN" "comps.dtd">
<comps xmlns=""> <group><id>short-group-id</id>
<name>human-readable-group-name</name>
<uservisible>true</uservisible>
<packagelist><packagereq type="mandatory">always-installed-package</packagereq>
<packagereq type="default">installed-by-default-package</packagereq>
<packagereq type="optional">not-installed-by-default-package</packagereq>
<packagereq type="conditional" requires="other-package">conditional-installed-package</packagereq>
. . . </packagelist> </group>
. . . <category><id>simple-category-id</id>
<name>human-readable-category-name</name>
<description>category-description</description>
<display_order>5</display_order>
<grouplist><groupid>short-group-id</groupid>
. . . </grouplist> </category>
. . . </comps>
Как вы видите, тег <category> включает в себя группы, которые принадлежат этой категории, а тег <group> включает в себя пакеты, принадлежащие этой группе. Текст, такой, как имя или описание категории или группы, написан на разных языках, определяемых атрибутом xml:lang.
Пакеты, для которых в теге <packagereq> указан тип mandatory, обязательно устанавливаются при установки данной группы пакетов. Пакеты с типом conditional ставятся обязательно в том случае, если устанавливаются пакеты, заданные в атрибуте requires. К примеру, если вы устанавливаете Французскую языковую поддержку и какой-нибудь пакет, то для него будет автоматически установлена французская поддержка. Пакеты с типами default и optional ставить необязательно, они отображаются в списке пакетов своей группы; соответственно, пакеты default вначате уже отмечены, а пакеты optional — нет. |