Автор Тема: поменять файл в rpm в дистрибутиве  (Прочитано 7498 раз)

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: поменять файл в rpm в дистрибутиве
« Ответ #15 : 08.02.2010 07:56:41 »
Не rpm -i, а apt-get install.

Оффлайн albert-bear

  • Начинающий
  • *
  • Сообщений: 13
    • Email
Re: поменять файл в rpm в дистрибутиве
« Ответ #16 : 09.02.2010 16:12:50 »
!!!Помогите с ошибкой сборки:
Including "system.inc"
Including "timeout.inc"
Including "common.inc"
bootopt_colors.inc: No such file or directory
make: *** [bootdir] Error 18
make: Leaving directory `/home/admin/RPM/BUILD/design-bootloader-junior-sm-4.0.0/design-bootloader-installer-source'
ошибка: Неверный код возврата из /home/admin/tmp/rpm-tmp.61769 (%build)

kostyalamer

  • Гость
Re: поменять файл в rpm в дистрибутиве
« Ответ #17 : 09.02.2010 20:11:19 »
bootopt_colors.inc  входит в архив (смотри картинку в моем посте на 1-ой странице)
Вы эту инструкцию прочитали , если нет, то прочитайте:http://www.altlinux.org/Сборка_пакетов_(etersoft-build-utils)

Оффлайн albert-bear

  • Начинающий
  • *
  • Сообщений: 13
    • Email
Re: поменять файл в rpm в дистрибутиве
« Ответ #18 : 09.02.2010 20:30:30 »
Нашел ошибку. Я собрал архив tar по структуре в точности так, как он был в исходнике (.../.../files)
Попробовал собрать архив подняв файлы на 1 уровень вверх (../files) и всё пошло!

kostyalamer

  • Гость
Re: поменять файл в rpm в дистрибутиве
« Ответ #19 : 09.02.2010 21:20:28 »
Отлично  :) . Главное, отпишитесь как удастся запихать всю эту радость в iso - ху и надо ли будет пользоваться genbasedir или можно обойтись простой подменой пакета . Все это очень любопытно  ;)

Оффлайн albert-bear

  • Начинающий
  • *
  • Сообщений: 13
    • Email
Re: поменять файл в rpm в дистрибутиве
« Ответ #20 : 09.02.2010 23:15:35 »
...Факир был пьян, фокус не удался... Установка застревает на получении пакетов, причем на пакете, который идет после designe-bootloader - на designe-bootsplash. Видимо куда-то при сборке дистрибутива вносятся либо контрольные суммы (для обеспечения целостности), либо еще что-то.
Поковырялся на скорую руку в файлах release каталога base - есть контрольная сумма MD5Sum, в pkg если я не ошибся, стоят контрольные суммы каждого перечисленного пакета, видимо при сборке фиксируются.
Всем спасибо за помощь, особенно kostyalamer .
PS:Пересобирать дистрибутив, что еще остается. Будем вникать!
Буду рад, если подскажете, как модифицировать дистрибутив iso, или с нуля все делать?
« Последнее редактирование: 09.02.2010 23:29:41 от albert-bear »

kostyalamer

  • Гость
Re: поменять файл в rpm в дистрибутиве
« Ответ #21 : 09.02.2010 23:52:43 »
Всегда, пожалуйста, эта тема меня самого интересует ;) .Правда я сейчас немного занят другими делами, но думаю в ближайший месяц тоже начну копать в этом направлении. Честно говоря я предполагал что простая замена даже пересобранного пакета не поможет. Перед тем как собирать всю эту радость с нуля попробуйте такую штуку. Создайте у себя в хомяке локальный репозитарий (проще всего для этого воспользоваться моим скриптом), залейте в него rpm-ы с диска и запустите genbasedir ( то же не пальцами, а через меню скрипта ). после чего получите эти самые суммы.
Залейте содержимое /base обратно в iso ( сохраните то что там было куда-нибудь и подредактируйте имена новых файлов пальцами )  уже в таком виде записывайте на перезаписываемую болванку ( или еще проще ставьте прямо из iso на виртуальную машину ). Получится или нет не знаю, пока не пробовал.
Да , скрипт возьмите у меня на сайте, вот ссылка:http://kostyalamer.narod.ru/rpmondisk/rpmondisk.html
Успехов  :) и напишите что у Вас получилось.

Оффлайн albert-bear

  • Начинающий
  • *
  • Сообщений: 13
    • Email
Re: поменять файл в rpm в дистрибутиве
« Ответ #22 : 11.02.2010 21:49:54 »
Наконец свершилось! Любуюсь на свою картинку!
Все прошло как маслу, правда путь оказался не таким быстрым, как хотелось бы.
Действовал по схеме  kostyalamer , еще раз спасибо за помощь.
Нюанс с картинкой: пришлось поменять два файла - back.jpg и back-boot.jpg (они абсолютно одинаковы), поменять один - ничего не дает. И разрешение дожно быть 72х72 - если 96х96, картинка просто не отображается.
Нюансик в дистрибутиве с файлом release из папки base: release надо оставить с дистрибутива, там контрольная сумма только о пакетах из папки RPMS.disk, а эту папку я не пересобирал.
Кстати, в одном из своих экспериментов по ошибке засунул лишний пакет (перед тем как genbasedir-нуть) - и ничего, все нормально установилось, дистрибутив работал.
Итак, для простых случаев замена файла в пакете в ISO-шном дистрибутиве реальна.
Для таких же начинающих:
1. Скачиваем исходник, потом команда (под пользователем) rpm -i исходник.src.rpm и из папки SOURCES достаем архив tar.
Меняем нужный файл в архиве (лучше распаковать, затем опять запаковать, иначе файл может встать мимо нужной папки в архиве). Файл spec трогать не надо!
2. Собираем rpm. Для этого нужно подключить пакет apt-utils (под root даем команду apt-get install apt-utils (может потребовать установочный диск)) и
подключить репозиторий (я делал просто - в etc/apt/sources.list прописал rpm ftp://для своего дистрибутива , т.е. локальной репы сначала не делал) и apt-get update. Даем в папке SPECS команду rpmbb исходник.spec и получаем готовый rpm.
3. Если не хочется париться, пользуемся скриптом kostyalamer http://kostyalamer.narod.ru/rpmondisk/rpmondisk.html (я так и делал), засовываем свой rpm и дальше - смотри сообщение kostyalamer выше
« Последнее редактирование: 11.02.2010 22:03:26 от albert-bear »

kostyalamer

  • Гость
Re: поменять файл в rpm в дистрибутиве
« Ответ #23 : 11.02.2010 22:46:29 »
albert-bear Вы просто молодец, сразу чувствуется настоящий хакер / кодер. По поводу моего скрипта, добрые люди заменили в p5 и Сизифе apt-utils на apt-repo-tools( в старом бранче 5.0 еще apt-utils ). В выходные скрипт доработаю и все будет нормально на p5 / 5.1 / Сизифе, если вдруг Вам нужно прямо сейчас то в самом скрипте просто поменяйте apt-utils на apt-repo-tools .
Ваша инструкция очень полезна, кстати напишите в какой программе правили iso-ху.
По второму пункту: Если у Вас широкий канал интернета, то сразу после установки дистрибутива лучше отключить установочный диск в списке репозитариев, подключить branch и обновиться с него. После этого об установочном диске можно смело забыть.
PS наконец-то я дописал игрушку на Pygame-е и теперь могу сам побаловаться сборкой дистрибутива подобными непарламентскими методами  ;). Кстати если у Вас возникнет подобное желание ( я чувствую, что на достигнутом Вы не остановитесь ), то сильно рекомендую minimal-ы от NotHAM .
Скачивать их надо здесь:ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/_anatoly/iso/
Очень много интересных сборок у Михаила Шигорина: ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/iso/

Оффлайн albert-bear

  • Начинающий
  • *
  • Сообщений: 13
    • Email
Re: поменять файл в rpm в дистрибутиве
« Ответ #24 : 11.02.2010 23:18:35 »
К сожалению, поисками соответствующей проги под Linux не занимался, брал виндосный UltraISO (правда, триальная делает только до 300 MB, надо искать "правильную"), благо по сетке (думал, почему в Linuxe назвали SAMBA???) перекинуть в "Окна" недолго. Не пробовал, как такой класс программ работает в Linux из-под Win.
По поводу branch - есть ли простая метода по заливке на одну машину и по сетке остальным в автомате?

kostyalamer

  • Гость
Re: поменять файл в rpm в дистрибутиве
« Ответ #25 : 11.02.2010 23:40:41 »
Тут где-то товарищи на форуме обсуждали: В тупую по сетке копируется содержание
/var/cashe/apt , после чего производится установка пакетов, я так не делал так как предпочитаю локальную репу, по говорят работает, поищи по форуму . По идее можно локальную репу сделать прямо на серваке, а на машинах клиентах просто прописать ее адрес но это будет немного сложнее.
C iso-хой разберусь и отпишусь в эту тему, чем под альтом ее редактировать .

kostyalamer

  • Гость
Re: поменять файл в rpm в дистрибутиве
« Ответ #26 : 13.02.2010 21:44:31 »
Как и обещал, нашел программу для редактирования ISO в графике. Она называется isomaster . Правда нашел ее в p5 и в 5,1 ,про более ранние бранчи ничего сказать не могу. Теперь весь инструмент для "ковыряния" в дистрибутивах у нас в руках, как говорит г-н Столмен : "Счастливого хака !"  :)

Mario_z

  • Гость
Re: поменять файл в rpm в дистрибутиве
« Ответ #27 : 14.02.2010 04:24:18 »
Еще бы графическую ковырялку RPM и сразу попрут всякие Zver Alt Linux от "кулхацкеров"...  ;D

Оффлайн albert-bear

  • Начинающий
  • *
  • Сообщений: 13
    • Email
Re: поменять файл в rpm в дистрибутиве
« Ответ #28 : 16.02.2010 02:09:09 »
Кстати, графическая ковырялка загрузчика не работает ;)!

kostyalamer

  • Гость
Re: поменять файл в rpm в дистрибутиве
« Ответ #29 : 16.02.2010 06:50:40 »
Никогда ей не пользовался :) .Гораздо проще под root-ом /etc/lilo.conf поковырять, а потом в консоли набрать lilo