LINUX.ORG.RU

Создать и поддерживать свой репозиторий deb-пакетов - как лучше

 


2

5

Здравствуйте!

Давно слышал, что люди делают свои собственные репозитории, но сходу не нагуглил, как это делается правильно. Я так понял, что вариант, описанный в https://wiki.debian.org/ru/CreateLocalRepo - это «ручное» обновление.

А есть ли решения для автоматизации процесса? Идеально, что бы скармливать отдельно исходники, отдельно версии, которые собирать, а что бы патчами и debian/ система управляла сама. И что бы получать в нормальном виде сообщения о результате сборки (и тестирования) пакетов.

Я хочу, что бы у меня (1) локально были копии официальных дистрибутивов и (2) свои репозитории, где бы я бэкпортировал нужные мне софтинки (в частности, мне нужно кое что для древнего sarge бэкпортировать). Причём, желательно что бы у меня «под рукой» был бы «кэш» официального дистрибутива в том состоянии, какое требуется для повторного развёртывания на N моих машин, а полный оф. репозитарий и исторические пакеты были бы где-то подальше - иначе «под рукой» места может не хватить.

Ещё, конечно хотелось бы иметь (3) возможность автоматизированно восстанавливать на нужной машине состояние пакетов и конфигурацию на какой-то момент времени в прошлом, а также дублировать конфигурацию на другой машине (с заменой адресов интерфейсов и тому подобной инфы) - но чувствую, что без систем управления конфигурациями здесь не обойдёшься..

Штука, которая нагуглилась под названием aptly - это то? Может, что-то ещё есть?

Если поделитесь конфигами/скриптами/мэйкфайлами для описанных или подобных целей - было бы круто!

полный бред...

anonymous
()

Иди, полежи, поспи, может пройдёт

anonymous
()

зачем страдать херней, люди уже делали, и толку, только интернет засрали и зупущеные репозитории

anonymous
()
Ответ на: комментарий от anonymous

Интернет люди засрали не этим. Не в первую очередь, по крайней мере.

xenohunter
()

Для зеркала смотри apt-mirror. Для управления своими репами - mini-dinstall. Для сборки, выкатки пакетов разбирайся с debhelper/debuild/dput, e.t.c.

3. Есть такая вещь под редхаты заточена, не помню названия, но гуглится.

Difrex ★★★★
()
Ответ на: комментарий от Difrex

Спасибо! Похоже, mini-dinstall мне хватит.

Я ещё не упомянул, что мне хотелось бы пересобирать официальные пакеты и бэкпортировать по схеме:

1. делаем аналог apt-get source <нужный пакет> 2. делаем аналог apt-get build-dep <нужный пакет> 3. если какая-то зависимость не удовлетворяется в build-dep, то рекурсивно вызываем данный алгоритм для сломаной зависимости, а если не получается разрешить зависимости, то правим исходники или метаданные для <нужного пакета> 4. пытаемся скомпилировать. если не компилируется, то вручную правим исходники или метаданные для <нужного пакета> 5. скомпилёное в процессе работы раскладываем по каталогам репозитария, а метаданные в соответствующие файлы считаем суммы и подписываем.

Что-то для этого известно?

allter149
() автор топика
Ответ на: комментарий от allter149

mk-build-deps поставит сборочные зависимости.

Собирай все же через debuild с нормальной подписью changes/dsc.

Для того, чтобы автоматически патчить исходники нужен искусстевенный интелект.

Про сборку пакетов я вот тут что-то писал http://ii-net.tk/ii/ii-web.php?msgid=fjLkfrmjNvO4fjzlUs5U может чем поможет.

Difrex ★★★★
()
Последнее исправление: Difrex (всего исправлений: 1)
Ответ на: комментарий от Difrex

Это понятно, что нужно вручную.

Я тут нашёл такую штуку, как apt-build - она ближе всего к моим хотелкам. Ещё хотелось бы больше гибкости (например, команду для «продолжения» сборки после фикса корявости). Аналогично, например, как в VCS разрешаются конфликты при merge: что бы были аналоги команд --continue и --abort.

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

Т.к. например, тот же apt-build под нужное окружение «не завёлся» - потребовалось поставить более новую версию, которая потянула новый debhelper, тот - новый dpkg - и т.д. А те тянут новые версии glibc и других библиотек-прослоек, которые с большой вероятностью тянут цельное ядро. А если можно обновить ядро - то и незачем страдать. :D

Ещё надо вспомнить официальную систему сборки buildd и mini-buildd. Видимо, если хочется полноценно управлять своими репозиториями, надо ставить их.

В общем, постараюсь обновить ядро и версию debian, потом буду думать.

allter149
() автор топика
Ответ на: комментарий от allter149

P.S. А ещё надо покупать хард со свободными драйверами или, хотя бы, что бы те в исходниках были.

allter149
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.