
У меня действительно странная проблема. Я настроил свой личный репозиторий yum, он отлично обслуживает rpm, КРОМЕ одного rpm.
Допустим, я собрал и скопировал все свои RPM-файлы в свой пользовательский каталог репозитория, что-то вроде этого:
postgresql-myStuff11-11.7-2.el8.x86_64.rpm
postgresql-myStuff11-libs-11.7-2.el8.x86_64.rpm
postgresql-myStuff11-devel.7-2.el8.x86_64.rpm
postgresql-myStuff11-docs-11.7-2.el8.x86_64.rpm
...
Все они там есть, я очистил кэш yum, пересобрал репозиторий yum с помощью createrepo --update
или даже удалил всю repodata
папку и создал ее заново и т. д. Но что бы я ни делал, он не находит мой основной пакет при запуске yum search myStuff
(или myStuff11 и т. д.).
Он вернет только ВСЕ ОСТАЛЬНОЕ, кроме основного пакета.
Searching Packages:
==========================================================================================
Name Matched: myStuff11
==========================================================================================
postgresql-myStuff11-libs.x86_64 : The shared libraries required for any PostgreSQL clients
Repo : @System
Matched from:
Provide : postgresql-myStuff11-libs = 11.7-2.el8
...
Сначала я подумал, что это связано с тем, что Name:
внутри моего файла спецификаций используется определенная переменная, но даже после того, как я изменил ее на строку, все осталось по-прежнему...
Вопрос:
- Как сделать так
yum
, чтобы увидеть посылкуpostgresql-myStuff11-11.7-2.el8.x86_64.rpm
?
решение1
По какой-то причине мне пришлось createrepo
использовать флаг базы данных ( -d
). Вот что я сделал, чтобы заставить его работать/показывать мои пакеты.
- Перейдите в папку репозитория YUM, например:
cd /opt/myrepo
rm -rf repodata
, чтобы вытереть его начисто- Пересоздайте репозиторий, но с базой данных,
createrepo -v -d .
(где.
находится/opt/myrepo
)
Затем на удаленной машине вы можете запустить команду, yum update --refresh
чтобы применить новые изменения.
Без этого -d
флага он не смог перечислить/отобразить все пакеты, которые я построил, я понятия не имею, почему. Среда была в системе RHEL 8, так что это могло быть (или не быть) ошибкой, специфичной для createrepo
.
createrepo --version
Version: 0.17.7 (Features: DeltaRPM LegacyWeakdeps )