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

Лучшая практика для обновления репозитория rpm

Я хотел бы спросить о лучших методах обслуживания и обновить частные репозитории rpm (эпель, сентос, зеркало rhel).

Я использовал reposync и createrepo инструменты для загрузки пакетов и генерации реподанных, выставили их через веб-сервер, все работает отлично, но ...

Как лучше всего обновить репозиторий?

Сложный способ

Мне было интересно иметь символическую ссылку в структуре папок следующим образом:

/repos/7Server/x86_64/Ref -> /repos/7Server/x86_64/Ref.2016-06-22

Итак, каждый раз, когда я обновляю репозиторий:

  1. создаст копию
  2. синхронизировать его с восходящим потоком
  3. восстановить метаданные
  4. указать символическую ссылку на самую последнюю версию
  5. удалить старую версию (папку)

Метаданные всегда будут соответствовать пакетам, и репозиторий будет согласованным.

Простой способ

Но во всех найденных мною документах люди просто делают простые reposync с параметром удаления и обновления новых пакетов. Плевать на несостоятельность клиентов.


Так что мне просто интересно, какой способ лучше, потому что простой метод может сэкономить время, дисковое пространство, сложность конфигурации и автоматизации.

Спасибо за любую помощь.

Это серьезная проблема, однако клиентская сторона также является проблемой. Клиенты также кэшируют информацию о репо. Это означает, что у вас все еще могут быть проблемы, когда клиент пытается обновить, когда репо изменилось, но клиент еще не обновил информацию о своем локальном кеше. Итак, вы в конечном итоге бежите yum clean all в любом случае, чтобы заставить их обновить свой локальный кеш.

Так что на самом деле беспокоиться о согласованности в репо - это нормально, но вы также должны иметь дело с этим на стороне клиента. Поэтому я бы просто обновил репо и очистил кеш на клиентах.

Кроме того, как часто вы обновляете пакеты на клиентах? Вы можете запланировать репосинхронизацию в нерабочее время или в периоды, когда обновления клиента не происходят.