前言
Redhat 在线源只对注册用户生效,所以考虑使用 CentOS 的源替换。
一、Redhat和CentOS的区别
CentOS是Community ENTerprise Operating System的简称,我们有很多人叫它社区企业操作系统,不管你怎么叫它,它都是Linux操作系统的一个发行版本。
CentOS并不是全新的Linux发行版,倘若一说到Red Hat这个大名,大家似乎都听过。在Red Hat家族中有企业版的产品,它是Red Hat Enterprise Linux(以下称之为RHEL),CentOS正是这个RHEL的克隆版本。
RHEL是很多企业采用的Linux发行版本,需要向Red Hat付费才可以使用,并能得到付过费用的服务和技术支持和版本升级。
CentOS可以像RHEL一样的构筑Linux系统环境,但不需要向Red Hat付任何的产品和服务费用,同时也得不到任何有偿技术支持和升级服务。
RHEL 在发行的时候,有两种方式。一种是二进制的发行方式,另外一种是源代码的发行方式。
无论是哪一种发行方式,你都可以免费获得(例如从网上下载),并再次发布。但如果你使用了他们的在线升级(包括补丁)或咨询服务,就必须要付费。
RHEL 一直都提供源代码的发行方式,CentOS 就是将 RHEL 发行的源代码从新编译一次,形成一个可使用的二进制版本。由于 LINUX 的源代码是 GNU,所以从获得 RHEL 的源代码到编译成新的二进制,都是合法。只是 REDHAT 是商标,所以必须在新的发行版里将 REDHAT 的商标去掉。
REDHAT 对这种发行版的态度是:“我们其实并不反对这种发行版,真正向我们付费的用户,他们重视的并不是系统本身,而是我们所提供的商业服务。”
所以,CentOS 可以得到 RHEL 的所有功能,甚至是更好的软件。但 CentOS 并不向用户提供商业支持,当然也不负上任何商业责任。
二、确定系统版本
问题:
在将 Redhat 源更换为 CentOS 源时,我们应该考虑的问题有两个:
1、CentOS 的源 Redhat 可以用么?
2、一个 Redhat 的系统我该使用什么版本的 CentOS 源替换呢,随便一个版本都可以么?
系统版本
如何查看 redhat 和 CentOS 的系统版本:
# /etc/redhat-release 中的版本号没有太多描述,看这个确定不了什么
$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.5 (Maipo)
# 1、uname 可以查看redhat和centos系统的rhel版本号,若版本号相同,则可以用centos的源替换redhat源
$ uname -a
Linux rhel 3.10.0-862.el7.x86_64 #1 SMP Wed Mar 21 18:14:51 EDT 2018 x86_64 x86_64 x86_64 GNU/Linux
# 2、/proc/version 中有更详细的描述
$ cat /proc/version
Linux version 3.10.0-862.el7.x86_64 (mockbuild@x86-034.build.eng.bos.redhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) ) #1 SMP Wed Mar 21 18:14:51 EDT 2018
若没有这两种系统可以查看wiki: https://zh.wikipedia.org/wiki/CentOS
三、删除Redhat系统自带的yum软件
替换 yum 源前需要删除 Redhat 自带的 yum 软件
# 查看系统自带yum
$ rpm -qa | grep yum
PackageKit-yum-1.0.7-6.el7.x86_64
yum-3.4.3-150.el7.noarch
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-rhn-plugin-2.0.1-6.el7.noarch
yum-langpacks-0.4.2-7.el7.noarch
yum-utils-1.1.31-40.el7.noarch
# 删除自带yum
$ rpm -e yum-3.4.3-118.el7.noarch --nodeps
$ rpm -e yum-utils-1.1.31-24.el7.noarch --nodeps
$ rpm -e yum-rhn-plugin-2.0.1-4.el7.noarch --nodeps
$ rpm -e yum-metadata-parser-1.1.4-10.el7.x86_64 --nodeps
$ rpm -e yum-langpacks-0.4.2-3.el7.noarch --nodeps
$ rpm -e PackageKit-yum-0.8.9-11.el7.x86_64 --nodeps
# 也可以一条命令卸载全部
$ rpm -qa | grep yum | xargs rpm -e --nodeps
四、下载CentOS的yum源
选择源:
yum 源的选择,以网易的源为例:
网易163网络源地址:http://mirrors.163.com/
1,选centos
2,选择系统版本7.5.1804/
3,选择包类型(系统) os/
4,系统位数 x86_64/
5,包 Packages/
6,ctrl+f 搜索yum
7,一般需要如下的几个包
需要的包
yum-plugin-fastestmirror
yum-updateonboot
yum-utils
yum-metadata-parser
yum
使用wget下载
wget http://mirrors.163.com/centos/7.5.1804/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm
wget http://mirrors.163.com/centos/7.5.1804/os/x86_64/Packages/yum-updateonboot-1.1.31-45.el7.noarch.rpm
wget http://mirrors.163.com/centos/7.5.1804/os/x86_64/Packages/yum-utils-1.1.31-45.el7.noarch.rpm
wget http://mirrors.163.com/centos/7.5.1804/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://mirrors.163.com/centos/7.5.1804/os/x86_64/Packages/yum-3.4.3-158.el7.centos.noarch.rpm
安装:
$ rpm -ivh yum-*
警告:yum-3.4.3-150.el7.centos.noarch.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:yum-metadata-parser-1.1.4-10.el7 ################################# [ 20%]
2:yum-plugin-fastestmirror-1.1.31-4################################# [ 40%]
3:yum-3.4.3-150.el7.centos ################################# [ 60%]
4:yum-updateonboot-1.1.31-40.el7 ################################# [ 80%]
5:yum-utils-1.1.31-40.el7 ################################# [100%]
修改配置文件
vim /etc/yum.repos.d/CentOS-Base.repo
将版本号那里改为你之前选择的那个版本
# 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-$releasever -Base
baseurl=http://mirrors.163.com/centos/7.5.1804/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/7.5.1804/os/x86_64/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.163.com/centos/7.5.1804/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/7.5.1804/os/x86_64/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.163.com/centos/7.5.1804/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/7.5.1804/os/x86_64/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirrors.163.com/centos/7.5.1804/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/7.5.1804/os/x86_64/RPM-GPG-KEY-CentOS-7
清理源
$ yum clean all
$