问题描述
从MarketPlace中使用RHEL 7.6的AMI启动EC2实例后执行yum update 遇到下面错误:
[ec2-user@ip-172-31-43-28 ~]$ sudo yum update
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
Could not contact any CDS load balancers: https://rhui3.cn-northwest-1.aws.ce.redhat.com/pulp/content/.
问题原因
根据官方RHEL的生命周期声明: Red Hat Enterprise Linux Life Cycle RHEL 7.6 的Extended Update Support Add-on 都已经于2021年5月31日结束了, 同时RedHat官网上的说明: RHUI 3 Takes Over in AWS, Bringing New DNS Data
由于RHEL 7.6默认使用的还是版本号为2的 rh-amazon-rhui-client , 检查/etc/yum.repo.d/redhat-rhui 开头的repo配置文件可以看到都是以https://rhui2-cds01.REGION.aws.ce.redhat.com 开头的地址.
2020年7月份升级到RHUI 3以后更换了相关的hostname和IP地址, 这也就是导致无法继续使用原来的repo.
With the transition to RHUI 3, new host names and IP addresses are used. If you have firewall rules, proxy settings etc. that worked with the original RHUI 2 host names or their original IP addresses, you are likely affected, and will need to change these rules or settings to allow the new host names or IP addresses.
解决方法
参考re:post上的文章 记录一下实际操作的步骤
-
启动一台新的使用RHEL 7最后一个大版本实例, 我这里用的是RHEL-7.9_HVM-20211005-x86_64-0-Hourly2-GP2 - ami-0196d703168979cc6 -
SSH连接到这台实例上, 使用下面命令下载最新版本的rh-amazon-rhui-client.noarch 包 sudo yum install --downloadonly --downloaddir=/home/ec2-user/ rh-amazon-rhui-client.noarch
-
断开SSH连接, 在本地电脑上使用scp命令将安装包下载到本地, 下一步再传到有问题的7.6实例上
scp -i .\xxx.pem ec2-user@[RHEL 7.9的IP]:/home/ec2-user/rh-amazon-rhui-client-3.0.45-1.el7.noarch.rpm ./Desktop/
scp -i .\xxx.pem .\Desktop\rh-amazon-rhui-client-3.0.45-1.el7.noarch.rpm ec2-user@[RHEL 7.6的IP]:/home/ec2-user/
-
SSH连接到7.6实例中执行下面命令更新rh-amazon-rhui-client
sudo yum remove -y rh-amazon-rhui-client rh-amazon-rhui-client-beta
sudo rpm -ivh --nodeps ~/rh-amazon-rhui-client-3.0.45-1.el7.noarch.rpm
sudo yum reinstall -y rh-amazon-rhui-client
sudo yum clean all
sudo yum repolist
sudo yum list
新的问题及处理思路
经过测试, 上面的方法确实可以使用yum了, 但是试了几个常用的包, 发现居然都没有, 看来7.6官方停止支持后可能移除掉了repo仓库中的内容导致.
除了直接换用7.9版本的系统外, 如果确实需要继续使用7.6的话, 可以继续参考下面步骤切换使用CentOS的repo
注意: 使用CentOS的仓库;理论上是兼容的, 不过也有可能存在不稳定或兼容问题, 同时由于CentOS属于开源社区维护, 遇到问题可能无法从RedHat获取到技术支持, 请酌情使用
sudo -i
cd /etc/yum.repo.d
sudo mkdir bak
sudo mv *.repo ./bak/
curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo
注意这时候下载好了CentOS的repo后还不能直接用, 因为RHEL中关于系统发型版本的变量与CentOS不太一样, 直接yum update 更新会报错:
failure: repodata/repomd.xml from base: [Errno 256] No more mirrors to try.
http://mirrors.163.com/centos/7Server/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
继续下面操作自定义变量进行替换:
echo 7 > /etc/yum/releasever
再次刷新缓存更新
yum clean all
yum update
|