您的位置:首页 > 运维架构 > Linux

RedHat Enterprise Linux6.4 使用CentOS yum源

2016-01-23 16:26 483 查看




[admin@server1 ~]$ uname -a

Linux server1 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux

原文:http://blog.csdn.net/zhngjan/article/details/20843465

在使用redhat linux的yum来安装或者更新软件的时候会提示

[plain] view
plain copy

print?





[admin@server1 ~]$ sudo yum install gcc

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

No package gcc available.

Error: Nothing to do

[注]请以root身份操作

由于 redhat的yum在线更新是收费的,如果没有注册的话不能使用,如果要使用,需将redhat的yum卸载后,重启安装,再配置其他源

解决办法:

1、首先到http://mirrors.163.com/centos下载软件包

x86 地址:http://mirrors.163.com/centos/6/os/i386/Packages/

x86_64 地址:http://mirrors.163.com/centos/6/os/x86_64/Packages/

必要下载的软件包有(以64位系统为例):

1> python-iniparse-0.3.1-2.1.el6.noarch.rpm

2> yum-3.2.29-40.el6.centos.noarch.rpm

3> yum-metadata-parser-1.1.2-16.el6.x86_64.rpm

4> yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm

下载命令:

[plain] view
plain copy

print?





wget http://mirrors.163.com/centos/6/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm
[plain] view
plain copy

print?





wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
[plain] view
plain copy

print?





wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.29-40.el6.centos.noarch.rpm
[plain] view
plain copy

print?





wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm
[注] :版本不一定要最新的(http://mirrors.163.com/centos/6/os/x86_64/Packages/ 查找对应版本)

2、卸载RedHat自带的yum

[plain] view
plain copy

print?





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

注:1> xargs是一条Unix和类Unix操作系统的常用命令。它的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题

2> --nodeps 强制卸载,不管依赖性

3、安装下载的centos的yum包:

[plain] view
plain copy

print?





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

[注] :最后2个需要一起安装,否则会出现依赖性错误

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

[plain] view
plain copy

print?





wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
5、编辑CentOS6-Base-163.repo文件,将其中的$releasever更改为centos的版本号

下面是修改好的:

[plain] view
plain copy

print?





# 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.5 - Base - 163.com

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

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

gpgcheck=1

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

#released updates

[updates]

name=CentOS-6.5 - Updates - 163.com

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

#mirrorlist=http://mirrorlist.centos.org/?release=6.5&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.5 - Extras - 163.com

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

#mirrorlist=http://mirrorlist.centos.org/?release=6.5&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.5 - Plus - 163.com

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

#mirrorlist=http://mirrorlist.centos.org/?release=6.5&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.5 - Contrib - 163.com

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

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

gpgcheck=1

enabled=0

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

6、yum clean all 清除原有缓存

7、yum makecache 获取yum列表

出现下面提示,表示yum更改完成:

Metadata Cache Created

脚本:

[plain] view
plain copy

print?





#!/bin/bash

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

export PATH

# Check if user is root

if [ $(id -u) != "0" ]; then

echo "Error: You must be root to run this script"

exit 1

fi

clear

echo "========================================================================="

echo "Replace Redhat Enterprise Yum to CentOS Yum and Repos, Written by Licess"

echo "========================================================================="

# uninstall rhel yum

echo "Uninstall Rhel Yum......"

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

# delete old rpm

echo "Clean old cache......"

rm -rf python-iniparse-0.3.1-2.1.el6.noarch.rpm

rm -rf yum-metadata-parser-1.1.2-16.el6.x86_64.rpm

rm -rf yum-3.2.29-40.el6.centos.noarch.rpm

rm -rf yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm

# download CentOS Yum

echo "Download Python-iniparse......"

wget http://mirrors.163.com/centos/6. ... -2.1.el6.noarch.rpm

echo "Download yum-metadata-parse......"

wget http://mirrors.163.com/centos/6. ... 2-16.el6.x86_64.rpm

echo "Download yum......"

wget http://mirrors.163.com/centos/6. ... 6.centos.noarch.rpm

echo "Download yum fastmirror......"

wget http://mirrors.163.com/centos/6. ... 0-14.el6.noarch.rpm

# install CentOS Yum

echo "Installing......"

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

# replace repos

rm -rf /etc/yum.repos.d/CentOS-Base.repo

echo "[base]

name=CentOS-6.5 - Base - 163.com

baseurl=http://mirrors.163.com/centos/6.5/os/x86_64/

#mirrorlist=http://mirrors.163.com/?release=6.5&arch=$basearch&repo=os

gpgcheck=1

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6

#released updates

[updates]

name=CentOS-6.5 - Updates - 163.com

baseurl=http://mirrors.163.com/centos/6.5/updates/x86_64/

#mirrorlist=http://mirrors.163.com/?release=6.5&arch=$basearch&repo=updates

gpgcheck=1

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6

#additional packages that may be useful

[extras]

name=CentOS-6.5 - Extras - 163.com

baseurl=http://mirrors.163.com/centos/6.5/extras/x86_64/

#mirrorlist=http://mirrors.163.com/?release=6.5&arch=$basearch&repo=extras

gpgcheck=1

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6

#additional packages that extend functionality of existing packages

[centosplus]

name=CentOS-6.5 - Plus - 163.com

baseurl=http://mirrors.163.com/centos/6.5/centosplus/x86_64/

#mirrorlist=http://mirrors.163.com/?release=6.5&arch=$basearch&repo=centosplus

gpgcheck=1

enabled=0

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6

#contrib - packages by Centos Users

[contrib]

name=CentOS-6.5 - Contrib - 163.com

baseurl=http://mirrors.163.com/centos/6.5/contrib/x86_64/

#mirrorlist=http://mirrors.163.com/?release=6.5&arch=$basearch&repo=contrib

gpgcheck=1

enabled=0

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6" >> /etc/yum.repos.d/CentOS-Base.repo

#####

yum clean all

yum makecache

yum update

echo "=========================================================================="

echo "You have successfully replace RedhatEnterprise Yum to CentOS yum and repos"

echo "=========================================================================="
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: