Nexus yum group and yum proxy have different repository metadata

Hi,
I’m using Nexus3 in private cloud environment, and I configured yum group repository and yum proxy repository.
Yum-proxy repository is a member of yum-group repository.

In VM of private cloud, I made repofile of repository.

This is the repofile example. The repofile is looking at yum group repository.

[appstream-os-hks]
name=appstream-os
baseurl=https://example.nexus.com/repository/yum-group/8.8/AppStream/$basearch/os
enabled=1
gpgcheck=0

and yum-proxy repository remote storage is Index of /vault/rocky/
The maximum and minimum component age of yum-proxy is 1440.

I thought yum-proxy repository and yum-group repository have same file tree, but it’s different.
More specifically, yum-proxy file tree have a recent public rockylinux repository but yum-group doesn’t.

Here is the yum-proxy repodata file tree and yum-group repodata file tree.
[yum-proxy Appstream]
3d1c00f07858e1d997effa767f1f40a4e8771fd42ebd274e0df44ade752f7076-modules.yaml.xz
9b154248aab29dc4212e432a00ce96504c2f383e4340fd80799f9a85be5eb4e0-updateinfo.xml.gz
d480b24465d4202202039c23e7dea847f193ec71ce1fecf4ab8d40842ae88705-primary.xml.gz
e7a0fb6fea3b38fea65a0e6d06c17bc5921584a26358416f689af7eb56cef2f0-other.xml.gz
ec2fa1982439f4b0ca7dc86f882f18657457a2d42f06ac6718298c7f7528df43-comps-AppStream.x86_64.xml
f19203db21be0e35ee7882ae95e9ff4a36cd4cfc287168dbbbf3218e4e0e85b3-filelists.xml.gz
repomd.xml

[yum-group Appstream]
3d1c00f07858e1d997effa767f1f40a4e8771fd42ebd274e0df44ade752f7076-modules.yaml.xz
78a690f18c27c710a2a3e6fc3153d26acaddfd822dba8b7c1a5ab8ab7ca2280a-other.xml.gz
78ba88d82c5af02928b0befd68e529512ed0b4024b4741cca014f265c148b8b9-primary.xml.gz
comps.xml.gz
e736fb7fc627c20edc8861408c3818bcda67f760d9420d0d6aa0ad30d3276bbd-filelists.xml.gz
repomd.xml

[public rocky linux Appstream]
Index of /vault/rocky/8.8/AppStream/x86_64/os/repodata/ (rockylinux.org)

What is the reason of this, and how can I get recent data of rocky linux repository by yum group?

The maximum and minimum component age of yum-proxy is 1440.

That setting determines how often the proxy repository will look for updated metadata. Try lowering it, or manually clear the cache by pressing “expire cache” in the proxy repository settings.

Also note that the file names in the proxy repository will be different than the ones in the remote. The metadata in the proxy is rewritten so that URL’s in it will refer to the proxy repository.

Rich

Thanks for your answer.
But my question is the proxy repository have normal repomd.xml but the yum group repositroy that have proxy repository as a member have unnormal repomd.xml.
The yum group repository only have one member.(proxy repository)

I know that yum group repository role is just grouping various repositories by one url.
I can’t understand why yum group repository and yum proxy repository(member of group repo) have different repomd.xml.
Below is each of repomd.xml.

yum proxy repository repomd.xml

...
<?xml version="1.0" encoding="UTF-8" standalone="no"?><repomd xmlns="http://linux.duke.edu/metadata/repo" xmlns:rpm="http://linux.duke.edu/metadata/rpm">
  **<revision>8.8</revision>**
  <tags>
    **<distro cpeid="cpe:/o:rocky:rocky:8">Rocky Linux 8</distro**>
  </tags>
...

yum group repository repomd.xml

<?xml version="1.0" encoding="UTF-8"?>
<repomd xmlns="http://linux.duke.edu/metadata/repo" xmlns:rpm="http://linux.duke.edu/metadata/rpm">
**<revision>1706058605</revision>** // the revision is also strange.

The difference in revision itself is okay, but the problem is that yum group repository repomd.xml doesn’t have a module data type, so if I use yum group for private repo, the installation of module package is failed.

I’d appreciate it if you could answer me.

Some versions of nexus will ‘merge’ even if there is only a single member which would re-write the contents.

Not sure what you’re referring to by module data type, do you have an example of what the proxy version is and what the merged version is.

Ok, I understand the nexus merge system.

The reason why I need module data type is when I try to install docker in rocky 8.8 (using private repo), below error is occured.

+ sh -c 'yum install -y -q docker-ce-20.10.7-3.el8'
No available modular metadata for modular package 'container-selinux-2:2.205.0-2.module+el8.8.0+1265+fa25dd7a.noarch', it cannot be installed on the system
No available modular metadata for modular package 'fuse-overlayfs-1.11-1.module+el8.8.0+1265+fa25dd7a.x86_64', it cannot be installed on the system
No available modular metadata for modular package 'libslirp-4.4.0-1.module+el8.8.0+1266+6052254c.x86_64', it cannot be installed on the system
No available modular metadata for modular package 'slirp4netns-1.2.0-2.module+el8.8.0+1265+fa25dd7a.x86_64', it cannot be installed on the system
Error: No available modular metadata for modular package

That’s because in Yum group repository there is no modular repodata.

$ dnf module list
Last metadata expiration check: 0:19:46 ago on Mon 22 Jan 2024 11:09:33 PM UTC.
@modulefailsafe

and This is my yum proxy repo setting and yum group repo setting
yum proxy
name : yum-rocky-proxy
remote storage : Index of /vault/rocky/
the other settings are default.

yum group
online status
Group - member repositories : yum-rocky-proxy

and This is the whole contents of repodata.md of Yum proxy repo and Yum group repo.
The folder tree is same.
yum proxy repo

<repomd xmlns="http://linux.duke.edu/metadata/repo" xmlns:rpm="http://linux.duke.edu/metadata/rpm">
<revision>8.8</revision>
<tags>
<distro cpeid="cpe:/o:rocky:rocky:8">Rocky Linux 8</distro>
</tags>
<data type="primary">
<checksum type="sha256">d480b24465d4202202039c23e7dea847f193ec71ce1fecf4ab8d40842ae88705</checksum>
<open-checksum type="sha256">930b2bc7c1cfd50f50edb520355da8f13c4fe7c521ceee376c3620a16c2ff94a</open-checksum>
<location href="repodata/d480b24465d4202202039c23e7dea847f193ec71ce1fecf4ab8d40842ae88705-primary.xml.gz"/>
<timestamp>1699465445</timestamp>
<size>2200418</size>
<open-size>24861520</open-size>
</data>
<data type="filelists">
<checksum type="sha256">f19203db21be0e35ee7882ae95e9ff4a36cd4cfc287168dbbbf3218e4e0e85b3</checksum>
<open-checksum type="sha256">c4e91e6dcc47d5152159af2eadae8a7c4ab01f7bc7e4d7a6b1f87fa66d9f48eb</open-checksum>
<location href="repodata/f19203db21be0e35ee7882ae95e9ff4a36cd4cfc287168dbbbf3218e4e0e85b3-filelists.xml.gz"/>
<timestamp>1699465445</timestamp>
<size>8907518</size>
<open-size>127754600</open-size>
</data>
<data type="other">
<checksum type="sha256">e7a0fb6fea3b38fea65a0e6d06c17bc5921584a26358416f689af7eb56cef2f0</checksum>
<open-checksum type="sha256">6097fcee6a63187adfb865f6a6b28678030c27bd82346d7e766ccb9de9b5ead0</open-checksum>
<location href="repodata/e7a0fb6fea3b38fea65a0e6d06c17bc5921584a26358416f689af7eb56cef2f0-other.xml.gz"/>
<timestamp>1699465445</timestamp>
<size>1352939</size>
<open-size>17487351</open-size>
</data>
<data type="group">
<checksum type="sha256">ec2fa1982439f4b0ca7dc86f882f18657457a2d42f06ac6718298c7f7528df43</checksum>
<location href="repodata/ec2fa1982439f4b0ca7dc86f882f18657457a2d42f06ac6718298c7f7528df43-comps-AppStream.x86_64.xml"/>
<timestamp>1699465393</timestamp>
<size>486316</size>
</data>
<data type="group_xz">
<checksum type="sha256">7ba43f88671d8107d6603ebff822fc071e73596a1e20779855af577b0e6e343a</checksum>
<open-checksum type="sha256">ec2fa1982439f4b0ca7dc86f882f18657457a2d42f06ac6718298c7f7528df43</open-checksum>
<location href="repodata/7ba43f88671d8107d6603ebff822fc071e73596a1e20779855af577b0e6e343a-comps-AppStream.x86_64.xml.xz"/>
<timestamp>1699465446</timestamp>
<size>81840</size>
<open-size>486316</open-size>
</data>
<data type="modules">
<checksum type="sha256">3d1c00f07858e1d997effa767f1f40a4e8771fd42ebd274e0df44ade752f7076</checksum>
<open-checksum type="sha256">7ac5e86c3e24a578cb54cdb8d0f9a477467e6492c657642c6328c4c618b8f5dd</open-checksum>
<location href="repodata/3d1c00f07858e1d997effa767f1f40a4e8771fd42ebd274e0df44ade752f7076-modules.yaml.xz"/>
<timestamp>1699465871</timestamp>
<size>81344</size>
<open-size>981999</open-size>
</data>
<data type="updateinfo">
<checksum type="sha256">9b154248aab29dc4212e432a00ce96504c2f383e4340fd80799f9a85be5eb4e0</checksum>
<open-checksum type="sha256">73636ca098320bc45c48cba0c5abaadbec648de3a521143dc88be8075d938066</open-checksum>
<location href="repodata/9b154248aab29dc4212e432a00ce96504c2f383e4340fd80799f9a85be5eb4e0-updateinfo.xml.gz"/>
<timestamp>1699466368</timestamp>
<size>820693</size>
<open-size>6387246</open-size>
</data>
</repomd>

yum group repo

<repomd xmlns="http://linux.duke.edu/metadata/repo" xmlns:rpm="http://linux.duke.edu/metadata/rpm">
<revision>1706079350</revision>
<data type="group_gz">
<checksum type="sha256">bed7a42a9140840251adf5a30b041ba7cc6db027c0dba91b3faa256a777c095b</checksum>
<open-checksum type="sha256">ec2fa1982439f4b0ca7dc86f882f18657457a2d42f06ac6718298c7f7528df43</open-checksum>
<location href="repodata/comps.xml.gz"/>
<timestamp>1706079350</timestamp>
<size>114354</size>
<open-size>486316</open-size>
</data>
<data type="filelists">
<checksum type="sha256">e736fb7fc627c20edc8861408c3818bcda67f760d9420d0d6aa0ad30d3276bbd</checksum>
<open-checksum type="sha256">c4e91e6dcc47d5152159af2eadae8a7c4ab01f7bc7e4d7a6b1f87fa66d9f48eb</open-checksum>
<location href="repodata/e736fb7fc627c20edc8861408c3818bcda67f760d9420d0d6aa0ad30d3276bbd-filelists.xml.gz"/>
<timestamp>1706079350</timestamp>
<size>8907518</size>
<open-size>127754600</open-size>
</data>
<data type="primary">
<checksum type="sha256">78ba88d82c5af02928b0befd68e529512ed0b4024b4741cca014f265c148b8b9</checksum>
<open-checksum type="sha256">930b2bc7c1cfd50f50edb520355da8f13c4fe7c521ceee376c3620a16c2ff94a</open-checksum>
<location href="repodata/78ba88d82c5af02928b0befd68e529512ed0b4024b4741cca014f265c148b8b9-primary.xml.gz"/>
<timestamp>1706079350</timestamp>
<size>2200418</size>
<open-size>24861520</open-size>
</data>
<data type="other">
<checksum type="sha256">78a690f18c27c710a2a3e6fc3153d26acaddfd822dba8b7c1a5ab8ab7ca2280a</checksum>
<open-checksum type="sha256">6097fcee6a63187adfb865f6a6b28678030c27bd82346d7e766ccb9de9b5ead0</open-checksum>
<location href="repodata/78a690f18c27c710a2a3e6fc3153d26acaddfd822dba8b7c1a5ab8ab7ca2280a-other.xml.gz"/>
<timestamp>1706079350</timestamp>
<size>1352939</size>
<open-size>17487351</open-size>
</data>
</repomd>

Thank you.