Intereting Posts
Как ограничить общие ресурсы (память) процесса и его детей Расширение списка, разделенного запятыми, на отдельные строки Как определить, где определена переменная среды? Попытки получить аренду DHCP на отключенном интерфейсе ethernet / задержка загрузки Вызывать подсказку, когда какой-либо пользователь запускает определенную команду Не удается войти через SSH с новым пользователем (подключение к 10.0.2.142 закрыто). Есть что-то вроде одноразового судо? Различные сценарии, которые я вижу, не будут проходить через python wget несколько файлов PDF из ссылок Как получить имя старого пакета? Как я могу совместно использовать принтер CUPS с гостем Windows VirtualBox? отправлять фальшивые письма с помощью почтовых клиентов Как безопасно разрешить scp, но не ssh Сохранять историю tcsh в нескольких окнах терминала regex private ips и удалить из файла журнала

Создание репозитория пакетов Debian для распространения нескольких версий настраиваемого пакета deb

Мы создаем приложение, которое будет упаковано в пакет DEB. Мы хотели бы иметь возможность устанавливать и (в будущем) обновлять это приложение на нескольких серверах Linux с минимальным ручным взаимодействием, используя apt-get .

Для этого мы планируем развернуть наш собственный репозиторий пакетов DEB внутри организации. (Поэтому мы размещаем наш пакет ТОЛЬКО, но не зеркалируем существующий внешний репозиторий). Этот репозиторий пакетов затем должен использоваться всеми серверами Linux в организации для установки только одного пакета приложений.

Может кто-нибудь, пожалуйста, объясните мне, как это должно быть сделано (включая лучшие практики)? Прошу прощения, но я новичок в этой области Linux, поэтому мне понадобится объяснение начального уровня для обоих

  • Как настроить минимальный репозиторий пакетов DEB для нашего пакета (и обрабатывать при выпуске новой версии)?
  • Настройка серверов Debian, чтобы этот единственный пакет был получен из нашего пользовательского сервера репозитория пакетов DEB внутри организации.

Проведя некоторое время в поисках нескольких источников документации, я придумал следующее решение, которое я разделяю в надежде, что он может помочь и другим:

  1. На компьютере, используемом для размещения репозитория, настройте личный репозиторий в соответствии с описанием документации Ubuntu , но НЕ добавляйте запись sources.list на этом компьютере.
  2. Экспортируйте каталог с файлами DEB и файл Packages.gz через веб-сервер, например, с помощью Nginx, чтобы он был доступен всем машинам, которые будут потреблять файл DEB.

  3. На машинах, которые будут извлекать пакет DEB, добавьте запись в файл /etc/apt/sources.list , который указывает на ваш сервер (замените foobar на собственный URL): deb [trusted=yes] http://foobar/ /

  4. Запустить sudo apt update
  5. Запустите sudo apt install foobar чтобы установить собственный пакет (замените foobar своим собственным именем пакета)

ПРИМЕЧАНИЕ. Эта настройка содержит пакеты DEB без какой-либо защиты, предоставляемой подписанными пакетами / репозиториями. Если репозиторий доступен для более широкой аудитории, чем серверы вашей команды, находящиеся в защищенной подсети за брандмауэром компании, вы, вероятно, захотите реализовать подписание репозитория и пакетов.