Tools/Distribute
Сборка 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/ лежит сам бренч. Пользователь, который будет создавать образы имеет доступ ко всем этим файлам. Там-же на внешнем диске у меня расположен каталог, куда я буду записывать образы (записать их на болванки могу в любое время потом, когда мне они потребуются).
Третий шаг
- После изучения документации пакета 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" # Закрывающая кавычка "
- Создаю скрипт 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...) .
- Создаю инфраструктуру сборки.Монтирую внешний диск, например так:
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
- Запускаю скрипт create-iso-b5.
И через некоторое время, ответив на вопрос команд скрипта у меня в каталоге
/media/Arhiv/Isos-p5 лежат DVD образы бренча p5, готовые для записи.