понизить пакет rpm из экспериментального репозитория, просто отключив репозиторий и обновление yum - PullRequest
0 голосов
/ 17 октября 2018

У меня есть пакеты Foo-2.0.rpm и Foo-2.3.rpm.Первый обычно распространяется дистрибутивом Linux, но старый.Foo-2.3 - последняя версия, и обороты, которые я делаю.Я пишу файл .spec и пока держу его в своем репо.

Я думал - и я думал, что даже сделал - что я мог бы заменить Foo-2.3 на Foo-2.0 (переход на стабильную версию), выполнив следующие действия:

yum-config-manager --disable myrepo
yum --update Foo

При условии, что Foo-2.3 был установлен, ожидаемый результат будет иметь Foo-2.0 вместо Foo-2.3.

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

# yum update Foo
No packages marked for update

"yum downgrade Foo" кажется рабочей командой.

Почему «обновление yum» не работает, как я ожидал?Это из-за моего спецификации?Или это просто что-то, что не работает?

В .spec файле Foo, Foo "Обеспечивает: Foo-2.3" и "Конфликты: Foo <= 2.1".Я потерял несколько файлов спецификаций в разработке.Хотя я думаю, что отключение репо и «обновление yum» понизило Foo, моя память может быть неправильной.</p>

1 Ответ

0 голосов
/ 17 октября 2018

yum upgrade всегда шел вверх.Когда в репо есть более высокая версия, тогда обновляйтесь.Если есть старше, просто ничего не делай.Так всегда и было.Даже сама rpm ведет себя так.Но для rpm вы можете принудительно понизить его с помощью rpm -Uvh --force Foo-2.0.rpm.Для ням нет пути.Вы должны использовать команду downgrade.

И BTW в вашем spec-файле должно быть:

Provides: Foo-2.3
Obsoletes: Foo <= 2.1

Но это обычно требуется при переименовании пакета.Который я считаю, не ваш случай.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...