У меня возникли проблемы с использованием rpm и . Yum не получит пакеты, необходимые для обновления. Я выполняю обновление основного пакета с 16.1 по 16.2. Если я ня обновить, я получаю это:Почему rpm/yum не забирает нужные пакеты, когда я перечисляю его конкретно?
# yum upgrade
...
======================================================================================================
Package Arch Version Repository Size
======================================================================================================
Updating:
sub-package x86_64 1.1-455015.el7 privaterepo 29 k
main-package noarch 16.2-460032.el7 privaterepo 1.9 M
...
Если я бег ни обновления основного-пакет я получаю это:
# yum upgrade main-package
======================================================================================================
Package Arch Version Repository Size
======================================================================================================
Updating:
main-package noarch 16.2-460032.el7 privaterepo 1.9 M
Transaction Summary
======================================================================================================
Это, кажется, не думает, что мне нужна новый суб-пакет, даже если RPM предположить, что он делает:
# rpm -q --requires -p main-package-16.2-460032.el7.noarch.rpm | grep -i sub-package
sub-package >= 1.1
# rpm -qa | grep sub-package
sub-package-1.0-455013.el7.x86_64
Основываясь на том, что я вижу, когда я yum upgrade main-package, он должен увидеть, что ему нужен sub-package> = 1.1 и получить его также. Я должен добавить, что установка работает нормально. Это как если бы оборотов и ням полностью игнорируя требование основного пакета нуждается версии 1.1 суб-пакета.
EDIT:
Вот что обороты показывает о зависимости:
# rpm -q --provides -p sub-package-1.1-455015.el7.x86_64.rpm
sub-package
sub-package = 1.1-455015.el7
sub-package(x86-64) = 1.1-455015.el7
# rpm -q --requires -p main-package-16.2-460032.el7.noarch.rpm | grep sub-package
sub-package >= 1.1
Вот старший суб-пакет, который уже установлен:
# rpm -q --provides sub-package
sub-package
sub-package = 1.0-455013.el7
sub-package(x86-64) = 1.0-455013.el7
Вот соответствующая информация в моем файле спецификации:
$ grep sub-package main-package.spec
Requires: sub-package >= 1.1
$ head -n4 sub-package.spec
Summary: sub-package (...)
Name: sub-package
Version: 1.1
Release: %{BUILD_NUMBER}%{?dist}
EDIT 2:
Я делал немного больше рыть, одна вещь, которую я заметил, что суб-пакет указан дважды, если я оборотов в минуту -q --whatprovides суб-пакет, где другие зависимости, которые он получает, указаны только один раз.
Похоже, что 'sub-package 1.1-455015.el7' * доступен *, но что в настоящее время установлено? Если это «1.1-somethingelse», тогда требования выполняются. –
# rpm -qa | grep sub-package sub-package-1.0-455013.el7.x86_64 – icub3d
Это было там все время? Не знаю, как я это пропустил ... извините, не знаю тогда. –