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

mrepo - Как сохранить старую версию

У меня есть локальное репо yum, которое обновляется с помощью mrepo / createrepo, все мои серверы нацелены на это локальное репо для своих обновлений, но он всегда устанавливает последнюю версию, которая не подходит для производственной среды.

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

Я пробовал следующие параметры в /etc/mrepo.conf, но я все еще вижу, что пакеты удаляются из-за более новой версии во время 'mrepo -uvvg'

mirrordir-cleanup = no
reposync-cleanup = no
reposync-newest-only = no
rhnget-cleanup = no
rhnget-download-all = yes
rsync-cleanup = no

/etc/mrepo.d/centos.conf:

[centos6]
name = CentOS Repo $release ($arch)
release = 6
arch = x86_64
metadata = repomd repoview yum

### Additional repositories
centos6 = http://mirror.csclub.uwaterloo.ca/centos/$release/os/$arch/
centos6-updates=http://mirror.csclub.uwaterloo.ca/centos/$release/updates/$arch/

Вы не выполняете синхронизацию с RHN, поэтому параметры «rhnget» ничего не делают для вас. Вместо этого, я думаю, тебе нужно lftp-cleanup = no при зеркалировании источников HTTP.

Кроме того, вместо выдачи yum update или yum install package, вы можете быть более точными, запросив конкретные версии.

yum install httpd-2.2.15-9.el6

Вероятно, это то, что вы хотите сделать в производственной среде.

На стороне клиента вы также можете использовать плагин Yum, блокировка версий, если есть определенные пакеты, которые вам нужны для контроля версий, но вы хотите свободно обновлять другие.


РЕДАКТИРОВАТЬ:

Я некоторое время смотрел на это на нашем сервере mrepo из собственного любопытства. Поведение по умолчанию lftp является зеркалом удаленного хоста. Не могли бы вы предоставить вывод, показывающий, что пакеты удаляются во время mrepo -ug?

Примечания в примере документация покажи это lftp-cleanup для:

## Очистить пакеты, которые не находятся на стороне отправителя?

Так что, похоже, моя догадка может быть верной (хотя и по неправильной причине). Я ставлю на то, что исходный код восходящего потока не архивирует пакеты, а значение lftp-cleanup по умолчанию - да. Вы также должны подтвердить, что пакеты все еще доступны в источнике.

Даже если вы используете mrepo для сохранения более старых версий пакетов, обновления всегда будут использовать последнюю доступную версию. Решение, которое вы ищете, включает несколько локальных репозиториев, обновляемых по разным графикам.