Alterator-pkg — различия между версиями

Материал из ALT Linux Wiki
Перейти к: навигация, поиск
(API)
(Принцип работы в режиме инсталлятора)
 
(не показано 12 промежуточных версий 3 участников)
Строка 3: Строка 3:
 
'''alterator-pkg'''
 
'''alterator-pkg'''
  
[[Категория:Модули Alterator]]
+
== Назначение ==
  
== Назначение ==
+
Модуль предназначен для выбора групп пакетов и установки пакетов из выбранных групп (см. тж. [https://lists.altlinux.org/pipermail/devel-conf/2007-October/007496.html анонс] и [[Installer/pkggroups|изначальную страницу]]).
 +
 
 +
== Принцип работы в режиме инсталлятора ==
 +
 
 +
Модули {{prg|groups}} и {{prg|install}} включаются в [[installer|инсталлятор]] под заголовком «Установка пакетов». Для того, чтобы пакеты было откуда устанавливать, в {{path|/etc/apt/sources.list}} окружения инсталлятора прописывается источник пакетов — установочный диск, сетевой источник и т.д. Пакеты устанавливаются командой {{cmd|apt-get install}}, но конечно, не в окружение инсталлятора, а в чрут целевой системы. Для этого в {{path|/etc/apt/apt.conf}} записывается строка
 +
 
 +
  RPM::RootDir "/mnt/destination";
  
Модуль предназначен для выбора групп пакетов и установки пакетов из выбранных групп
+
Отвечает за такую подготовку среды исталлятора скрипт {{prg|initinstall.d/90-pkg.sh}}, поставляемый вместе с данным модулем.
  
 
== API ==
 
== API ==
  
Для генерации списка групп пакетов просматриваются все файлы *.directory в каталоге ''/var/lib/install3/groups''
+
Для генерации списка групп пакетов просматриваются все файлы *.directory в каталоге {{path|/var/lib/install3/groups}}
  
 
Пример файла описания группы:
 
Пример файла описания группы:
  
[Desktop Entry]
+
<source lang="Ini">[Desktop Entry]
Encoding=UTF-8
+
Encoding=UTF-8
Type=Directory
+
Type=Directory
Name=Office Suite
+
Name=Office Suite
X-Alterator-PackageList=installer-group-desktop-office-lite
+
X-Alterator-PackageList=installer-group-desktop-office-lite
Name[ru_RU]=Офисный пакет
+
Name[ru_RU]=Офисный пакет
X-Alterator-Conflicts=installer-group-desktop-office
+
X-Alterator-Conflicts=installer-group-desktop-office
X-Alterator-Parent=installer-group-desktop-office
+
X-Alterator-Parent=installer-group-desktop-office</source>
  
 
* имя файла (без расширения .directory) является идентификатором группы
 
* имя файла (без расширения .directory) является идентификатором группы
 
* '''Name''' ­— название группы в интерфейсе (локализованную надпись указывайте в параметре '''Name[''код_языка'']''')
 
* '''Name''' ­— название группы в интерфейсе (локализованную надпись указывайте в параметре '''Name[''код_языка'']''')
 
* '''X-Alterator-Conflicts''' — список идентификаторов конфликтующих групп  
 
* '''X-Alterator-Conflicts''' — список идентификаторов конфликтующих групп  
* '''X-Alterator-Depends''' — список идентификаторов зависимых элементов. Так, при выборе этого элемента, будут выбраны все зависимые элементы
+
* '''X-Alterator-Depends''' — список идентификаторов зависимых элементов, разделённый пробелами. Так, при выборе этого элемента, будут выбраны все зависимые элементы
 
* '''X-Alterator-PackageList''' — название файла (в ''/var/lib/install3/lists''), содержащего имена пакетов группы
 
* '''X-Alterator-PackageList''' — название файла (в ''/var/lib/install3/lists''), содержащего имена пакетов группы
* '''X-Alterator-Parent''' — идентификатор родительского элемента в иерархии групп
+
* '''X-Alterator-Parent''' — идентификатор родительского элемента<ref>Перед добавлением X-Alterator-Parent следует убедиться, что соответствующий файл parent-name.directory уже существует (либо создать его).</ref> в иерархии групп
 
* '''X-Alterator-Required''' — признак включения группы по умолчанию (значение ''yes'' или ''true'')
 
* '''X-Alterator-Required''' — признак включения группы по умолчанию (значение ''yes'' или ''true'')
  
Пример файла с пакетами группы:
+
Пример файла с пакетами группы (по одному на строку):
  
 
  openoffice.org
 
  openoffice.org
Строка 51: Строка 57:
 
  stardict-wn
 
  stardict-wn
 
  xfce-settings-desktop-office-lite
 
  xfce-settings-desktop-office-lite
 +
 +
=== Построение иерархии ===
 +
 +
При добавлении группы учтите, что в случае, если дочерний элемент не виден, он не может найти родительского элемента. Сделайте имя файла лексикографически больше, чем у родительского элемента.
 +
: Может, наоборот советовать/делать -- 00parent.directory? --[[Участник:MichaelShigorin|mike]]
 +
 +
Пример:
 +
* dhcp-server-a.directory имеет родителем dhcp-server-g, но не показывается
 +
* dhcp-server-g.directory — родительский элемент
 +
 +
dhcp-server-a.directory < dhcp-server-g.directory. Переименуйте dhcp-server-a.directory в dhcp-server-g-a.directory
 +
 +
== Использование профилей ==
 +
 +
Профили позволяют выбрать одновременно определённое количество групп пакетов {{Since|2.6.10-alt1}}.
 +
 +
Файлы профилей с расширением .directory находятся в каталоге {{path|/var/lib/install3/profiles}}. Профили в списке показываются в порядке сортировки имён файлов с ними.
 +
 +
Пример файла {{path|/var/lib/install3/profiles/alterator.directory}}
 +
<source lang="Ini">[Desktop Entry]
 +
Type=Directory
 +
Name=Alterator
 +
Name[ru_RU]=Альтератор
 +
X-Alterator-Groups=asterisk-1.6.2 devel-hardware dhcp-server-a</source>
 +
Группы пакетов (имена файлов описания групп без расширения .directory) указываются  в поле '''X-Alterator-Groups''' через пробел
 +
Если ни один файл профиля не найден, выпадающий список с профилями показываться не будет.
 +
 +
{{Note|Если в параметре X-Alterator-Groups не указана ни одна группа, при выборе этого профиля будут убраны флажки у всех элементов списка.}}
 +
 +
== Отладка ==
 +
Если при достижении шага выбора групп под их списком появляется сообщение (в англоязычном варианте):
 +
Required disk space: unable to calculate
 +
— произошла ошибка при попытке запустить {{cmd|apt-get}} со списком затребованных пакетов. Её причиной может оказаться, например, вошедший в списки, но не попавший в доступные инсталятору репозитории пакет.
 +
 +
Ещё одной проблемой бывает не попавший в {{path|lists/}} список, на который есть ссылка из выбранного {{path|groups/*.directory}}.
 +
 +
== Примечания ==
 +
<references />
 +
{{Category navigation|title=Модули Alterator|category=Модули Alterator|sortkey={{SUBPAGENAME}}}}

Текущая версия на 12:06, 14 февраля 2018

Название пакета[править]

alterator-pkg

Назначение[править]

Модуль предназначен для выбора групп пакетов и установки пакетов из выбранных групп (см. тж. анонс и изначальную страницу).

Принцип работы в режиме инсталлятора[править]

Модули groups и install включаются в инсталлятор под заголовком «Установка пакетов». Для того, чтобы пакеты было откуда устанавливать, в /etc/apt/sources.list окружения инсталлятора прописывается источник пакетов — установочный диск, сетевой источник и т.д. Пакеты устанавливаются командой apt-get install, но конечно, не в окружение инсталлятора, а в чрут целевой системы. Для этого в /etc/apt/apt.conf записывается строка

 RPM::RootDir "/mnt/destination";

Отвечает за такую подготовку среды исталлятора скрипт initinstall.d/90-pkg.sh, поставляемый вместе с данным модулем.

API[править]

Для генерации списка групп пакетов просматриваются все файлы *.directory в каталоге /var/lib/install3/groups

Пример файла описания группы:

[Desktop Entry]
Encoding=UTF-8
Type=Directory
Name=Office Suite
X-Alterator-PackageList=installer-group-desktop-office-lite
Name[ru_RU]=Офисный пакет
X-Alterator-Conflicts=installer-group-desktop-office
X-Alterator-Parent=installer-group-desktop-office
  • имя файла (без расширения .directory) является идентификатором группы
  • Name ­— название группы в интерфейсе (локализованную надпись указывайте в параметре Name[код_языка])
  • X-Alterator-Conflicts — список идентификаторов конфликтующих групп
  • X-Alterator-Depends — список идентификаторов зависимых элементов, разделённый пробелами. Так, при выборе этого элемента, будут выбраны все зависимые элементы
  • X-Alterator-PackageList — название файла (в /var/lib/install3/lists), содержащего имена пакетов группы
  • X-Alterator-Parent — идентификатор родительского элемента[1] в иерархии групп
  • X-Alterator-Required — признак включения группы по умолчанию (значение yes или true)

Пример файла с пакетами группы (по одному на строку):

openoffice.org
openoffice.org-langpack-ru
openoffice.org-langpack-uk
xpdf
djvu-viewer
fbreader
sqliteman
stardict-gtk
stardict-mueller7
stardict-slovnyk_be-en
stardict-slovnyk_en-be
stardict-slovnyk_en-ru
stardict-slovnyk_en-uk
stardict-slovnyk_ru-en
stardict-slovnyk_uk-en
stardict-wn
xfce-settings-desktop-office-lite

Построение иерархии[править]

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

Может, наоборот советовать/делать -- 00parent.directory? --mike

Пример:

  • dhcp-server-a.directory имеет родителем dhcp-server-g, но не показывается
  • dhcp-server-g.directory — родительский элемент

dhcp-server-a.directory < dhcp-server-g.directory. Переименуйте dhcp-server-a.directory в dhcp-server-g-a.directory

Использование профилей[править]

Профили позволяют выбрать одновременно определённое количество групп пакетов  с версии 2.6.10-alt1 .

Файлы профилей с расширением .directory находятся в каталоге /var/lib/install3/profiles. Профили в списке показываются в порядке сортировки имён файлов с ними.

Пример файла /var/lib/install3/profiles/alterator.directory

[Desktop Entry]
Type=Directory
Name=Alterator
Name[ru_RU]=Альтератор
X-Alterator-Groups=asterisk-1.6.2 devel-hardware dhcp-server-a

Группы пакетов (имена файлов описания групп без расширения .directory) указываются в поле X-Alterator-Groups через пробел Если ни один файл профиля не найден, выпадающий список с профилями показываться не будет.

Примечание: Если в параметре X-Alterator-Groups не указана ни одна группа, при выборе этого профиля будут убраны флажки у всех элементов списка.


Отладка[править]

Если при достижении шага выбора групп под их списком появляется сообщение (в англоязычном варианте):

Required disk space: unable to calculate

— произошла ошибка при попытке запустить apt-get со списком затребованных пакетов. Её причиной может оказаться, например, вошедший в списки, но не попавший в доступные инсталятору репозитории пакет.

Ещё одной проблемой бывает не попавший в lists/ список, на который есть ссылка из выбранного groups/*.directory.

Примечания[править]

  1. Перед добавлением X-Alterator-Parent следует убедиться, что соответствующий файл parent-name.directory уже существует (либо создать его).