问题
由于红帽系统是付费的,所以安装好之后yum指令无法直接使用,激活的方法有很多种,我这里的话是使用修改yum源为centos的方法处理,lz的rhel为docker的redhat7镜像:richxsl/rhel7 遇到的问题,不过几乎所有的红帽都有这个问题,在此记录一下解决方法
使用yum命令安装软件时出现如下错误,看一下报错信息
Loaded plugins: product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
There are no enabled repos.
Run "yum repolist all" to see the repos you have.
You can enable repos with yum-config-manager --enable <repo>
解决
- 卸载RedHat自带的yum包
# 查看yum相关依赖
rpm -qa|grep yum
# 卸载
rpm -qa |grep yum|xargs rpm -e --nodeps
卸载后再查看是否不存yum相关依赖
- 使用国内163新的centos的yum包替换redhat自带的
先确认系统版本号和系统位数
cat /etc/redhat-release
uname -a
然后在这里下载相关依赖 Centos7下载,由于文件会更新,所以不能发具体的下载链接过段时间会过期,在页面使用Ctrl+f搜索文件开头文件:python-chardet、python-kitchen、python-urlgrabber、rpm-4.11、yum-3.4.3、yum-metadata-parser、yum-plugin-fastestmirror、yum-utils-1.1.31这9个下载包。有些帖子上写用wget指令下载安装,我这里wget也用不了所以直接下载上传安装的
文件放置同一个目录下
安装
rpm -Uvh python-urlgrabber-3.10-10.el7.noarch.rpm --nodeps
rpm -Uvh rpm-4.11.3-45.el7.x86_64.rpm --nodeps
rpm -ivh python-urlgrabber-3.10-10.el7.noarch.rpm
rpm -ivh --nodeps yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm
rpm -ivh --nodeps yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
rpm -ivh --nodeps yum-3.4.3-168.el7.centos.noarch.rpm
rpm -ivh --nodeps yum-utils-1.1.31-54.el7_8.noarch.rpm
# 个人认为下面三个依赖装不装都行,因为装完上面的依赖就已经可以使用yum指令了
rpm -ivh --nodeps python-chardet-2.2.1-3.el7.noarch.rpm
rpm -ivh --nodeps python-kitchen-1.1.1-5.el7.noarch.rpm
添加repo文件
vi /etc/yum.repos.d/rhel-debug.repo
[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.163.com/centos/7/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.163.com/centos/7/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.163.com/centos/7/extras//$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirrors.163.com/centos/7/centosplus//$basearch/
gpgcheck=1
enabled=0
安装wget指令yum install wget -y
执行结果,安装成功
参考文章:Redhat7上无法使用yum
解决中文乱码问题
查看支持的编码
locale -a
添加阿里云的yum源和epel源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
*此时/etc/yum.repos.d目录下多两个Centos-7.repo和epel-7.repo文件,由于红帽中的$releasever参数多对应的指令rpm -qi centos-release
报错,所以直接手动替换成7(根据你红帽的版本来换)
vim CentOS-Base.repo
在vim中执行:%s/$releasever/7/g快速替换。保存退出。
清空重载yum
yum clean all
yum makecache