냠 개인 저장소에서 특정 패키지를 찾을 수 없습니다

냠 개인 저장소에서 특정 패키지를 찾을 수 없습니다

정말 이상한 문제가 있습니다. 개인 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. 다음은 패키지를 작동시키거나 표시하기 위해 수행한 작업입니다.

  1. YUM 저장소 폴더로 이동합니다. 예:cd /opt/myrepo
  2. rm -rf repodata, 깨끗하게 닦으려면
  3. 데이터베이스를 사용하여 저장소를 다시 생성합니다. createrepo -v -d .( .여기서는 /opt/myrepo)

그런 다음 원격 시스템에서 실행하여 yum update --refresh새로운 변경 사항을 적용할 수 있습니다.

플래그 가 없으면 -d내가 만든 모든 패키지를 나열/표시할 수 없습니다. 이유는 모르겠습니다. 환경은 RHEL 8 시스템에 있었으므로 이는 createrepo.

createrepo --version
Version: 0.17.7 (Features: DeltaRPM LegacyWeakdeps )

관련 정보