Как мне убедиться, что при запуске apt-get update, apt-get upgrade на 2 разных серверах в разное время я получу одни и те же пакеты? Как мне выполнить автоматическое сопряжение / принудительное исполнение?
(Упрощенный) вариант использования, который я сейчас рассматриваю, - это если я обновлю все до новейшей версии в экземпляре разработки и протестирую все свое настраиваемое программное обеспечение на нем, это займет день или 2. Когда я запускаю обновления / обновления на производственная машина, я хотел бы обновиться только до тех версий, которые я ранее тестировал. Это позволило бы мне создать процесс для более быстрой и безопасной итерации новых патчей, чем я делаю сейчас.
В идеале я люблю использовать метку времени для первого обновления, а затем применять обновления до этой метки при последующих обновлениях. (Но любые другие предложения были бы отличными)
Я рассмотрел несколько вариантов, но я не уверен, много ли они перспективны, и они требуют немного инженерного времени, и мне любопытно, есть ли более простой способ сделать это.
1) Создание своего рода локального репозитория APT, в котором обе версии кэшируются. Это репо может вытащить все последние версии при первом запросе, а затем вернуть их только при последующем запросе.
2) Проверить, может ли инструмент управления конфигурацией, такой как ansible / chef, захватить все версии, которые были обновлены при первом запросе, а затем принудительно выполнить второе сканирование для получения этих точных версий.
Спасибо.
Вам нужно запустить собственный репозиторий apt с помощью такого инструмента, как apt-зеркало или метко. С помощью такого простого инструмента, как apt-mirror, вы можете синхронизировать свой репозиторий перед обновлением среды разработки и не синхронизировать его снова, пока вы не обновите свою производственную среду. С помощью более сложного инструмента, такого как aptly, вы можете реализовать этот или более сложные потоки пакетов.
/var/cache/apt/archives/
. Не обязательно, но экономит место и время при копировании в будущем.-d
(только загрузка), чтобы получить пакеты без их применения./var/cache/apt/archives/
до ночи обновления окружающей среды.--no-download
, заставляя систему использовать ваши кандидаты на обновление.Отказ от ответственности: я не тестировал это сам, но это аналогично тому, как я использую yum
в моей собственной производственной среде, чтобы избежать проблем с незапланированными обновлениями каналов.
Метод локального зеркала, о котором упоминает sciurus, будет лучше, если у вас нет полного контроля над вашим локальным зеркалом и вы не хотите гарантировать, что синхронизация не происходит между патчами кластера.