知识结构:
1.认识YUM
2.介绍实验环境
3.如何配置YUM本地更新源
4.如何配置YUM客户端
5.如何使用YUM来维护软件包
6.小结
7.实验题
---------------------------------------------------------------------------
1.认识YUM
Yellow dog Updater, Modified.它是一个基于RPM的工具包管理工具,它相对完美的实现了RPM软件依赖性关系,让系统管理员更加轻松地管理RHEL中的软件包。
这个工具,自从RHEL5之后就被整合到系统当中来,我们可以使用它来进行软件包的安装,移除,升级,维护,查询等功能。当然,再次需要声明的是,它会自动的分析软件的依赖性关系,比 rpm * --aid来得更加方便和可靠。
yum工具支持的安装方式,列出如下常用的3种:
ftp ----->使用ftp方式连接更新源,安装软件
http ----->使用http方式连接更新源,安装软件
file ----->使用file,即本地文件的形式,这种方式的不足是不能实现共享源,仅供本机使用
---------------------------------------------------------------------------
2.实验环境介绍
* VMware 6.5+RHEL5
* 主机A: server.benet.edu将会部署为YUM更新源
* 主机C: client02.benet.edu将会被用作YUM客户端来测试
* 网卡连接方式 ,使用host-only, 以使它们处于同一网络中,便于测试
注意:此处需要说明的是,主机A同时是DHCP服务器,主机C通过DHCP来获取IP,保证连通性
3.如何配置YUM本地更新源
本例中,我们使用ftp的方式来实现安装源的更新,也就是说,我们要将yum的软件库放置在ftp的目录中,这样子的话,我们就需要2个工具来完成这件事,这2个工具都可以从光盘中很方便的获得:
*vsftpd-2.0.5-12.el5.i386.rpm ------>ftp软件包
*createrepo-0.4.11-3.el5.noarch.rpm ------>用于生成本地源
a.安装vsftpd,创建最基本的ftp服务器(因本例中使用ftp工具,如使用其他方式,可选装其他工具包)
#rpm -ivh /misc/cd/Server/vsftpd-2.0.5-12.el5.i386.rpm
安装完毕后,只需要启用服务,就可以正常使用,这里只需我们了解使用ftp目录来存放数据的就可以了,其他ftp控制暂不考虑。
#service vsftpd start ------->启动vsftpd服务
#chkconfig vsftpd on ------->使服务在下次启动时依然生效
b.安装createrepo工具,以便于稍后使用它来创建更新源 (这一步骤,在rhel5.1之后的版本(不含5.1),可以省略,但不推荐省略!)
#rpm -ivh /misc/cd/Server/createrepo-0.4.11-3.el5.noarch.rpm
c.复制光盘内容到ftp目录下:
#cp -R /mnt/* /var/ftp/pub
这里主要担心SELinux以及文件夹自身的权限问题对文件夹及ftp服务器的访问控制,所以使用-R递归的来将权限改成对应的
d.使用工具创建更新源
#createrepo -g /mnt/Server/repodata/comps-rhel5-server-core.xml /var/ftp/pub/Server
#createrepo -g /mnt/VT/repodata/comps-rhel5-vt.xml /var/ftp/pub/VT
#createrepo -g /mnt/Cluster/repodata/comps-rhel5-cluster.xml /var/ftp/pub/Cluster
#createrepo -g /mnt/ClusterStorage/repodata/comps-rhel5-cluster-st.xml /var/ftp/pub/ClusterStorage
这4步,执行下来,会花掉你一定的时间,长短的大部分取决于你机器的性能,如果没有什么高级应用的话,建议只做第一个就OK,其余的涉及到虚拟化,群集,及存储的软件可以暂不考虑,但这几个步骤只是操作上有些区别,原理一样,都是依赖于下面的说明........
说明: -g参数指定的是,依照RHEL提供的组依赖性文件(comps*.xml),重组软件包在复制后位置上的依赖性问题,前面已经提到过,在RHEL5.1版本中,是必不可少的一个步骤,至于其后的RHEL系统版本,不进行如上d步骤操作也OK。
到这时,vsftpd服务启动后,YUM就算是完成了服务器的配置!
-----------------------------------------------------------------------------
4.配置YUM客户端文件 -----> /etc/yum.repos.d/*.repo
在RHEL5中,所有处于/etc/yum.repos.d/这个目录下的,以.repo结尾的文件,都叫yum更新配置文件(注意这里,为什么我们没有说成是扩展名为repo)
注意一下,我们可以将rhel-debuginfo.repo当成是模板文件,复制一个server.repo进行具体设置即可
以下源定义,根据光盘目录的架构,此4个源为光盘中4个软件包目录。 本例中我们以ftp方式作为介绍对象,其他方式作相应改变:
[Server] ----------------------------------------->更新源的名字
name=Red Hat Enterprise Linux 5 Server ----------------->相当于是注释,comment
baseurl=ftp://192.168.5.254/pub/Server ----------------->此关键字指明具体的源位置
enabled=1 ----------------->0|1 是否启用源 0,禁用 1,启用
gpgcheck=1 ----------------->是否做gpg检查
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release --->gpg检查时所参照的gpg-key
如果你在创建安装源的时候,只做了1个关于Server目录的操作的话,那么下面几个你就不用再加装进了,具体情况,具体对待
[VT]
name=Red Hat Enterprise Linux 5 VT
baseurl=ftp://192.168.5.254/pub/VT
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[Cluster]
name=Red Hat Enterprise Linux 5 Cluster
baseurl=ftp://192.168.5.254/pub/Cluster
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[ClusterStorage]
name=Red Hat Enterprise Linux 5 ClusterStorage
baseurl=ftp://192.168.5.254/pub/ClusterStorage
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
---------------------------------------------------------------------------------
5.YUM 使用介绍
a.安装
#yum install 包名 ------>安装软件包,举例,安装dovecot
b.移除
#yum remove 包名 ------->移除指定的包
c.更新
#yum update [包名] -------->更新指定软件包,不指定软件包时,会更新系统中所有已安装的软件 这里指定的软件包,必须是已安装,否则也不会安装,不同于rpm中的更新工具(-U)
d.查询
#yum list 包名 --------->列出指定的包,分为已安装或是未安装等
#yum whatprovides 文件名 -------->查询给定的文件是由哪一个软件包提供的,类似于rpm -qf .....
e.其他
其他还有很多的参数和使用方法,可以参照 man yum所带来的帮助使用,大家一定要养成经常看man的习惯!
----------------------------------------------------------------------------------
6.本模块小结
a.理解yum的作用及特点
b.学会配置YUM本地更新源
c.学会配置YUM客户端
d.学会使用YUM工具来安装和维护软件
----------------------------------------------------------------------------------
7.实验题
在本地服务器创建YUM更新源,在客户端使用http方式来更新和维护软件
==============本章节内容完毕!===============
本文转自 gehailong 51CTO博客,原文链接:http://blog.51cto.com/gehailong/267075,如需转载请自行联系原作者