Сайт | Скачать | Видео | Wiki

Автор Тема: Автоматизация процесса сборки-выкладки системы  (Прочитано 17854 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Pro

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
  • Автор темы

В соответствии с предварительными договоренностями (вы их не помните, но это было одобрено уже давно) думаю настало время частично ликвидировать человеческий фактор при сборке-выкладке дистрибутива. Буду краток, предлагается реализовать в два этапа:

1. генерация iso (всех 3-x видов) на сервере intranet.puppyrus.org с последующей выкладкой в общий доступ. Для этого на сервере организуется структура файлов и каталогов как в iso. Скриптом по cron генерируем нужные iso, параметром -x не включая в состав iso файлы (т.е. чисто для base не включаем модули xorg и puppyrus-icewm). Генерацию предлагаю делать 1-2 раза в месяц.

2. Генерация основных pfs модулей на основе пакетов выкладываемых на сервер. Тут скрипт будет по хитрее, но думаю нормально будет сделать в каждом каталоге модуля (packages-base и т.п.) дополнительный каталог new в который и ложить обновляемые пакеты. Задача скрипта - удалить из модуля пакет требующий обновления, добавить обновленный пакет, создать pfs модуль, перенести pfs модуль в каталог для создания iso. Генерация делается 1 раз в 1-2 дня.
« Последнее редактирование: 25 Январь 2013, 07:31:44 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33972
  • Репутация: +231/-0
    • PuppyRus-A
Если получится - будет серьезный шаг от кухонного самопала к чему-то серьезному.
А как юзерам ко всему этому доступ получать? www интерфейс intranet очень на любителя. Вот бы что-нибудь стандартное типа ftp\http ...

http://www.linux.org.ru/news/russia/7410944 нам не поможет?

Оффлайн Pro

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
  • Автор темы
Юзеру на intranet.puppyrus.org делать нечего. Под публикацией подразумевается выкладка на один из общедоступных серверов. (возможно даже попробовать сделать генерацию мини новости для сайта)

Для данных пунктов требуется: пакет утилит pfs и два скрипта + правило для cron. Предложенный Вами сборочный сервер - это как из пушки по воробью.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33972
  • Репутация: +231/-0
    • PuppyRus-A
выкладка на один из общедоступных серверов.
Если http://forum.puppyrus.org/index.php/topic,13455.0.html окажется на яндексе и будет обновляться - самое то
(возможно даже попробовать сделать генерацию мини новости для сайта)
Вообще было бы отлично. Хотя бы в крон чего-нибудь типа ls...diff.. >update`date..`.txt
libs.lst будет автогенериться?
Про ABF согласен.
« Последнее редактирование: 21 Январь 2013, 10:35:19 от sfs »

Оффлайн yvz

  • Пользователь
  • **
  • Сообщений: 56
  • Репутация: +13/-0
Кто-нибудь пользуется cron?

Оффлайн Pro

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
  • Автор темы
на сервере по cron должен уже сейчас запускаться скрипт для генерации libc.lst для packages-usoft

в любом случае сами скрипты тебе писать не придется, а запуск в cron проблемы не составит - примеров в инете масса.
А вот добавление утилит для работы с pfs можешь только ты сделать.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33972
  • Репутация: +231/-0
    • PuppyRus-A
« Последнее редактирование: 22 Январь 2013, 13:19:52 от sfs »

Оффлайн Pro

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
  • Автор темы
вариант скрипта для создания iso образов.
ddshurick, sfs - проверьте синтаксис, у меня плохо с экранированием переменных пока что.

Секцию очистки пока неактуально делать, но если есть мысли, можно заготовку кода поставить.
Секция выкладки в общий доступ - нужна информация от Юрия, куда выкладываться должно и чем это делается.


http://cdn.2safe.com/215363033559/makeiso.sh
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
 Саша. Уточни дерево каталогов /packages/* /packages/puppyrus*. ИМХО, при таком раскладе в первый .iso будут включаться файлы для второго.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33972
  • Репутация: +231/-0
    • PuppyRus-A
1. DATE=' -ковычки надо такие `
2. Для cron путь к mkisofs лучше полный указать
3. По ключам mkisofs... Я использую
Код
mkisofs -allow-lowercase -J -R -b grldr -no-emul-boot -boot-load-seg 0x1000 -o ../`date "+%y%m%d"`.iso .
Проблем не имел. http://greenflash.su/Grub4Dos/files/install.htm (метод 10). Ключи смотреть или Вы в них уверены?
« Последнее редактирование: 25 Январь 2013, 11:34:13 от sfs »

Оффлайн Pro

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
  • Автор темы
Саша. Уточни дерево каталогов /packages/* /packages/puppyrus*. ИМХО, при таком раскладе в первый .iso будут включаться файлы для второго.
это пути для файлов которые будут исключены из iso, см. Параметр -m должно сработать
А путь по которому задается каталог из которого делать iso - он в самом конце команды переменной задается

mkisofs ключи взяты из текущей команды которой создаю iso.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
 Кавычки либо убрать, либо заменить на ". Например $OUTPUT/PuppyRus-base-$DATE.iso или "$OUTPUT"/PuppyRus-base-"$DATE".iso . DATE=`date +%y.%m`.
Параметр -m должно сработать
В iso-образе остаются "пустышки".
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Pro

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
  • Автор темы
не понял что за пустышки. ну -x тогда вместо -m
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
не понял что за пустышки.
Разобрался. Со скриптом никак не связано. Это особенности монтирования в Puppy, имя файла остаётся в памяти хотя сам файл отсутствует. После перезагрузки иксов "пустышки" пропадают. Можно не обращать внимания.
ну -x тогда вместо -m
.iso получаются одинаковые.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Pro

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
  • Автор темы
Ну вот поправил. У меня все делает, буду им пользоваться пока на сервер не прикрутим.

http://cdn.2safe.com/198347033560/makeiso.sh
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.