
정말 이상한 문제가 있습니다. 개인 yum 저장소를 설정했는데 1rpm을 제외하고는 rpm을 제대로 제공하고 있습니다.
모든 rpm을 빌드하고 사용자 정의 repo 디렉토리에 복사했다고 가정해 보겠습니다.
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 캐시를 지우고 createrepo --update
전체 repodata
폴더를 사용하거나 심지어 삭제하고 다시 생성하는 등의 yum 저장소를 다시 만들었습니다. 하지만 내가 무엇을 하든 실행할 때 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 )