You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何升级服务器/opt/posterm/x86_64路径下的RHEL瘦客户端?

解决RHEL瘦客户端升级仓库错误问题

错误原因

你执行的命令中--setopt=reposdir=/repo/BaseOS参数有误:reposdir指定的是存放.repo配置文件的目录,而/repo/BaseOS是仓库的软件包存储目录,并非配置文件所在路径,因此dnf无法识别到启用的仓库。

解决步骤

方法1:直接在命令中指定仓库源

无需额外配置repo文件,直接在升级命令中临时指定BaseOS和AppStream的仓库路径:

dnf --installroot=/opt/posterm/x86_64/ \
    --disablerepo=* \
    --enablerepo=local_baseos \
    --enablerepo=local_appstream \
    --setopt=local_baseos.baseurl=file:///repo/BaseOS \
    --setopt=local_appstream.baseurl=file:///repo/AppStream \
    --setopt=local_baseos.enabled=1 \
    --setopt=local_appstream.enabled=1 \
    upgrade
  • --disablerepo=*:禁用所有默认仓库,避免冲突
  • 临时创建两个本地仓库并指定其路径,确保dnf能识别到可用的软件源

方法2:配置临时repo目录

  1. 创建临时目录存放repo配置文件:
mkdir -p /tmp/local_repos
  1. 复制镜像中的media.repo并修改为BaseOS仓库配置:
cp /repo/media.repo /tmp/local_repos/baseos.repo
sed -i 's/name=.*/name=Local BaseOS Repository/' /tmp/local_repos/baseos.repo
sed -i 's/baseurl=.*/baseurl=file:\/\/\/repo\/BaseOS/' /tmp/local_repos/baseos.repo
sed -i 's/enabled=.*/enabled=1/' /tmp/local_repos/baseos.repo
  1. 复制一份并修改为AppStream仓库配置:
cp /tmp/local_repos/baseos.repo /tmp/local_repos/appstream.repo
sed -i 's/name=.*/name=Local AppStream Repository/' /tmp/local_repos/appstream.repo
sed -i 's/baseurl=.*/baseurl=file:\/\/\/repo\/AppStream/' /tmp/local_repos/appstream.repo
  1. 执行升级命令,指定临时repo目录:
dnf --installroot=/opt/posterm/x86_64/ --setopt=reposdir=/tmp/local_repos upgrade

额外注意事项

  • 你的本地镜像为Oracle Linux 8(从OL8-RELNOTES8-7.zip可判断),与RHEL 8二进制兼容,可正常使用。若出现GPG密钥验证错误,可导入镜像中的密钥:
rpm --root=/opt/posterm/x86_64/ --import /repo/RPM-GPG-KEY-oracle
  • 若installroot目录下已有其他repo配置,建议加上--disablerepo=*避免干扰。

内容的提问来源于stack exchange,提问作者dirman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 16:20:47