Tools/Distribute

Материал из ALT Linux Wiki

Сборка 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, готовые для записи.