频道栏目
首页 > 资讯 > Linux > 正文

Redhat7.2和Redhat6.5配置本地yum源和网络yum源

17-08-29        来源:[db:作者]  
收藏   我要投稿

1.yum的功能作用

yum就是为了解决依赖关系而存在的。yum源就相当是一个目录项,当我们使用yum机制安装软件时,若需要安装依赖软件,则yum机制就会根据在yum源中定义好的路径查找依赖软件,并将依赖软件安装好。

YUM是“Yellow dog Updater,
Modified”的缩写,是一个软件包管理器,YUM从指定的地方(相关网站的rpm包地址或本地的rpm路径)自动下载RPM包并且安装,能够很好的解决依赖关系问题。

YUM的基本工作机制如下:
服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。

2.yum文件

ls /etc/yum.repos.d/        ##查看yum源目录下的设定文件
google-chrome.repo  local-yum.repo      rhel-source.repo        ##在yum.repos.d 目录下存放的就是yum源的设定文件。
vim /etc/yum.repos.d/rhel-source.repo       ##打开一个yum源的设定文件

[rhel-source-beta]     ##yum源的名称,起到标记yum源的作用,
name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source  ##仅仅是对yum的描述,作用是使用户可以更容易的读懂该文件。
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/beta/$releasever/en/os/SRPMS/  ##我们指定的查找依赖关系软件的路径,(该路径可以是一个网址路径,也可以是本机上的一个路径。)
enabled=0       ##enabled 是使能够的意思,0表示baseurl定义的路径是不可用的,1表示定义的路径是可用的。
gpgcheck=1  ##gpgcheck表示是否进行gpg检测,0表示不进行,1表示进行。gpg检查就是在使用yum安装软件是对软件输入公钥进行验证,看是否来源安全。
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release    ##进行gpg检查时,使用file协议导入公钥,后面接的路径就是系统自带的公钥存放路径。

##ftp://  表示使用的是ftp协议连接路径,该协议一般用于非本地连接,本地yum使用的协议是:"file://"文件协议

2.搭建自己的yum源仓库

2.1.通过资源共享服务将挂载到共享目录的镜像作为yum源

前提条件:需要有一个镜像rhel-server-7.0-x86_64-dvd.iso和httpd服务
首先我们需要将镜像挂载到共享目录下
mkdir /var/www/html/rhel7.0
mount /home/student/iso/rhel-server-7.0-x86_64-dvd.iso /var/www/html/rhel7.0

测试是否可以访问到
在浏览器中输入:http://192.168.0.35/rhel7.0     ##192.168.0.35为本机IP
可以看到镜像中的内容说明配置成功,可以作为共享为和你网络联通的设备提供yum源
然后我们需要配置yum源指向(可以是本机或者与你网络联通的任意一台主机)
rm -fr /etc/yum.repos.d/*
vim /etc/yum.repos.d/yum.repo

[Server]
name=rhel7.0
baseurl=http://192.168.0.35/rhel7.0 ##客户端只能这么写,并且必须保证能够通过浏览器正常访问    ##本机也可以这样写baseurl=file:///var/www/html/rhel7.0
gpgcheck=0
如果我们需要镜像开机自动挂载到共享目录上则可以修改文件
vim /etc/rc.d/rc.local
mount /home/student/iso/rhel-server-7.0-x86_64-dvd.iso /var/www/html/rhel7.1
:wq     ##保存并退出


chmod +x /etc/rc.d/rc.local

2.2. 第三方软件仓库的搭建

把所有的rpm软件包放到一个目录中,这个目录中只能存在rpm文件我的岑范目录是/home/student/rpm/,然后执行createrepo -v /home/student/rpm/
createrepo -v /home/student/rpm/ 是用来生成索引文件,为yum安装配置软件信息

-客户端yum源指向配置

vim /etc/yum.repos.d/rhel-source.repo      ##仓库指向文件位置
[Software]                  ##自定义软件仓库名称
name=Software               ##自定义软件仓库描述
baseurl=ftp:///home/student/rpm/ | http:///home/student/rpm/ | file:///home/student/rpm/       ##仓库位置,三种方式选一
gpgcheck=0              ##不检测gpgkey

3.Rhel7.2配置本地yum源

- 首先要有rhel7.2的镜像,这里我的7.2镜像改名为rhel7.2,并放到了rhel系统的/home/student/iso/目录下
monut /home/student/iso/rhel7.2 /mnt        ##挂载光盘,rhel7.2为你的iso镜像文件
rm -rf /etc/yum.repos.d/*                   ##清除源目录下已有文件
vim /etc/yum.repos.d/rhel7.repo             ##配置你自己的yum源,整体格式和内容如下:

[rhel7-yum]
name=rhel7-source
baseurl=file:///mnt 
gpgcheck=0
                                                                         #第1行为yum源名称,唯一的,用来区分不同的yum源
#第2行为对yum源描述信息
#第3行为yum源的路径(repodata目录所在的目录)
#第4行设置是否使用公钥检验rpm的正确性,0表示不检验,1表示检验 

保存文件然后执行以下命令
yum clean all               ##清空yum缓存
yum repolist                ##重新生成列表

这里写图片描述
这里写图片描述
这里写图片描述

4.Rhel7.2配置网络yum源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #从阿里云镜像网站下载yum源配置文件到yum目录中
sed -i  's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo #修改版本号为redhat7
yum clean all #清空yum缓存
yum list #生成列表

5.RHEL6.5配置本地yum源

monut /dev/sr0 /mnt      ##挂载光盘
rm -rf /etc/yum.repos.d/*
vim /etc/yum.repos.d/rhel6.repo

[rhel6-yum]         ##yum源名称,唯一的,用来区分不同的yum源
name=rhel6-source   ##对yum源描述信息
baseurl=file:///mnt ##yum源的路径(repodata目录所在的目录)
enabled=1           ##为1,表示启用yum源
gpgcheck=0          ##设置不使用公钥检验rpm的正确性

6.RHEL6.5 配置网络yum源

配置redhat6 *的源其实也一样

只需要进入到http://mirrors.aliyun.com/repo/的目录,然后寻找Centos-6.repo

第二步:sed -i ‘s/$releasever/6/g’ /etc/yum.repos.d/CentOS-Base.repo 把7换成6,其他都一样。

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
sed -i  's/$releasever/6.7/g' /etc/yum.repos.d/CentOS-Base.repo 
yum clean all
yum list

7.扩展你的rpm包

rpmforge
Centos/RHEL默认的yum软件仓库非常有限,仅仅限于发行版本那几张盘里面的常规包和一些软件包的更新,利用RpmForge,可以增加非常多的第三方rpm软件包。

获取
http://dag.wieers.com/rpm/packages/rpmforge-release/
找到与系统平台架构匹配的rpmforge包安装之即可。安装完后.默认会在系统的/etc/yum.repos.d/下新增两个文件,mirrors-rpmforge和rpmforge.repo

安装

# rpm -ivh rpmforge-release-0.3.6-1.el4.rf.i386.rpm
# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
加速yum更新速度
安装yum的fast mirror插件,可以加快 CentOS/RHEL yum的速度和提高稳定性,效果显著。
centos5 
 #yum -y install yum-fastestmirror
centos4
 yum -y install yum-plugin-fastestmirror

8. yum使用

8.1yum命令选项参数解析

install     softwarename        ##安装softwarename
repolist                        ##列出设定yum源信息
remove      softwarename        ##卸载softwarename
list        softwarename        ##查看软件源中是否有次软件
list all                        ##列出所有软件名称
list installd                   ##列出已经安装的软件名称
list available                  ##列出可以用yum安装的软件名称
clean all                       ##清空yum缓存
search      softwareinfo        ##根据软件信息搜索软件名字
whatprovides    filename        ##在yum源中查找包含filename文件的软件包      
update                          ##更新软件
history                         ##查看系统软件改变历史
reinstall   softwarename        ##重新安装
info        softwarename        ##查看软件信息
groups list                     ##查看软件组信息
groups info softwaregroup       ##查看软件组内包含的软件
groups install  softwaregroup   ##安装组件
groups remove   softwaregroup   ##卸载组件
在配置了新的yum源之后执行命令yum clean all来清除yum缓存,然后使用yum repolist列出设定yum源信息 注:当第一次使用yum或yum资源库有更新时,yum会自动下载所有所需的headers放置于/var/cache/yum目录下,所需时间可能较长.

8.2yum使用示例

yum search software ##根据软件的名称或者关键信息搜索软件
这里写图片描述 yum install ##进行软件安装 -y参数是为了屏蔽询问信息
这里写图片描述
这里写图片描述
这里写图片描述

yum remove ##进行软件卸载

yum history ##查看系统软件改变历史
这里写图片描述

yum list gcc ##查看软件源中是否有此软件
这里写图片描述

列出已经安装的软件、所有软件、可以通过配置的源进行安装的软件

yum list installed | head -n 10 yum list installed | head -n 10 yum list all | head -n 10 yum list available | head -n 10
这里写图片描述
这里写图片描述 yum info lftp ##查看软件信息
这里写图片描述 yum groups list ##查看软件组信息
这里写图片描述 yum groups info Development\ Tools ##查看软件组内包含的软件
这里写图片描述
系统更新(更新所有可以升级的rpm包,包括kernel)
#yum -y update

每天定期执行系统更新
#chkconfig yum on
#service yum start

rpm包的更新,检查可更新的rpm包
#yum check-update

更新所有的rpm包
#yum update

更新指定的rpm包,如更新kernel和kernel source
#yum update kernel kernel-source

大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
#yum upgrade

rpm包的安装和删除
安装rpm包,如xmms-mp3
#yum install xmms-mp3

删除rpm包,包括与该包有倚赖性的包
#yum remove licq
注:同时会提示删除licq-gnome,licq-qt,licq-text

yum暂存(/var/cache/yum/)的相关参数
清除暂存中rpm包文件
#yum clean packages

清除暂存中rpm头文件
#yum clean headers

清除暂存中旧的rpm头文件
#yum clean oldheaders

清除暂存中旧的rpm头文件和包文件
#yum clean 或#yum clean all
注:相当于yum clean packages + yum clean oldheaders

rpm包列表
列出资源库中所有可以安装或更新的rpm包
#yum list

列出资源库中特定的可以安装或更新以及已经安装的rpm包
#yum list mozilla
#yum list mozilla*
注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包

列出资源库中所有可以更新的rpm包
#yum list updates

列出已经安装的所有的rpm包
#yum list installed

列出已经安装的但是不包含在资源库中的rpm包
#yum list extras
注:通过其它网站下载安装的rpm包
*rpm包信息显示(info参数同list)

列出资源库中所有可以安装或更新的rpm包的信息
#yum info

列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息
#yum info mozilla
#yum info mozilla*
注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包的信息

列出资源库中所有可以更新的rpm包的信息
#yum info updates

列出已经安装的所有的rpm包的信息
#yum info installed

列出已经安装的但是不包含在资源库中的rpm包的信息
#yum info extras
注:通过其它网站下载安装的rpm包的信息

搜索rpm包
搜索匹配特定字符的rpm包
#yum search mozilla
注:在rpm包名,包描述等中搜索

搜索有包含特定文件名的rpm包
#yum provides realplay

9.yum常用问题解决

如果网速慢的话可以通过增加yum的超时时间,这样就不会总是因为超时而退出。
#vi /etc/yum.conf
#加上超时时间,时间长度可随意
timeout=120
yum Existing lock错误的解决办法
如果系统启动的时候, yum出现Existing lock /var/run/yum.pid: another copy is running as pid 3380. Aborting.可以用下面的办法解决:
方法一
etc/init.d/yum-updatesd stop

方法二
#rm -f /var/run/yum.pid
主要原因就是yum在自动更新,只要关掉它就可以了。
相关TAG标签
上一篇:软件测试常见测试点
下一篇:软件测试学习路线
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站