3.5. 覆盖系统存储库
您可以在 /etc/osbuild-composer/repositories
目录中为 RHEL 镜像构建器配置自己的存储库覆盖。
在 RHEL 8.5 发行版本中,仓库覆盖的名称为 rhel-8.json
。从 RHEL 8.5 开始,名称也会尊重次要版本: rhel-84.json
、rhel-85.json
等等。
先决条件
- 您有一个可从主机系统访问的自定义存储库。
流程
创建
/etc/osbuild-composer/repositories/
目录来存储存储库覆盖:sudo mkdir -p /etc/osbuild-composer/repositories
$ sudo mkdir -p /etc/osbuild-composer/repositories
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用与 RHEL 版本对应的名称,创建一个 JSON 文件。或者,您还可以从
/usr/share/osbuild-composer/
中复制用于分发的文件,并修改其内容。对于 RHEL 8.9,请使用
/etc/osbuild-composer/repositories/rhel-89.json
。将以下结构添加到 JSON 文件中。仅以字符串格式指定以下属性之一:
-
baseurl
- 存储库的基本 URL。 -
metalink
- 包含有效镜像存储库列表的 metalink 文件的 URL。 mirrorlist
- 包含有效镜像存储库列表的 mirrorlist 文件的 URL。其余的字段(如gpgkey
)和metadata_expire
是可选的。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,您可以通过将
rhel-version.json
替换为 RHEL 版本(例如:rhel-8.json)来复制用于分发的 JSON 文件。cp /usr/share/osbuild-composer/repositories/rhel-version.json /etc/osbuild-composer/repositories/
$ cp /usr/share/osbuild-composer/repositories/rhel-version.json /etc/osbuild-composer/repositories/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
可选:验证 JSON 文件:
json_verify < /etc/osbuild-composer/repositories/rhel-version.json
$ json_verify < /etc/osbuild-composer/repositories/rhel-version.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
rhel-8.json
文件中的baseurl
路径,并保存。例如:/etc/osbuild-composer/repositories/rhel-version.json
$ /etc/osbuild-composer/repositories/rhel-version.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启
osbuild-composer.service
:sudo systemctl restart osbuild-composer.service
$ sudo systemctl restart osbuild-composer.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
检查存储库是否指向正确的 URL:
cat /etc/yum.repos.d/redhat.repo
$ cat /etc/yum.repos.d/redhat.repo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以看到仓库指向从
/etc/yum.repos.d/redhat.repo
文件复制的正确 URL。