RHEL7.6에서 사용자 정의 yum 저장소에 대한 사용자 정의 패키지 그룹을 설정하는 데 문제가 있습니다.
먼저, 사용자 정의 yum 저장소를 생성하기 위해 수행한 단계는 다음과 같습니다.
모든 RPM을 포함하는 디렉터리를 만들고 관련 항목을 복사합니다.
$ mkdir MyRepo $ cp /path/to/some/*.rpm MyRepo/
저장소에 대한 메타데이터를 생성합니다.
$ cd MyRepo $ createrepo .
이제 Custom Repository가 생성되었으니 아래와 같이 패키지 그룹을 생성해보겠습니다.
- 다음 위치에
comps.xml
파일을 만듭니다MyRepo/repodata/
.
다음 형식의 메타데이터를 포함합니다.$ touch repodata/comps.xml
<comps> <!-- <meta> --> <!-- Meta information will go here eventually... --> <!-- </meta> --> <group> <id>myrepo</id> <name>MyRepo</name> <default>true</default> <description>My custom repository</description> <uservisible>true</uservisible> <packagelist> <packagereq type="mandatory">octave</packagereq> <packagereq type="mandatory">octave-devel</packagereq> etc... </packagelist> </group> </comps>
- 그런 다음 그룹 데이터를 설명하기 위해 이전에 생성한 메타데이터를 업데이트합니다.
createrepo -g repodata/comps.xml .
myrepo.repo
마지막으로 디렉터리를 만들고/etc/yum.repos.d/
다음 내용을 여기에 넣습니다.[myrepo] name=MyRepo baseurl=file:///path/to/MyRepo enabled=1
그 일이 끝나면 yum clean all
불평 없이 일했어요. 하지만 테스트하러 갔을 때 yum --noplugins groupinfo MyRepo
상황이 끔찍하게 잘못되었습니다. 다음 오류가 발생합니다.
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Failed to add groups file for repository: MyRepo - comps file is empty/damaged
Warning: group/environment MyRepo does not exist.
내 comps 파일이 비어 있지 않고 해당 해시 값이 동일합니다 repodata/repomd.xml
. 이를 디버깅하는 방법이 매우 혼란스럽습니다. 내가 뭘 잘못했나요? 패키지 이름을 잘못 입력하면 그렇게 큰 실수가 발생할 수 있나요?
도움을 주셔서 미리 감사드립니다.
답변1
"여기에 설치된 그룹 파일이 없습니다." 및 "저장소에 그룹 파일을 추가할 수 없습니다. base-comps 파일이 비어 있거나 손상되었습니다."라는 동일한 메시지가 나타납니다.
공식 저장소에서 기본 설치를 수행하고 있습니다.
캐시 문제인 것으로 나타났습니다.
sudo yum rm -rf /var/cache/yum
모든 것이 지워졌습니다