RedHat Enterprise Linux6.4 使用CentOS yum源

来源:互联网 发布:如何年入百万 知乎 编辑:程序博客网 时间:2024/03/29 19:05
[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. [admin@server1 ~]$ uname -a  
  2. 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  


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

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. [admin@server1 ~]$ sudo yum install gcc  
  2. Loaded plugins: product-id, refresh-packagekit, security, subscription-manager  
  3. This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.  
  4. Setting up Install Process  
  5. No package gcc available.  
  6. 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 plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. wget http://mirrors.163.com/centos/6/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm  

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm  

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. wget http://mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.29-40.el6.centos.noarch.rpm  

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. 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 plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. rpm -qa | grep yum | xargs rpm -e --nodeps  

      注:1>   xargs是一条Unix和类Unix操作系统的常用命令。它的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题
                 2>   --nodeps  强制卸载,不管依赖性
 
3、安装下载的centos的yum包:
 

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm  
  2. rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm  
  3. 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 plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. wget http://mirrors.163.com/.help/CentOS6-Base-163.repo  

 
5、编辑CentOS6-Base-163.repo文件,将其中的$releasever更改为centos的版本号

下面是修改好的:

[plain] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. # CentOS-Base.repo  
  2. #  
  3. # The mirror system uses the connecting IP address of the client and the  
  4. # update status of each mirror to pick mirrors that are updated to and  
  5. # geographically close to the client.  You should use this for CentOS updates  
  6. # unless you are manually picking other mirrors.  
  7. #  
  8. # If the mirrorlist= does not work for you, as a fall back you can try the   
  9. # remarked out baseurl= line instead.  
  10. #  
  11. #  
  12.   
  13.   
  14. [base]  
  15. name=CentOS-6.5 - Base - 163.com  
  16. baseurl=http://mirrors.163.com/centos/6.5/os/$basearch/  
  17. #mirrorlist=http://mirrorlist.centos.org/?release=6.5&arch=$basearch&repo=os  
  18. gpgcheck=1  
  19. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6  
  20.   
  21.   
  22. #released updates   
  23. [updates]  
  24. name=CentOS-6.5 - Updates - 163.com  
  25. baseurl=http://mirrors.163.com/centos/6.5/updates/$basearch/  
  26. #mirrorlist=http://mirrorlist.centos.org/?release=6.5&arch=$basearch&repo=updates  
  27. gpgcheck=1  
  28. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6  
  29.   
  30.   
  31. #additional packages that may be useful  
  32. [extras]  
  33. name=CentOS-6.5 - Extras - 163.com  
  34. baseurl=http://mirrors.163.com/centos/6.5/extras/$basearch/  
  35. #mirrorlist=http://mirrorlist.centos.org/?release=6.5&arch=$basearch&repo=extras  
  36. gpgcheck=1  
  37. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6  
  38.   
  39.   
  40. #additional packages that extend functionality of existing packages  
  41. [centosplus]  
  42. name=CentOS-6.5 - Plus - 163.com  
  43. baseurl=http://mirrors.163.com/centos/6.5/centosplus/$basearch/  
  44. #mirrorlist=http://mirrorlist.centos.org/?release=6.5&arch=$basearch&repo=centosplus  
  45. gpgcheck=1  
  46. enabled=0  
  47. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6  
  48.   
  49.   
  50. #contrib - packages by Centos Users  
  51. [contrib]  
  52. name=CentOS-6.5 - Contrib - 163.com  
  53. baseurl=http://mirrors.163.com/centos/6.5/contrib/$basearch/  
  54. #mirrorlist=http://mirrorlist.centos.org/?release=6.5&arch=$basearch&repo=contrib  
  55. gpgcheck=1  
  56. enabled=0  
  57. 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 plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. #!/bin/bash  
  2. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin  
  3. export PATH  
  4.   
  5. # Check if user is root  
  6. if [ $(id -u) != "0" ]; then  
  7.     echo "Error: You must be root to run this script"  
  8.     exit 1  
  9. fi  
  10.   
  11. clear  
  12. echo "========================================================================="  
  13. echo "Replace Redhat Enterprise Yum to CentOS Yum and Repos,  Written by Licess"  
  14. echo "========================================================================="  
  15.   
  16.   
  17.   
  18. # uninstall rhel yum  
  19. echo "Uninstall Rhel Yum......"  
  20. rpm -qa|grep yum|xargs rpm -e --nodeps  
  21. # delete old rpm  
  22. echo "Clean old cache......"  
  23. rm -rf python-iniparse-0.3.1-2.1.el6.noarch.rpm  
  24. rm -rf yum-metadata-parser-1.1.2-16.el6.x86_64.rpm  
  25. rm -rf yum-3.2.29-40.el6.centos.noarch.rpm  
  26. rm -rf yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm  
  27.   
  28. # download CentOS Yum  
  29. echo "Download Python-iniparse......"  
  30. wget http://mirrors.163.com/centos/6. ... -2.1.el6.noarch.rpm  
  31.   
  32. echo "Download yum-metadata-parse......"  
  33. wget  http://mirrors.163.com/centos/6. ... 2-16.el6.x86_64.rpm  
  34.   
  35. echo "Download yum......"  
  36. wget http://mirrors.163.com/centos/6. ... 6.centos.noarch.rpm  
  37.   
  38. echo "Download yum fastmirror......"  
  39. wget http://mirrors.163.com/centos/6. ... 0-14.el6.noarch.rpm  
  40.   
  41. # install CentOS Yum  
  42. echo "Installing......"  
  43. rpm -ivh  python-iniparse-0.3.1-2.1.el6.noarch.rpm  
  44. rpm -ivh  yum-metadata-parser-1.1.2-16.el6.x86_64.rpm  
  45. rpm -ivh  yum-3.2.29-40.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm  
  46.   
  47. # replace repos  
  48. rm -rf /etc/yum.repos.d/CentOS-Base.repo  
  49. echo "[base]  
  50. name=CentOS-6.5 - Base - 163.com  
  51. baseurl=http://mirrors.163.com/centos/6.5/os/x86_64/  
  52. #mirrorlist=http://mirrors.163.com/?release=6.5&arch=$basearch&repo=os  
  53. gpgcheck=1  
  54. gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6  
  55.   
  56. #released updates   
  57. [updates]  
  58. name=CentOS-6.5 - Updates - 163.com  
  59. baseurl=http://mirrors.163.com/centos/6.5/updates/x86_64/  
  60. #mirrorlist=http://mirrors.163.com/?release=6.5&arch=$basearch&repo=updates  
  61. gpgcheck=1  
  62. gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6  
  63.   
  64. #additional packages that may be useful  
  65. [extras]  
  66. name=CentOS-6.5 - Extras - 163.com  
  67. baseurl=http://mirrors.163.com/centos/6.5/extras/x86_64/  
  68. #mirrorlist=http://mirrors.163.com/?release=6.5&arch=$basearch&repo=extras  
  69. gpgcheck=1  
  70. gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6  
  71.   
  72. #additional packages that extend functionality of existing packages  
  73. [centosplus]  
  74. name=CentOS-6.5 - Plus - 163.com  
  75. baseurl=http://mirrors.163.com/centos/6.5/centosplus/x86_64/  
  76. #mirrorlist=http://mirrors.163.com/?release=6.5&arch=$basearch&repo=centosplus  
  77. gpgcheck=1  
  78. enabled=0  
  79. gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6  
  80.   
  81. #contrib - packages by Centos Users  
  82. [contrib]  
  83. name=CentOS-6.5 - Contrib - 163.com  
  84. baseurl=http://mirrors.163.com/centos/6.5/contrib/x86_64/  
  85. #mirrorlist=http://mirrors.163.com/?release=6.5&arch=$basearch&repo=contrib  
  86. gpgcheck=1  
  87. enabled=0  
  88. gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6" >> /etc/yum.repos.d/CentOS-Base.repo  
  89.   
  90. #####  
  91. yum clean all  
  92. yum makecache  
  93. yum update  
  94.   
  95.   
  96.   
  97. echo "=========================================================================="  
  98. echo "You have successfully replace RedhatEnterprise Yum to CentOS yum and repos"  
  99. echo "==========================================================================" 
0 0
原创粉丝点击