Использование PPA для отправки простых обновлений

Я хочу настроить PPA для отправки простых изменений нескольким сотням машин Ubuntu 12.04 в полевых условиях. Простые изменения означают, что изменения bash-скрипта и обновления файла конфигурации и, возможно, других обновлений программного обеспечения, включая новые установки программного обеспечения, могут быть установлены с помощью apt-get install. Мне пришло в голову несколько вопросов:

  1. Можно ли использовать PPA для отправки обновлений сценариев?
  2. Можно ли настроить клиентские машины для получения обновлений только от этого PPA и их установки? автоматически так же, как автоматические обновления? (Конечно, я знаю, что этот вариант возможен, но для этого необходим хороший набор инструментов).

Я знаю, что это широкий вопрос, но высоко ценится ответ с несколькими указателями.

5
задан 17 June 2014 в 07:31

1 ответ

Я хотел сделать то же самое, но я выбрал, использование частного репозитория сделало использование reprepro по PPAs. Все мои клиенты находятся на той же LAN, таким образом, это более просто для меня. Я думаю, что это довольно осуществимо независимо от того, используете ли Вы PPAs или частный репозиторий.

  • Изменение существующих конфигурационных файлов лучше всего обрабатывается при помощи dpkg диверсии, IMO. config-package-dev благословение для этого. Wiki Debian является хорошей начальной точкой для получения информации об этом.
  • Добавление файлов сценария или Вашего собственного программного обеспечения не является настолько трудным путем упаковки их. Существует много упаковки руководств. Снова, Wiki Debian является большой начальной точкой. Более просто сделать двоичные пакеты, чем введение, которое будет иметь место со сценариями и конфигурационными файлами.
  • Добавление нового программного обеспечения из других репозиториев может быть сделано путем создания их зависимостями пакетов. Укажите точную версию или использование apt прикрепление.
  • Необслуживаемые обновления для пользовательских репозиториев уже обрабатываются: Как включить тихие автоматические обновления для какого-либо репозитория? Я не знаю ни о каком способе, которым сервер может продвинуть обновления клиента. Вы могли бы хотеть рассмотреть puppet (через kickлуг) или его род. Или Вы могли бы записать сценарий на сервере, который использует SSH для выполнения обновлений на клиенте. Или имейте сценарий, который проверяет на обновления, когда сеть подходит.
  • Прежде всего, удостоверьтесь что Ваши сценарии обслуживания пакета (preinst, postinst, prerm, postrm) идемпотент, и то удаление пакета отменяет все изменения. Эти сценарии могут сделать много вещей, но не делают, что-либо влияет apt или dkpg в них. Минимизируйте работу, сделанную в этих сценариях.

В моем случае я использую пакет, чтобы настроить LDAP и NTP, добавить пользовательское глобальное vimrc при включении общих опций сделайте различные изменения конфигурации (как включение sudo для группы, запрещая завершение работы), добавляя непривилегированного локального пользователя / группа, и т.д. Другой пакет добавляет наш самосгенерированный сертификат CA и ключ подписи репозитория и отмечает их, доверял postinst сценарий, и включает запись sources.list.d для нашего репозитория.

Я еще не преобразовал все системы в этот процесс, таким образом, я еще не могу прокомментировать о его эффективности.

7
ответ дан 17 June 2014 в 07:31

Другие вопросы по тегам:

Похожие вопросы: