Назад | Перейти на главную страницу

Как настроить локальный репозиторий для ubuntu и добавить собственные пакеты

Я хочу сделать две вещи:

Прежде всего, я хочу иметь собственный репозиторий ubuntu на своих серверах, чтобы не перегружать использование Интернета в моей компании и контролировать обновления. Я думаю, что мне нужно использовать apt-mirror

А еще хочу добавить в репозиторий свои пакеты.

Как лучше всего это сделать?

Мне нужно иметь два репозитория? Один с зеркалом, а другой с моими пакетами? В случае конфликта с моими пакетами, как Ubuntu решает эту проблему?

Спасибо

Мне пришлось сделать что-то очень похожее для моей установки на базе AWS. Я решил иметь одну коробку с aptcacher-ng и dpkg-dev пакет.

reprepro не поддерживает несколько версий пакета, поэтому я его не использовал. Поскольку я хотел, чтобы эти блоки были как можно более эфемерными с малым временем установки, я не использовал apt-mirroring, так как он может загружать много данных в зависимости от того, что вы хотите отразить.

Aptcacher-ng кэширует пакеты, и все остальные устройства связываются с этим ящиком для своих подходящих потребностей, поэтому я в конечном итоге экономлю много времени и пропускной способности.

Да, вы захотите использовать два отдельных репозитория, если вы сделаете это таким образом - зеркало останется подписанным ключами GPG дистрибутива, в то время как ваше репо с настраиваемыми пакетами будет подписано ключом GPG, который вы создаете (и ваши узлы нужно будет доверять).

Альтернативой зеркалированию является apt-cacher-ng - он настроен как подходящий прокси на ваших узлах и будет обрабатывать все запросы пакетов. При первом запросе данного пакета он загрузит пакет из вышестоящего интернет-репозитория; при последующих запросах он будет обслуживать этот пакет из кеша. Таким образом, вы получаете экономию полосы пропускания локального зеркала без необходимости хранить копию всего репо (80%, если вы никогда не будете его использовать).

Для внутреннего репо пользовательских пакетов используйте reprepro - он будет обрабатывать всю файловую структуру и подписывать, вам просто нужно будет иметь дело с настройкой ключа GPG и подачей ему файлов .deb.

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