RHEL7解决无法使用YUM源问题


RHEL7解决无法使用YUM源问题

RHEL的YUM源需要注册用户才能更新使用,由于CentOS和RHEL基本没有区别,并且CentOS已经被REHL收购。所以将RHEL的YUM源替换为CentOS即可。
问题如下:
[root@bogon ~]# yum repolist
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
repolist: 0
或者# yum install ntp
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Install Process
Nothing to do
解决方法:
1.清除原有RHEL的YUM及相关软件包。
rpm -qa | grep yum | xargs rpm -e --nodeps
rpm -qa |grep python-urlgrabber|xargs rpm -e --nodeps
2.下载centos7的相关软件包。
http://mirrors.173.com/centos/7.3.1711/os/x87_74/Packages/yum-3.4.3-150.el7.centos.noarch.rpm
http://mirrors.173.com/centos/7.3.1711/os/x87_74/Packages/yum-metadata-parser-1.1.4-10.el7.x87_74.rpm
http://mirrors.173.com/centos/7.3.1711/os/x87_74/Packages/yum-plugin-fastestmirror-1.1.31-40.el7.noarch.rpm
http://mirrors.173.com/centos/7.3.1711/os/x87_74/Packages/python-iniparse-0.4-9.el7.noarch.rpm
http://mirrors.173.com/centos/7.3.1711/os/x87_74/Packages/python-urlgrabber-3.10-8.el7.noarch.rpm

*注释:这些软件包的具体的版本,请到http://mirrors.173.com/centos/7/os/x87_74/Packages/ 目录下,选择下载上述软件包。网上很多文章没法直接使用就是因为软件包的版本问题。

3.安装软件包。
rpm -ivh python-iniparse-0.3.1-2.1.el7.noarch.rpm
rpm -ivh python-urlgrabber-3.9.1-11.el7.noarch.rpm
rpm -ivh yum-metadata-parser-1.1.2-17.el7.x87_74.rpm
rpm -ivh yum-plugin-fastestmirror-1.1.30-37.el7.noarch.rpm yum-3.2.29-73.el7.centos.noarch.rpm
*注释yum-plugin-fastestmirror和yum-3.2.29要一起安装。

如果按照遇到问题:发现错误,python-urlgrabber版本必须大于等于3.9.1-10
 # rpm -ivh  yum-3.2.29-73.el7.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-37.el7.noarch.rpm
warning: yum-3.2.29-73.el7.centos.noarch.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
error: Failed dependencies:
    python-urlgrabber >= 3.9.1-10 is needed by yum-3.2.29-73.el7.centos.noarch
查看系统的python信息
# rpm -qa|grep python

发现python-urlgrabber-3.9.1-9.el7.noarch 版本低于3.9.1-10 
卸载:python-urlgrabber-3.9.1-9.el7.noarch
 rpm -e python-urlgrabber-3.9.1-9.el7.noarch
安装:rpm -ivh python-urlgrabber-3.9.1-11.el7.noarch.rpm

安装yum
# rpm -ivh yum-*
更改yum源
cd /etc/yum.repos.d/
下载配置文件
wget http://mirrors.173.com/.help/CentOS7-Base-173.repo
将此配置文件替换/etc/yum.repos.d同名文件
sed -i "s;\releasever;7;g" CentOS7-Base-173.repo mv rhel-source.repo rhel-source.repo.bak  或者编辑配置文件   #vim CentOS-Base.repo  把releasever;7;g" CentOS7-Base-173.repo mv rhel-source.repo rhel-source.repo.bak  或者编辑配置文件   #vim CentOS-Base.repo  把releasever替换成现有系统的版本号(7)
vim替换命令
:%s/$releasever/7/g
退出保存

清理yum缓存
#yum clean all
将服务器软件包信息缓存至本地,提高搜索安装效率
#yum makecache

测试
#yum seach vim

执行yum repolist查看,如果显示出repo仓库列表,并显示软件包数量则OK。(或者使用yum makecache)


7.使用yum安装软件包测试。
yum -y install lrzsz

至此,如果不出现意外,lrzsz软件包安装成功。yum也就可以正常使用了。

 

解决办法一(未验证删除RHEL 6.7 的RHN注册和订阅提示

------------------------------------------------------------------------------------

     系统: RHEL 6.7 x64

    桌面: Gnome 

1. 查找RHN注册和订阅的程序组件。          

    (1) 查找subscription-manager相关组件:                 

      执行命令: rpm -qa|grep subscription-manager                 

       subscription-manager-gui-1.14.10-1.el6.x86_64
                  subscription-manager-1.14.10-1.el6.x86_64
                  subscription-manager-migration-1.14.10-1.el6.x86_64
                  subscription-manager-migration-data-2.0.22-1.el6.noarch
                  subscription-manager-firstboot-1.14.10-1.el6.x86_64       

    (2) 查找rhn相关组件:                 

      执行命令: rpm -qa|grep rhn                 

       rhnsd-4.9.3-2.el6.x86_64
                  rhn-check-1.0.0.1-32.el6.noarch
                  rhn-setup-gnome-1.0.0.1-32.el6.noarch
                  rhn-setup-1.0.0.1-32.el6.noarch
                  rhn-client-tools-1.0.0.1-32.el6.noarch
                  rhnlib-2.5.22-15.el6.noarch
                  yum-rhn-plugin-0.9.1-58.el6.noarch

2. 删除subscription-manager和rhn的相关程序组件。    

         (1) 执行命令: yum remove subscription-manager                   

        正在删除   : subscription-manager-firstboot-1.14.10-1.el6.x86_64              1/4 
                   正在删除   : subscription-manager-migration-1.14.10-1.el6.x86_64           2/4 
                   正在删除   : subscription-manager-gui-1.14.10-1.el6.x86_64                      3/4 
                   正在删除   : subscription-manager-1.14.10-1.el6.x86_64                             4/4              

   (2) 执行命令: yum remove rhn-check                   

       正在删除   : rhn-setup-gnome-1.0.0.1-32.el6.noarch                        1/5 
                   正在删除   : rhn-check-1.0.0.1-32.el6.noarch                                     2/5 
                   正在删除   : yum-rhn-plugin-0.9.1-58.el6.noarch                               3/5 
                   正在删除   : rhn-setup-1.0.0.1-32.el6.noarch                                      4/5 
                   正在删除   : rhnsd-4.9.3-2.el6.x86_64                                                  5/5 

这里不用rpm -e来删除程序是因为在执行删除任务的过程中会出现由于程序的相互依赖关系而无法删除的错误。

因此,用yum remove来执行删除任务,它会自动分析程序的相互依赖关系并删除。

 

      删除完后,直接用yum源安装!!!(未验证!)      有时间试一下看起作用不,,,,这几天太忙,等周六周日再看!

 

-----------------------------------------------------------------------------------------------------------------------------

方法二:卸载yum ,安装CentOS的rpm包,安装yum.  刷新yum缓存,yum makecache ,具体如下,

------------------------------------------------------------------------------------------------------------------

第一步下载相关安装包

可以通过http://mirrors.163.com/centos下载,

第二步卸载Redhat自带的yum

#rpm -qa | grep yum | xargs rpm -e --nodeps

第三步安装下载的安装包

#rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm

#rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm

#rpm -ivh yum-3.2.29-40.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm

第四步到http://mirrors.163.com的 centos帮助文档 
中下载CentOS6-Base-163.repo文件,存放到/etc/yum.repos.d中

#wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

第五步将Centos6-Base-163.repo中的$releasever改为Centos的版本号即可

为了防止错误,也可使用我已修改好的文件http://pan.baidu.com/s/1o6AZ23o

文件修改成如下即可:

# CentOS-Base.repo

#

# The mirror system uses the connecting IP address of the client and the

# update status of each mirror to pick mirrors that are updated to and

# geographically close to the client.  You should use this for CentOS updates

# unless you are manually picking other mirrors.

#

# If the mirrorlist= does not work for you, as a fall back you can try the

# remarked out baseurl= line instead.

#

#

 

[base]

name=CentOS-6 - Base - 163.com

baseurl=http://mirrors.163.com/centos/6/os/$basearch/

#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=os

gpgcheck=1

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

 

#released updates

[updates]

name=CentOS-6 - Updates - 163.com

baseurl=http://mirrors.163.com/centos/6/updates/$basearch/

#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=updates

gpgcheck=1

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

 

#additional packages that may be useful

[extras]

name=CentOS-6 - Extras - 163.com

baseurl=http://mirrors.163.com/centos/6/extras/$basearch/

#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=extras

gpgcheck=1

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

 

#additional packages that extend functionality of existing packages

[centosplus]

name=CentOS-6 - Plus - 163.com

baseurl=http://mirrors.163.com/centos/6/centosplus/$basearch/

#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=centosplus

gpgcheck=1

enabled=0

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

 

#contrib - packages by Centos Users

[contrib]

name=CentOS-6 - Contrib - 163.com

baseurl=http://mirrors.163.com/centos/6/contrib/$basearch/

#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=contrib

gpgcheck=1

enabled=0

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

第六步 yum clean all 清除原有缓存

第七步 yum makecache  获取yum列表

等待,大约三分钟后出现下面提示,表示yum更改完成:

Metadata Cache Created

 ----------------------------------------------------------------------------------------

其实也不用这么麻烦,

1.卸载redhat自带的yum组件      rpm -qa|grep yum|xargs rpm -e --nodeps

2.安装centos的yum包, 先浏览网页看版本号,再wget 对应的版本,(因为RHEL和CentOS 的关系,包都是一样的 ),  网页:http://centos.ustc.edu.cn/centos/ 下  对应版本  下,根据机器32位还是64位 装包

http://centos.ustc.edu.cn/centos/6/os/x86_64/Packages/

# wget http://centos.ustc.edu.cn/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm

 

# wget  http://centos.ustc.edu.cn/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm

 

# wget  http://centos.ustc.edu.cn/centos/6/os/x86_64/Packages/yum-3.2.29-73.el6.centos.noarch.rpm

 

3. 下载更新源,并存放在系统目录中 

 

wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo     http://docs.linuxtone.org这个网站里边存放了许多有用的资料,有机会可以看看

 

mv CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo

 

4. 更新yum 资源库

yum clean all

yum makecache   安装完成,下来就可以装调试包了, http://debuginfo.centos.org/6/x86_64/

 

*****************************************************************************************

设置本地yum仓库

1、安装createrepo,yum install createrepo

    若无法使用网络,请到百度云下载rpm包

链接:http://pan.baidu.com/s/1jHUBWRO 密码:8il2

 

2、在包路径下执行 createrepo . 以生成repodata文件夹

3、/etc/yum.repos.d/ 创建 name.repo

[update]
NAME=update
baseurl=file:///root/package/update
enabled=1
gpgcheck=0

注释其他repo文件,或拷贝到tmp目录

yum clean all

yum list

转载于:https://my.oschina.net/u/3457287/blog/889320

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值