Comments 36
wget -O — http://repo/keyFile | sudo apt-key add -
За такое хочется бить по рукам. Добавлять в доверенные ключ полученный по http вредно. Возьмите letsencrypt и настройте https для отдачи ключа или расположите его на доверенном сервере, доступном по https.
Одно только проблема это написание хуков которые бы работали сразу с всеми менеджерами (yum ,dnf, apt-get).
— не умеет хранить несколько версий одного пакета в рамках одного Suite/Component
— при попытке добавить пакет версии ниже существующей, молча скипает с exitcode 0
rpm --addsign some-package-x.y.z-1.el6.rpm
или rpmbuild -ba --sign path/to/package.spec
+ createrepo /path/to/repo
требуют отдельного howto?
Есть, например, Fedora RPM Guide, где подробно описано как сгенерировать ключи и подписывать пакеты.
За ссылки спасибо, но полный мануал все же был бы лучше.
Fedora RPM Guide и представляет собой полный мануал, который рассказывает об rpm, как оно устроено, как пишутся spec-файлы, какие есть триггеры и т. п.
Для меня сборка пакетов тоже не входит в специализацию, но это ни коим образом не закрывает возможность прочитать небольшой мануал и разобраться, когда понадобилось. Обычно проблема, скорее, найти нормальный мануал и отсеять кучу мусора от индусов и современных хабро-индусов, которых, к сожалению, стало многовато.
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
контейнеры-шмонтейнеры. Описанный в статье вариант. Не решает частного варианта dependency hell в виде персборки при изменении зависимостей.
Для пакетов у меня стоит OBS (open build service), они решили вопрос сборки пакетов в docker, и стало возможным убрать в приватное облако.
С контейнерами сложнее, я сократил количество базовых контейнеров до минимума и сам прописал между ними связи.
Попытка что-то написать у меня была, но света в конце туннеля я не увидел. Как раз в тот же момент OBS нормально научился собирать в докере.
Я даже не стал себе ломать голову, поддерживаю 1 машину с opensuse. Есть мысли обернуть запуск OBS демонов в какой-нибудь runit/supervisord и сделать докер образ.
А для хранения своих пакетов используем aptly. Он предоставляет очень удобное API для загрузки и публикации пакетов в репе. И не надо делать кучу магических скриптов :)
Поднимаем собственный репозиторий пакетов для Ubuntu (Debian)