linux6.5yum源,Redhat 6.5 yum源的配置

yum大致的原理: 当用户使用yum对软件包进行管理时,yum会依据它的配置文件到指定的yum源去下载所有在yum源中与软件包相关的元数据信息并将这些信息缓存到本地,然后依据这些信息对软件包的依赖性进行分析并尝试将其解决,接着就是到yum源中下载相关的软件包到本地并开始安装

注:yum的配置文件/etc/yum.conf和/etc/yum.repos.d/*.repo

yum的本地缓存位置是在/etc/yum.conf当中定义的,默认位置为/var/cache/yum目录

元数据信息的存储位置是在yum源中的repodata目录当中

存储yum源位置一般是文件共享服务器(nfs, ftp, http),当然你的安装光盘镜像也能作为yum源

在这里主要介绍本地的光盘yum源与网络http的yum源搭建

由于这里使用的是rhel 6.5 (Redhat Enterprise Linux 6.5),而红帽认为yum源是收费性的服务,所以我们必须删除原来安装系统时一并安装的yum才行,否则将出现如下信息

19da9bbed4e98b83057e686825f248e9.png

查看安装了哪些yum软件包

# rpm -qa | grep "yum"

238da0a83056fae95e84efda4689b8f4.png

删除这一个yum包即可

# rpm -e yum

16a6538adc8113a2ca12ce6f8e147fbe.png

由于yum被其它的软件包依赖,所以在删除时要使用rpm命令的 --nodeps 选项, 这里顺便删除subscription-manager这个包,因为我们不购买红帽的服务

db5136329e45965bc7cff31edb0f7cac.png

ecb5cf05e0f87d8424fbbf057bbd8ff8.png

接下来我们在主机能够联网并且已经安装了wget工具的情况下,下载CentOS版的yum软件包

而需要下载的软件包如下:python-urlgrabber-3.9.1-11.el6.noarch.rpm

yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm

yum-3.2.29-81.el6.centos.noarch.rpm

通过wget获取以下包# wget http://centos.ustc.edu.cn/centos/6/os/x86_64/Packages/python-urlgrabber-3.9.1-11.el6.noarch.rpm

linux6.5yum源,Redhat 6.5 yum源的配置_第1张图片

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

linux6.5yum源,Redhat 6.5 yum源的配置_第2张图片#

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

linux6.5yum源,Redhat 6.5 yum源的配置_第3张图片

安装下载的软件包

# rpm -ivh python-urlgrabber-3.9.1-11.el6.noarch.rpm

安装时会报错,原因是因为系统在安装时已经安装过python-urlgrabber 2.6的版,所以我们得删除这个包才行

linux6.5yum源,Redhat 6.5 yum源的配置_第4张图片

7c26ee1b9c86cc569d6e322e4c5cb1a9.png

b725353388aa8fec8b51e0426bed08c8.png

然后继续安装

6e20bcce6b029534c8e3427fd0c4431c.png

接着安装yum的主包

# rpm -ivh yum-3.2.29-81.el6.centos.noarch.rpm

安装时又报错,因为yum的主包依赖于yum-plugin-fastestmirror这个包

e73e7b28c5123926daeca0ec1da86694.png

那么我就先安装yum-plugin-fastestmirror这个包吧

注:yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm版本已经下线了,目前是yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm这个版本

b593ce46a6ccdbb80bc42d47aeef558f.png

安装时又报错,此时你应该知道为什么会出现yum这种工具了吧

因为这是环形依赖(A 依赖 B, B 依赖 A),所以解决的办法就是同时安装这两个包

9232a275730f458fa8767747ca985fd5.png

此时我们的yum已经安装完成,剩下的就是怎样去配置yum源了

####################################################################################################################################

其实此处有个更简单的办法就是直接把subscription-manager删除即可, 这个方法简单粗暴, 我也是经过多次尝试才知道的,

前面写的都白费了

# rpm -e subscription-manager

################################################################################

配置本地光盘yum源

由于我们是在虚拟机中作测试,所以得用虚拟机模拟将光盘插入虚拟机的光驱中

虚拟机(virtual machine) --> 设置(settings) --> CD/DVD(IDE)

dcbbd7c5ef6da1a712e9fc9227e60494.png

linux6.5yum源,Redhat 6.5 yum源的配置_第5张图片

然后再把光盘挂载到/media目录当中

# mount -r /dev/sr0 /media

linux6.5yum源,Redhat 6.5 yum源的配置_第6张图片

接着就是要编辑yum的配置文件

linux6.5yum源,Redhat 6.5 yum源的配置_第7张图片

进入vi后,进行如下编辑

6250da77794aafa40c60e1165c6da51d.png

[Media]这是yum源的容器的名称,中括号内可以随便写任意字符串

name=Media - /media这是对容器的说明,也是可以随便写

baseurl=file:///media容器地址,本地光盘采用file://这种协议

enabled=1是否启用这个yum源

gpgcheck=1是否进行验证来源合法性

gpgkey=file:///media/RPM-GPG-KEY-redhat-release验证公钥的位置

注: 如果验证不成功就会报错,如下

2bd0c03209e0feb5ea7d3583b8aca05e.png

做好了这些准备工作后,我们来尝试使用yum安装tree这个软件包

linux6.5yum源,Redhat 6.5 yum源的配置_第8张图片

这样我们本地光盘yum源就配置完成了

网络http的yum源

配置网络http的yum源比较简单,我们先到CentOS官方的yum源镜像网址选择合适的yum源镜像站点

CentOS官方的yum源镜像网址https://www.centos.org/download/mirrors/

16746b9b321f1206defcea83e8d56b93.png

这里我们选择中国科技大学的yum源镜像站点,需要做的事情就是使用wget下载下面这个文件

# cd /etc/yum.repos.d/

# wget -O CentOS-Base.repo https://lug.ustc.edu.cn/wiki/_export/code/mirrors/help/centos?codeblock=2

linux6.5yum源,Redhat 6.5 yum源的配置_第9张图片

貌似遇到DNS不能够解析"lug.ustc.edu.cn"的问题,对于现在的我还没有能力解决这个问题,我也搜索过很多信息,它们一般会告诉你将/etc/resolv.conf文件当中的DNS修改这nameserver

8.8.8.8, 我试了还是不行,所以现在只能在windows的浏览器地址栏中输入https://lug.ustc.edu.cn/wiki/_export/code/mirrors/help/centos?codeblock=2

,然后用文本编辑器打开下载好的文件

linux6.5yum源,Redhat 6.5 yum源的配置_第10张图片

然后再将其内容粘贴到虚拟机中的CentOS-Base.repo当中去

77f6a2f1d7c040f7186996444d98f084.png

linux6.5yum源,Redhat 6.5 yum源的配置_第11张图片

保存并退出后,测试一下这个yum源是否能用, 先清空yum的缓存

#

yum clean all

然后测试yum

#

yum -y install vim

再次报错

linux6.5yum源,Redhat 6.5 yum源的配置_第12张图片

原因在于刚才的CentOS-Base.repo这个文件当中的

$releasever 这个变量貌似展开得到不对所致,具体原因我现在还没找到,解决的办法就是打开刚才的CentOS-Base.repo这文件将所有的$releasever替换为你的linux的版本,如果是

rehel

6.x 就替换为 6 即可

#

vi CentOS-Base.repo

linux6.5yum源,Redhat 6.5 yum源的配置_第13张图片

保存并退出, 然后将yum源中的元数据信息缓存到本地的/var/cache/yum目录当中去

#

yum makecache

linux6.5yum源,Redhat 6.5 yum源的配置_第14张图片

缓存完元数据信息后以后,测试yum源是否可以使用

#

yum -y install vim

linux6.5yum源,Redhat 6.5 yum源的配置_第15张图片

到此为此,我们的http网络yum源已经配置完成

你可能感兴趣的:(linux6.5yum源)