yumリポジトリ用のカスタムパッケージグループを作成すると、「compsファイルが空または破損しています」が発生します。

yumリポジトリ用のカスタムパッケージグループを作成すると、「compsファイルが空または破損しています」が発生します。

RHEL7.6でカスタムyumリポジトリのカスタムパッケージグループを設定できません。

まず、カスタムyumリポジトリを作成するために実行した手順は次のとおりです。

  1. すべてのRPMを含むディレクトリを作成し、関連項目をコピーします。

    $ mkdir MyRepo
    $ cp /path/to/some/*.rpm MyRepo/
    
  2. リポジトリのメタデータを生成します。

    $ cd MyRepo
    $ createrepo .
    

これでカスタムリポジトリが作成されたので、次のようにパッケージグループを作成しましょう。

  1. 次の場所に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>
    
  2. 次に、グループデータを説明するために以前に作成したメタデータを更新します。
    createrepo -g repodata/comps.xml .
    
  3. 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

すべてが消去されました

関連情報