Tools/Distribute: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
 
(не показано 8 промежуточных версий 1 участника)
Строка 1: Строка 1:
= Сборка ISO-образов репозитория с помощью Distribute =
= Сборка ISO-образов репозитория с помощью Distribute =
=== Введение ===
Если вам надо иметь срез бренча, записанный на DVD или на CD (далее - болванки), то вам сюда. Далее я опишу на примере того, как я записываю бренч p5 на DVD.


=== Быстрый вход в курс дела. ===
=== Быстрый вход в курс дела. ===
Строка 12: Строка 15:
=== Медленный вход в курс дела. ===
=== Медленный вход в курс дела. ===
Для остальных опишу чуть поподробнее.
Для остальных опишу чуть поподробнее.
==== Введение ====
Если вам надо иметь срез бренча, записанный на DVD или на CD (далее - болванки), то вам сюда. Далее я опишу на примере того, как я записываю бренч p5 на DVD.


==== Первый шаг ====
==== Первый шаг ====
Строка 27: Строка 27:


==== Третий шаг ====
==== Третий шаг ====
После изучения документации пакета distribute, я создал по аналогии конфигурационный файл задания для записи бренча p5 (~/.etc/distribute/tasks/Branch-p5) , следующего содержания:


''<nowiki># Configuration for ./distribute.</nowiki>''
1. После изучения документации пакета distribute, я создал по аналогии конфигурационный файл задания для записи бренча p5 (~/.etc/distribute/tasks/Branch-p5) , следующего содержания:


''<nowiki># Размер образа</nowiki>''
''<nowiki># Configuration for ./distribute.</nowiki>''
''
''<nowiki># Размер образа</nowiki>''
''CDVOLUME=4700000000''
''
''<nowiki># Параметры имени образа</nowiki>''
''PREFIX=ALTLinux''
''SUFFIX="p5"-$(date +%Y%m%d)''
''
''<nowiki># архитектуры, которые войдут в образ</nowiki>''
''ARCH=(i586 noarch)''
''
''<nowiki># </nowiki>Открывающая кавычка''
''TYPE_N_LOCALMIRROR_TABLE="''
''
''<nowiki># размещение файлов с заданными архитектурами</nowiki>''
''noarch/RPMS "/media/Arhiv/Branch-p5/files/noarch/RPMS"''
''i586/RPMS "/media/Arhiv/Branch-p5/files/i586/RPMS"''
''
''<nowiki># </nowiki>Закрывающая кавычка''
''"''


''CDVOLUME=4700000000''


''<nowiki># Параметры имени образа</nowiki>''


''PREFIX=ALTLinux''
2. Создаю скрипт create-iso-b5 , который буду запускать для создания образов, следующего содержания:


''SUFFIX="p5"-$(date +%Y%m%d)''
<nowiki>#!/bin/bash</nowiki>
''
export P_LIBDIR="~/.usr/share"
''
distribute Branch-p5 --clear
''
distribute Branch-p5 --rmiso
''
distribute Branch-p5 --rm-base p5
''
distribute Branch-p5 --GEN-TASKCONF
''
distribute Branch-p5 --fix-base p5
''
distribute Branch-p5 --split-full p5
''
distribute Branch-p5 --make-plain-index p5
''
distribute Branch-p5 --index p5
''
distribute Branch-p5 —mkiso


''<nowiki># архитектуры, которые войдут в образ</nowiki>''


''ARCH=(i586 noarch)''
Содержимое его я расшифровывать не буду — кому надо, смотрите выдачу
'''distribute —help'''


''<nowiki># </nowiki>Открывающая кавычка''
Скажу только, что в первой его части удаляются результаты предыдущей работы скрипта, а потом запускается построение образа заново. При желании, можно его модифицировать так, что-бы создавались не все ISO образы заново, а создавались только образы с разницей между имеющимися образами и текущим срезом. Для этого надо изучить документации к пакету distributre (/usr/share/doc/distribute...) .


''TYPE_N_LOCALMIRROR_TABLE="''
3. Создаю инфраструктуру сборки.Монтирую внешний диск, например так:


''<nowiki># размещение файлов с заданными архитектурами</nowiki>''
'''pmount-hal /dev/sdb1'''


''noarch/RPMS "/media/Arhiv/Branch-p5/files/noarch/RPMS"''
В ~/var/distribute, создаю символическую ссылку с именем ISOs на то место, куда мне надо положить образы (не забывая там дать права пользователю на запись).


''i586/RPMS "/media/Arhiv/Branch-p5/files/i586/RPMS"''
'''mkdir /media/Arhiv/Isos-p5'''


''<nowiki># </nowiki>Закрывающая кавычка''
'''chown -R user: /media/Arhiv/Isos-p5'''


''"''
'''ln -s /media/A rhiv/Isos-p5 ~/var/distribute/ISOs'''


4. Запускаю скрипт create-iso-b5.
И через некоторое время, ответив на вопрос команд скрипта у меня в каталоге
/media/Arhiv/Isos-p5 лежат DVD образы бренча p5, готовые для записи.


[[Категория:HOWTO]]
{{Category navigation|title=HOWTO|category=HOWTO|sortkey={{SUBPAGENAME}}}}

Текущая версия от 15:24, 19 июля 2015

Сборка ISO-образов репозитория с помощью Distribute

Введение

Если вам надо иметь срез бренча, записанный на DVD или на CD (далее - болванки), то вам сюда. Далее я опишу на примере того, как я записываю бренч p5 на DVD.

Быстрый вход в курс дела.

Если вы умеете сами разбираться в документации и в конфигах пакетов вам достаточно прочитать следующий алгоритм:

  • Первое, что надо сделать, это установить пакет distribute.
  • Второе, это надо иметь срез бренча (частный случай - срез Сизифа), который вы хотите записать на CD/DVD.
  • Третье, изучить документацию, которая есть в пакете (/usr/share/doc/distribute...) и конфигурационный файл, который идёт в пакете по умолчанию (/usr/share/distribute/defaults.conf).

Медленный вход в курс дела.

Для остальных опишу чуть поподробнее.

Первый шаг

Как уже написано выше первым шагом устанавливаем пакет distribute. Он есть во всех бренчах.

Выполняем команду от root.

apt-get install distribute

Второй шаг

Второе необходимое условие — это наличие полного среза бренча, который вы хотите записать на болванки. Для этого я предварительно скачал branch p5, и положил его на внешний USB накопитель, который монтируется у меня на точку монтирования /media/Arhiv. На нём у меня файловая система ext3 (для того, чтобы не было проблем с символическими ссылками и т. п.). В каталоге /media/Arhiv/Branch-p5/ лежит сам бренч. Пользователь, который будет создавать образы имеет доступ ко всем этим файлам. Там-же на внешнем диске у меня расположен каталог, куда я буду записывать образы (записать их на болванки могу в любое время потом, когда мне они потребуются).

Третий шаг

1. После изучения документации пакета distribute, я создал по аналогии конфигурационный файл задания для записи бренча p5 (~/.etc/distribute/tasks/Branch-p5) , следующего содержания:

# Configuration for ./distribute.

# Размер образа
CDVOLUME=4700000000

# Параметры имени образа
PREFIX=ALTLinux
SUFFIX="p5"-$(date +%Y%m%d)
 
# архитектуры, которые войдут в образ
ARCH=(i586 noarch)

# Открывающая кавычка
TYPE_N_LOCALMIRROR_TABLE="

# размещение файлов с заданными архитектурами
noarch/RPMS "/media/Arhiv/Branch-p5/files/noarch/RPMS"
i586/RPMS "/media/Arhiv/Branch-p5/files/i586/RPMS"

# Закрывающая кавычка
"


2. Создаю скрипт create-iso-b5 , который буду запускать для создания образов, следующего содержания:

#!/bin/bash

export P_LIBDIR="~/.usr/share"

distribute Branch-p5 --clear

distribute Branch-p5 --rmiso

distribute Branch-p5 --rm-base p5

distribute Branch-p5 --GEN-TASKCONF

distribute Branch-p5 --fix-base p5

distribute Branch-p5 --split-full p5

distribute Branch-p5 --make-plain-index p5 

distribute Branch-p5 --index p5

distribute Branch-p5 —mkiso


Содержимое его я расшифровывать не буду — кому надо, смотрите выдачу

distribute —help

Скажу только, что в первой его части удаляются результаты предыдущей работы скрипта, а потом запускается построение образа заново. При желании, можно его модифицировать так, что-бы создавались не все ISO образы заново, а создавались только образы с разницей между имеющимися образами и текущим срезом. Для этого надо изучить документации к пакету distributre (/usr/share/doc/distribute...) .

3. Создаю инфраструктуру сборки.Монтирую внешний диск, например так:

pmount-hal /dev/sdb1

В ~/var/distribute, создаю символическую ссылку с именем ISOs на то место, куда мне надо положить образы (не забывая там дать права пользователю на запись).

mkdir /media/Arhiv/Isos-p5

chown -R user: /media/Arhiv/Isos-p5

ln -s /media/A rhiv/Isos-p5 ~/var/distribute/ISOs

4. Запускаю скрипт create-iso-b5.

И через некоторое время, ответив на вопрос команд скрипта у меня в каталоге 

/media/Arhiv/Isos-p5 лежат DVD образы бренча p5, готовые для записи.